phase transformation

solid-solid phase transformations, influence of stresses and strains
Post Reply
Jane
Posts: 50
Joined: Tue Mar 29, 2022 1:06 pm
anti_bot: 333

phase transformation

Post by Jane » Wed Oct 12, 2022 1:17 pm

Dear everyone,

I use add_ to_ Grain set the third phase, and found that the time t=37.5s was consistent with the result I wanted, but the phase transition result changed when the time t=38.0s. What do you think caused this?

Jane
Attachments
fig.png
fig.png (160.06 KiB) Viewed 14769 times

ralph
Posts: 167
Joined: Wed Apr 27, 2011 4:42 pm
anti_bot: 333

Re: phase transformation

Post by ralph » Wed Oct 12, 2022 2:11 pm

Dear Jane,

first, you might set a fix color scale range from -1 to 3 to avoid automatic changes when a new phase is set.

In your case, the switched grains (phase 3) are shrinking and vanish until the next time step.
So, the question is why they do not grow.

Best,
Ralph

Jane
Posts: 50
Joined: Tue Mar 29, 2022 1:06 pm
anti_bot: 333

Re: phase transformation

Post by Jane » Thu Oct 13, 2022 3:50 am

Dear Ralph,

According to what you said, I fixed the color range as -1 to 3, but in this case, only the same two colors as those at t=37.5s were presented, instead of phase 2 as those at t=37s. I was very surprised. As you said, why they do not grow is indeed a problem, and I will further explore the reason for this. Here is the nucleation of phase 3 that I set up.


# Input for seed type 3:
# ----------------------
# Type of 'position' of the seeds?
# Options: bulk region interface triple quadruple front [restrictive]
interface
# Phase of new grains (integer) [unresolved|add_to_grain|split_from_grain]?
3 add_to_grain
# Which grain number the new grains shall be added to?
# # Options: grain_number (number) parent_grain new_set
parent_grain
# Reference phase (integer) [min. and max. fraction (real)]?
1
# Substrate phase [2nd phase in interface]?
# (set to 1 to disable the effect of substrate curvature)
2

# Maximum number of new nuclei of seed type 3?
# (set negative for unlimited number)
-1
# Grain radius [micrometers]?
0
# Choice of growth mode:
# Options: stabilisation analytical_curvature
stabilisation
# min. undercooling [K] (>0)?
5
# Determination of nuclei orientations?
# Options: random randomZ fix range parent_relation
random
# Shield effect:
# Shield time [s] [shield phase or group number] ?
2
# Shield distance [micrometers] [ nucleation distance [micrometers] ]?
10
# Nucleation range
# min. nucleation temperature for seed type 3 [K]
0.0000
# max. nucleation temperature for seed type 3 [K]
1063
# Time between checks for nucleation? [s]
# Options: constant from_file
constant
# Time interval [s]
0.01
# Shall random noise be applied?
# Options: nucleation_noise no_nucleation_noise
no_nucleation_noise

ralph
Posts: 167
Joined: Wed Apr 27, 2011 4:42 pm
anti_bot: 333

Re: phase transformation

Post by ralph » Thu Oct 13, 2022 2:54 pm

Dear Jane,

with using add the new nucleus to the nearby grain of phase 2. This is the parent grain with highest fraction of phase 2 at the nucleus location.
'add_to_grain' also switches this parent grain to phase 3.

Is this really what you want to do? The parent grain is already quite big.

Best,
Ralph

Jane
Posts: 50
Joined: Tue Mar 29, 2022 1:06 pm
anti_bot: 333

Re: phase transformation

Post by Jane » Thu Oct 13, 2022 3:47 pm

Dear Ralph,

What I wanted to do was a martensite transformation, so by this method I wanted to treat the residual austenite as martensite, so I did that, but the question that I mentioned first came up, or do you have a good way to model martensite? In addition, how should I solve the above problems? Thank you very much.

Jane

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

