ASPECT
|
Public Member Functions | |
ReactionRateOutputs (const unsigned int n_points, const unsigned int n_comp) | |
std::vector< double > | get_nth_output (const unsigned int idx) const override |
Public Member Functions inherited from aspect::MaterialModel::NamedAdditionalMaterialOutputs< dim > | |
NamedAdditionalMaterialOutputs (const std::vector< std::string > &output_names) | |
NamedAdditionalMaterialOutputs (const std::vector< std::string > &output_names, const unsigned int n_points) | |
~NamedAdditionalMaterialOutputs () override | |
const std::vector< std::string > & | get_names () const |
void | average (const MaterialAveraging::AveragingOperation, const FullMatrix< double > &, const FullMatrix< double > &) override |
Public Member Functions inherited from aspect::MaterialModel::AdditionalMaterialOutputs< dim > | |
virtual | ~AdditionalMaterialOutputs ()=default |
Public Attributes | |
std::vector< std::vector< double > > | reaction_rates |
Public Attributes inherited from aspect::MaterialModel::NamedAdditionalMaterialOutputs< dim > | |
std::vector< std::vector< double > > | output_values |
Additional output fields for reaction rates to be added to the MaterialModel::MaterialModelOutputs structure and filled in the MaterialModel::Interface::evaluate() function.
These reaction rates are only used if the "operator splitting" solver scheme option is enabled, which decouples the reactions between compositional fields from the advection, so that different time step sizes can be used. In this case, the reaction rates are used in addition to (and independent from) any reaction_terms that a material model defines, which are assembled as usual. By default, the reaction rates are initialized with quiet_NaNs, and if "operator splitting" is not enabled, these values are not used, and they are expected to either remain at that value, or to not be created at all.
In contrast to the reaction_terms, which are actual changes in composition rather than reaction rates, and assume equilibrium between the compositional fields, the reaction_rates defined here allow for reaction processes that happen on shorter time scales than the advection, and disequilibrium reactions.
Definition at line 984 of file interface.h.
aspect::MaterialModel::ReactionRateOutputs< dim >::ReactionRateOutputs | ( | const unsigned int | n_points, |
const unsigned int | n_comp | ||
) |
|
overridevirtual |
Given an index as input argument, return a reference the to vector of values of the additional output with that index.
Reimplemented from aspect::MaterialModel::NamedAdditionalMaterialOutputs< dim >.
std::vector<std::vector<double> > aspect::MaterialModel::ReactionRateOutputs< dim >::reaction_rates |
Reaction rates for all compositional fields at the evaluation points that are passed to the instance of MaterialModel::Interface::evaluate() that fills the current object. reaction_rates[q][c] is the reaction rate at the evaluation point q for the compositional field with the index c.
Definition at line 999 of file interface.h.