.. _MATERIAL_and_PHASE_Namelists: .. toctree:: :maxdepth: 1 MATERIAL and PHASE Namelists ============================= Overview ------------ A database of materials, their properties and attributes are defined using the :ref:`MATERIAL`, :ref:`PHASE`, and :ref:`PHASE_CHANGE` namelists. Not all materials are necessarily included in the simulation, but only those specified by the :ref:`PHYSICS` namelist variable :ref:`materials`. This allows one to reuse material input blocks without needing to prune out unused materials which would otherwise negatively impact performance. In Truchas usage, one or more phases comprise a material. A single-phase material is defined by a :ref:`MATERIAL` namelist, and the namelist specifies all properties and attributes of the material. A multi-phase material is defined by a :ref:`MATERIAL` namelist and an optional :ref:`PHASE` namelist for each of the material phases. Properties and attributes that apply to all phases can be defined in the :ref:`MATERIAL` namelist. Properties and attributes specific to a given phase are defined in the :ref:`PHASE` namelist for the phase, and these superced eany that might be defined in the :ref:`MATERIAL` namelist for the phase. Additional information that defines the transformation between phases is specified using the :ref:`PHASE_CHANGE` namelist. The MATERIAL Namelist ---------------------------- The MATERIAL namelist defines a material, either single-phase or multi-phase, that is available to be used in a simulation. In addition to the property and attribute variables described below, the namelist has the following variables. **name** A unique name for the material used to reference it. **phases** A multi-phase material is defined by assigning a value to phases. This is a list of two or more unique phase names that comprise the material. The phases must be listed in order from low to high temperature phases. The phase names will be referenced by :ref:`PHASE_CHANGE` namelists and by optional PHASE namelists. Consecutive pairs of phases must be accompanied by a corresponding :ref:`PHASE_CHANGE` namelist. .. _MP_phase_pm: The PHASE Namelist ---------------------------- The PHASE namelist defines properties and attributes specific to one phase of a multi-phase material. It is optional. Any properties or attributes defined here supersede those defined in the parent MATERIAL namelist. In addition to the property and attribute variables described below, the PHASE namelist has the following variable. **name** The name of the phase. This is one of the names assigned to the phases variable of the MATERIAL namelist for the parent material. Property and Attribute Variables ----------------------------------- The following variables specify the values of material properties and attributes. Unless otherwise noted, they may appear in both the :ref:`MATERIAL and PHASE` namelists. Many properties can be either constant-valued or a function. Variables ending with the suffix ``_func`` specify the name of a :ref:`FUNCTION` namelist that defines a function that computes the value of the property. Thermodynamic Properties ^^^^^^^^^^^^^^^^^^^^^^^^^^ The following property variables are used by the heat transport model: * **density** * **specific_heat**, **specific_heat_func**, **ref_temp**, and **ref_enthalpy** * **specific_enthalpy_func** * **conductivity**, **conductivity_func** The material mass density (mass per volume) is specified by density. It is limited to constant values and all phases in a multi-phase material are currently constrained to have the same density (but see **density_delta_func** for flow and **tm_linear_cte** for solid mechanics.) Consequently this variable may only appear in the MATERIAL namelist. There are two options for defining the temperature-dependent specific enthalpy function :math:`h(T)` of a material or phase. The first specifies the specific heat :math:`C_p(T)` (energy per unit mass per degree temperature) using **specific_heat** for a constant or **specific_heat_func** for a function of temperature. In the latter case it must either be a tabular function or a polynomial without a :math:`T^{−1}` term. An analytic antiderivative of the specific heat will be generated by Truchas and used for :math:`h(T)`. For a single-phase material or the lowest-temperature phase of a multi-phase material, there is an arbitrary constant of integration. By default it is chosen such that :math:`h(0) = 0`. It can be chosen instead such that :math:`h(T_{ref}) =h_{ref}` by specifying values for the optional variables **ref_temp** and **ref_enthalpy**, which default to 0. These latter two variables may only appear in the MATERIAL namelist. The second option is to specify the specific enthalpy function :math:`h(T)` (energy per unit mass) directly using **specific_enthalpy_func**. The function must be strictly increasing, and when used for a phase of a multi-phase material, it must incorporate the latent heat associated with the transformation from the adjacent lower-temperature phase (when there is one). The thermal conductivity (power per unit length per degree temperature) of a material or phase is specified by **conductivity** for a constant or **conductivity_func** for a function. The function is assumed to be a function of temperature :math:`T`, or :math:`(T,\phi_1,...,\phi_n)` when coupled with solutal species transport. Fluid Flow Properties ^^^^^^^^^^^^^^^^^^^^^^^^^^ The following attribute and property variables are used by the fluid flow model: * **is_fluid** * **density** * **density_delta_func** * **viscosity**, **viscosity_func** The boolean attribute **is_fluid** is used to indicate whether or not the material or phase is a fluid. Its default value is :math:`F` (or :math:`.false.`) Materials and phases marked as fluid are included in the fluid flow model. The constant reference density :math:`\rho_o` of a fluid material or phase is specified by **density**. This is the same density value used for heat transport. A temperature-dependent fluid density :math:`\rho(T)` can be defined by giving its deviation from the reference density, :math:`\delta\rho(T) = \rho(T)−\rho_0` using the variable **density_delta_func**. This is used only to compute the buoyancy body force of the Boussinesq approximation in the flow model. If not specified, no deviation from the reference density is assumed. The dynamic viscosity (mass per length per time) of a material or phase is specified by **viscosity** for a constant or **viscosity_func** for a function of temperature. This is required for viscous flow problems (:ref:`FLOW` namelist variable **inviscid = F**). Electromagentic Properties ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The following property variables are used by the induction heating model: * **electrical_conductivity**, **electrical_conductivity_func** * **electric_susceptibility**, **electric_susceptibility_func** * **magnetic_susceptibility**, **magnetic_susceptibility_func** The electrical conductivity of a material or phase is specified using either **electrical_conductivity** for aconstant, or **electrical_conductivity_func** for a function of temperature. The default value is :math:`0`. The electromagnetics solver assumes SI units by default and the units of electrical conductivity are :math:`Siemens\:per\:meter`. To use different units, the values for the :ref:`PHYSICAL_CONSTANTS` namelist variables **vacuum_permeability** and **vacuum_permittivity** must be redefined appropriately. The electric susceptibility :math:`\chi_e` of a material or phase is specified using either **electric_susceptibility** fora constant, or **electric_susceptibility_func** for a function of temperature. The relative permittivity is :math:`1 +\chi_e`. This property has a default value of zero, which is appropriate in most cases. Thermomechanical Properties ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The following properties are used by the solid mechanics model, and are only relevant to non-fluid materials and phases. Additional viscoplasticity parameters may be defined using the :ref:`VISCOPLASTIC_MODEL` namelist. * **tm_ref_density** * **tm_ref_temp** * **tm_linear_cte**, **tm_linear_cte_func** * **tm_lame1**, **tm_lame1_func** * **tm_lame2**, **tm_lame2_func** The temperature at which a material or phase is stress-free is specified by **tm_ref_temp** and its density (mass per volume) at that temperature specified by **tm_ref_density**. Its linear coefficient of thermal expansion (inverse time) is specified by **tm_linear_cte** for a constant or **tm_linear_cte_func** for a function of temperature. The first and second Lamé constants :math:`\lambda` and :math:`G` (force per area) for a material or phase is specified by **tm_lame1** and **tm_lame2** for constants or **tm_lame1_func** and **tm_lame2_func** for functions of temperature. Species Transport Properties ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The following property variables are relevant to the solutal species transport model. The model allows for an arbitrary number of species with concentrations :math:`\{ \phi_i \}^n_{i=1}`, and the variables are arrays of length :math:`n` with each element being the property for the corresponding species. * **diffusivity**, **diffusivity_func** * **soret**, **soret_func** The diffusivity (area per time) of a species component in a material or phase is specified by the corresponding element of **diffusivity** for a constant or **diffusivity_func** for a function. A function is expected to be a function of all the species concentrations :math:`(\phi_1,...,\phi_n)`, or when coupled with heat transfer, a function of temperature and concentrations :math:`(T,\phi_1,...,\phi_n)`. When coupled with heat transfer, the Soret coefficient (inverse temperature) of the thermodiffusion term for a species component in a material or phase is specified by the corresponding element of **soret** for a constant or **soret_func** for a function. A function is expected to be a function of temperature and concentrations :math:`(T,\phi_1,...,\phi_n)`. This is optional. If not specified, thermodiffusion of the species component is not included in the model, but if defined for one phase of a multi-phase material, it must be defined for all its phases.