Re: phase transformation

Post by Bernd » Thu Oct 13, 2022 8:27 pm

Dear Jane,

Obviously, you are using a "phase switch" by add_to_grain with sub-option "parent_grain" in order to mimic something like a martensite transformation. That is, you are not using normal nucleation, but change the phase of an already existing grain of phase 2. After that, this new grain with phase number 3 has the same composition as the prior grain of phase 2, is subsequently overgrown by adjacent phase 2.

My guess is that you just need much higher undercooling. If there is only a small undercooling of 5K, this means that phase 3 is stable with its equilibrium composition, but not with composition of phase 2. For the latter you would need at least the undercooling that you would need for a massive transformation of phase 2 to phase 3.

So I think you just need to increase your value of the critical undercooling sufficiently. Then you will get the phase switch somewhat later, but phase 3 can be stable.

Bernd

Jane
Posts: 50
Joined: Tue Mar 29, 2022 1:06 pm
anti_bot: 333

Re: phase transformation

Post by Jane » Mon Oct 17, 2022 1:34 pm

Dear Bernd,

I made further attempts based on your inference, but the result was the same as my original, no improvement, and I didn't find a way to improve.

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

Re: phase transformation

Post by Bernd » Thu Oct 20, 2022 11:53 am

Dear Jane,

I have doubts whether it can work like you want: If you are still in the two-phase region (austenite + ferrite), and ferrite does not grow, how can you get stable martensite then?

Bernd

Jane
Posts: 50
Joined: Tue Mar 29, 2022 1:06 pm
anti_bot: 333

Re: phase transformation

Post by Jane » Thu Oct 20, 2022 12:52 pm

Dear Bernd,

I will attach my driver file, I hope you can help me.

Jane

