Process Conditions¶
Temperature¶
This section starts with the specification of the temperature condition, which are required if neither temperature
coupling nor 1d_temp
has been chosen in section Model at the top of the input file. Note that the choice of options further depend on the fact whether release of latent heat is enabled in section Model Specification. All in all, four alternative options are available to describe the spatial and temporal temperature evolution:
Option time_dependent [from_file]
or constant_rate/flow
¶
In this case, the local temperature is evaluated in each time step as linear function of the z coordinate: T(t,z) = T_{B}(t) + G_z(t) \cdot z, where T_{B} is the temperature at the bottom of the simulation domain and G_z the temperature gradient in z-direction. If the release of latent heat is disabled in section Model Specification, both T_{B} and G_z have explicitly to be specified. During the simulation, the actual values are linearly interpolated in time between defined connecting points.
Temperature and gradient are defined independently, e.g. temperature as time dependent and gradient as constant (see example). If defined as time dependent, a table can be given directly in the input (finished by end_of_table
keyword). Each line of the table defines a connecting point. Such a table can also be read from a file by specifying the file name followed by the column selection (e.g. temperature.txt columns 1 2
).
If the temperature trend is defined as constant (keyword constant_rate
), the initial temperature at the bottom, a gradient definition (constant or time dependent) and a constant cooling rate have to be given. This cooling rate has to be negative to cool down.
Definition of a time dependent temperature trend and a constant gradient
# Temperature # ----------- # Type of temperature trend? # Options: constant_rate time_dependent [from_file] profiles_from_file time_dependent # # Temperature at the bottom? # Table: time [s] temperature [K] # Finish with 'end_of_table' 0.000000 1414.200 15.00000 1414.200 16.00000 1413.200 21600.00 1413.200 23000.00 1223.200 59000.00 1223.200 end_of_table # # Temperature gradient in z-direction? [K/cm] # Options: constant time_dependent [from_file] constant # Value? 0.000000
If the release of latent heat is enabled (lat_heat
in section Model Specification), the temperature T_{B}(t) is not read in, but will be calculated from the balance of the latent heat release and a user-defined heat flux [Js/cm^3]. The input is analoguous to the temperature and cooling rate definition above. However, an initial temperature at the bottom has to be given first. The temperature trend type constant_flow
allows to set the heat flux constant.
Option profiles_from_file
¶
This option is offered if latent heat release is disabled. It allows imposing arbitrary temperature profiles in z-direction. A number of connection points is specified, which allows defining profiles at different time steps. The individual profiles may either be read from different ASCII data files or from different columns of the same data file. For each connecting point, the time and a file name, optionally with specification of the columns, has to be given. During the simulation, the temperature will be linearly interpolated in time and space between the transition points. The example file T10_20_GrainGrowthTempProfiles_2D.dri illustrates the use of this option for simulation of grain growth in the heat-affected zone of a welding (see Grain Growth Examples).
Option heat transfer
¶
This option is only compatible with 'lat_heat'. The temperature T_{B}(t) is here calculated from the balance of the latent heat release and a heat flux, determined by heat transfer to the outer environment. The evaluation is based on the simplifying assumption that temperature gradients inside the casting are small compared to the difference to the outside. The input starts with the initial temperature at the bottom and the temperature gradient in z-direction definition (constant or time dependent). Then, the heat transfer coefficient h \, [W/(cm^2K)] (constant or temperature dependent), the ambient temperature T_A [K] (constant or time dependent) will be defined. Finally, the casting modulus M [cm] have to be specified. The modulus is defined as ratio between volume and heat-emitting surface of the entire casting part M = V/A. During simulation, the heat extraction rate per volume is calculated by:
Option heat diffusion
¶
This option is related to Chvorinov's rule for sand castings. It is only compatible with 'lat_heat'. The temperature T_{B}(t) is calculated from the balance of the latent heat release and a heat flux, determined by heat diffusion in the mould. The evaluation is based on the assumption that heat diffusion inside the mould is significantly slower than inside the casting. The input starts with the initial temperature at the bottom and the temperature gradient in z-direction. Then, the heat diffusibility of the mould D_m \, [J/( Kcm^2 \sqrt{s})], the ambient temperature T_A [K], and the casting modulus M [cm] have to be specified. The diffusibility is defined as D_m= \sqrt{\lambda \rho c_p / \pi} where \lambda is the heat conductivity of the mould, \rho the density and c_p the heat capacity. The modulus is defined as ratio between volume and heat-emitting surface of the casting part. The heat extraction rate per volume is calculated by:
The heat diffusion model with a temperature dependent heat diffusibility
# Temperature # ----------- # Type of heat flow trend? # Options: constant_flow time_dependent [from_file] # heat_transfer heat_diffusion heat_diffusion # # Initial temperature at the bottom? [K] 1510.000000000 # # Temperature gradient in z-direction? [K/cm] # Options: constant time_dependent [from_file] constant # Value? 0.000000 # # Heat diffusibility of the mold? [J/(K*cm2*s0.5)] # Options: constant temp_dependent [from_file] temp_dependent # Table: temperature [K] heat diffusibility [J/(K*cm2*s0.5)] # Finish with 'end_of_table' 2273.150 0.9400000E-01 1273.150 0.7200000E-01 773.1500 0.6400000E-01 373.1500 0.5800000E-01 20.00000 0.5500000E-01 end_of_table # # Ambient temperature? [K] # Options: constant time_dependent [from_file] constant # Value? 300.0000 # # Casting modulus (volume/surface)? [cm] 1.200000 #
Thermo-physical properties for 1D temperature solver¶
If the option 1d_temp
has been selected at the beginning of the input file (see Thermal Conditions, a one-dimensional temperature field is applied as 'extended' temperature boundary condition. The initial temperature field can either be read from a text file or be specified in linear approximation by input of a value for the upper and lower end of the 1d-temperature field.
In case any type of boundary condition has been chosen for the 1D temperature field, which requires further input of values or data sources (g
,f
,j
, see section Boundary Conditions) the corresponding input has to be included here.
Then, the user has to choose whether to apply constant thermo-physical data (enthalpy, heat capacity and thermal diffusivity) for this temperature field, or to specify files where these thermophysical data shall be read from as a function of temperature. All three thermodynamic quantities are read separately for the part of the 1D-temperature field which lies above and below the micro-simulation domain. This can be important if e.g. a strongly undercooled columnar dendritic front is simulated.
In many cases, all this thermophysical information can be taken (iteratively) from the dTLat output of a prior MICRESS® simulation1. Alternatively, the thermo-physical data file may be created using Thermo‑Calc™.
Boundary values for phase field¶
If any fixed (f
) or wetting (w
) condition has been specified for the phase-field in section Boundary Conditions, corresponding values need to be given here.
1D far field for solute diffusion¶
In case of concentration
coupling, a one-dimensional far field approximation for solute diffusion can be applied as modified boundary condition in z-direction using the keyword 1d_far_field
. This option typically is used for simulation of directional solidification and has two effects:
1.) An additional one-dimensional concentration field is added as extension to the top of the simulation domain. This is helpful for resolving long-range diffusion fields without having to increase the calculation domain.
2.) In the upper part of the normal simulation domain, diffusion is also solved in 1D-approximation, starting from a given distance from a growth front.
If 1d_far_field
is enabled, one has to specify the length (in cells) of the 1D external extension. The spatial resolution of the external 1D-concentration field is the same as for the normal simulation domain. Next, the distance from the growth front in \mu m from which diffusion shall be solved in 1D has to be specified. The position of the growth front is defined as the point with the highest z-coordinate which contains phases other than the matrix phase (the matrix phase is automatically determined as the phase which is present at the top left corner at the beginning). The advantage of this approximation is a speed-up of the simulation run.
Finally, the initial concentration of the 1D extension has to be specified. Each component can be defined as constant
or from_file
. In the latter case, the initial concentration profile of the 1D extension is interpolated from an ASCII file containing one-dimensional information of distances (in \mu m) and corresponding concentration values. If the keyword from_file
is chosen, the name and path of the file need to be specified. The file e.g. could have been written from earlier MICRESS® results in ASCII format using DP_MICRESS. Extra output files showing the concentration profiles outside the domain will be generated (1D_Ext files).
Example 2¶
** 1D far field for concentration **
... # 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 1d_far_field # Number of cells for the 1D external field? 500 # 1D far-field diffusion approximation was set. # From which distance from the front should the diffusion be # solved as 1D? [micrometers] 200.00 # This distance is equivalent to 200 cells. # How shall concentration of 1D extension for component 1 be set? # Options: constant from_file constant # How shall concentration of 1D extension for component 2 be set? # Options: constant from_file constant ...
Note: If a 1D far field is used, the definition of the top boundary condition for the concentration field is applied to the top of the 1D extension!
Fix boundary conditions settings¶
If fix boundary conditions for concentration were chosen in the section Model, explicit values have to specified here for each component and direction.
Example 3¶
** Fix values for concentration boundary settings **
... # Boundary concentration # ---------------------- # Fixed value for concentration field for component 1 in Top-direction 1.0000 # Fixed value for concentration field for component 2 in Top-direction 1.0000 # ...
Moving Frame¶
As next, the moving frame options have to be set. This feature is very useful for simulations related to directional solidification, as it allows the reduction to a smaller simulation domain which follows the movement of the solidification front. This is shown schematically in Figure 1 and in the example for directional solidification of a conventional Ni-base superalloy in Figure 2.
Figure 1¶
The moving frame: the current area with the whole simulation area
This option is not available for use with latent heat (lat_heat
) because it is not compatible with the assumptions of the DTA approximation. If the flag moving frame is selected, the user has to chose a criterion which controls the movement of the simulation domain. Available criteria are temperature
and distance
. In case of temperature
, a critical temperature is requested. If the temperature at the bottom falls below this value, the domain is moved in z-direction until the bottom temperature reaches the critical value. In case of a constant cooling rate, this option leads to a constant moving velocity like in a typical Bridgman furnace experiment.
Figure 2¶
2D simulation with moving frame: directional solidification of IN706
If distance
is selected, the distance of the solidification front (more exactly the highest position of any object with phase number >matrix phase) from the top of the simulation domain is used as criterion for movement of the simulation domain. Thus, for example, a constant distance of a dendrite tip from the top can be achieved. The matrix phase is automatically selected as the phase which is present at to top left corner at the beginning of the simulation, but also can be explicitly selected by the user as additional optional parameter in the same line with distance
. A negative sign means that all phases but the one selected are considered as matrix phase. In both cases (temperature
and distance
), the corresponding value has to be given in the next line after the keyword.
If the out_moving_frame
flag is set, a Gesamt (global) data file is additionally created for all selected graphical outputs. The corresponding files have a G
appended to their root name (e.g.: SimulationG.phas under Linux). They consist of the simulation domain for the latest output (the coloured part in Figure 1, to which all the information of the grid cells that have moved out from the domain during simulation is appended (the grey part). Consequently, they can be much larger than the normal outputs and have their own geometry file (SimulationG.geoF).
Note: using the moving frame option is very reasonable in combination with the 1D far field option. This combination allows the simulation of stationary processes with long-range diffusion profiles. In most cases it is reasonable to use identical distances for the moving frame (with option distance
) and for the 1D far-field diffusion approximation.
Example 4¶
Definition of a moving frame with the distance criterion and no data storage
... # Moving frame # ------------ # Moving-frame system in z-direction? # Options: moving_frame no_moving_frame moving_frame # Should the distance or the bottom temperature be # used as criterion for moving frame? # Options: distance [matrix phase (negative: special phase)] temperature distance # At which distance from the upper boundary should the frame # be moved? (real) [micrometers] 200.0000 # # Store data shifted out of moving-frame system? # Options: out_moving_frame no_out_moving_frame no_out_moving_frame ...
-
B. Böttger, J. Eiken, and M. Apel. Phase-field simulation of microstructure formation in technical castings - a self-consistent homoenthalpic approach to the micro-macro problem. Journal of Computational Physics, 228(18):6784–6795, oct 2009. doi:10.1016/j.jcp.2009.06.028. ↩