nucleation issues

technical aspects of .dri file generation (e.g. debug mode ) etc...
Bernd
Posts: 1505
Joined: Mon Jun 23, 2008 9:29 pm

Re: nucleation issues

Post by Bernd » Sat Jan 16, 2010 8:09 pm

Dear Raghav,

I assume that in your simulation, you are starting from pure liquid, apply a (constant) cooling rate and the seed density model to get nucleation of fcc.

In principle, if you set up correctly the input file, the number of nuclei which are appearing should increase with increasing cooling rate and with increasing seed density, thus decreasing the average grain size. To be more exact, rather the steepness of the radius-density distribution than the density itself is the important factor!

If this is not observed, you could have done a mistake in the setup of the nucleation input. This could be e.g. :

- an improper definition of the temperature range for nucleation

- a too low checking frequency for nucleation

- a too small maximal number of seeds which can be set for the given seed type

- a restriction to the number of simultaneous nucleation events

- too small seed density for part of the density distribution, so that no potenial nucleation site is created at all. You can check the number of potential nucleation sites per seed type in the .log output (directly after the nucleation input)

- too small radius values so that the undercooling is never reached

Apart from that, instable numerics (e.g. too high interface mobility) could lead to a vanishing of the seeds after nucleation. Then, you would observe the nucleation events in the screen output...

I would need to have a look onto the driving file for giving you a more precise answer!

Bernd

RAGHAV
Posts: 45
Joined: Thu Jul 10, 2008 6:21 pm

Re: nucleation issues

Post by RAGHAV » Thu Jan 21, 2010 1:10 pm

Hello Mr. Bernd,

I tried to upload the file but each time i got ' The extension is not allowed'.

I worked on the seed radius-density relationship using 'log file' and i already saw an improvement in the number of grains.

