Grain Growth
Grain Growth
Hello everyone! I'm a new user of Micress, and any help would be grandly appreciated.
I am currently trying to run a simulation for grain growth in steel simply with a single phase. However, I'm at a bit of a loss about whether my parameters make sense.
In addition, the idea is to run the simulation with 1000 grains, but I thought I'd try to reduce the process time by starting with 10 grains. However, it seems that the process time is very long regardless. Is there something I've input in the parameters to make it run so slowly?
What would be a better value for integer of randomization? Is my value too high?
I am in a bit over my head, so any help would be amazing. Thank you!
yamaka
I am currently trying to run a simulation for grain growth in steel simply with a single phase. However, I'm at a bit of a loss about whether my parameters make sense.
In addition, the idea is to run the simulation with 1000 grains, but I thought I'd try to reduce the process time by starting with 10 grains. However, it seems that the process time is very long regardless. Is there something I've input in the parameters to make it run so slowly?
What would be a better value for integer of randomization? Is my value too high?
I am in a bit over my head, so any help would be amazing. Thank you!
yamaka
 Attachments

 GrainGrowth1000.in
 (11.37 KiB) Downloaded 289 times
Re: Grain Growth
Dear yamaka,
Welcome to the MICRESS forum!
Unfortunately, I am currently unable to test your input file by running it. However, I guess your problems could be the following:
1.) Given that you define only 10 grains with a radius of 3035 µm, you probably left space where the matrix phase is still present. You can check that by examining the .phas input (phase distribution) using DP_MICRESS or the .TabF file by MICpad (or any other text editor). If there is matrix phase present, the (unwanted) interaction between the two phases will consume a lot of time, and results are not reasonable. You should increase the initial radius of the grains until the full area is covered by the initial grains.
2.) You defined an interface thickness of 8 cells, which is more than necessary. Using 4 is enough and should improve performance.
If there are still problems, I can test your input file next week.
Best wishes
Bernd
Welcome to the MICRESS forum!
Unfortunately, I am currently unable to test your input file by running it. However, I guess your problems could be the following:
1.) Given that you define only 10 grains with a radius of 3035 µm, you probably left space where the matrix phase is still present. You can check that by examining the .phas input (phase distribution) using DP_MICRESS or the .TabF file by MICpad (or any other text editor). If there is matrix phase present, the (unwanted) interaction between the two phases will consume a lot of time, and results are not reasonable. You should increase the initial radius of the grains until the full area is covered by the initial grains.
2.) You defined an interface thickness of 8 cells, which is more than necessary. Using 4 is enough and should improve performance.
If there are still problems, I can test your input file next week.
Best wishes
Bernd
Re: Grain Growth
Thank you for the response! Your suggestions worked.

 Posts: 4
 Joined: Thu Sep 30, 2021 9:54 am
 anti_bot: 333
Re: Grain Growth
Hello everyone,
I have just started using Micress and it would be nice if someone can help me.
I would like to simulate the evolution of the microstructure of the hydrogen electrode in Solid Oxide Cell. Before doing this, I want to realize simple cases in order to understand better Micress. I want to simulate the minimization of the energy of a particle starting with a cube. I used the example "grain shriking" that I have adapted by putting a model of concentration. I would like to know if it is the right direction or not ?
Thank you in advance,
Léa
I have just started using Micress and it would be nice if someone can help me.
I would like to simulate the evolution of the microstructure of the hydrogen electrode in Solid Oxide Cell. Before doing this, I want to realize simple cases in order to understand better Micress. I want to simulate the minimization of the energy of a particle starting with a cube. I used the example "grain shriking" that I have adapted by putting a model of concentration. I would like to know if it is the right direction or not ?
Thank you in advance,
Léa
Re: Grain Growth
Dear Léa,
Welcome to the MICRESS Forum.
I think it is a good idea to start with simple examples to get an understanding how MICRESS works. While in the benchmark example "B007_1Grain_Shrinking_dri" a round grain is shrinking due to curvature (i.e. minimization of surface energy), starting from a quadratic particle of a different phase (and coupling to concentration) will lead to a completely different behavior. While the round grain eventually will vanish because the free energy minimum is reached when all the interface has vanished, the quadratic grain of different phase cannot vanish because of the mass balance and chemical driving force due to the dissolved element(s). Hence, curvature will only lead to rounding of the particle, and to Ostwald ripening in case of multiple particles. I think implementing this with MICRESS can be very instructive and will help you deciding later how to address the problem of the Solid Oxide Cell.
I am curious to hear about your experiences with this approach.
Best regards
Bernd
Welcome to the MICRESS Forum.
I think it is a good idea to start with simple examples to get an understanding how MICRESS works. While in the benchmark example "B007_1Grain_Shrinking_dri" a round grain is shrinking due to curvature (i.e. minimization of surface energy), starting from a quadratic particle of a different phase (and coupling to concentration) will lead to a completely different behavior. While the round grain eventually will vanish because the free energy minimum is reached when all the interface has vanished, the quadratic grain of different phase cannot vanish because of the mass balance and chemical driving force due to the dissolved element(s). Hence, curvature will only lead to rounding of the particle, and to Ostwald ripening in case of multiple particles. I think implementing this with MICRESS can be very instructive and will help you deciding later how to address the problem of the Solid Oxide Cell.
I am curious to hear about your experiences with this approach.
Best regards
Bernd

 Posts: 4
 Joined: Thu Sep 30, 2021 9:54 am
 anti_bot: 333
Re: Grain Growth
Dear Bernd,
Thank you for your answer and your advice. I will try to do this and I will let you know about the results of this approach.
Best regards,
Léa
Thank you for your answer and your advice. I will try to do this and I will let you know about the results of this approach.
Best regards,
Léa

 Posts: 4
 Joined: Thu Sep 30, 2021 9:54 am
 anti_bot: 333