# Language
# ========
# Please select a language: 'English', 'Deutsch' or 'Francais'
English
#
#
# Output Location
# ===============
# Options: [ <directory path>/ ] <base name>
# The default result directory is the driving file location.
Results_/Fe
# Overwrite files with the same name?
# Options: overwrite write_protected append
# [zipped|not_zipped|vtk]
# [unix|windows|non_native]
overwrite
#
#
# Restart
# =======
# Restart using old results?
# Options: new restart [reset_time | with_flow]
new
#
#
# Geometry
# ========
# Grid size?
# (for 2D calculations: CellsY=1, for 1D calculations: CellsX=1, CellsY=1)
# Cells in X-direction (CellsX):
500
# Cells in Y-direction (CellsY):
1
# Cells in Z-direction (CellsZ):
500
# Cell dimension (grid spacing in micrometers):
# (optionally followed by rescaling factor for the output in the form of '3/4')
0.12500000
#
#
# Model
# =====
# Type of coupling?
# Options: phase concentration [volume_change] temperature temp_cyl_coord
# [stress{U|CE|MC}{1|2|3}] [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/wrap-around)
# g (gradient) f (fixed) w (wetting)
# Sequence: W E (S N, if 3D) B T borders
# (X: West-East, Y:South-North, Z:Bottom-Top)
pppp
#
# Boundary conditions for concentration field in each direction
# Options: i (insulation) s (symmetric) p (periodic/wrap-around) g (gradient) f (fixed)
# Sequence: W E (S N, 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
#
#
# Database
# ========
# Is a thermodynamic database to be used?
# Options: database database_verbose database_consistent no_database
database GES_Files/FeCMn
# Which global relinearisation interval shall be used?
# Options: manual from_file none
manual
# Relinearisation interval [s]
1.0000
# Reading GES5 workspace ...
#
#
# Components
# ==========
# Type of concentration?
# Options: atom_percent (at%)
# weight_percent (wt%)
weight_percent
#
# The database contains the following components:
# 1: C
# 2: FE
# 3: MN
#
# 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) ?
2
# FE identified
# Component 1 ?
1
# C identified
# Component 2 ?
3
# MN identified
# Component 3 ?
end_of_components
#
# MICRESS component indexing
# 0 -> FE (database)
# 1 -> C (database)
# 2 -> MN (database)
#
#
# Phases
# ======
#
# Selection of Phases
# -------------------
# The database contains 4 phases:
# 1: GAS
# 2: LIQUID
# 3: AL5FE4
# 4: BCC_A2
# 5: BCC_B2
# 6: C14_LAVES
# 7: CBCC_A12
# 8: CEMENTITE_D011
# 9: CUB_A13
# 10: CUZN_EPSILON
# 11: DIAMOND_A4
# 12: DICTRA_FCC_A1
# 13: FCC_A1
# 14: FCC_L12
# 15: FE4N_LP1
# 16: FECN_CHI
# 17: GRAPHITE_A9
# 18: G_PHASE
# 19: HCP_A3
# 20: KSI_CARBIDE
# 21: M23C6_D84
# 22: M5C2
# 23: M7C3_D101
#
# 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)
2
# Name or database index of phase 1
13
# FCC_A1 identified
# Name or database index of phase 2
4
# BCC_A2 identified
# Name or database index of phase 3
14
# FCC_L12 identified
# Name or database index of phase 4
end_of_phases
#
# MICRESS phase indexing
# 0 -> LIQUID (database)
# 1 -> FCC_A1 (database)
# 2 -> BCC_A2 (database)
# 3 -> FCC_L12 (database)
#
# 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 ( LIQUID )
# ------------------
# Type of molar volume input ?
# Options: constant database [temp_extrapol] [conc_extrapol]
constant
# Value of molar volume ? ([cm**3/mol])
10.0
#
# Phase 1 ( FCC_A1 )
# ------------------
# Simulation of recrystallisation in phase 1 (FCC_A1) ?
# Options: recrystall no_recrystall [verbose|no_verbose]
no_recrystall
# Is phase 1 (FCC_A1) anisotropic ?
# Optionen: isotropic anisotropic faceted_a faceted_b faceted[_c] antifaceted
isotropic
# Should grains of phase 1 (FCC_A1) be reduced to categories?
# Options: categorize no_categorize
no_categorize
# Type of molar volume input ?
# Options: constant database [temp_extrapol] [conc_extrapol]
constant
# Value of molar volume ? ([cm**3/mol])
7.1824
#
# Phase 2 ( BCC_A2 )
# ------------------
# [identical phase number]
# Simulation of recrystallisation in phase 2 (BCC_A2) ?
# Options: recrystall no_recrystall [verbose|no_verbose]
no_recrystall
# Is phase 2 (BCC_A2) anisotropic ?
# Optionen: isotropic anisotropic faceted_a faceted_b faceted[_c] antifaceted
isotropic
# Should grains of phase 2 (BCC_A2) be reduced to categories?
# Options: categorize no_categorize
no_categorize
# Type of molar volume input ?
# Options: constant database [temp_extrapol] [conc_extrapol]
constant
# Value of molar volume ? ([cm**3/mol])
7.2757
#
# Phase 3 ( FCC_L12 )
# ------------------
# [identical phase number]
# Simulation of recrystallisation in phase 2 (FCC_L12) ?
# Options: recrystall no_recrystall [verbose|no_verbose]
no_recrystall
# Is phase 2 (FCC_L12) anisotropic ?
# Optionen: isotropic anisotropic faceted_a faceted_b faceted[_c] antifaceted
anisotropic
# Crystal symmetry of phase 3 (FCC_L12) ?
# Options: none cubic hexagonal tetragonal orthorhombic
cubic
# Should grains of phase 2 (FCC_L12) be reduced to categories?
# Options: categorize no_categorize
no_categorize
# Type of molar volume input ?
# Options: constant database [temp_extrapol] [conc_extrapol]
constant
# Value of molar volume ? ([cm**3/mol])
7.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 (LIQUID) / 1 (FCC_A1)
# -------------------------
# Simulation of interaction between 0 (LIQUID) and 1 (FCC_A1) ?
# Options: phase_interaction no_phase_interaction
# [ standard | particle_pinning[_temperature] | solute_drag ]
# | [ redistribution_control ] or [ no_junction_force | junction_force ]
no_phase_interaction
#
# 0 (LIQUID) / 2 (BCC_A2)
# -------------------------
# Simulation of interaction between 0 (LIQUID) and 2 (BCC_A2) ?
# 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
# 0 (LIQUID) / 3 (FCC_L12)
# --------------------------
# Simulation of interaction between 0 (LIQUID) and 3 (FCC_L12) ?
# 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
#
# 1 (FCC_A1) / 1 (FCC_A1)
# -------------------------
# Simulation of interaction between 1 (FCC_A1) and 1 (FCC_A1) ?
# Options: phase_interaction no_phase_interaction identical phases nb
# [ standard | particle_pinning[_temperature] | solute_drag ]
# | [ redistribution_control ] or [ no_junction_force | junction_force ]
phase_interaction
# Type of interfacial energy definition between 1 (FCC_A1) and 1 (FCC_A1) ?
# Options: constant temp_dependent
constant
# Interfacial energy between 1 (FCC_A1) and 1 (FCC_A1) ? [J/cm**2]
# [max. value for num. interface stabilisation [J/cm**2]]
5.00000E-05
# Type of mobility definition between FCC_A1 and FCC_A1?
# Options: constant temp_dependent dg_dependent [fixed_minimum]
constant
# Kinetic coefficient mu between FCC_A1 and FCC_A1 [cm**4/(Js)] ?
1.00000E-05
#
# 1 (FCC_A1) / 2 (BCC_A2)
# -------------------------
# Simulation of interaction between 1 (FCC_A1) and 2 (BCC_A2) ?
# Options: phase_interaction no_phase_interaction identical phases nb
# [ standard | particle_pinning[_temperature] | solute_drag ]
# | [ redistribution_control ] or [ no_junction_force | junction_force ]
phase_interaction redistribution_control
# 'DeltaG' options: default
# avg ...[] max ...[J/cm^3] smooth ...[Deg] noise ...[J/cm^3] offset ...[J/cm^3]
avg 0.5 smooth 45
# I.e.: avg +0.50 smooth +45.0
# Type of interfacial energy definition between 1 (FCC_A1) and 2 (BCC_A2) ?
# Options: constant temp_dependent
constant
# Interfacial energy between 1 (FCC_A1) and 2 (BCC_A2) ? [J/cm**2]
# [max. value for num. interface stabilisation [J/cm**2]]
2.0000E-05 1.E-4
# Type of mobility definition between FCC_A1 and BCC_A2?
# Options: constant temp_dependent dg_dependent [fixed_minimum]
constant
# Kinetic coefficient mu between FCC_A1 and BCC_A2 [cm**4/(Js)] ?
2.0000E-04
# Which phase diagram is to be used?
# Options: database [local|global[F]|globalG[F]] [start_value_{1|2}]
# linear linearTQ
database global
# Relinearisation interval for interface FCC_A1 / BCC_A2
# Options: automatic manual from_file none
none
# Please specify the redistribution behaviour of each component:
# Format: forward [backward]
# Options: nple para paratq normal [mob_corr] atc [mob_corr] [verbose]
# Component C:
normal mob_corr
# Component MN:
nple
#
# 1 (FCC_A1) / 3 (FCC_L12)
# --------------------------
# Simulation of interaction between 1 (FCC_A1) and 3 (FCC_L12) ?
# Options: phase_interaction no_phase_interaction identical phases nb
# [ standard | particle_pinning[_temperature] | solute_drag ]
# | [ redistribution_control ] or [ no_junction_force | junction_force ]
phase_interaction no_junction_force
# 'DeltaG' options: default
# avg ...[] max ...[J/cm^3] smooth ...[Deg] noise ...[J/cm^3] offset ...[J/cm^3]
avg 0.5
# I.e.: avg +0.50 smooth +0.0
# Type of interfacial energy definition between 1 (FCC_A1) and 3 (FCC_L12) ?
# Options: constant temp_dependent
constant
# Interfacial energy between 1 (FCC_A1) and 3 (FCC_L12) ? [J/cm**2]
# [max. value for num. interface stabilisation [J/cm**2]]
2.00000E-05
# Type of mobility definition between FCC_A1 and FCC_L12?
# Options: constant temp_dependent dg_dependent [fixed_minimum]
constant
# Kinetic coefficient mu between FCC_A1 and FCC_L12 [cm**4/(Js)] ?
2.00000E-06
# Is interaction isotropic?
# Options: isotropic
# anisotropic [junction_force] [harmonic_expansion]
isotropic
# Which phase diagram is to be used?
# Options: database [local|global[F]|globalG[F]] [start_value_{1|2}]
# linear linearTQ
database global
# Relinearisation interval for interface FCC_A1 / FCC_L12
# Options: automatic manual from_file none
none
# 2 (BCC_A2) / 2 (BCC_A2)
# -------------------------
# Simulation of interaction between 2 (BCC_A2) and 2 (BCC_A2) ?
# Options: phase_interaction no_phase_interaction identical phases nb
# [ standard | particle_pinning[_temperature] | solute_drag ]
# | [ redistribution_control ] or [ no_junction_force | junction_force ]
phase_interaction
# Type of interfacial energy definition between 2 (BCC_A2) and 2 (BCC_A2) ?
# Options: constant temp_dependent
constant
# Interfacial energy between 2 (BCC_A2) and 2 (BCC_A2) ? [J/cm**2]
# [max. value for num. interface stabilisation [J/cm**2]]
2.00000E-07
# Type of mobility definition between BCC_A2 and BCC_A2?
# Options: constant temp_dependent dg_dependent [fixed_minimum]
constant
# Kinetic coefficient mu between BCC_A2 and BCC_A2 [cm**4/(Js)] ?
1
# 2 (BCC_A2) / 3 (FCC_L12)
# --------------------------
# Simulation of interaction between 2 (BCC_A2) and 3 (FCC_L12) ?
# Options: phase_interaction no_phase_interaction identical phases nb
# [ standard | particle_pinning[_temperature] | solute_drag ]
# | [ redistribution_control ] or [ no_junction_force | junction_force ]
phase_interaction no_junction_force
# 'DeltaG' options: default
# avg ...[] max ...[J/cm^3] smooth ...[Deg] noise ...[J/cm^3] offset ...[J/cm^3]
avg 0.5 smooth 45
# I.e.: avg +0.50 smooth +45.0
# Type of interfacial energy definition between 2 (BCC_A2) and 3 (FCC_L12) ?
# Options: constant temp_dependent
constant
# Interfacial energy between 2 (BCC_A2) and 3 (FCC_L12) ? [J/cm**2]
# [max. value for num. interface stabilisation [J/cm**2]]
2.00000E-07
# Type of mobility definition between BCC_A2 and FCC_L12?
# Options: constant temp_dependent dg_dependent [fixed_minimum]
constant
# Kinetic coefficient mu between BCC_A2 and FCC_L12 [cm**4/(Js)] ?
2.00000E-3
# Is interaction isotropic?
# Options: isotropic
# anisotropic [junction_force] [harmonic_expansion]
isotropic
# Which phase diagram is to be used?
# Options: database [local|global[F]|globalG[F]] [start_value_{1|2}]
# linear linearTQ
database global
# Relinearisation interval for interface BCC_A2 / FCC_L12
# Options: automatic manual from_file none
none
#
# 3 (FCC_L12) / 3 (FCC_L12)
# ---------------------------
# Simulation of interaction between 3 (FCC_L12) and 3 (FCC_L12) ?
# 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
#
# Please specify a criterion for the choice
# of the direction of the redistribution model:
# Options: local_velocity average_velocity bottom_temperature
average_velocity
#
# Diffusion
# =========
# ["Terse Mode": Each line starts with component number and phase number]
# Options: diagonal|diagonal_dilute [x] multi|multi_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": T-dep. from file
# "i":infinite, "I": infinite in each grain
# from database: "g": global, "l": local, "z" global z-segmented
# Extra line option: [+b] for grain-boundary diffusion
# Extra line option (prefactor on time step): cushion <0-1>
# Extra line option: infinite_limit_[d|t] (in cm**2/s|K)
# 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 C in phase LIQUID be solved?
diagonal n
# How shall diffusion of component C in phase FCC_A1 be solved?
multi gg
# How shall diffusion of component C in phase BCC_A2 be solved?
multi gg
# How shall diffusion of component C in phase FCC_L12 be solved?
multi gg
# How shall diffusion of component MN in phase LIQUID be solved?
diagonal n
# How shall diffusion of component MN in phase FCC_A1 be solved?
multi gg
# How shall diffusion of component MN in phase BCC_A2 be solved?
multi gg
# How shall diffusion of component MN in phase FCC_L12 be solved?
multi gg
#
# How shall the interval for updating diffusion coefficients
# data be set?
# Options: constant from_file
constant
# Interval for updating diffusion coefficients data? [s]
5.0000
#
# Initial Microstructure
# ======================
# Type of grain positioning?
# Options: deterministic random [deterministic_infile] from_file
random
# Integer for randomization?
12345
# Number of different types of grains?
1
# Number of grains of type 1?
9
# Input for grain type 1
# ----------------------
# Geometry of grain type 1
# Options: round rectangular elliptic round_inverse
round
# Minimal value of x-coordinates? [micrometers]
0
# Maximal value of x-coordinates? [micrometers]
62.500
# Minimal value of z-coordinates? [micrometers]
0
62.5
# Minimum grain radius? [micrometers]
25
# Maximum grain radius? [micrometers]
25
# Shall grain type 1 be stabilized or shall
# an analytical curvature description be applied?
# Options: stabilisation analytical_curvature
stabilisation
# Should the Voronoi criterion for grains of type 1 be applied?
# Options: voronoi no_voronoi
voronoi
# Phase number for grain type 1? (int)
1
# Minimal distance between grains (real) [micrometers]?
15
#
# 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]
equilibrium 1
# Initial concentration of component 1 (C) in phase 1 (FCC_A1) ? [wt%]
0.05
# Initial concentration of component 2 (MN) in phase 1 (FCC_A1) ? [wt%]
0.5
# Temperature at which the initial equilibrium
# will be calculated? [K]
1200
#
#
# 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]
1123
# Temperature gradient in z-direction? [K/cm]
0.0000
# Cooling rate? [K/s]
-2
#
# 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
# ------------
# Moving-frame system in z-direction?
# Options: moving_frame no_moving_frame
no_moving_frame
#
#
# Nucleation
# ==========
# Enable further nucleation?
# Options: nucleation nucleation_symm no_nucleation [verbose|no_verbose]
nucleation
# Additional output for nucleation?
# Options: out_nucleation no_out_nucleation
no_out_nucleation
#
# Number of types of seeds?
3
#
# Input for seed type 1:
# ----------------------
# Type of 'position' of the seeds?
# Options: bulk region interface triple quadruple front [restrictive]
triple
# Phase of new grains (integer) [unresolved|add_to_grain|split_from_grain]?
2
# Reference phase (integer) [min. and max. fraction (real)]?
1
# Substrate phase [2nd phase in interface]?
1 1
# Maximum number of new nuclei of seed type 1?
# (set negative for unlimited number)
-1
# Grain radius [micrometers]?
0.0000
# Choice of growth mode:
# Options: stabilisation analytical_curvature
stabilisation
# min. undercooling [K] (>0)?
5
# Shield effect:
# Shield time [s] [shield phase or group number] ?
0.2
# Shield distance [micrometers] [ nucleation distance [micrometers] ]?
1.000 25.
# Nucleation range
# min. nucleation temperature for seed type 1 [K]
0.0000
# max. nucleation temperature for seed type 1 [K]
1200.0
# Time between checks for nucleation? [s]
# Options: constant from_file
constant
# Time interval [s]
0.10010
# Shall random noise be applied?
# Options: nucleation_noise no_nucleation_noise
no_nucleation_noise
#
# Input for seed type 2:
# ----------------------
# Type of 'position' of the seeds?
# Options: bulk region interface triple quadruple front [restrictive]
interface
# Phase of new grains (integer) [unresolved|add_to_grain|split_from_grain]?
2
# Reference phase (integer) [min. and max. fraction (real)]?
1
# Substrate phase [2nd phase in interface]?
# (set to 1 to disable the effect of substrate curvature)
1 1
# Maximum number of new nuclei of seed type 2?
# (set negative for unlimited number)
-1
# Grain radius [micrometers]?
0.0000
# Choice of growth mode:
# Options: stabilisation analytical_curvature
stabilisation
# min. undercooling [K] (>0)?
5
#
# Shield effect:
# Shield time [s] [shield phase or group number] ?
2.000
# Shield distance [micrometers] [ nucleation distance [micrometers] ]?
0.8 10
# Nucleation range
# min. nucleation temperature for seed type 2 [K]
0.0000
# max. nucleation temperature for seed type 2 [K]
1200.0
# Time between checks for nucleation? [s]
# Options: constant from_file
constant
# Time interval [s]
1.0100
# Shall random noise be applied?
# Options: nucleation_noise no_nucleation_noise
no_nucleation_noise
#
#
# Input for seed type 3:
# ----------------------
# Type of 'position' of the seeds?
# Options: bulk region interface triple quadruple front [restrictive]
interface
# Phase of new grains (integer) [unresolved|add_to_grain|split_from_grain]?
3 add_to_grain
# Which grain number the new grains shall be added to?
# # Options: grain_number (number) parent_grain new_set
parent_grain
# Reference phase (integer) [min. and max. fraction (real)]?
1
# Substrate phase [2nd phase in interface]?
# (set to 1 to disable the effect of substrate curvature)
2
# Maximum number of new nuclei of seed type 3?
# (set negative for unlimited number)
-1
# Grain radius [micrometers]?
0
# Choice of growth mode:
# Options: stabilisation analytical_curvature
stabilisation
# min. undercooling [K] (>0)?
20
# Determination of nuclei orientations?
# Options: random randomZ fix range parent_relation
random
# Shield effect:
# Shield time [s] [shield phase or group number] ?
2
# Shield distance [micrometers] [ nucleation distance [micrometers] ]?
10
# Nucleation range
# min. nucleation temperature for seed type 3 [K]
0.0000
# max. nucleation temperature for seed type 3 [K]
1063
# Time between checks for nucleation? [s]
# Options: constant from_file
constant
# Time interval [s]
0.01
# 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
#
#
# Output
# ======
#
# Output times
# ------------
# 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
# ('automatic_outputs' optionally followed by the number
# of outputs can be used in conjuction with 'linear_from_file')
# 'first' : additional output for first time-step
# 'end_at_temperature' : additional output and end of simulation
# at given temperature
linear_step 0.1 20
linear_step 0.5 100.0
end_of_simulation
#
# Output files
# ------------
# Selection of the outputs
# [legacy|verbose|terse]
# Finish selection of outputs with 'end_of_outputs'.
terse
out_restart
out_grains
out_phases
out_fraction 1 2
tab_fractions
out_interface
out_driv_force
tab_grains
out_conc
out_conc_phase 1 | 2
out_mobility
tab_lin
tab_log 0.1
# out_relin
# out_curvature
# out_velocity
# tab_vnm
# tab_grain_data
# out_temp
# tab_conc
# out_recrystall
# tab_recrystall
# out_disloc
# out_miller
# out_orientation
# tab_orientation ! [rotmat]
end_of_outputs
#
#
# Numerical parameters
# ====================
#
# Phase field solver
# ------------------
# Time-step ?
# Options: fix ...[s] automatic automatic_limited
automatic_limited
# Options: constant from_file
constant
# Limits: (real) min./s, [max./s], [time step factor], [segregation factor]
5.E-4 5.E-3
#Coefficient for phase-field criterion 1.00
#Coefficient for segregation criterion 0.900
#Number of steps to adjust profiles of initially sharp interfaces [exclude_inactive]?
20
# 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.00E-04
# Interface thickness (in cells)?
3.0000
# Coefficient for initial dimension of field iFace
# [minimum usage] [target usage]
0.1
# Coefficient for initial dimension of field nTupel
# [minimum usage] [target usage]
0.1
#
# Concentration solver
# --------------------
# Factor for diffusion time stepping? (0.0 < factor < 1.0)
0.95000
#
# List of phases and components which are stoichiometric:
# phase and component(s) numbers
# List of concentration limits (at%):
# <limits>, phase number and component number
# List of penalty conditions:
# <penalty>, phase 1, phase2, component number
# List for ternary extrapolation (2 elements + main comp.):
# <interaction>, component 1, component 2
# Switches: <stoich_enhanced_{on|off}> <solubility_{on|off}>
# List of relative criteria on phase composition
# <criterion_higher | criterion_lower>, phase No 1, phase No 2, component No
# List of sublattice order conditions:
# <ordered|disordered>, phase , sublattice 1, sublattice 2
# List of source changes for diffusion data
# <switch_diff_data>, Phase-No., reference phase
# Switch: Add composition sets for calculation of diffusion/volume/enthalpy data
# <diff_comp_sets | vol_comp_sets | enth_comp_sets>, phase list
# End with 'no_more_stoichio' or 'no_stoichio'
no_stoichio
#
#
# Parallel Execution
# ------------------
# Number of parallel threads ?
14
#

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

