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

Public Member Functions

virtual ~AdditionalMaterialInputs ()=default
 
virtual void fill (const LinearAlgebra::BlockVector &solution, const FEValuesBase< dim > &fe_values, const Introspection< dim > &introspection)=0
 

Detailed Description

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

Some material and heating models need more than just the basic material model inputs defined in the MaterialModel::MaterialModelInputs class. These additions are either for more complicated physics than the basic flow model usually solved by ASPECT (for example to support the melt migration functionality), or other derived quantities.

Rather than litter the MaterialModelInputs class with additional fields that are not universally used, we use a mechanism by which MaterialModelInputs can store a set of pointers to "additional" input objects that store information such as mentioned above. These pointers are all to objects whose types are derived from the current class.

The format of the additional quantities defined in derived classes should be the same as for MaterialModel::MaterialModelInputs.

Definition at line 236 of file interface.h.

Constructor & Destructor Documentation

§ ~AdditionalMaterialInputs()

template<int dim>
virtual aspect::MaterialModel::AdditionalMaterialInputs< dim >::~AdditionalMaterialInputs ( )
virtualdefault

Destructor. This destructor is made virtual to ensure that derived classes can be accessed via a pointer-to-base-class.

Member Function Documentation

§ fill()

template<int dim>
virtual void aspect::MaterialModel::AdditionalMaterialInputs< dim >::fill ( const LinearAlgebra::BlockVector solution,
const FEValuesBase< dim > &  fe_values,
const Introspection< dim > &  introspection 
)
pure virtual

Fill the additional inputs. Each additional input has to implement their own version of this function.

Implemented in aspect::MaterialModel::MeltInputs< dim >.


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