ASPECT
Namespaces | Classes | Macros | Functions
Describing terms on the right hand side of the temperature equation

Namespaces

 aspect::HeatingModel
 

Classes

class  aspect::HeatingModel::AdiabaticHeating< dim >
 
class  aspect::HeatingModel::AdiabaticHeatingMelt< dim >
 
class  aspect::HeatingModel::CompositionalHeating< dim >
 
class  aspect::HeatingModel::ConstantHeating< dim >
 
class  aspect::HeatingModel::Function< dim >
 
class  aspect::HeatingModel::Interface< dim >
 
class  aspect::HeatingModel::Manager< dim >
 
class  aspect::HeatingModel::LatentHeat< dim >
 
class  aspect::HeatingModel::LatentHeatMelt< dim >
 
class  aspect::HeatingModel::RadioactiveDecay< dim >
 
class  aspect::HeatingModel::ShearHeating< dim >
 
class  aspect::HeatingModel::ShearHeatingMelt< dim >
 

Macros

#define ASPECT_REGISTER_HEATING_MODEL(classname, name, description)
 

Functions

static void aspect::HeatingModel::Manager< dim >::register_heating_model (const std::string &name, const std::string &description, void(*declare_parameters_function)(ParameterHandler &), std::unique_ptr< Interface< dim >>(*factory_function)())
 

Detailed Description

A module for the definition of terms that appear as heating or cooling terms on the right hand side of the temperature equation. This includes, in particular, terms such as shear and adiabatic heating, phase changes, and radiogenic sources.

Macro Definition Documentation

§ ASPECT_REGISTER_HEATING_MODEL

#define ASPECT_REGISTER_HEATING_MODEL (   classname,
  name,
  description 
)
Value:
template class classname<2>; \
template class classname<3>; \
namespace ASPECT_REGISTER_HEATING_MODEL_ ## classname \
{ \
aspect::internal::Plugins::RegisterHelper<aspect::HeatingModel::Interface<2>,classname<2>> \
name, description); \
aspect::internal::Plugins::RegisterHelper<aspect::HeatingModel::Interface<3>,classname<3>> \
name, description); \
}

Given a class name, a name, and a description for the parameter file for a heating model, register it with the aspect::HeatingModel::Manager class.

Definition at line 456 of file interface.h.

Function Documentation

§ register_heating_model()

template<int dim>
static void aspect::HeatingModel::Manager< dim >::register_heating_model ( const std::string &  name,
const std::string &  description,
void(*)(ParameterHandler &)  declare_parameters_function,
std::unique_ptr< Interface< dim >>(*)()  factory_function 
)
static

A function that is used to register heating model objects in such a way that the Manager can deal with all of them without having to know them by name. This allows the files in which individual plugins are implemented to register these plugins, rather than also having to modify the Manager class by adding the new heating plugin class.

Parameters
nameA string that identifies the heating model
descriptionA text description of what this model does and that will be listed in the documentation of the parameter file.
declare_parameters_functionA pointer to a function that can be used to declare the parameters that this heating model wants to read from input files.
factory_functionA pointer to a function that can create an object of this heating model.