ASPECT

Public Member Functions  
MaterialModelOutputs (const unsigned int n_points, const unsigned int n_comp)  
template<class AdditionalOutputType >  
AdditionalOutputType *  get_additional_output () 
template<class AdditionalOutputType >  
const AdditionalOutputType *  get_additional_output () const 
Public Attributes  
std::vector< double >  viscosities 
std::vector< double >  densities 
std::vector< double >  thermal_expansion_coefficients 
std::vector< double >  specific_heat 
std::vector< double >  thermal_conductivities 
std::vector< double >  compressibilities 
std::vector< double >  entropy_derivative_pressure 
std::vector< double >  entropy_derivative_temperature 
std::vector< std::vector< double > >  reaction_terms 
std::vector< std::shared_ptr< AdditionalMaterialOutputs< dim > > >  additional_outputs 
A data structure with the output field of the MaterialModel::Interface::evaluate() function. The vectors are the values at the different positions given by MaterialModelInputs::position.
Definition at line 369 of file interface.h.
aspect::MaterialModel::MaterialModelOutputs< dim >::MaterialModelOutputs  (  const unsigned int  n_points, 
const unsigned int  n_comp  
) 
Constructor. Initialize the various arrays of this structure with the given number of quadrature points and (finite element) components.
n_points  The number of quadrature points for which input quantities will be provided. 
n_comp  The number of vector quantities (in the order in which the Introspection class reports them) for which input will be provided. 
AdditionalOutputType * aspect::MaterialModel::MaterialModelOutputs< dim >::get_additional_output  (  ) 
Given an additional material model output class as explicitly specified template argument, returns a pointer to this additional material model output object if it is used in the current simulation. The output can then be filled in the MaterialModels::Interface::evaluate() function. If the output does not exist, a null pointer is returned.
Definition at line 1229 of file interface.h.
const AdditionalOutputType * aspect::MaterialModel::MaterialModelOutputs< dim >::get_additional_output  (  )  const 
Constant version of get_additional_output() returning a const pointer.
Definition at line 1243 of file interface.h.
std::vector<double> aspect::MaterialModel::MaterialModelOutputs< dim >::viscosities 
Viscosity values at the given positions.
Definition at line 387 of file interface.h.
std::vector<double> aspect::MaterialModel::MaterialModelOutputs< dim >::densities 
Density values at the given positions.
Definition at line 392 of file interface.h.
std::vector<double> aspect::MaterialModel::MaterialModelOutputs< dim >::thermal_expansion_coefficients 
Thermal expansion coefficients at the given positions. It is defined as
Definition at line 398 of file interface.h.
std::vector<double> aspect::MaterialModel::MaterialModelOutputs< dim >::specific_heat 
Specific heat at the given positions.
Definition at line 403 of file interface.h.
std::vector<double> aspect::MaterialModel::MaterialModelOutputs< dim >::thermal_conductivities 
Thermal conductivity at the given positions.
Definition at line 408 of file interface.h.
std::vector<double> aspect::MaterialModel::MaterialModelOutputs< dim >::compressibilities 
Compressibility at the given positions. The compressibility is defined as .
Definition at line 414 of file interface.h.
std::vector<double> aspect::MaterialModel::MaterialModelOutputs< dim >::entropy_derivative_pressure 
The product of the change of entropy at a phase transition and the derivative of the phase function with regard to pressure at the given positions.
Definition at line 421 of file interface.h.
std::vector<double> aspect::MaterialModel::MaterialModelOutputs< dim >::entropy_derivative_temperature 
The product of (minus) the change of entropy at a phase transition and the derivative of the phase function with regard to temperature at the given positions.
Definition at line 429 of file interface.h.
std::vector<std::vector<double> > aspect::MaterialModel::MaterialModelOutputs< dim >::reaction_terms 
Change in composition due to chemical reactions at the given positions. The term reaction_terms[i][c] is the change in compositional field c at point i.
The mental model behind prescribing actual changes in composition rather than reaction rates is that we assume that there is always an equilibrium between the compositional fields (because the time scale of reactions is normally much shorter than that of convection), so the quantity returned by this function is an actual change in the amount of material, which is added to or subtracted from the current value of the compositional field, and NOT a reaction rate. The idea is, that in dependence of temperature, pressure, position and the compositional fields themselves an equilibrium can be calculated, and the difference between the current value and the equilibrium can be added to the respective compositional field.
For mass conservation it should ALWAYS be checked that what is subtracted from one field is added to another field (and the other way round) and that one never subtracts more than the actual value of a field (so it does not get negative).
This function has a default implementation that sets the reaction term to zero (assuming no reactions).
Definition at line 467 of file interface.h.
std::vector<std::shared_ptr<AdditionalMaterialOutputs<dim> > > aspect::MaterialModel::MaterialModelOutputs< dim >::additional_outputs 
Vector of shared pointers to additional material model output objects that can then be added to MaterialModelOutputs. By default, no outputs are added.
Definition at line 474 of file interface.h.