Re: Grain Growth
Dear Bernd,
We are working on the simple case of a square solid particle in gas phase (in order to minimize its energy. The shape should changes to a circle particle by keeping the mass balance). The concentration option requires to specify the slopes of the phase diagram. It is not clear for us what this suppose to be as we have a particle in a gas phase. Do you have any advice to help us?
Best regards,
Léa
We are working on the simple case of a square solid particle in gas phase (in order to minimize its energy. The shape should changes to a circle particle by keeping the mass balance). The concentration option requires to specify the slopes of the phase diagram. It is not clear for us what this suppose to be as we have a particle in a gas phase. Do you have any advice to help us?
Best regards,
Léa
Re: Grain Growth
Dear Lea,
I have been on holidays, and somehow missed your post  sorry for that!
In principle, if you use database coupling, a gas phase behaves in the same way as any other phase, with two differences:
1.) You need to set the total gas pressure (if it is not equal 1 atm) by using the hidden keyword "volume" in the line after specifying the .GES5 file, followed by another line containing the pressure value
2.) The molar volume of the gas will not be displayed correctly (if you do not apply the "volume_change" model in the Model input section). This is the same as for normal metallic phases, it is just much more obvious for a gas phase.
If you don't have a database for your system, then you manually have to specify the phase diagram, using data available in the literature (e.g. equilibrium partial pressures as function of temperature). You are free choosing the units you like in each phase independently, e.g. mole fraction, mole %, weight%, but the slopes must be compatible in each phase...
Which system you are thinking to start with? Which elements do you have in the gas and in the solid phase?
Bernd
I have been on holidays, and somehow missed your post  sorry for that!
In principle, if you use database coupling, a gas phase behaves in the same way as any other phase, with two differences:
1.) You need to set the total gas pressure (if it is not equal 1 atm) by using the hidden keyword "volume" in the line after specifying the .GES5 file, followed by another line containing the pressure value
2.) The molar volume of the gas will not be displayed correctly (if you do not apply the "volume_change" model in the Model input section). This is the same as for normal metallic phases, it is just much more obvious for a gas phase.
If you don't have a database for your system, then you manually have to specify the phase diagram, using data available in the literature (e.g. equilibrium partial pressures as function of temperature). You are free choosing the units you like in each phase independently, e.g. mole fraction, mole %, weight%, but the slopes must be compatible in each phase...
Which system you are thinking to start with? Which elements do you have in the gas and in the solid phase?
Bernd

 Posts: 4
 Joined: Thu Sep 30, 2021 9:54 am
 anti_bot: 333
Re: Grain Growth
Dear Bernd,
Thank you for your reply. I'm simulating the weeting of a particle of Ni on YSZ (Yttria Stabilized Zirconia). I have simulated a cubic particle changing into a round particle in order to minimize its energy. This simulation works. Now I want to simulate the wetting of the Ni particle according to the YoungDupré equation. The main problem is that my particle doesn't have the expected contact angle. I have enclosed the DRI file of my simulation of the wetting of the Ni particle.
Thank you,
Best regards,
Léa
# Model
# =====
# Type of coupling?
# Options: phase concentration [volume_change] temperature temp_cyl_coord
# [stress{UCEMC}{123}] [flow] [flow_coarse] [dislocation]
concentration
# Thermal Conditions
# Options: no_lat_heat no_lat_heat_dsc lat_heat 1d_temp [kin. Coeff.]
# kin. Coeff: Kinetics of latent heat release (default is 0.01)
no_lat_heat
#
#
# Boundary Conditions
# ===================
# Boundary conditions for phase field in each direction
# Options: i (insulation) s (symmetric) p (periodic/wraparound)
# g (gradient) f (fixed) w (wetting)
# Sequence: W E (S N, if 3D) B T borders
# (X: WestEast, Y:SouthNorth, Z:BottomTop)
iiii
## Boundary conditions for concentration field in each direction
# Options: i (insulation) s (symmetric) p (periodic/wraparound) g (gradient) f (fixed)
# Sequence: W E (S N, if 3D) B T borders
iiii
# Unitcell model symmetric with respect to the x/y diagonal plane?
# Options: unit_cell_symm no_unit_cell_symm
no_unit_cell_symm
#
#
# Database
# ========
# Is a thermodynamic database to be used?
# Options: database database_verbose database_consistent no_database
no_database
#
# Components
# ==========
# Type of concentration?
# Options: atom_percent (at%)
# weight_percent (wt%)
atom_percent
# A component can be specified by an element symbol,
# user defined name or database index.
# 'end_of_components' will finish the components input.
# Component 0 (main component) ?
Comp_0
# Component 1 ?
Comp_1
# Component 2 ?
Comp_2
# Component 3 ?
end_of_components
#
# Phases
# ======
#
# Selection of Phases
# 
#
# A phase can be specified by the name or index used in the database
# or by a user defined name.
# 'end_of_phases' will finish the phase data input.
#
# Name or database index of phase 0 (matrix phase)
matrix
# Name or database index of phase 1
phase_1
# Name or database index of phase 2
phase_2
# Name or database index of phase 3
end_of_phases
#
# MICRESS phase indexing
# 0 > MATRIX
# 1 > PHASE_1
# 2 > PHASE_2
#
# Input/Output Format for Orientations
# 
# How shall grain orientations be defined?
# Options: angle_2d euler_zxz angle_axis miller_indices quaternion
angle_2d
#
#
# Phase Properties
# 
#
# Phase 0 ( MATRIX )
# 
# Type of molar volume input ?
# Options: constant [temp_extrapol] [conc_extrapol]
constant
# Value of molar volume ? ([cm**3/mol])
10.0
#
# Phase 1 ( PHASE_1 )
# 
# Simulation of recrystallisation in phase 1 (PHASE_1) ?
# Options: recrystall no_recrystall [verboseno_verbose]
no_recrystall
# Is phase 1 (PHASE_1) anisotropic ?
# Optionen: isotropic anisotropic faceted_a faceted_b faceted[_c] antifaceted
isotropic
# Should grains of phase 1 (PHASE_1) be reduced to categories?
# Options: categorize no_categorize
no_categorize
# Type of molar volume input ?
# Options: constant [temp_extrapol] [conc_extrapol]
constant
# Value of molar volume ? ([cm**3/mol])
10.0
# Phase 2 ( PHASE_2 )
# 
# Simulation of recrystallisation in phase 2 (PHASE_2) ?
# Options: recrystall no_recrystall [verboseno_verbose]
no_recrystall
# Is phase 2 (PHASE_2) anisotropic ?
# Optionen: isotropic anisotropic faceted_a faceted_b faceted[_c] antifaceted
isotropic
# Should grains of phase 2 (PHASE_2) be reduced to categories?
# Options: categorize no_categorize
no_categorize
# Type of molar volume input ?
# Options: constant [temp_extrapol] [conc_extrapol]
constant
# Value of molar volume ? ([cm**3/mol])
10.0
# Phase Interactions
# ==================
# Start legacy mode by entering keyword 'phase_interaction' or 'no_phase_interaction'.
# Start terse mode with 2 phase IDs and keyword 'phase_interaction' in one line.
# Finish terse mode input with 'end_phase_interactions'.
#
# 0 (MATRIX) / 1 (PHASE_1)
# 
# Simulation of interaction between 0 (MATRIX) and 1 (PHASE_1) ?
# Options: phase_interaction no_phase_interaction
# [ standard  particle_pinning[_temperature]  solute_drag ]
#  [ no_junction_force  junction_force ]
phase_interaction
# 'DeltaG' options: default
# avg ...[] max ...[J/cm^3] smooth ...[Deg] noise ...[J/cm^3] offset ...[J/cm^3]
avg 0.0 smooth 0.0
# Type of interfacial energy definition between 0 (MATRIX) and 1 (PHASE_1) ?
# Options: constant temp_dependent
constant
# Interfacial energy between 0 (MATRIX) and 1 (PHASE_1) ? [J/cm**2]
# [max. value for num. interface stabilisation [J/cm**2]]
2.0000E04
# Type of mobility definition between MATRIX and PHASE_1?
# Options: constant temp_dependent dg_dependent [fixed_minimum]
constant
# Kinetic coefficient mu between MATRIX and PHASE_1 [cm**4/(Js)] ?
1.E03
# Which phase diagram is to be used?
# Options: linear linearTQ
linear
# Equilibrium temperature between MATRIX and PHASE_1 ? [K]
750.0
# Entropy of fusion between MATRIX and PHASE_1 ? [J/(cm**3 K)]
1.0000
# Input of the concentrations at reference points
# Reference point 1: Concentration of component Comp_1 in phase MATRIX ? [at%]
0
# Reference point 2: Concentration of component Comp_1 in phase PHASE_1 ? [at%]
100
# Reference point 1: Concentration of component Comp_2 in phase MATRIX ? [at%]
0
# Reference point 2: Concentration of component Comp_2 in phase PHASE_1 ? [at%]
0
# Input of the slopes at reference points
# Slope m = dT/dC at reference point 1, component Comp_1 ? [K/at%]
1
# Slope m = dT/dC at reference point 2, component Comp_1 ? [K/at%]
1
# Slope m = dT/dC at reference point 1, component Comp_2 ? [K/at%]
1
# Slope m = dT/dC at reference point 2, component Comp_2 ? [K/at%]
1
# 0 (MATRIX) / 2 (PHASE_2)
# 
# Simulation of interaction between 0 (MATRIX) and 2 (PHASE_2) ?
# Options: phase_interaction no_phase_interaction
# [ standard  particle_pinning[_temperature]  solute_drag ]
#  [ no_junction_force  junction_force ]
phase_interaction
# 'DeltaG' options: default
# avg ...[] max ...[J/cm^3] smooth ...[Deg] noise ...[J/cm^3] offset ...[J/cm^3]
avg 0.0 smooth 0.0
# Type of interfacial energy definition between 0 (MATRIX) and 2 (PHASE_2) ?
# Options: constant temp_dependent
constant
# Interfacial energy between 0 (MATRIX) and 2 (PHASE_2) ? [J/cm**2]
# [max. value for num. interface stabilisation [J/cm**2]]
2.0000E04
# Type of mobility definition between MATRIX and PHASE_2?
# Options: constant temp_dependent dg_dependent [fixed_minimum]
constant
# Kinetic coefficient mu between MATRIX and PHASE_2 [cm**4/(Js)] ?
1.E03
# Which phase diagram is to be used?
# Options: linear linearTQ
linear
# Equilibrium temperature between MATRIX and PHASE_2 ? [K]
750.0
# Entropy of fusion between MATRIX and PHASE_2 ? [J/(cm**3 K)]
1.0000
# Input of the concentrations at reference points
# Reference point 1: Concentration of component Comp_1 in phase MATRIX ? [at%]
0
# Reference point 2: Concentration of component Comp_1 in phase PHASE_2 ? [at%]
0
# Reference point 1: Concentration of component Comp_2 in phase MATRIX ? [at%]
0
# Reference point 2: Concentration of component Comp_2 in phase PHASE_2 ? [at%]
0
# Input of the slopes at reference points
# Slope m = dT/dC at reference point 1, component Comp_1 ? [K/at%]
1
# Slope m = dT/dC at reference point 2, component Comp_1 ? [K/at%]
1
# Slope m = dT/dC at reference point 1, component Comp_2 ? [K/at%]
1
# Slope m = dT/dC at reference point 2, component Comp_2 ? [K/at%]
1
# 1 (PHASE_1) / 1 (PHASE_1)
# 
# Simulation of interaction between 1 (PHASE_1) and 1 (PHASE_1) ?
# Options: phase_interaction no_phase_interaction identical phases nb
# [ standard  particle_pinning[_temperature]  solute_drag ]
#  [ no_junction_force  junction_force ]
no_phase_interaction
# 1 (PHASE_1) / 2 (PHASE_2)
# 
# Simulation of interaction between 1 (PHASE_1) and 2 (PHASE_2) ?
# Options: phase_interaction no_phase_interaction identical phases nb
# [ standard  particle_pinning[_temperature]  solute_drag ]
#  [ redistribution_control ] or [ no_junction_force  junction_force ]
# Simulation of interaction between 0 (MATRIX) and 2 (PHASE_2) ?
# Options: phase_interaction no_phase_interaction
# [ standard  particle_pinning[_temperature]  solute_drag ]
#  [ no_junction_force  junction_force ]
phase_interaction
# 'DeltaG' options: default
# avg ...[] max ...[J/cm^3] smooth ...[Deg] noise ...[J/cm^3]
avg 0.0 smooth 0.0
# Type of interfacial energy definition between 1 (PHASE_1) and 2 (PHASE_2) ?
# Options: constant temp_dependent
constant
# Interfacial energy between 1 (PHASE_1) and 2 (PHASE_2) ? [J/cm**2]
# [max. value for num. interface stabilisation [J/cm**2]]
2.0000E04
# Type of mobility definition between PHASE_1 and PHASE_2?
# Options: constant temp_dependent dg_dependent [fixed_minimum]
constant
# Kinetic coefficient mu between MATRIX and PHASE_2 [cm**4/(Js)] ?
1.E03
# Which phase diagram is to be used?
# Options: linear linearTQ
linear
# Temperature of reference point? [K]
750
# Entropy of fusion between PHASE_1 and PHASE_2 ? [J/(cm**3 K)]
1
# Input of the concentrations at reference points
# Reference point 1: Concentration of component Comp_1 in phase PHASE_1 ? [at%]
100
# Reference point 2: Concentration of component Comp_1 in phase PHASE_2 ? [at%]
0
# Reference point 1: Concentration of component Comp_2 in phase PHASE_1 ? [at%]
0
# Reference point 2: Concentration of component Comp_2 in phase PHASE_2 ? [at%]
100
# Input of the slopes at reference points
# Slope m = dT/dC at reference point 1, component Comp_1 ? [K/at%]
1
# Slope m = dT/dC at reference point 2, component Comp_1 ? [K/at%]
1
# Slope m = dT/dC at reference point 1, component Comp_2 ? [K/at%]
1
# Slope m = dT/dC at reference point 2, component Comp_2 ? [K/at%]
1
# 2 (PHASE_2) / 2 (PHASE_2)
# 
# Simulation of interaction between 2 (PHASE_2) and 2 (PHASE_2) ?
# Options: phase_interaction no_phase_interaction identical phases nb
# [ standard  particle_pinning[_temperature]  solute_drag ]
#  [ redistribution_control ] or [ no_junction_force  junction_force ]
no_phase_interaction
# Diffusion
# =========
# ["Terse Mode": Each line starts with component number and phase number]
# Options: diagonaldiagonal_dilute [x] multimulti_plus [y(1..k)]
# x: one of the characters "n", "d", "g", "l", "z", "i", "I", or "f"
# y: chain of "n", "d", "g", "l", "z", or "f" (for each component)
# default: "g" resp. "gggg..."
# Rem: "n":no diffusion, "d": input, "f": Tdep. from file
# "i":infinite, "I": infinite in each grain
# from database: "g": global, "l": local, "z" global zsegmented
# Extra line option: [+b] for grainboundary diffusion
# Extra line option (prefactor on time step): cushion <01>
# Extra line option: infinite_limit_[dt] (in cm**2/sK)
# Extra line option: maxfactor_local [real > 1.0] (default: 10.0)
# Extra line option: factor [real > 0.]
# Extra line option: dilute [real >= 0.] (default:1.0)
# Finish input of diffusion data with 'end_diffusion_data'.
#
# How shall diffusion of component Comp_1 in phase MATRIX be solved?
diagonal n
# How shall diffusion of component Comp_1 in phase PHASE_1 be solved?
diagonal d
# Diff.coefficient:
# Prefactor? (real) [cm**2/s]
1.00000E05
# Activation energy? (real) [J/mol]
0.0000
# How shall diffusion of component Comp_1 in phase PHASE_2 be solved?
diagonal n
# Diff.coefficient:
# Prefactor? (real) [cm**2/s]
#1.00000E10
# Activation energy? (real) [J/mol]
#0.0000
# How shall diffusion of component Comp_2 in phase MATRIX be solved?
diagonal n
# How shall diffusion of component Comp_2 in phase PHASE_1 be solved?
diagonal n
# Diff.coefficient:
# Prefactor? (real) [cm**2/s]
#1.00000E10
# Activation energy? (real) [J/mol]
#0.0000
# How shall diffusion of component Comp_2 in phase PHASE_2 be solved?
diagonal d
# Diff.coefficient:
# Prefactor? (real) [cm**2/s]
1.00000E10
# Activation energy? (real) [J/mol]
0.0000
# Initial Microstructure
# ======================
# Type of grain positioning?
# Options: deterministic random [deterministic_infile] from_file
deterministic
# NB: the origin of coordinate system is the bottom lefthand corner,
# all points within the simulation domain having positive coordinates.
# Number of grains at the beginning?
2
#
# Grain number 1
# 
# Geometry?
# Options: round rectangular elliptic round_inverse
round
# Center x,z coordinates [micrometers], grain number 1?
50.000
50.000
# Grain radius? [micrometers]
10
# Shall grain 1 be stabilized or shall
# an analytical curvature description be applied?
# Options: stabilisation analytical_curvature
stabilisation
# Should the Voronoi criterion be applied?
# Options: voronoi no_voronoi
no_voronoi
# Phase number? (integer)
1
#
# Grain number 2
# 
# Geometry?
# Options: round rectangular elliptic round_inverse
rectangular
# Center x,z coordinates [micrometers], grain number 1?
50.000
20.000
# Length along xaxis [micrometers]
100
# Length along zaxis [micrometers]
40
# Shall grain 1 be stabilized or shall
# an analytical curvature description be applied?
# Options: stabilisation analytical_curvature
# Should the Voronoi criterion be applied?
# Options: voronoi no_voronoi
no_voronoi
# Phase number? (integer)
2
#
# Structure from restart file
# 
# Shall grain(s) be replaced by initial structure(s) from a restart file(s) ?
# Options: restart_file  no_restart_file
no_restart_file
# Initial Concentrations
# ======================
# How shall initial concentrations be set?
# Options: input equilibrium from_file [phase number]
input
# Initial concentration of component 1 in phase 0 ? [at%]
0.0000
# Initial concentration of component 2 in phase 0 ? [at%]
0
# Initial concentration of component 1 in phase 1 ? [at%]
100
# Initial concentration of component 2 in phase 1 ? [at%]
0
# Initial concentration of component 1 in phase 2 ? [at%]
0
# Initial concentration of component 2 in phase 2 ? [at%]
100
# Process Conditions
# ==================
#
# Temperature
# 
# Type of temperature trend?
# Options: linear linear_from_file profiles_from_file
linear
# Number of connecting points? (integer)
0
# Initial temperature at the bottom? (real) [K]
750.0
# Temperature gradient in zdirection? [K/cm]
0.0000
# Cooling rate? [K/s]
0.0000
#
# Boundary values for phase field
# 
# Contact angles for Bdirection [degree](real)?
# ( default contact angle in terse mode = 90 degree)
# angle for phase interaction: 0 1?
#20
# angle for phase interaction: 0 2?
#20
# angle for phase interaction: 1 2?
#180
# 1D far field for solute diffusion
# 
# Enable one dimensional far field approximation for solute diffusion?
# Options: 1d_far_field 1d_far_field_EW no_1d_far_field
no_1d_far_field
# Moving frame
# 
# Movingframe system in zdirection?
# Options: moving_frame no_moving_frame
no_moving_frame
#
#
# Nucleation
# ==========
# Enable further nucleation?
# Options: nucleation nucleation_symm no_nucleation [verboseno_verbose]
no_nucleation
#
#
# Output
# ======
#
# Output times
# 
# Finish input of output times (in seconds) with 'end_of_simulation'
# 'regularlyspaced' outputs can be set with 'linear_step'
# or 'logarithmic_step' and then specifying the increment
# and end value
# ('automatic_outputs' optionally followed by the number
# of outputs can be used in conjuction with 'linear_from_file')
# 'first' : additional output for first timestep
# 'end_at_temperature' : additional output and end of simulation
# at given temperature
linear_step 1 1000.
end_of_simulation
#
# Output files
# 
# Selection of the outputs
# [legacyverboseterse]
# Finish selection of outputs with 'end_of_outputs'.
terse
out_fraction
tab_fractions
out_interface
out_curvature
tab_log 1.
out_grains
out_phases
tab_grains extra
out_conc
# out_restart ! [wallclock time, h.]
# out_driv_force
# out_mobility
# out_velocity
# tab_vnm
# tab_grain_data
# out_temp
# out_recrystall
# tab_recrystall
# out_disloc
# out_miller
# out_orientation
# tab_orientation ! [rotmat]
end_of_outputs
#
#
# Numerical parameters
# ====================
#
# Phase field solver
# 
# Timestep ?
# Options: fix ...[s] automatic automatic_limited
automatic_limited
# Options: constant from_file
constant
# Limits: (real) min./s, [max./s], [time step factor], [segregation factor]
0.0 1000. 0.95
#Number of steps to adjust profiles of initially sharp interfaces [exclude_inactive]?
10
# Type of potential?
# Options: double_obstacle multi_obstacle [no_fd_correction  fd_correction]
# Recommended: multi_obstacle fd_correction
multi_obstacle fd_correction
# Phase minimum?
1.00E4
# Interface thickness (in cells)?
4.0000
# Coefficient for initial dimension of field iFace
# [minimum usage] [target usage]
0.20
# Coefficient for initial dimension of field nTupel
# [minimum usage] [target usage]
0.
Thank you for your reply. I'm simulating the weeting of a particle of Ni on YSZ (Yttria Stabilized Zirconia). I have simulated a cubic particle changing into a round particle in order to minimize its energy. This simulation works. Now I want to simulate the wetting of the Ni particle according to the YoungDupré equation. The main problem is that my particle doesn't have the expected contact angle. I have enclosed the DRI file of my simulation of the wetting of the Ni particle.
Thank you,
Best regards,
Léa
# Model
# =====
# Type of coupling?
# Options: phase concentration [volume_change] temperature temp_cyl_coord
# [stress{UCEMC}{123}] [flow] [flow_coarse] [dislocation]
concentration
# Thermal Conditions
# Options: no_lat_heat no_lat_heat_dsc lat_heat 1d_temp [kin. Coeff.]
# kin. Coeff: Kinetics of latent heat release (default is 0.01)
no_lat_heat
#
#
# Boundary Conditions
# ===================
# Boundary conditions for phase field in each direction
# Options: i (insulation) s (symmetric) p (periodic/wraparound)
# g (gradient) f (fixed) w (wetting)
# Sequence: W E (S N, if 3D) B T borders
# (X: WestEast, Y:SouthNorth, Z:BottomTop)
iiii
## Boundary conditions for concentration field in each direction
# Options: i (insulation) s (symmetric) p (periodic/wraparound) g (gradient) f (fixed)
# Sequence: W E (S N, if 3D) B T borders
iiii
# Unitcell model symmetric with respect to the x/y diagonal plane?
# Options: unit_cell_symm no_unit_cell_symm
no_unit_cell_symm
#
#
# Database
# ========
# Is a thermodynamic database to be used?
# Options: database database_verbose database_consistent no_database
no_database
#
# Components
# ==========
# Type of concentration?
# Options: atom_percent (at%)
# weight_percent (wt%)
atom_percent
# A component can be specified by an element symbol,
# user defined name or database index.
# 'end_of_components' will finish the components input.
# Component 0 (main component) ?
Comp_0
# Component 1 ?
Comp_1
# Component 2 ?
Comp_2
# Component 3 ?
end_of_components
#
# Phases
# ======
#
# Selection of Phases
# 
#
# A phase can be specified by the name or index used in the database
# or by a user defined name.
# 'end_of_phases' will finish the phase data input.
#
# Name or database index of phase 0 (matrix phase)
matrix
# Name or database index of phase 1
phase_1
# Name or database index of phase 2
phase_2
# Name or database index of phase 3
end_of_phases
#
# MICRESS phase indexing
# 0 > MATRIX
# 1 > PHASE_1
# 2 > PHASE_2
#
# Input/Output Format for Orientations
# 
# How shall grain orientations be defined?
# Options: angle_2d euler_zxz angle_axis miller_indices quaternion
angle_2d
#
#
# Phase Properties
# 
#
# Phase 0 ( MATRIX )
# 
# Type of molar volume input ?
# Options: constant [temp_extrapol] [conc_extrapol]
constant
# Value of molar volume ? ([cm**3/mol])
10.0
#
# Phase 1 ( PHASE_1 )
# 
# Simulation of recrystallisation in phase 1 (PHASE_1) ?
# Options: recrystall no_recrystall [verboseno_verbose]
no_recrystall
# Is phase 1 (PHASE_1) anisotropic ?
# Optionen: isotropic anisotropic faceted_a faceted_b faceted[_c] antifaceted
isotropic
# Should grains of phase 1 (PHASE_1) be reduced to categories?
# Options: categorize no_categorize
no_categorize
# Type of molar volume input ?
# Options: constant [temp_extrapol] [conc_extrapol]
constant
# Value of molar volume ? ([cm**3/mol])
10.0
# Phase 2 ( PHASE_2 )
# 
# Simulation of recrystallisation in phase 2 (PHASE_2) ?
# Options: recrystall no_recrystall [verboseno_verbose]
no_recrystall
# Is phase 2 (PHASE_2) anisotropic ?
# Optionen: isotropic anisotropic faceted_a faceted_b faceted[_c] antifaceted
isotropic
# Should grains of phase 2 (PHASE_2) be reduced to categories?
# Options: categorize no_categorize
no_categorize
# Type of molar volume input ?
# Options: constant [temp_extrapol] [conc_extrapol]
constant
# Value of molar volume ? ([cm**3/mol])
10.0
# Phase Interactions
# ==================
# Start legacy mode by entering keyword 'phase_interaction' or 'no_phase_interaction'.
# Start terse mode with 2 phase IDs and keyword 'phase_interaction' in one line.
# Finish terse mode input with 'end_phase_interactions'.
#
# 0 (MATRIX) / 1 (PHASE_1)
# 
# Simulation of interaction between 0 (MATRIX) and 1 (PHASE_1) ?
# Options: phase_interaction no_phase_interaction
# [ standard  particle_pinning[_temperature]  solute_drag ]
#  [ no_junction_force  junction_force ]
phase_interaction
# 'DeltaG' options: default
# avg ...[] max ...[J/cm^3] smooth ...[Deg] noise ...[J/cm^3] offset ...[J/cm^3]
avg 0.0 smooth 0.0
# Type of interfacial energy definition between 0 (MATRIX) and 1 (PHASE_1) ?
# Options: constant temp_dependent
constant
# Interfacial energy between 0 (MATRIX) and 1 (PHASE_1) ? [J/cm**2]
# [max. value for num. interface stabilisation [J/cm**2]]
2.0000E04
# Type of mobility definition between MATRIX and PHASE_1?
# Options: constant temp_dependent dg_dependent [fixed_minimum]
constant
# Kinetic coefficient mu between MATRIX and PHASE_1 [cm**4/(Js)] ?
1.E03
# Which phase diagram is to be used?
# Options: linear linearTQ
linear
# Equilibrium temperature between MATRIX and PHASE_1 ? [K]
750.0
# Entropy of fusion between MATRIX and PHASE_1 ? [J/(cm**3 K)]
1.0000
# Input of the concentrations at reference points
# Reference point 1: Concentration of component Comp_1 in phase MATRIX ? [at%]
0
# Reference point 2: Concentration of component Comp_1 in phase PHASE_1 ? [at%]
100
# Reference point 1: Concentration of component Comp_2 in phase MATRIX ? [at%]
0
# Reference point 2: Concentration of component Comp_2 in phase PHASE_1 ? [at%]
0
# Input of the slopes at reference points
# Slope m = dT/dC at reference point 1, component Comp_1 ? [K/at%]
1
# Slope m = dT/dC at reference point 2, component Comp_1 ? [K/at%]
1
# Slope m = dT/dC at reference point 1, component Comp_2 ? [K/at%]
1
# Slope m = dT/dC at reference point 2, component Comp_2 ? [K/at%]
1
# 0 (MATRIX) / 2 (PHASE_2)
# 
# Simulation of interaction between 0 (MATRIX) and 2 (PHASE_2) ?
# Options: phase_interaction no_phase_interaction
# [ standard  particle_pinning[_temperature]  solute_drag ]
#  [ no_junction_force  junction_force ]
phase_interaction
# 'DeltaG' options: default
# avg ...[] max ...[J/cm^3] smooth ...[Deg] noise ...[J/cm^3] offset ...[J/cm^3]
avg 0.0 smooth 0.0
# Type of interfacial energy definition between 0 (MATRIX) and 2 (PHASE_2) ?
# Options: constant temp_dependent
constant
# Interfacial energy between 0 (MATRIX) and 2 (PHASE_2) ? [J/cm**2]
# [max. value for num. interface stabilisation [J/cm**2]]
2.0000E04
# Type of mobility definition between MATRIX and PHASE_2?
# Options: constant temp_dependent dg_dependent [fixed_minimum]
constant
# Kinetic coefficient mu between MATRIX and PHASE_2 [cm**4/(Js)] ?
1.E03
# Which phase diagram is to be used?
# Options: linear linearTQ
linear
# Equilibrium temperature between MATRIX and PHASE_2 ? [K]
750.0
# Entropy of fusion between MATRIX and PHASE_2 ? [J/(cm**3 K)]
1.0000
# Input of the concentrations at reference points
# Reference point 1: Concentration of component Comp_1 in phase MATRIX ? [at%]
0
# Reference point 2: Concentration of component Comp_1 in phase PHASE_2 ? [at%]
0
# Reference point 1: Concentration of component Comp_2 in phase MATRIX ? [at%]
0
# Reference point 2: Concentration of component Comp_2 in phase PHASE_2 ? [at%]
0
# Input of the slopes at reference points
# Slope m = dT/dC at reference point 1, component Comp_1 ? [K/at%]
1
# Slope m = dT/dC at reference point 2, component Comp_1 ? [K/at%]
1
# Slope m = dT/dC at reference point 1, component Comp_2 ? [K/at%]
1
# Slope m = dT/dC at reference point 2, component Comp_2 ? [K/at%]
1
# 1 (PHASE_1) / 1 (PHASE_1)
# 
# Simulation of interaction between 1 (PHASE_1) and 1 (PHASE_1) ?
# Options: phase_interaction no_phase_interaction identical phases nb
# [ standard  particle_pinning[_temperature]  solute_drag ]
#  [ no_junction_force  junction_force ]
no_phase_interaction
# 1 (PHASE_1) / 2 (PHASE_2)
# 
# Simulation of interaction between 1 (PHASE_1) and 2 (PHASE_2) ?
# Options: phase_interaction no_phase_interaction identical phases nb
# [ standard  particle_pinning[_temperature]  solute_drag ]
#  [ redistribution_control ] or [ no_junction_force  junction_force ]
# Simulation of interaction between 0 (MATRIX) and 2 (PHASE_2) ?
# Options: phase_interaction no_phase_interaction
# [ standard  particle_pinning[_temperature]  solute_drag ]
#  [ no_junction_force  junction_force ]
phase_interaction
# 'DeltaG' options: default
# avg ...[] max ...[J/cm^3] smooth ...[Deg] noise ...[J/cm^3]
avg 0.0 smooth 0.0
# Type of interfacial energy definition between 1 (PHASE_1) and 2 (PHASE_2) ?
# Options: constant temp_dependent
constant
# Interfacial energy between 1 (PHASE_1) and 2 (PHASE_2) ? [J/cm**2]
# [max. value for num. interface stabilisation [J/cm**2]]
2.0000E04
# Type of mobility definition between PHASE_1 and PHASE_2?
# Options: constant temp_dependent dg_dependent [fixed_minimum]
constant
# Kinetic coefficient mu between MATRIX and PHASE_2 [cm**4/(Js)] ?
1.E03
# Which phase diagram is to be used?
# Options: linear linearTQ
linear
# Temperature of reference point? [K]
750
# Entropy of fusion between PHASE_1 and PHASE_2 ? [J/(cm**3 K)]
1
# Input of the concentrations at reference points
# Reference point 1: Concentration of component Comp_1 in phase PHASE_1 ? [at%]
100
# Reference point 2: Concentration of component Comp_1 in phase PHASE_2 ? [at%]
0
# Reference point 1: Concentration of component Comp_2 in phase PHASE_1 ? [at%]
0
# Reference point 2: Concentration of component Comp_2 in phase PHASE_2 ? [at%]
100
# Input of the slopes at reference points
# Slope m = dT/dC at reference point 1, component Comp_1 ? [K/at%]
1
# Slope m = dT/dC at reference point 2, component Comp_1 ? [K/at%]
1
# Slope m = dT/dC at reference point 1, component Comp_2 ? [K/at%]
1
# Slope m = dT/dC at reference point 2, component Comp_2 ? [K/at%]
1
# 2 (PHASE_2) / 2 (PHASE_2)
# 
# Simulation of interaction between 2 (PHASE_2) and 2 (PHASE_2) ?
# Options: phase_interaction no_phase_interaction identical phases nb
# [ standard  particle_pinning[_temperature]  solute_drag ]
#  [ redistribution_control ] or [ no_junction_force  junction_force ]
no_phase_interaction
# Diffusion
# =========
# ["Terse Mode": Each line starts with component number and phase number]
# Options: diagonaldiagonal_dilute [x] multimulti_plus [y(1..k)]
# x: one of the characters "n", "d", "g", "l", "z", "i", "I", or "f"
# y: chain of "n", "d", "g", "l", "z", or "f" (for each component)
# default: "g" resp. "gggg..."
# Rem: "n":no diffusion, "d": input, "f": Tdep. from file
# "i":infinite, "I": infinite in each grain
# from database: "g": global, "l": local, "z" global zsegmented
# Extra line option: [+b] for grainboundary diffusion
# Extra line option (prefactor on time step): cushion <01>
# Extra line option: infinite_limit_[dt] (in cm**2/sK)
# Extra line option: maxfactor_local [real > 1.0] (default: 10.0)
# Extra line option: factor [real > 0.]
# Extra line option: dilute [real >= 0.] (default:1.0)
# Finish input of diffusion data with 'end_diffusion_data'.
#
# How shall diffusion of component Comp_1 in phase MATRIX be solved?
diagonal n
# How shall diffusion of component Comp_1 in phase PHASE_1 be solved?
diagonal d
# Diff.coefficient:
# Prefactor? (real) [cm**2/s]
1.00000E05
# Activation energy? (real) [J/mol]
0.0000
# How shall diffusion of component Comp_1 in phase PHASE_2 be solved?
diagonal n
# Diff.coefficient:
# Prefactor? (real) [cm**2/s]
#1.00000E10
# Activation energy? (real) [J/mol]
#0.0000
# How shall diffusion of component Comp_2 in phase MATRIX be solved?
diagonal n
# How shall diffusion of component Comp_2 in phase PHASE_1 be solved?
diagonal n
# Diff.coefficient:
# Prefactor? (real) [cm**2/s]
#1.00000E10
# Activation energy? (real) [J/mol]
#0.0000
# How shall diffusion of component Comp_2 in phase PHASE_2 be solved?
diagonal d
# Diff.coefficient:
# Prefactor? (real) [cm**2/s]
1.00000E10
# Activation energy? (real) [J/mol]
0.0000
# Initial Microstructure
# ======================
# Type of grain positioning?
# Options: deterministic random [deterministic_infile] from_file
deterministic
# NB: the origin of coordinate system is the bottom lefthand corner,
# all points within the simulation domain having positive coordinates.
# Number of grains at the beginning?
2
#
# Grain number 1
# 
# Geometry?
# Options: round rectangular elliptic round_inverse
round
# Center x,z coordinates [micrometers], grain number 1?
50.000
50.000
# Grain radius? [micrometers]
10
# Shall grain 1 be stabilized or shall
# an analytical curvature description be applied?
# Options: stabilisation analytical_curvature
stabilisation
# Should the Voronoi criterion be applied?
# Options: voronoi no_voronoi
no_voronoi
# Phase number? (integer)
1
#
# Grain number 2
# 
# Geometry?
# Options: round rectangular elliptic round_inverse
rectangular
# Center x,z coordinates [micrometers], grain number 1?
50.000
20.000
# Length along xaxis [micrometers]
100
# Length along zaxis [micrometers]
40
# Shall grain 1 be stabilized or shall
# an analytical curvature description be applied?
# Options: stabilisation analytical_curvature
# Should the Voronoi criterion be applied?
# Options: voronoi no_voronoi
no_voronoi
# Phase number? (integer)
2
#
# Structure from restart file
# 
# Shall grain(s) be replaced by initial structure(s) from a restart file(s) ?
# Options: restart_file  no_restart_file
no_restart_file
# Initial Concentrations
# ======================
# How shall initial concentrations be set?
# Options: input equilibrium from_file [phase number]
input
# Initial concentration of component 1 in phase 0 ? [at%]
0.0000
# Initial concentration of component 2 in phase 0 ? [at%]
0
# Initial concentration of component 1 in phase 1 ? [at%]
100
# Initial concentration of component 2 in phase 1 ? [at%]
0
# Initial concentration of component 1 in phase 2 ? [at%]
0
# Initial concentration of component 2 in phase 2 ? [at%]
100
# Process Conditions
# ==================
#
# Temperature
# 
# Type of temperature trend?
# Options: linear linear_from_file profiles_from_file
linear
# Number of connecting points? (integer)
0
# Initial temperature at the bottom? (real) [K]
750.0
# Temperature gradient in zdirection? [K/cm]
0.0000
# Cooling rate? [K/s]
0.0000
#
# Boundary values for phase field
# 
# Contact angles for Bdirection [degree](real)?
# ( default contact angle in terse mode = 90 degree)
# angle for phase interaction: 0 1?
#20
# angle for phase interaction: 0 2?
#20
# angle for phase interaction: 1 2?
#180
# 1D far field for solute diffusion
# 
# Enable one dimensional far field approximation for solute diffusion?
# Options: 1d_far_field 1d_far_field_EW no_1d_far_field
no_1d_far_field
# Moving frame
# 
# Movingframe system in zdirection?
# Options: moving_frame no_moving_frame
no_moving_frame
#
#
# Nucleation
# ==========
# Enable further nucleation?
# Options: nucleation nucleation_symm no_nucleation [verboseno_verbose]
no_nucleation
#
#
# Output
# ======
#
# Output times
# 
# Finish input of output times (in seconds) with 'end_of_simulation'
# 'regularlyspaced' outputs can be set with 'linear_step'
# or 'logarithmic_step' and then specifying the increment
# and end value
# ('automatic_outputs' optionally followed by the number
# of outputs can be used in conjuction with 'linear_from_file')
# 'first' : additional output for first timestep
# 'end_at_temperature' : additional output and end of simulation
# at given temperature
linear_step 1 1000.
end_of_simulation
#
# Output files
# 
# Selection of the outputs
# [legacyverboseterse]
# Finish selection of outputs with 'end_of_outputs'.
terse
out_fraction
tab_fractions
out_interface
out_curvature
tab_log 1.
out_grains
out_phases
tab_grains extra
out_conc
# out_restart ! [wallclock time, h.]
# out_driv_force
# out_mobility
# out_velocity
# tab_vnm
# tab_grain_data
# out_temp
# out_recrystall
# tab_recrystall
# out_disloc
# out_miller
# out_orientation
# tab_orientation ! [rotmat]
end_of_outputs
#
#
# Numerical parameters
# ====================
#
# Phase field solver
# 
# Timestep ?
# Options: fix ...[s] automatic automatic_limited
automatic_limited
# Options: constant from_file
constant
# Limits: (real) min./s, [max./s], [time step factor], [segregation factor]
0.0 1000. 0.95
#Number of steps to adjust profiles of initially sharp interfaces [exclude_inactive]?
10
# Type of potential?
# Options: double_obstacle multi_obstacle [no_fd_correction  fd_correction]
# Recommended: multi_obstacle fd_correction
multi_obstacle fd_correction
# Phase minimum?
1.00E4
# Interface thickness (in cells)?
4.0000
# Coefficient for initial dimension of field iFace
# [minimum usage] [target usage]
0.20
# Coefficient for initial dimension of field nTupel
# [minimum usage] [target usage]
0.
Re: Grain Growth
Dear Lea,
It is a bit difficult to tell what is wrong without being able to run the simulation (the initial part of your input file is missing...). And I am not sure what your components are. But I found at least 3 inconsistencies:
1.) In the phase diagram description, phase 2 has the reference composition 0 in the 0/2 interface and 100 in the 1/2 interface. This cannot work...
2.) Also in the phase diagram description, there should be a sum rule fulfilled for the entropy of fusion:
dS01+dS12 = dS02. A violation may lead to strange behaviour.
3.) You have defined diffusion only for one element in each phase 1 and 2. This does not allow any phase transformation without complete solute trapping (i.e. nple condition). This is at least strange and also leads to badly defined numerical conditions.
(Btw: If the value of 1E5 has been chosen to resemble complete mixing ('infinite diffusion coefficient'), you should use "diagonal i" instead, which is much faster)
Furthermore, some numerical refinement will be needed to get the correct triple point angle. I propose to use the mobility correction ('mob_corr') if you assume diffusion limited phase transformations (see here).
Bernd
It is a bit difficult to tell what is wrong without being able to run the simulation (the initial part of your input file is missing...). And I am not sure what your components are. But I found at least 3 inconsistencies:
1.) In the phase diagram description, phase 2 has the reference composition 0 in the 0/2 interface and 100 in the 1/2 interface. This cannot work...
2.) Also in the phase diagram description, there should be a sum rule fulfilled for the entropy of fusion:
dS01+dS12 = dS02. A violation may lead to strange behaviour.
3.) You have defined diffusion only for one element in each phase 1 and 2. This does not allow any phase transformation without complete solute trapping (i.e. nple condition). This is at least strange and also leads to badly defined numerical conditions.
(Btw: If the value of 1E5 has been chosen to resemble complete mixing ('infinite diffusion coefficient'), you should use "diagonal i" instead, which is much faster)
Furthermore, some numerical refinement will be needed to get the correct triple point angle. I propose to use the mobility correction ('mob_corr') if you assume diffusion limited phase transformations (see here).
Bernd