Re: phase transformation

Post by Bernd » Thu Oct 20, 2022 6:04 pm

Dear Jane,

Going through the input file I have found several issues:

1.) You are using FCC_A1 and FCC_L12 simultaneously in one simulation. This does not make sense, because FCC_L12 is identical to FCC_A1 but additionally accounts for order-disorder transformations, and should be absolutely avoided. You should use only FCC_A1 in your case!

2.) Usually, the martensitic reaction in steels is to transform highly undercooled austenite into a bcc-structure which is somehow similar to ferrite. But you do the opposite when you switch phase 2 (BCC) to phase 3 (FCC) - how does this make sense?

3.) For nucleation of phase 3 (martensite) you use the "add_to_grain" model with "parent" suboption, which means that the substrate phase (phase2) is switched to phase 3, while the reference phase (phase 1) is used for calculation of the undercooling. However, as phases 1 and 3 are both fcc this cannot work. You should use phase 2 as reference phase instead, or not use undercooling as criterion at all (by setting the critical undercooling to a value below -1.E5 K).

4.) You apply different values of the interface energy to interconnected interfaces which vary by a large range between 1.E-5 and 1.E-7 J/cm2. This is neither numerically stable nor realistic. You need to bring them much closer together in order to avoid numerical problems.

5.) You apply a huge interface mobility to the 2/2-interface which is unrealistic. It can be expected that this produces numerical issues and/or a performance loss. I would assume that realistic values are at least 5 orders of magnitude lower.

6.) The 2/3 -interface needs a similar treatment as the 1/2-interface with mob_corr and nple

Bernd

Post Reply