#
# Automatic 'Driving File' written out by MICRESS.
#
#
#
# MICRESS binary
# ==============
# version number: 5.23 (Linux)
# compiled: 28/06/2006
# ('single precision' binary)
# license expires in 219 days
#
#
# Language settings
# =================
# Please select a language: 'English', 'Deutsch' or 'Francais'
english
#
#
# Flags and settings
# ==================
#
#
# Geometry
# --------
# Grid size?
# (for 2D calculations: AnzY=1, for 1D calculations: AnzX=1, AnzY=1)
# AnzX:
360
# AnzY:
1
# AnzZ:
360
# Cell dimension (grid spacing in micrometers):
0.40000
#
# Flags
# -----
# Type of coupling?
# Options: phase concentration temperature temp_cyl_coord flow
# [stress] [stress_coupled]
concentration
# Type of potential?
# Options: double_obstacle double_well
double_obstacle
# Enable averaging of the driving force along the normal to the interface?
# Options: averaging no_averaging
averaging
# Enable one dimensional far field approximation for diffusion?
# Options: 1d_far_field no_1d_far_field
no_1d_far_field
# Shall an additional 1D field be defined in z direction
# for temperature coupling?
# Options: no_1d_temp 1d_temp 1d_temp_cylinder 1d_temp_polar
no_1d_temp
#
# Phase field data structure
# --------------------------
# Coefficient for initial dimension of field iFace
# [minimum usage] [target usage]
0.2
# Coefficient for initial dimension of field nTupel
# [minimum usage] [target usage]
0.2
#
#
# Restart options
# ===============
# Restart using old results?
# Options: new restart
new
#
#
# Name of output files
# ====================
# Name of result files?
Alloy/Stabilor-dimen
# Overwrite files with the same name?
# Options: overwrite write_protected append
overwrite
#
#
# Selection of the outputs
# ========================
# Restart data output? ('rest')
# Options: out_restart no_out_restart [wallclock time, h.]
out_restart
# Grain number output? ('korn')
# Options: out_grains no_out_grains
out_grains
# Phase number output? ('phas')
# Options: out_phases no_out_phases
out_phases
# Fraction output? ('frac')
# Options: out_fraction no_out_fraction [phase number]
out_fraction
# Fraction solid.
# Average fraction table? ('TabF')
# Options: tab_fractions no_tab_fractions [front_temperature]
tab_fractions
# Interface output? ('intf')
# Options: out_interface no_out_interface [sharp]
out_interface
# Driving-force output? ('driv')
# Options: out_driv_force no_out_driv_force
out_driv_force
# Number of relinearisation output? ('numR')
# Options: out_relin no_out_relin
no_out_relin
# Interface mobility output? ('mueS')
# Options: out_mobility no_out_mobility
out_mobility
# Curvature output? ('krum')
# Options: out_curvature no_out_curvature
no_out_curvature
# Interface velocity output? ('vel')
# Options: out_velocity no_out_velocity
out_velocity
# Should the grain-time file be written out? ('TabK')
# Options: tab_grains no_tab_grains [extra|standard]
no_tab_grains
# Should the 'von Neumann Mullins' output be written out? ('TabN')
# Options: tab_vnm no_tab_vnm
no_tab_vnm
# Should the 'grain data output' be written out? ('TabGD')
# Options: tab_grain_data no_tab_grain_data
no_tab_grain_data
# Temperature output? ('temp')
# Options: out_temp no_out_temp
no_out_temp
# Concentration output? ('conc')
# Options: out_conc no_out_conc
out_conc
# Concentration of reference phase output? ('cPha')
# Options: out_conc_phase no_out_conc_phase [phase number]
out_conc_phase
# Output for phase: 0
# Average concentration per phase (and extrema)? ('TabC')
# Options: tab_conc no_tab_conc
no_tab_conc
# Recrystallisation output? ('rex')
# Options: out_recrystall no_out_recrystall
no_out_recrystall
# Recrystallysed fraction output? ('TabR')
# Options: tab_recrystall no_tab_recrystall
no_tab_recrystall
# Miller-Indices output? ('mill')
# Options: out_miller no_out_miller
no_out_miller
# Orientation output? ('orie')
# Options: out_orientation no_out_orientation
out_orientation
# Should the orientation-time file be written out? ('TabO')
# Options: tab_orientation no_tab_orientation
tab_orientation
# Linearisation output? ('TabLin')
# Options: tab_lin no_tab_lin
no_tab_lin
# Should monitoring outputs be written out? ('TabL')
# Options: tab_log [simulation time, s] [wallclock time, min] no_tab_log
tab_log 0.25
#
#
# Time input data
# ===============
# Finish input of output times (in seconds) with 'end_of_simulation'
# 'regularly-spaced' outputs can be set with 'linear_step'
# or 'logarithmic_step' and then specifying the increment
# and end value
linear_step 0.1 1
linear_step 0.2 5
linear_step 1 7
end_of_simulation
# Time-step?
# Options: (real) automatic [0<factor_1<=1] [0<=factor_2] [max.] [min.]
# (Fix time steps: just input the value)
automatic 0.95 0.95 1.E-5 1.E-7
# Number of iterations for initialisation?
5
#
#
# Phase data
# ==========
# Number of distinct solid phases?
1
#
# Data for phase 1:
# -----------------
# Simulation of recrystallisation in phase 1 ?
# Options: recrystall no_recrystall
no_recrystall
# Is phase 1 anisotrop?
# Options: isotropic anisotropic faceted
anisotropic
# Crystal symmetry of the phase?
# Options: none xyz_axis cubic hexagonal
cubic
# Should grains of phase 1 be reduced to categories?
# Options: categorize no_categorize
no_categorize
#
# Orientation
# -----------
# How shall grain orientations be defined?
# Options: angle_2d
# euler_zxz
# angle_axis
# miller_indices
angle_2d
#
#
# Grain input
# ===========
# Type of grain positioning ?
# Options: deterministic random from_file
deterministic
# Number of grains at the beginning?
0
#
#
# Data for further nucleation
# ===========================
# Enable further nucleation?
# Options: nucleation no_nucleation
nucleation
# Additional output for nucleation?
# Options: out_nucleation no_out_nucleation
no_out_nucleation
#
# Data for further nucleation
# ---------------------------
# Number of types of seeds?
1
#
# Input for seed type 1:
# ----------------------1
# Type of 'position' of the seeds?
# Options: bulk region interface triple quadruple [restrictive]
bulk
# Phase of new grains?
1
# Reference phase?
0
# Which nucleation model shall be used?
# Options: seed_undercooling seed_density
seed_density
# Integer for randomization?
0
# How many classes shall be chosen for the critical radius?
10
# Specify radius [micrometers] and seed density [cm**-3] for class 1
0.2 100000
# Specify radius [micrometers] and seed density [cm**-3] for class 2
0.18 150000
# Specify radius [micrometers] and seed density [cm**-3] for class 3
0.16 200000
# Specify radius [micrometers] and seed density [cm**-3] for class 4
0.14 250000
# Specify radius [micrometers] and seed density [cm**-3] for class 5
0.12 350000
# Specify radius [micrometers] and seed density [cm**-3] for class 6
0.10 400000
# Specify radius [micrometers] and seed density [cm**-3] for class 7
0.09 460000
# Specify radius [micrometers] and seed density [cm**-3] for class 8
0.08 500000
# Specify radius [micrometers] and seed density [cm**-3] for class 9
0.07 550000
# Specify radius [micrometers] and seed density [cm**-3] for class 10
0.05 600000
# Determination of nuclei orientations?
# Options: random fix range parent_relation
random
# Shield effect:
# Shield time [s] ?
0.0000
# Nucleation range
# min. nucleation temperature for seed type 1
0.0000
# max. nucleation temperature for seed type 1
1220.0
# Time between checks for nucleation? [s]
0.07
# Shall random noise be applied?
# Options: nucleation_noise no_nucleation_noise
no_nucleation_noise
#
# Max. number of simultaneous nucleations?
# ----------------------------------------
# (set to 0 for automatic)
0
#
# Shall metastable small seeds be killed?
# ---------------------------------------
# Options: kill_metastable no_kill_metastable
no_kill_metastable
#
#
# Phase interaction data
# ======================
#
# Data for phase interaction 0 / 1:
# ---------------------------------
# Simulation of interaction between phase 0 and 1 ?
# Options: phase_interaction no_phase_interaction
phase_interaction
# 'DeltaG' options: default
# avg ... [] max ... [J/cm**3] smooth ... [degrees]
avg 0.5 max 100 smooth 45
# Type of surface energy definition between phases LIQUID and 1?
# Options: constant temp_dependent
constant
# Surface energy between phases LIQUID and 1? [J/cm**2]
1.00000E-06
# Type of mobility definition between phases LIQUID and 1?
# Options: constant automatic temp_dependent sd_kth
constant
# Kinetic coefficient mu between phases LIQUID and 1? [cm**4/(Js)]
5.00000E-05
# Is interaction isotropic?
# Options: isotropic anisotropic
anisotropic
# static anisotropy coefficient? (< 1.) (changed!!!)
0.500000000
# kinetic anisotropy coefficient? (< 1.)
0.200000003
#
# Data for phase interaction 1 / 1:
# ---------------------------------
# Simulation of interaction between phase 1 and 1 ?
# Options: phase_interaction no_phase_interaction
no_phase_interaction
#
#
# Concentration data
# ==================
# Number of dissolved constituents? (int)
6
# Type of concentration?
# Options: atom_percent (at%)
# weight_percent (wt%)
weight_percent
#
# How shall diffusion of component 1 in phase 0 be solved?
# Options: diff no_diff infinite stoichio multi
# database_global database_local
# [+b] for grain-boundary diffusion
diff
# Diff.-coefficient:
# Prefactor? (real) [cm**2/s]
1.00000E-05
# Activation energy? (real) [J/mol]
0.0000
# How shall diffusion of component 1 in phase 1 be solved?
# Options: diff no_diff infinite stoichio multi
# database_global database_local
# [+b] for grain-boundary diffusion
diff
# Diff.-coefficient:
# Prefactor? (real) [cm**2/s]
1.00000E-08
# Activation energy? (real) [J/mol]
0.0000
# How shall diffusion of component 2 in phase 0 be solved?
# Options: diff no_diff infinite stoichio multi
# database_global database_local
# [+b] for grain-boundary diffusion
diff
# Diff.-coefficient:
# Prefactor? (real) [cm**2/s]
1.00000E-05
# Activation energy? (real) [J/mol]
0.0000
# How shall diffusion of component 2 in phase 1 be solved?
# Options: diff no_diff infinite stoichio multi
# database_global database_local
# [+b] for grain-boundary diffusion
diff
# Diff.-coefficient:
# Prefactor? (real) [cm**2/s]
1.00000E-08
# Activation energy? (real) [J/mol]
0.0000
# How shall diffusion of component 3 in phase 0 be solved?
# Options: diff no_diff infinite stoichio multi
# database_global database_local
# [+b] for grain-boundary diffusion
diff
# Diff.-coefficient:
# Prefactor? (real) [cm**2/s]
1.00000E-05
# Activation energy? (real) [J/mol]
0.0000
# How shall diffusion of component 3 in phase 1 be solved?
# Options: diff no_diff infinite stoichio multi
# database_global database_local
# [+b] for grain-boundary diffusion
diff
# Diff.-coefficient:
# Prefactor? (real) [cm**2/s]
1.00000E-08
# Activation energy? (real) [J/mol]
0.0000
# How shall diffusion of component 4 in phase 0 be solved?
# Options: diff no_diff infinite stoichio multi
# database_global database_local
# [+b] for grain-boundary diffusion
diff
# Diff.-coefficient:
# Prefactor? (real) [cm**2/s]
1.00000E-05
# Activation energy? (real) [J/mol]
0.0000
# How shall diffusion of component 4 in phase 1 be solved?
# Options: diff no_diff infinite stoichio multi
# database_global database_local
# [+b] for grain-boundary diffusion
diff
# Diff.-coefficient:
# Prefactor? (real) [cm**2/s]
1.00000E-08
# Activation energy? (real) [J/mol]
0.0000
# How shall diffusion of component 5 in phase 0 be solved?
# Options: diff no_diff infinite stoichio multi
# database_global database_local
# [+b] for grain-boundary diffusion
diff
# Diff.-coefficient:
# Prefactor? (real) [cm**2/s]
1.00000E-05
# Activation energy? (real) [J/mol]
0.0000
# How shall diffusion of component 5 in phase 1 be solved?
# Options: diff no_diff infinite stoichio multi
# database_global database_local
# [+b] for grain-boundary diffusion
diff
# Diff.-coefficient:
# Prefactor? (real) [cm**2/s]
1.00000E-08
# Activation energy? (real) [J/mol]
0.0000
# How shall diffusion of component 6 in phase 0 be solved?
# Options: diff no_diff infinite stoichio multi
# database_global database_local
# [+b] for grain-boundary diffusion
diff
# Diff.-coefficient:
# Prefactor? (real) [cm**2/s]
1.00000E-05
# Activation energy? (real) [J/mol]
0.0000
# How shall diffusion of component 6 in phase 1 be solved?
# Options: diff no_diff infinite stoichio multi
# database_global database_local
# [+b] for grain-boundary diffusion
diff
# Diff.-coefficient:
# Prefactor? (real) [cm**2/s]
1.00000E-08
# Activation energy? (real) [J/mol]
1.0000
#
#
# Phase diagram - input data
# ==========================
# List of phases and components which are stoichiometric:
# phase and component(s) numbers
# End with 'no_more_stoichio' or 'no_stoichio'
no_stoichio
# Is a thermodynamic database to be used?
# Options: database no_databaseMIC
database
# Name of Thermo-Calc *.GES5 file without extension?
Stabilor_heat
# Frequency for complete relinearization [s] =
100.0000000000000
# Input of the phase diagram of phase 0 and phase 1:
# ---------------------------------------------------
# Which phase diagram is to be used?
# Options: database linear
database
# Maximal allowed local temperature deviation [K]
-1.00000000
# The database contains the following components:
# Ag
# Au
# Cu
# Ir
# Pd
# Pt
# Zn
# Specify relation between component indices Micress -> TC!
# The main component has in MICRESS the index 0
# Thermo-Calc index of (MICRESS) component 0?
2
# Thermo-Calc index of (MICRESS) component 1?
1
# Thermo-Calc index of (MICRESS) component 2?
3
# Thermo-Calc index of (MICRESS) component 3?
5
# Thermo-Calc index of (MICRESS) component 4?
7
# Thermo-Calc index of (MICRESS) component 5?
6
# Thermo-Calc index of (MICRESS) component 6?
4
# The database contains 2 phases:
# LIQUID
# FCC_A1
# Specify relation between phase indices Micress -> TC!
# The matrix phase has in MICRESS the index 0
# Thermo-Calc index of the (MICRESS) phase 0?
1
# Thermo-Calc index of the (MICRESS) phase 1?
2
# Molar volume of (MICRESS) phase 0? [cm**3/mol]
10.0000000
# Molar volume of (MICRESS) phase 1? [cm**3/mol]
10.0000000
# Temperature at which the initial equilibrium
# will be calculated? [K]
1213.0000000
#
#
#
# Initial concentrations
# ======================
# How shall initial concentrations be set?
# Options: input equilibrium from_file [phase number]
equilibrium
# Initial concentration of component 1 in phase 0 ? [wt%]
23.300
# Initial concentration of component 2 in phase 0 ? [wt%]
12.000
# Initial concentration of component 3 in phase 0 ? [wt%]
5.5000
# Initial concentration of component 4 in phase 0 ? [wt%]
1.0000
# Initial concentration of component 5 in phase 0 ? [wt%]
0.10000
# Initial concentration of component 6 in phase 0 ? [wt%]
0.10000
#
#
# Parameters for latent heat
# ==========================
# Simulate release of latent heat?
# Options: lat_heat lat_heat_3d [matrix phase] no_lat_heat
lat_heat
#
# Boundary conditions
# ===================
# Type of heat flow trend?
# Options: linear linear_from_file sinus
linear
# Number of connecting points? (integer)
0
# Initial temperature at the bottom? (real) [K]
1213.00000
# Temperature gradient in z-direction? [K/cm]
0.00000000E+00
# Heat flow? [J/s*cm^3]
-300.000000
#
# Boundary conditions for phase field in each direction
# Options: i (insulation) s (symmetric) p (periodic/wrap-around) g (gradient) f (fixed)
# Sequence: E W (N S, if 3D) B T borders
pppp
#
# Boundary conditions for concentration field in each direction
# Options: i (insulation) s (symmetric) p (periodic/wrap-around) g (gradient) f (fixed)
# Sequence: E W (N S, if 3D) B T borders
pppp
# Unit-cell model symmetric with respect to the x/y diagonal plane?
# Options: unit_cell_symm no_unit_cell_symm
no_unit_cell_symm
#
#
# Other numerical parameters
# ===========================
# Phase minimum?
1.00E-04
# Interface thickness (in cells)?
4.00
#
#

