ASPECT
|
Namespaces | |
EquationOfState | |
internal | |
MaterialAveraging | |
MaterialProperties | |
MaterialUtilities | |
NonlinearDependence | |
Property | |
ReactionModel | |
Rheology | |
Enumerations | |
enum | AveragingOperation { none, arithmetic_average, harmonic_average, geometric_average, pick_largest, log_average, nwd_arithmetic_average, nwd_harmonic_average, nwd_geometric_average } |
Functions | |
template<int dim> | |
void | register_material_model (const std::string &name, const std::string &description, void(*declare_parameters_function)(ParameterHandler &), std::unique_ptr< Interface< dim >>(*factory_function)()) |
template<int dim> | |
std::unique_ptr< Interface< dim > > | create_material_model (const std::string &model_name) |
template<int dim> | |
std::unique_ptr< Interface< dim > > | create_material_model (ParameterHandler &prm) |
template<int dim> | |
std::string | get_valid_model_names_pattern () |
template<int dim> | |
void | declare_parameters (ParameterHandler &prm) |
template<int dim> | |
void | write_plugin_graph (std::ostream &output_stream) |
template<int dim> | |
void | phase_average_equation_of_state_outputs (const EquationOfStateOutputs< dim > &eos_outputs_all_phases, const std::vector< double > &phase_function_values, const std::vector< unsigned int > &n_phase_transitions_per_composition, EquationOfStateOutputs< dim > &eos_outputs) |
A namespace in which we define everything that has to do with modeling convecting material, including descriptions of material parameters such as viscosities, densities, etc.
An enum to define what kind of averaging operations are implemented. These are:
\[ \bar x = \frac 1Q \sum_{q=1}^Q x_q \]
where \(x_q\) are the values at the \(Q\) quadrature points.\[ \bar x = \left(\frac 1Q \sum_{q=1}^Q \frac{1}{x_q}\right)^{-1} \]
where \(x_q\) are the values at the \(Q\) quadrature points.\[ \bar x = \left(\prod_{q=1}^Q x_q\right)^{1/Q} \]
where \(x_q\) are the values at the \(Q\) quadrature points.\[ \bar x = \max_{1\le q\le Q} x_q \]
where \(x_q\) are the values at the \(Q\) quadrature points.\[ \bar x = {10}^{\frac 1Q \sum_{q=1}^Q \log_{10} x_q} \]
where \(x_q\) are the values at the \(Q\) quadrature points.\[ \bar x = \frac {\sum_{q=1}^Q W_q * x_q} {\sum_{q=1}^Q W_q} \]
where \(x_q\) are the values and \(w\) the weights at the \(Q\) quadrature points.\[ \bar x = \frac{\sum_{q=1}^Q w_q }{ \sum_{q=1}^Q \frac{w_q}{x_q}} \]
where \(x_q\) are the values and \(w\) the weights at the \(Q\) quadrature points.\[ \bar x = \frac{ \sum_{q=1}^Q w_q x_q} {\sum_{q=1}^Q w_q} \]
where \(x_q\) are the values and \(w\) the weights at the \(Q\) quadrature points.Enumerator | |
---|---|
none | |
arithmetic_average | |
harmonic_average | |
geometric_average | |
pick_largest | |
log_average | |
nwd_arithmetic_average | |
nwd_harmonic_average | |
nwd_geometric_average |
Definition at line 77 of file averaging.h.
std::string aspect::MaterialModel::get_valid_model_names_pattern | ( | ) |
Return a string that consists of the names of material models that can be selected. These names are separated by a vertical line '|' so that the string can be an input to the deal.II classes Patterns::Selection or Patterns::MultipleSelection.
void aspect::MaterialModel::write_plugin_graph | ( | std::ostream & | output_stream | ) |
For the current plugin subsystem, write a connection graph of all of the plugins we know about, in the format that the programs dot and neato understand. This allows for a visualization of how all of the plugins that ASPECT knows about are interconnected, and connect to other parts of the ASPECT code.
output_stream | The stream to write the output to. |
void aspect::MaterialModel::phase_average_equation_of_state_outputs | ( | const EquationOfStateOutputs< dim > & | eos_outputs_all_phases, |
const std::vector< double > & | phase_function_values, | ||
const std::vector< unsigned int > & | n_phase_transitions_per_composition, | ||
EquationOfStateOutputs< dim > & | eos_outputs | ||
) |
This function takes the output of an equation of state eos_outputs_all_phases
, which contains the data for all compositions and all of their phases at the current conditions and uses a PhaseFunction object phase_function
to compute the effective value of equation of state properties for each individual composition. Essentially it computes which phase is stable at the current conditions (described in phase_in
) and fills the equation of state output eos_outputs
with the properties of these stable phases. eos_outputs
now only contains as many entries as volumetric compositions (potentially plus one for the background field, if the input eos_outputs_all_phases
contained one and the phase function contained one as well).