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

Public Member Functions

virtual ~Interface ()=default
 
virtual void initialize ()
 
virtual void update ()
 
virtual void evaluate (const MaterialModel::MaterialModelInputs< dim > &material_model_inputs, const MaterialModel::MaterialModelOutputs< dim > &material_model_outputs, HeatingModel::HeatingModelOutputs &heating_model_outputs) const =0
 
virtual void parse_parameters (ParameterHandler &prm)
 
virtual void create_additional_material_model_outputs (MaterialModel::MaterialModelOutputs< dim > &outputs) const
 
virtual void create_additional_material_model_inputs (MaterialModel::MaterialModelInputs< dim > &inputs) const
 

Static Public Member Functions

static void declare_parameters (ParameterHandler &prm)
 

Detailed Description

template<int dim>
class aspect::HeatingModel::Interface< dim >

A base class for parameterizations of heating models.

Definition at line 122 of file interface.h.

Constructor & Destructor Documentation

§ ~Interface()

template<int dim>
virtual aspect::HeatingModel::Interface< dim >::~Interface ( )
virtualdefault

Destructor. Made virtual to enforce that derived classes also have virtual destructors.

Member Function Documentation

§ initialize()

template<int dim>
virtual void aspect::HeatingModel::Interface< dim >::initialize ( )
virtual

Initialization function. This function is called once at the beginning of the program after parse_parameters is run and after the SimulatorAccess (if applicable) is initialized.

§ update()

template<int dim>
virtual void aspect::HeatingModel::Interface< dim >::update ( )
virtual

A function that is called at the beginning of each time step. The default implementation of the function does nothing, but derived classes that need more elaborate setups for a given time step may overload the function.

The point of this function is to allow complex heating models to do an initialization step once at the beginning of each time step. An example would be a model that take into account the decay of heat generating elements.

Reimplemented in aspect::HeatingModel::Function< dim >.

§ evaluate()

template<int dim>
virtual void aspect::HeatingModel::Interface< dim >::evaluate ( const MaterialModel::MaterialModelInputs< dim > &  material_model_inputs,
const MaterialModel::MaterialModelOutputs< dim > &  material_model_outputs,
HeatingModel::HeatingModelOutputs heating_model_outputs 
) const
pure virtual

Function to compute the heating terms in heating_model_outputs given the inputs in material_model_inputs and the outputs of the material model in material_model_outputs. All parts of the heating_model_outputs structure have to be filled, heating_source_terms with the value of the heating rate and lhs_latent_heat_terms with the part of the latent heat that depends on the temperature change (and thus ends up on the left hand side of the temperature equation) at each quadrature point as defined in material_model_inputs, setting them to zero if they are not to be used in the computation.

Implemented in aspect::HeatingModel::AdiabaticHeating< dim >, aspect::HeatingModel::LatentHeat< dim >, aspect::HeatingModel::AdiabaticHeatingMelt< dim >, aspect::HeatingModel::ShearHeatingMelt< dim >, aspect::HeatingModel::Function< dim >, aspect::HeatingModel::RadioactiveDecay< dim >, aspect::HeatingModel::ShearHeating< dim >, aspect::HeatingModel::LatentHeatMelt< dim >, aspect::HeatingModel::CompositionalHeating< dim >, and aspect::HeatingModel::ConstantHeating< dim >.

§ declare_parameters()

template<int dim>
static void aspect::HeatingModel::Interface< dim >::declare_parameters ( ParameterHandler &  prm)
static

Declare the parameters this class takes through input files. The default implementation of this function does not describe any parameters. Consequently, derived classes do not have to overload this function if they do not take any runtime parameters.

§ parse_parameters()

template<int dim>
virtual void aspect::HeatingModel::Interface< dim >::parse_parameters ( ParameterHandler &  prm)
virtual

Read the parameters this class declares from the parameter file. The default implementation of this function does not read any parameters. Consequently, derived classes do not have to overload this function if they do not take any runtime parameters.

Reimplemented in aspect::HeatingModel::AdiabaticHeating< dim >, aspect::HeatingModel::AdiabaticHeatingMelt< dim >, aspect::HeatingModel::Function< dim >, aspect::HeatingModel::ShearHeating< dim >, aspect::HeatingModel::LatentHeatMelt< dim >, aspect::HeatingModel::RadioactiveDecay< dim >, aspect::HeatingModel::ConstantHeating< dim >, and aspect::HeatingModel::CompositionalHeating< dim >.

§ create_additional_material_model_outputs()

template<int dim>
virtual void aspect::HeatingModel::Interface< dim >::create_additional_material_model_outputs ( MaterialModel::MaterialModelOutputs< dim > &  outputs) const
virtual

Allow the heating model to attach additional material model outputs. The default implementation of this function does not add any outputs. Consequently, derived classes do not have to overload this function if they do not need any additional outputs.

Reimplemented in aspect::HeatingModel::AdiabaticHeatingMelt< dim >, aspect::HeatingModel::LatentHeatMelt< dim >, aspect::HeatingModel::ShearHeatingMelt< dim >, and aspect::HeatingModel::ShearHeating< dim >.

§ create_additional_material_model_inputs()

template<int dim>
virtual void aspect::HeatingModel::Interface< dim >::create_additional_material_model_inputs ( MaterialModel::MaterialModelInputs< dim > &  inputs) const
virtual

Allow the heating model to attach additional material model inputs it needs. The default implementation of this function does not add any inputs. Consequently, derived classes do not have to overload this function if they do not need any additional inputs.

Reimplemented in aspect::HeatingModel::AdiabaticHeatingMelt< dim >, and aspect::HeatingModel::ShearHeatingMelt< dim >.


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