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.
§ 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.
§ 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
-
name | A string that identifies the geometry model |
description | A text description of what this model does and that will be listed in the documentation of the parameter file. |
declare_parameters_function | A pointer to a function that can be used to declare the parameters that this geometry model wants to read from input files. |
factory_function | A 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.