DOLFIN
DOLFIN C++ interface
Static Public Member Functions | List of all members
dolfin::ALE Class Reference

#include <ALE.h>

Static Public Member Functions

static std::shared_ptr< MeshDisplacementmove (std::shared_ptr< Mesh > mesh, const BoundaryMesh &new_boundary)
 
static std::shared_ptr< MeshDisplacementmove (std::shared_ptr< Mesh > mesh0, const Mesh &mesh1)
 
static void move (Mesh &mesh, const GenericFunction &displacement)
 
static void move (Mesh &mesh, const Function &displacement)
 

Detailed Description

This class provides functionality useful for implementation of ALE (Arbitrary Lagrangian-Eulerian) methods, in particular moving the boundary vertices of a mesh and then interpolating the new coordinates for the interior vertices accordingly.

Member Function Documentation

◆ move() [1/4]

std::shared_ptr< MeshDisplacement > ALE::move ( std::shared_ptr< Mesh mesh,
const BoundaryMesh new_boundary 
)
static

Move coordinates of mesh according to new boundary coordinates. Works only for affine meshes.

Parameters
mesh(Mesh) The affine mesh to move.
new_boundary(BoundaryMesh) An affine mesh containing just the boundary cells.
Returns
MeshDisplacement Displacement encapsulated in Expression subclass MeshDisplacement.

◆ move() [2/4]

std::shared_ptr< MeshDisplacement > ALE::move ( std::shared_ptr< Mesh mesh0,
const Mesh mesh1 
)
static

Move coordinates of mesh according to adjacent mesh with common global vertices. Works only for affine meshes.

Parameters
mesh0(Mesh) The affine mesh to move.
mesh1(Mesh) The affine mesh to be fit.
Returns
MeshDisplacement Displacement encapsulated in Expression subclass

◆ move() [3/4]

void ALE::move ( Mesh mesh,
const GenericFunction displacement 
)
static

Move coordinates of mesh according to displacement function. This works only for affine meshes.

NOTE: This cannot be implemented for higher-order geometries as there is no way of constructing function space for position unless supplied as an argument.

Parameters
mesh(Mesh) The affine mesh to move.
displacement(GenericFunction) A vectorial generic function.

◆ move() [4/4]

void ALE::move ( Mesh mesh,
const Function displacement 
)
static

Move coordinates of mesh according to displacement function.

Parameters
mesh(Mesh) The mesh to move.
displacement(Function) A vectorial Lagrange function of matching degree.

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