Dune-Fufem 2.11-git
Loading...
Searching...
No Matches
RefinedSimplexGeometry< ct, 2, 3 > Class Template Reference

Mimics a once refined simplex surface element geometry for parametric surfaces, i.e. the vertices of the "refined" triangles are in general not complanar. More...

#include <dune/fufem/geometry/refinedsimplexgeometry.hh>

Classes

class  JacobianInverseTransposed
 

Public Types

typedef ct ctype
 
typedef Dune::FieldVector< ctype, 2 > LocalCoordinate
 
typedef Dune::FieldVector< ctype, 3 > GlobalCoordinate
 
typedef Dune::FieldMatrix< ctype, 2, 3 > JacobianTransposed
 

Public Member Functions

template<class VertexContainerType >
 RefinedSimplexGeometry (const VertexContainerType &vertices)
 constructor taking the global coordinates of the "refined" vertices
 
GlobalCoordinate global (const LocalCoordinate &local) const
 
bool affine () const
 
Dune::GeometryType type () const
 
int corners () const
 
GlobalCoordinate corner (int i) const
 
LocalCoordinate local (const GlobalCoordinate &) const
 
GlobalCoordinate center () const
 
ctype volume () const
 
ctype integrationElement (const LocalCoordinate &local) const
 
JacobianTransposed jacobianTransposed (const LocalCoordinate &local) const
 
JacobianInverseTransposed jacobianInverseTransposed (const LocalCoordinate &local) const
 

Detailed Description

template<class ct>
class RefinedSimplexGeometry< ct, 2, 3 >

Mimics a once refined simplex surface element geometry for parametric surfaces, i.e. the vertices of the "refined" triangles are in general not complanar.

The geometry mapping from the (pseudorefined) reference element to the pseudorefined simplicial complex is here done in two steps. First a mapping from the reference element to local coordinates in the corresponding subElement resulting from virtual refinement. This mapping is effected in the subElement(local,subElt,subEltLocal)-method which computes the index of the subElement and the local coordinates in that subElement for local coordinates in the reference element. The mapping from local subElement coordinates to world coordinates is effected in the method global.

Such a geometry is needed for hierarchical error estimators with RefinedP1 elements for surface meshes.

Template Parameters
ctthe scalar type of the coordinates e.g. double

Member Typedef Documentation

◆ ctype

template<class ct >
typedef ct RefinedSimplexGeometry< ct, 2, 3 >::ctype

◆ GlobalCoordinate

template<class ct >
typedef Dune::FieldVector<ctype,3> RefinedSimplexGeometry< ct, 2, 3 >::GlobalCoordinate

◆ JacobianTransposed

template<class ct >
typedef Dune::FieldMatrix<ctype,2,3> RefinedSimplexGeometry< ct, 2, 3 >::JacobianTransposed

◆ LocalCoordinate

template<class ct >
typedef Dune::FieldVector<ctype,2> RefinedSimplexGeometry< ct, 2, 3 >::LocalCoordinate

Constructor & Destructor Documentation

◆ RefinedSimplexGeometry()

template<class ct >
template<class VertexContainerType >
RefinedSimplexGeometry< ct, 2, 3 >::RefinedSimplexGeometry ( const VertexContainerType &  vertices)
inline

constructor taking the global coordinates of the "refined" vertices

Constructor builds the geometry mapping from the supplied vertices

Template Parameters
VertexContainerTypethe type of the container for the vertices; std::array<GlobalCoordinate,6> must be constructible from it
Parameters
verticesa container of 6 GlobalCoordinates corresponding to the 6 vertices of the "refined" simplicial complex. The order of the vertices must be as follows
 2
 |\
 | \
4|--\5
 |\ |\
 | \| \
 -------
0   3   1

Member Function Documentation

◆ affine()

template<class ct >
bool RefinedSimplexGeometry< ct, 2, 3 >::affine ( ) const
inline

◆ center()

template<class ct >
GlobalCoordinate RefinedSimplexGeometry< ct, 2, 3 >::center ( ) const
inline

◆ corner()

template<class ct >
GlobalCoordinate RefinedSimplexGeometry< ct, 2, 3 >::corner ( int  i) const
inline

◆ corners()

template<class ct >
int RefinedSimplexGeometry< ct, 2, 3 >::corners ( ) const
inline

◆ global()

template<class ct >
GlobalCoordinate RefinedSimplexGeometry< ct, 2, 3 >::global ( const LocalCoordinate local) const
inline

◆ integrationElement()

template<class ct >
ctype RefinedSimplexGeometry< ct, 2, 3 >::integrationElement ( const LocalCoordinate local) const
inline

◆ jacobianInverseTransposed()

template<class ct >
JacobianInverseTransposed RefinedSimplexGeometry< ct, 2, 3 >::jacobianInverseTransposed ( const LocalCoordinate local) const
inline

◆ jacobianTransposed()

template<class ct >
JacobianTransposed RefinedSimplexGeometry< ct, 2, 3 >::jacobianTransposed ( const LocalCoordinate local) const
inline

◆ local()

template<class ct >
LocalCoordinate RefinedSimplexGeometry< ct, 2, 3 >::local ( const GlobalCoordinate ) const
inline

◆ type()

template<class ct >
Dune::GeometryType RefinedSimplexGeometry< ct, 2, 3 >::type ( ) const
inline

◆ volume()

template<class ct >
ctype RefinedSimplexGeometry< ct, 2, 3 >::volume ( ) const
inline

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