Thanks
Raghav

Bernd
Posts: 1505
Joined: Mon Jun 23, 2008 9:29 pm

Re: nucleation issues

Post by Bernd » Fri Jan 22, 2010 12:00 am

Dear Raghav,

I do not see anything bad - the only thing is that your seed-density distribution is very flat, a steeper one would probably give more nuclei. If you have a look on the .log file output, you can see that only 10 potential nucleation sites are created (at least with my computers random numbers)! So, whichever cooling rate you would apply, you could never get more than these 10 seeds. I would strongly increase the seed densities of the smaller seed classes (by a factor of 10-100) in order to get a steeper distribution and more seeds!

Bernd

zhubq
Posts: 84
Joined: Mon Jun 22, 2009 7:33 pm

Re: nucleation issues

Post by zhubq » Wed Jun 29, 2011 11:18 pm

Hi, Bernd.

when nuclei are put in the domain, does the nuclei have the same solute content as the parent phase in order to keep mass balance?

Thank you.

Ben

Bernd
Posts: 1505
Joined: Mon Jun 23, 2008 9:29 pm

Re: nucleation issues

Post by Bernd » Thu Jun 30, 2011 3:51 pm

Hi Ben,

This is right. It must be like that, otherwise the mass balance is violated!

It is also the reason why we are mostly using the "small grain" model for nucleation: If only a small fraction in one cell is used as initial seed, composition balance can be fulfilled without starting from a completely unphysical composition of the new phase. If you would use a "big" seed in connection with TQ coupling (e.g. for nucleating a carbide from the fcc matrix in steels), most probably numerical problems would arise...

