ASPECT
Public Member Functions | Public Attributes | List of all members
aspect::MaterialModel::ReactionRateOutputs< dim > Class Template Reference
Inheritance diagram for aspect::MaterialModel::ReactionRateOutputs< dim >:
Inheritance graph
[legend]

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
 

Detailed Description

template<int dim>
class aspect::MaterialModel::ReactionRateOutputs< dim >

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 957 of file interface.h.

Constructor & Destructor Documentation

§ ReactionRateOutputs()

template<int dim>
aspect::MaterialModel::ReactionRateOutputs< dim >::ReactionRateOutputs ( const unsigned int  n_points,
const unsigned int  n_comp 
)

Member Function Documentation

§ get_nth_output()

template<int dim>
std::vector<double> aspect::MaterialModel::ReactionRateOutputs< dim >::get_nth_output ( const unsigned int  idx) const
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 >.

Member Data Documentation

§ reaction_rates

template<int 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 972 of file interface.h.


The documentation for this class was generated from the following file: