ASPECT
|
Static Public Member Functions | |
static void | declare_parameters (ParameterHandler &prm, const double default_thermal_expansion=3.5e-5) |
Static Public Member Functions inherited from aspect::SimulatorAccess< dim > | |
static void | get_composition_values_at_q_point (const std::vector< std::vector< double >> &composition_values, const unsigned int q, std::vector< double > &composition_values_at_q_point) |
Private Attributes | |
std::vector< double > | densities |
double | reference_T |
std::vector< double > | thermal_expansivities |
std::vector< double > | specific_heats |
An incompressible equation of state that is intended for use with multiple compositional fields and potentially phases. For each material property, the user supplies a comma delimited list of length N+P+1, where N is the number of compositional fields used in the computation, P is the total number of phase transitions. The first entry corresponds to the "background" (which is also why there are N+P+1 entries).
If a single value is given, then all the compositional fields and phases are given that value. Other lengths of lists are not allowed. For a given compositional field and phase the material parameters are treated as constant, except density, which varies linearly with temperature according to the equation:
\(\rho(p,T,\mathfrak c) = \left(1-\alpha_i (T-T_0)\right) \rho_0(\mathfrak c_i).\)
There is no pressure-dependence of the density.
Definition at line 54 of file multicomponent_incompressible.h.
void aspect::MaterialModel::EquationOfState::MulticomponentIncompressible< dim >::evaluate | ( | const MaterialModel::MaterialModelInputs< dim > & | in, |
const unsigned int | input_index, | ||
MaterialModel::EquationOfStateOutputs< dim > & | out | ||
) | const |
A function that computes the output of the equation of state out
for all compositions and phases, given the inputs in in
and an index input_index that determines which entry of the vector of inputs is used.
bool aspect::MaterialModel::EquationOfState::MulticomponentIncompressible< dim >::is_compressible | ( | ) | const |
Return whether the model is compressible or not. Incompressibility does not necessarily imply that the density is constant; rather, it may still depend on temperature or pressure. In the current context, compressibility means whether we should solve the continuity equation as \(\nabla \cdot (\rho \mathbf u)=0\) (compressible Stokes) or as \(\nabla \cdot \mathbf{u}=0\) (incompressible Stokes).
|
static |
Declare the parameters this class takes through input files. The optional parameter default_thermal_expansion
determines the default value of the thermal expansivity used in the equation of state.
void aspect::MaterialModel::EquationOfState::MulticomponentIncompressible< dim >::parse_parameters | ( | ParameterHandler & | prm, |
const std::unique_ptr< std::vector< unsigned int >> & | expected_n_phases_per_composition = nullptr |
||
) |
Read the parameters this class declares from the parameter file. If expected_n_phases_per_composition
points to a vector of unsigned integers this is considered the number of phases for each compositional field and will be checked against the parsed parameters.
|
private |
Vector of reference densities \(\rho_0\) with one entry per composition and phase plus one for the background field.
Definition at line 103 of file multicomponent_incompressible.h.
|
private |
The reference temperature \(T_0\) used in the computation of the density. All components use the same reference temperature.
Definition at line 109 of file multicomponent_incompressible.h.
|
private |
Vector of thermal expansivities with one entry per composition and phase plus one for the background field.
Definition at line 115 of file multicomponent_incompressible.h.
|
private |
Vector of specific heat capacities with one entry per composition and phase plus one for the background field.
Definition at line 121 of file multicomponent_incompressible.h.