Bernd

zhubq
Posts: 84
Joined: Mon Jun 22, 2009 7:33 pm

Re: nucleation issues

Post by zhubq » Mon Jul 04, 2011 8:35 am

Bernd wrote:Hi Ben,

This is right. It must be like that, otherwise the mass balance is violated!

It is also the reason why we are mostly using the "small grain" model for nucleation: If only a small fraction in one cell is used as initial seed, composition balance can be fulfilled without starting from a completely unphysical composition of the new phase. If you would use a "big" seed in connection with TQ coupling (e.g. for nucleating a carbide from the fcc matrix in steels), most probably numerical problems would arise...

Bernd
Hi, Bernd.
Is there any user reference from MICRESS, explaining the physics of each option in MICRESS? For example when I set up nucleation, I actually have no idea about what happened, what's the inital condition e.g. inital composition and how it grows to such a size which MICRESS can simulate correctly.

You said If I use 'big' seed with TQ, numerical problems may arise. Is that because It is difficult to establish a right interface after seeding? because recently I am simulating the interaction of two grains, one is cementite and the other is ferrite. I assigned eqiulibrium composition to each grain as inital. Then I encountered wrong results. Maybe it is because of what you said or because of big cell size. I think I shoud use a small cell size because if the compositions of the two phases are too different, there exists a high gradient at the interface, right?

