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)
 
virtual std::vector< double > get_nth_output (const unsigned int idx) const
 
- Public Member Functions inherited from aspect::MaterialModel::NamedAdditionalMaterialOutputs< dim >
 NamedAdditionalMaterialOutputs (const std::vector< std::string > &output_names)
 
virtual ~NamedAdditionalMaterialOutputs ()
 
const std::vector< std::string > & get_names () const
 
virtual void average (const MaterialAveraging::AveragingOperation, const FullMatrix< double > &, const FullMatrix< double > &)
 
- Public Member Functions inherited from aspect::MaterialModel::AdditionalMaterialOutputs< dim >
virtual ~AdditionalMaterialOutputs ()
 

Public Attributes

std::vector< std::vector< double > > reaction_rates
 

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 reacion_rates defined here allow for reaction processes that happen on shorter time scales than the advection, and disequilibrium reactions.

Definition at line 783 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>
virtual std::vector<double> aspect::MaterialModel::ReactionRateOutputs< dim >::get_nth_output ( const unsigned int  idx) const
virtual

Given an index as input argument, return a reference the to vector of values of the additional output with that index.

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


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