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

Public Member Functions

virtual ~Interface ()=default
 
virtual void initialize ()
 
virtual void update ()
 
virtual Tensor< 1, dim > compute_initial_deformation_on_boundary (const types::boundary_id boundary_indicator, const Point< dim > &position) const
 
virtual void compute_velocity_constraints_on_boundary (const DoFHandler< dim > &mesh_deformation_dof_handler, AffineConstraints< double > &mesh_velocity_constraints, const std::set< types::boundary_id > &boundary_id) const
 
virtual void parse_parameters (ParameterHandler &prm)
 

Static Public Member Functions

static void declare_parameters (ParameterHandler &prm)
 

Detailed Description

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

A base class for mesh deformation plugins. Each derived class should implement a function that determines the deformation velocity for certain mesh vertices and store them in a AffineConstraints<double> object. The velocities for all non-constrained vertices will be computed by solving a Laplace- problem with the given constraints.

Definition at line 62 of file interface.h.

Constructor & Destructor Documentation

§ ~Interface()

template<int dim>
virtual aspect::MeshDeformation::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::MeshDeformation::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.

The default implementation of this function does nothing.

Reimplemented in aspect::MeshDeformation::FreeSurface< dim >, aspect::MeshDeformation::AsciiData< dim >, and aspect::MeshDeformation::Diffusion< dim >.

§ update()

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

A function that is called at the beginning of each time step and that allows the implementation to update internal data structures. This is useful, for example, if you have mesh deformation that depends on time, or on the solution of the previous step.

The default implementation of this function does nothing.

Reimplemented in aspect::MeshDeformation::Diffusion< dim >, and aspect::MeshDeformation::BoundaryFunction< dim >.

§ compute_initial_deformation_on_boundary()

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

A function that returns the initial deformation of points on the boundary (e.g. the surface vertices). position is the undeformed position and this function is expected to return the displacement vector of this position. The default implementation returns a zero displacement (= no initial deformation).

Reimplemented in aspect::MeshDeformation::AsciiData< dim >.

§ compute_velocity_constraints_on_boundary()

template<int dim>
virtual void aspect::MeshDeformation::Interface< dim >::compute_velocity_constraints_on_boundary ( const DoFHandler< dim > &  mesh_deformation_dof_handler,
AffineConstraints< double > &  mesh_velocity_constraints,
const std::set< types::boundary_id > &  boundary_id 
) const
virtual

A function that creates constraints for the velocity of certain mesh vertices (e.g. the surface vertices) for a specific set of boundaries. The calling class will respect these constraints when computing the new vertex positions. The default implementation creates no constraints.

Reimplemented in aspect::MeshDeformation::FreeSurface< dim >, aspect::MeshDeformation::Diffusion< dim >, and aspect::MeshDeformation::BoundaryFunction< dim >.

§ declare_parameters()

template<int dim>
static void aspect::MeshDeformation::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::MeshDeformation::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::MeshDeformation::FreeSurface< dim >, aspect::MeshDeformation::AsciiData< dim >, aspect::MeshDeformation::Diffusion< dim >, and aspect::MeshDeformation::BoundaryFunction< dim >.


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