Sorry to ask you so many questions, because everytime when i meet numerical errors, I cannot find the reason and how to solve them.

Bernd
Posts: 1505
Joined: Mon Jun 23, 2008 9:29 pm

Re: nucleation issues

Post by Bernd » Mon Jul 04, 2011 10:07 am

Hi Ben,

It is true that there is a huge number of options and conditions in MICRESS which are not clearly documented, but we are working on a new set of manuals which is much more explicit and up to date compared to the old manual, and which will be available very soon. Still, there will be always further details or new developments which cannot be fully documented in a coherent way, and this is where this forum comes into play!

The problem of seeding "big" grains during run time is on the one hand the wrong composition of the new phase (which is a consequence of the necessity to fulfilll the composition balance), and on the other hand that the new seed starts with a sharp interface.
But this is totally different if you talk about initial structures: In this case there is no problem with the composition balance, and the interface is already diffuse, if you apply some iterations for initialisation of the interface ("Number of iterations for initialisation" in Time Input Data). If you further use "equilibrium" for the initial concentrations, you can be sure that all interfaces have perfect profiles and all cells are in equilibrium.

If you encounter problems afterwards (using TQ coupling?), it may be due to sub-optimal numerical parameters of the interface etc. I would need more information to give you a hint where they could come from.

Bernd

Post Reply