ASPECT
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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 bool needs_surface_stabilization () const
 
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_ids) const
 
virtual void save (std::map< std::string, std::string > &status_strings) const
 
virtual void load (const std::map< std::string, std::string > &status_strings)
 
- Public Member Functions inherited from aspect::Plugins::InterfaceBase
virtual ~InterfaceBase ()=default
 
virtual void initialize ()
 
virtual void update ()
 
virtual void parse_parameters (ParameterHandler &prm)
 

Additional Inherited Members

- Static Public Member Functions inherited from aspect::Plugins::InterfaceBase
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 89 of file interface.h.

Member Function Documentation

§ needs_surface_stabilization()

template<int dim>
virtual bool aspect::MeshDeformation::Interface< dim >::needs_surface_stabilization ( ) const
virtual

§ 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_ids 
) 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::Diffusion< dim >, aspect::MeshDeformation::FreeSurface< dim >, and aspect::MeshDeformation::BoundaryFunction< dim >.

§ save()

template<int dim>
virtual void aspect::MeshDeformation::Interface< dim >::save ( std::map< std::string, std::string > &  status_strings) const
virtual

Save the state of this object to the argument given to this function. This function is in support of checkpoint/restart functionality.

Derived classes can implement this function and should store their state in a string that is deposited under a key in the map through which the respective class can later find the status again when the program is restarted. A legitimate key to store data under is typeid(*this).name(). It is up to derived classes to decide how they want to encode their state.

The default implementation of this function does nothing, i.e., it represents a stateless object for which nothing needs to be stored at checkpoint time and nothing needs to be restored at restart time.

Parameters
[in,out]status_stringsThe object into which implementations in derived classes can place their status under a key that they can use to retrieve the data.

§ load()

template<int dim>
virtual void aspect::MeshDeformation::Interface< dim >::load ( const std::map< std::string, std::string > &  status_strings)
virtual

Restore the state of the object by looking up a description of the state in the passed argument under the same key under which it was previously stored.

The default implementation does nothing.

Parameters
[in]status_stringsThe object from which the status will be restored by looking up the value for a key specific to this derived class.

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