ASPECT
Public Member Functions | Static Public Member Functions | List of all members
aspect::BoundaryVelocity::Interface< dim > Class Template Referenceabstract
Inheritance diagram for aspect::BoundaryVelocity::Interface< dim >:
Inheritance graph
[legend]

Public Member Functions

virtual ~Interface ()=default
 
virtual void initialize ()
 
virtual void update ()
 
virtual Tensor< 1, dim > boundary_velocity (const types::boundary_id boundary_indicator, const Point< dim > &position) const =0
 
virtual void parse_parameters (ParameterHandler &prm)
 

Static Public Member Functions

static void declare_parameters (ParameterHandler &prm)
 

Detailed Description

template<int dim>
class aspect::BoundaryVelocity::Interface< dim >

A base class for parameterizations of velocity boundary conditions.

Definition at line 100 of file simulator_access.h.

Constructor & Destructor Documentation

§ ~Interface()

template<int dim>
virtual aspect::BoundaryVelocity::Interface< dim >::~Interface ( )
virtualdefault

Destructor. Made virtual to enforce that derived classes also have virtual destructors.

Member Function Documentation

§ initialize()

template<int dim>
virtual void aspect::BoundaryVelocity::Interface< dim >::initialize ( )
virtual

Initialization function. This function is called once at the beginning of the program after parse_parameters is run and after the SimulatorAccess (if applicable) is initialized.

Reimplemented in aspect::BoundaryVelocity::GPlates< dim >, and aspect::BoundaryVelocity::AsciiData< dim >.

§ update()

template<int dim>
virtual void aspect::BoundaryVelocity::Interface< dim >::update ( )
virtual

A function that is called at the beginning of each time step. The default implementation of the function does nothing, but derived classes that need more elaborate setups for a given time step may overload the function.

The point of this function is to allow complex boundary velocity models to do an initialization step once at the beginning of each time step. An example would be a model that needs to call an external program to compute positions for a set of plates.

Reimplemented in aspect::BoundaryVelocity::GPlates< dim >, aspect::BoundaryVelocity::Function< dim >, and aspect::BoundaryVelocity::AsciiData< dim >.

§ boundary_velocity()

template<int dim>
virtual Tensor<1,dim> aspect::BoundaryVelocity::Interface< dim >::boundary_velocity ( const types::boundary_id  boundary_indicator,
const Point< dim > &  position 
) const
pure virtual

Return the velocity that is to hold at a particular position on the boundary of the domain.

Parameters
boundary_indicatorThe boundary indicator of the part of the boundary of the domain on which the point is located at which we are requesting the velocity.
positionThe position of the point at which we ask for the velocity.
Returns
Boundary velocity at position position.

Implemented in aspect::BoundaryVelocity::GPlates< dim >, aspect::BoundaryVelocity::AsciiData< dim >, aspect::BoundaryVelocity::Function< dim >, and aspect::BoundaryVelocity::ZeroVelocity< dim >.

§ declare_parameters()

template<int dim>
static void aspect::BoundaryVelocity::Interface< dim >::declare_parameters ( ParameterHandler &  prm)
static

Declare the parameters this class takes through input files. The default implementation of this function does not describe any parameters. Consequently, derived classes do not have to overload this function if they do not take any runtime parameters.

§ parse_parameters()

template<int dim>
virtual void aspect::BoundaryVelocity::Interface< dim >::parse_parameters ( ParameterHandler &  prm)
virtual

Read the parameters this class declares from the parameter file. The default implementation of this function does not read any parameters. Consequently, derived classes do not have to overload this function if they do not take any runtime parameters.

Reimplemented in aspect::BoundaryVelocity::GPlates< dim >, aspect::BoundaryVelocity::AsciiData< dim >, and aspect::BoundaryVelocity::Function< dim >.


The documentation for this class was generated from the following files: