Phases¶
In this section the phases and their properties are defined.
Selection of Phases¶
A phase will be defined by adding its name to a list of phases ending with the keyword end_of_phases
. If a thermodynamic database is used, these names are looked up in the database (similar to the Component Definition). The database indices of phases can be given directly for backward compatibility (see example).
** Example: Defining phases by database indices or names**
... # Phases # ====== # # Selection of Phases # ------------------- # The database contains 3 phases: # 1: LIQUID # 2: ALCU_THETA # 3: FCC_A1 # # Database phases can be specified by their names or indices. # Other phases can be added by user defined names. # Options: # {<database name> | <database index> | <user defined name>} [<alias>] # 'end_of_phases' will finish the phase data input. # # Phase 0 (matrix phase) 1 # LIQUID identified # Phase 1 FCC_A1 # FCC_A1 identified # Phase 2 2 # ALCU_THETA identified # Name or database index of phase 3 end_of_phases # # MICRESS phase indexing # 0 -> LIQUID (database), alias = LIQUID # 1 -> FCC_A1 (database), alias = FCC_A1 # 2 -> ALCU_THETA (database), alias = ALCU_THETA # ...
It is allowed to link several MICRESS® phases to the same phase in the database, e.g. for using the phase BCC_A2 for description of ferrite and martensite. An alias can be defined as a second optional parameter in a phase definition line (see example). If no alias is given, an index will be added to phases with the same name.
If no database is used or a phase is not given in the database, the phase name will interpreted as a an user-defined phase. All necessary data have to specified later on by the user. Database phases and user-defined phases can be combined in the same simulation.
Database and user defined names will be made upper case. Aliases will be used as given by the user.
Example: Defining BCC_A2 as ferrite and martensite and an user-defined carbide
... # Selection of Phases # ------------------- # The database contains 4 phases: # 1: LIQUID # 2: BCC_A2 # 3: CEMENTITE # 4: FCC_A1 # # Database phases can be specified by their names or indices. # Other phases can be added by user defined names. # Options: # {<database name> | <database index> | <user defined name>} [<alias>] # 'end_of_phases' will finish the phase data input. # # Name or database index of phase 0 (matrix phase) liquid # Name or database index of phase 1 fcc_a1 # Name or database index of phase 2 bcc_a2 ferrite # Name or database index of phase 3 bcc_a2 martensite # Name or database index of phase 4 carbide # Name or database index of phase 5 end_of_phases # # MICRESS phase indexing # 0 -> LIQUID (database), alias = LIQUID # 1 -> FCC_A1 (database), alias = FCC_A1 # 2 -> BCC_A2 (database), alias = ferrite # 3 -> BCC_A2 (database), alias = martensite # 4 -> CARBIDE (user), alias = CARBIDE
Note that not all phases given in the GES5 file have to be assigned. This is different from the component definition.
Crystallographic orientation¶
At next, the user has to decide in which way crystallographic orientations shall be specified through the rest of the input file. As shown in the example, the following options are now available: in 2D: a single angle (angle_2D
), in 3D: three Euler angles (euler_zxz
) or one rotation angle plus a corresponding axis (angle_axis
), or Miller indices (miller_indices
) or a quaternion (quaternion
). Note that the program internally translates all different representations into quaternion. In case of using the local RX energy model, the user has to additionally specify that a mean orientation is defined per grain.
Example: Grain orientation defined by Euler angles
... # Input/Output Format for Orientations # ------------------------------------ # How shall grain orientations be defined? # Options: angle_2d euler_zxz angle_axis miller_indices quaternion euler_zxz # Which kind of grain orientation input? # Options: mean mean ...
Phase Properties¶
Phase specific properties have to be given for each phase defined above. The first phase (phase number 0) is the background or matrix phase which is assumed to be isotropic (liquid).
Recrystallisation¶
First, the user has to specify whether a stored energy will be defined for this phase and whether recrystallisation will be included into the simulation.
For the RX simulation, the user has to select one of the two implemented models:
-
the classical mean RX energy model based on a mean stored energy per grain [J/cm^3] or [MPa] (see Example (a)) or its alternative definition via a mean dislocation density ρ per grain [m^{-2}] (see example (b)).
-
the local RX energy model based on a dislocation density field, which varies inside each grain (see Example (c)).
In the case of the alternative input by mean dislocation density, a direct transformation in a mean RX energy per grain is performed by the program via expression: E_{RX} = \alpha G b^{2} \rho, where b is the norm of the Burgers vector, G the shear modulus of the considered phase and \alpha the dislocation interaction coefficient.
Independent of the adopted RX model, the user has now the possibility to specify via the optional parameter all interfaces if the energy difference between existing grains contributes also or not to the RX driving force and, subsequently, if the grain boundaries between old grains can move during recrystallisation or not. Per default, the grain boundary of old grains does not move and do not contribute locally to the driving force. In order to distinguish new grains from old existing ones the user has to specify either an energy [J/cm^3] or [MPa] or dislocation density [m^{-2}] threshold.
If the mean RX energy model, defined by a mean dislocation density per grain, is selected, the user must in addition to the dislocation threshold for recrystallization grain growth also provide the Burgers vector nm and the shear modulus MPa of the considered phase. Note that a dislocation interaction coefficient different from \alpha = 0.5 can be specified via an optional parameter.
Note that the output of additional information is activated via the parameter verbose
behind the recrystall
parameter.
To activate the local RX model the dislocation parameter at the coupling flags (see section 2.3) has to be specified. In addition to the phase input for the main RX energy variant, defined by a mean dislocation density, the user has now the possibility to take recovery before or during recrystallization into account. In fact, a stress recovery coefficient k [MPa] and, optionally, a start time can be specified. Of course, if k = 0, no recovery is taken into account and, per default, recovery starts at the beginning of simulation (t_R = 0). In the case of recovery, the stress of the existing grains decreases according to following empirical law:
where σ_0 is the initial local stress inside each grain. In the program, this law is expressed in terms of a time dependent dislocation density field:
where ρ_0 is the initial dislocation density field.
Example a) Mean energy recrystallization model defined by a mean energy per grain. Grain boundaries of existing grains do not move.
Example b) Model variant of the mean energy recrystallization model defined by a mean dislocation density per grain. Grain boundaries of old grains can move.... # Phase 1 ( PHASE_1 ) # ------------------- # Simulation of recrystallisation in phase 1 (PHASE_1) ? # Options: recrystall no_recrystall [verbose|no_verbose] recrystall verbose # Which recrystallisation model? # Options: energy mean_disloc local_disloc [all_interfaces] energy # Energy threshold for recrystallisation model? [J/cm**3 or MPa] 2.12300E-03 ...
... # Phase 1 ( PHASE_1 ) # ------------------- # Simulation of recrystallisation in phase 1 (PHASE_1) ? # Options: recrystall no_recrystall [verbose|no_verbose] recrystall verbose # Which recrystallisation model? # Options: energy mean_disloc local_disloc [all_interfaces] mean_disloc all_interfaces # Dislocation threshold for recrystallisation model? [m^-2] 2.00000E+12 # Burgers vector of phase 1? [nm] [dislocation interaction coefficient (default: 0.5)] 0.257385 0.5 # Shear modulus of phase 1? [MPa] 32050. # Stress recovery coefficient of phase 1? [MPa] [start_time (default: 0 sec)] 0.0 ...
Example c) Local recrystallization model defined by a local dislocation field per grain. Recovery is taken into account and starts immediately.
... # Phase 1 ( PHASE_1 ) # ------------------- # Simulation of recrystallisation in phase 1 (PHASE_1) ? # Options: recrystall no_recrystall [verbose|no_verbose] recrystall verbose # Which recrystallisation model? # Options: energy mean_disloc local_disloc [all_interfaces] local_disloc # Dislocation threshold for recrystallisation model? [m^-2] 2.00000E+12 # Burgers vector of phase 1? [nm] [dislocation interaction coefficient (default: 0.5)] 0.257385 0.5 # Shear modulus of phase 1? [MPa] 32050. # Stress recovery coefficient of phase 1? [MPa] [start_time (default: 0 sec)] 2.0 0.0 ...
Anisotropy¶
The type of anisotropy for each solid phase has to be specified as isotropic
, anisotropic
, or faceted
. (The alternative options faceted_a
, faceted_b
, or antifaceted
allow to use former versions of the faceted-model, as detailed under Topics/Phase Interaction/Faceted anisotropy).
If the choice is not isotropic
, further information on the crystal symmetry is required. The symmetry of the atomic lattice structure is on the one hand important to evaluate misorientation between different crystals and on the other hand to describe the orientation-dependence of the interfacial properties. The most common type of symmetry in metallic alloys is cubic
. The tetragonal
and the orthorhombic
symmetries are similar to cubic, but with unequivalent x, y and z-directions. Furthermore, hexagonal
symmetry may be chosen e.g. for simulation of Mg or Zn alloys. (For details, see Topics/Phase/Anisotropic Phase Definition).
If a faceted model is chosen, the user will be asked to input facet-vectors, i.e. vectors normal to the facets in the local coordinate system. Facets with equal energies and mobilities can be grouped to a common facet-type. Each facet orientation has to be specified explicitly independent of the phase symmetry, but vectors in opposite direction are treated as equivalent. Furthermore, one has to specify the parameter kappa (\kappa), which defines the sharpness of the anisotropy function as described in Topics/Phase Interaction/Faceted anisotropy).
Categorization¶
Next, the user has to decide whether to use grain categorization for this phase. The categorize
keyword means that MICRESS® may (but must not) assign the same grain number to grains of this phase provided they do not differ in orientation (or recrystallization energy). To enable categorization, nuclei of the respective phase should be set in distinct orientation categories and not with continuous orientation. Categorization can significantly speed up simulations, as some operations in MICRESS® are quadratic with respect to the number of grains (or categories). Note that categorization is mainly used for new nucleated grains, while initial grains can directly be merged by assigning identical group numbers. No additional parameter is required after the keyword categorize
.
Example: Phase data: A solid phase with anisotropic cubic crystal symmetry. No grain categorisation is used.
# Phase Properties # ---------------- ... # 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 anisotropic # Crystal symmetry of phase 1 (FCC_A1) ? # Options: none cubic hexagonal tetragonal orthorhombic cubic # Should grains of phase 1 (FCC_A1) be reduced to categories? # Options: categorize no_categorize no_categorize ...
Molar Volume and Heat Conductivity¶
Afterwards the user is prompted for the mean molar volume of the phase. They can either be read in manually or from database. The molar volumes are generally used for transforming the thermodynamic data per mole to values per volume. Note that in case of volume_change
calculation, frequent updating of the molar volumes may be important. In this case, an additional temperature extrapolation temp_extrapol
and concentration extrapolation conc_extrapol
is offered to consider changes in temperature and mean phase concentration in between the TQ-updates.
In case of enabled latent heat effect and an 1D temperature extension (1d_temp
option in section Thermal Conditions), heat conductivity input is necessary for a phase. Like in other places of the input file, one can define a constant value or input a temperature dependent heat conductivity which is read from a text file.
Material data for elastic calculation¶
If the phase is cubic or isotropic, a mechanical relevant molar volume and the three elastic coefficients C_{11}, C_{12}, C_{44} of the Hooke matrix are necessary to be specified. In the case of a thermo-elastic analysis also thermal expansion coefficients in the x, y, z directions have to be specified for the considered phase.
Volumetric data (molar volumes, thermal expansion) can be read from thermodynamic databases, if those contain volume information. For the molar volume and the elastic constants, values can be given either as constant or temperature-dependent from file.
Example: Input of elastic material data
... # Properties for elastic stress calculation: # # Type of (mechanical relevant) molar volume input? # Options: constant database [factor] from_file constant # (mechanical relevant) molar volume [cm**3], phase 1 7.3180 # Thermal expansion coefficients # along the principal axes xx [1/K], yy [1/K], zz [1/K]? (real) (real) (real) 0. 0. 0. # Input of elastic constants (c_ij notation): # Notation for elastic coefficients? # Options: c_ij Voigt materialParameter c_ij # Elastic components (c_ij-notation) # C11 [MPa] ( >0 ) , phase 1 # Options: constant from_file constant 2.33000E+05 # C12 [MPa] ( >0, <C11 ), phase 1 # Options: constant from_file constant 1.33000E+05 # C44 [MPa] ( >0 ) , phase 1 # Options: constant from_file constant 50000. #
Material data for fluid flow¶
If flow
or flow_coarse
was chosen earlier as a coupling flag the user will be asked for material data concerning fluid simulation in this section. For an overview and a more detailed description of the flow solver (see Using the Flow Solver).
First entered is the kinematic viscosity \nu, it is connected to the dynamic viscosity \mu by the equation \nu = \mu/\rho. The density \rho, entered next, determines the relation of inertial forces to frictional and buoyancy forces.
To model concentration driven convection the partial density change with composition, d\rho/dc dρ/dc, has to be entered for each component. An optional reference concentration can be entered in the same line. If any density changes are different from zero strength and direction of gravity
is to be entered.
For the 3D case the x, y, and z components of the gravity vector should be entered, while for the 2D case only the x and the z component are entered. Note that positive z-components make the gravity vector point to the top of the simulation domain.
The final h^* parameter determines the strength of friction in the phase-field region. If auto
is chosen an optimal value is determined automatically for the given interface thickness. In most cases a value of 21.0 is a good choice.
Example: Input of material data for fluid flow
... # Phase 0 ( MATRIX ) # ------------------ # Type of molar volume input ? # Options: constant [temp_extrapol] [conc_extrapol] constant # Value of molar volume ? ([cm**3/mol]) 10.0 # # Material data for flow calculations # Viscosity [cm**2/s] ? 3.70000E-03 # Mean density [g/cm**3] ? 2.7000 # partial density change with composition [g/cm**3/%] # dRho / dC, component 1 0.000000000000000E+000 # Friction Parameter h*: (real) | auto 21.00000000 ...