ASPECT
Namespaces | Classes | Macros | Functions
Describing the material model

Namespaces

 aspect::MaterialModel
 

Classes

class  aspect::MaterialModel::AsciiReferenceProfile< dim >
 
class  aspect::MaterialModel::Averaging< dim >
 
class  aspect::MaterialModel::Compositing< dim >
 
class  aspect::MaterialModel::CompositionReaction< dim >
 
class  aspect::MaterialModel::DepthDependent< dim >
 
class  aspect::MaterialModel::DiffusionDislocation< dim >
 
class  aspect::MaterialModel::DruckerPrager< dim >
 
class  aspect::MaterialModel::EntropyModel< dim >
 
class  aspect::MaterialModel::GrainSize< dim >
 
class  aspect::MaterialModel::Interface< dim >
 
class  aspect::MaterialModel::LatentHeat< dim >
 
class  aspect::MaterialModel::LatentHeatMelt< dim >
 
class  aspect::MaterialModel::MeltBoukare< dim >
 
class  aspect::MaterialModel::MeltGlobal< dim >
 
class  aspect::MaterialModel::MeltSimple< dim >
 
class  aspect::MaterialModel::ModifiedTait< dim >
 
class  aspect::MaterialModel::Multicomponent< dim >
 
class  aspect::MaterialModel::MulticomponentCompressible< dim >
 
class  aspect::MaterialModel::Nondimensional< dim >
 
class  aspect::MaterialModel::PerpleXLookup< dim >
 
class  aspect::MaterialModel::PrescribedViscosity< dim >
 
class  aspect::MaterialModel::ReactiveFluidTransport< dim >
 
class  aspect::MaterialModel::ReplaceLithosphereViscosity< dim >
 
class  aspect::MaterialModel::Simple< dim >
 
class  aspect::MaterialModel::SimpleCompressible< dim >
 
class  aspect::MaterialModel::Simpler< dim >
 
class  aspect::MaterialModel::Steinberger< dim >
 
class  aspect::MaterialModel::ViscoPlastic< dim >
 
class  aspect::MaterialModel::Viscoelastic< dim >
 

Macros

#define ASPECT_REGISTER_MATERIAL_MODEL(classname, name, description)
 

Functions

template<int dim>
void aspect::MaterialModel::register_material_model (const std::string &name, const std::string &description, void(*declare_parameters_function)(ParameterHandler &), std::unique_ptr< Interface< dim >>(*factory_function)())
 
template<int dim>
std::unique_ptr< Interface< dim > > aspect::MaterialModel::create_material_model (const std::string &model_name)
 
template<int dim>
std::unique_ptr< Interface< dim > > aspect::MaterialModel::create_material_model (ParameterHandler &prm)
 
template<int dim>
void aspect::MaterialModel::declare_parameters (ParameterHandler &prm)
 

Detailed Description

This group contains all classes, namespaces and functions that have to do with modeling the material properties of the fluid under consideration, as well as all of the other variables in use such as compositional fields. This includes handling all input parameters related to the material, as well as describing how density, viscosity, and many other parameters depend on pressure, temperature, and/or position within the fluid.

Macro Definition Documentation

§ ASPECT_REGISTER_MATERIAL_MODEL

#define ASPECT_REGISTER_MATERIAL_MODEL (   classname,
  name,
  description 
)
Value:
template class classname<2>; \
template class classname<3>; \
namespace ASPECT_REGISTER_MATERIAL_MODEL_ ## classname \
{ \
aspect::internal::Plugins::RegisterHelper<aspect::MaterialModel::Interface<2>,classname<2>> \
dummy_ ## classname ## _2d (&aspect::MaterialModel::register_material_model<2>, \
name, description); \
aspect::internal::Plugins::RegisterHelper<aspect::MaterialModel::Interface<3>,classname<3>> \
dummy_ ## classname ## _3d (&aspect::MaterialModel::register_material_model<3>, \
name, description); \
}

Given a class name, a name, and a description for the parameter file for a material model, register it with the functions that can declare their parameters and create these objects.

Definition at line 1547 of file interface.h.

Function Documentation

§ register_material_model()

template<int dim>
void aspect::MaterialModel::register_material_model ( const std::string &  name,
const std::string &  description,
void(*)(ParameterHandler &)  declare_parameters_function,
std::unique_ptr< Interface< dim >>(*)()  factory_function 
)

Register a material model so that it can be selected from the parameter file.

Parameters
nameA string that identifies the material 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 material model wants to read from input files.
factory_functionA pointer to a function that can create an object of this material model.

§ create_material_model() [1/2]

template<int dim>
std::unique_ptr<Interface<dim> > aspect::MaterialModel::create_material_model ( const std::string &  model_name)

A function that given the name of a model returns a pointer to an object that describes it. Ownership of the pointer is transferred to the caller.

The material model object returned is not yet initialized and has not read its runtime parameters yet.

§ create_material_model() [2/2]

template<int dim>
std::unique_ptr<Interface<dim> > aspect::MaterialModel::create_material_model ( ParameterHandler &  prm)

A function that reads the name of a model from the parameter object and then returns a pointer to an object that describes this model. Ownership of the pointer is transferred to the caller.

The material model object returned is not yet initialized and has not read its runtime parameters yet.

§ declare_parameters()

template<int dim>
void aspect::MaterialModel::declare_parameters ( ParameterHandler &  prm)

Declare the runtime parameters of the registered material models.