ASPECT
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_initial_deformation_as_constraints (const Mapping< dim > &mapping, const DoFHandler< dim > &mesh_deformation_dof_handler, const types::boundary_id boundary_indicator, AffineConstraints< double > &constraints) 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 double boundary_composition (const types::boundary_id boundary_indicator, const Point< dim > &position, const unsigned int compositional_field) const
 
- Public Member Functions inherited from aspect::Plugins::InterfaceBase
virtual ~InterfaceBase ()=default
 
virtual void initialize ()
 
virtual void update ()
 
virtual void parse_parameters (ParameterHandler &prm)
 
virtual void save (std::map< std::string, std::string > &status_strings) const
 
virtual void load (const std::map< std::string, std::string > &status_strings)
 

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_initial_deformation_as_constraints()

template<int dim>
virtual void aspect::MeshDeformation::Interface< dim >::compute_initial_deformation_as_constraints ( const Mapping< dim > &  mapping,
const DoFHandler< dim > &  mesh_deformation_dof_handler,
const types::boundary_id  boundary_indicator,
AffineConstraints< double > &  constraints 
) const
virtual

A function that creates constraints for the initial deformation of the mesh.

This function gives an alternative way to determine the initial deformation instead of using the compute_initial_deformation_on_boundary function. The default implementation of this function calls compute_initial_deformation_on_boundary() with the coordinates of each point on the boundary. If you need lower level control over the initial deformation or it is more efficient to provide constraints directly, override this function.

Reimplemented in aspect::MeshDeformation::Landlab< 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::ParallelUnstructuredInterface< dim >, aspect::MeshDeformation::Diffusion< dim >, aspect::MeshDeformation::FreeSurface< dim >, and aspect::MeshDeformation::BoundaryFunction< dim >.

§ boundary_composition()

template<int dim>
virtual double aspect::MeshDeformation::Interface< dim >::boundary_composition ( const types::boundary_id  boundary_indicator,
const Point< dim > &  position,
const unsigned int  compositional_field 
) const
virtual

Return the composition 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 composition.
positionThe position of the point at which we ask for the composition.
compositional_fieldThe index of the compositional field between 0 and parameters.n_compositional_fields.
Returns
Boundary value of the compositional field compositional_field at the position position.

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