ASPECT
Namespaces | Classes | Macros | Functions
Describing the properties of the domain

Namespaces

 aspect::GeometryModel
 

Classes

class  aspect::GeometryModel::Interface< dim >
 

Macros

#define ASPECT_REGISTER_GEOMETRY_MODEL(classname, name, description)
 

Functions

template<int dim>
void aspect::GeometryModel::register_geometry_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::GeometryModel::create_geometry_model (ParameterHandler &prm)
 
template<int dim>
void aspect::GeometryModel::declare_parameters (ParameterHandler &prm)
 

Detailed Description

A module for the definition of properties of the geometry. This primarily includes the definition of the shape of the domain (e.g. whether it is a full spherical shell, a quadrant/octant, a description of the geoid, etc. The classes and functions of this module also describe which kinds of boundary conditions hold on the different parts of the boundary of the geometry.

Macro Definition Documentation

§ ASPECT_REGISTER_GEOMETRY_MODEL

#define ASPECT_REGISTER_GEOMETRY_MODEL (   classname,
  name,
  description 
)
Value:
template class classname<2>; \
template class classname<3>; \
namespace ASPECT_REGISTER_GEOMETRY_MODEL_ ## classname \
{ \
aspect::internal::Plugins::RegisterHelper<aspect::GeometryModel::Interface<2>,classname<2>> \
dummy_ ## classname ## _2d (&aspect::GeometryModel::register_geometry_model<2>, \
name, description); \
aspect::internal::Plugins::RegisterHelper<aspect::GeometryModel::Interface<3>,classname<3>> \
dummy_ ## classname ## _3d (&aspect::GeometryModel::register_geometry_model<3>, \
name, description); \
}

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

Definition at line 431 of file interface.h.

Function Documentation

§ register_geometry_model()

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

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

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

§ create_geometry_model()

template<int dim>
std::unique_ptr<Interface<dim> > aspect::GeometryModel::create_geometry_model ( ParameterHandler &  prm)

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 geometry model will also be asked to read its runtime parameters already.

§ declare_parameters()

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

Declare the runtime parameters of the registered geometry models.