Namespaces | Classes | Macros | Functions
Describing fluid pressure boundary conditions
Collaboration diagram for Describing fluid pressure boundary conditions:




class  aspect::BoundaryFluidPressure::Density< dim >
class  aspect::BoundaryFluidPressure::Interface< dim >


#define ASPECT_REGISTER_BOUNDARY_FLUID_PRESSURE_MODEL(classname, name, description)


template<int dim>
void aspect::BoundaryFluidPressure::register_boundary_fluid_pressure (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::BoundaryFluidPressure::create_boundary_fluid_pressure (ParameterHandler &prm)
template<int dim>
void aspect::BoundaryFluidPressure::declare_parameters (ParameterHandler &prm)

Detailed Description

for the fluid velocity field

A module for the definition of functions and classes that have to do with describing fluid pressure boundary values. These classes are currently only used for computations involving two-phase flow (e.g. melt), since the fluid pressure is only computed for coupled Stokes-darcy flow.

Macro Definition Documentation


template class classname<2>; \
template class classname<3>; \
{ \
aspect::internal::Plugins::RegisterHelper<aspect::BoundaryFluidPressure::Interface<2>,classname<2>> \
dummy_ ## classname ## _2d (&aspect::BoundaryFluidPressure::register_boundary_fluid_pressure<2>, \
name, description); \
aspect::internal::Plugins::RegisterHelper<aspect::BoundaryFluidPressure::Interface<3>,classname<3>> \
dummy_ ## classname ## _3d (&aspect::BoundaryFluidPressure::register_boundary_fluid_pressure<3>, \
name, description); \

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

Definition at line 184 of file interface.h.

Function Documentation

§ register_boundary_fluid_pressure()

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

Register a fluid pressure boundary model so that it can be selected from the parameter file.

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

§ create_boundary_fluid_pressure()

template<int dim>
std::unique_ptr<Interface<dim> > aspect::BoundaryFluidPressure::create_boundary_fluid_pressure ( 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 model object returned is not yet initialized and has not read its runtime parameters yet.

§ declare_parameters()

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

Declare the runtime parameters of the registered fluid pressure boundary models.