Dune Core Modules (2.3.1)

Dune::GenericReferenceElement< ctype, dim > Class Template Reference

This class provides access to geometric and topological properties of a reference element. This includes its type, the number of subentities, the volume, and a method for checking if a point is inside. The embedding of each subentity into the reference element is also provided. More...

#include <dune/geometry/genericreferenceelements.hh>

Classes

struct  Codim
 Collection of types depending on the codimension. More...
 
class  SubEntityInfo
 Topological and geometric information about the subentities of a reference element. More...
 

Public Member Functions

int size (int c) const
 number of subentities of codimension c More...
 
int size (int i, int c, int cc) const
 number of subentities of codimension cc of subentity (i,c) More...
 
int subEntity (int i, int c, int ii, int cc) const
 obtain number of ii-th subentity with codim cc of (i,c) More...
 
const FieldVector< ctype, dim > & position (int i, int c) const
 position of the barycenter of entity (i,c) More...
 
bool checkInside (const FieldVector< ctype, dim > &local) const
 check if a coordinate is in the reference element More...
 
template<int codim>
bool checkInside (const FieldVector< ctype, dim-codim > &local, int i) const
 check if a local coordinate is in the reference element of the i-th subentity E with codimension c of the current reference element. More...
 
template<int codim>
FieldVector< ctype, dim > global (const FieldVector< ctype, dim-codim > &local, int i, int c) const
 map a local coordinate on subentity (i,codim) into the reference element More...
 
template<int codim>
FieldVector< ctype, dim > global (const FieldVector< ctype, dim-codim > &local, int i) const
 map a local coordinate on subentity (i,codim) into the reference element More...
 
template<int codim>
Codim< codim >::Mapping & mapping (int i) const
 obtain the embedding of subentity (i,codim) into the reference element More...
 
const GeometryTypetype (int i, int c) const
 obtain the type of subentity (i,c) More...
 
const GeometryTypetype () const
 obtain the type of this reference element
 
ctype volume () const
 obtain the volume of the reference element
 
const FieldVector< ctype, dim > & volumeOuterNormal (int face) const
 obtain the volume outer normal of the reference element More...
 
template<class Topology >
void initializeTopology ()
 initialize the reference element More...
 

Detailed Description

template<class ctype, int dim>
class Dune::GenericReferenceElement< ctype, dim >

This class provides access to geometric and topological properties of a reference element. This includes its type, the number of subentities, the volume, and a method for checking if a point is inside. The embedding of each subentity into the reference element is also provided.

A singleton of this class for a given geometry type can be accessed through the GenericReferenceElements class.

Deprecated:
GenericReferenceElement was renamed to ReferenceElement. The class with the old name will be removed after Dune 2.3.
Template Parameters
ctypefield type for coordinates
dimdimension of the reference element

Member Function Documentation

◆ checkInside() [1/2]

template<class ctype , int dim>
bool Dune::GenericReferenceElement< ctype, dim >::checkInside ( const FieldVector< ctype, dim > &  local) const
inline

check if a coordinate is in the reference element

This method returns true if the given local coordinate is within this reference element.

Parameters
[in]localcoordinates of the point

◆ checkInside() [2/2]

template<class ctype , int dim>
template<int codim>
bool Dune::GenericReferenceElement< ctype, dim >::checkInside ( const FieldVector< ctype, dim-codim > &  local,
int  i 
) const
inline

check if a local coordinate is in the reference element of the i-th subentity E with codimension c of the current reference element.

Denote by E the i-th subentity of codimension codim of the current reference element. This method return true, if the given local coordinate is within the reference element for the entity E.

Template Parameters
codimcodimension of subentity E
Parameters
[in]localcoordinates of the point with respect to the reference element of E
[in]inumber of subentity E (0 <= i < size( c ))

◆ global() [1/2]

template<class ctype , int dim>
template<int codim>
FieldVector< ctype, dim > Dune::GenericReferenceElement< ctype, dim >::global ( const FieldVector< ctype, dim-codim > &  local,
int  i 
) const
inline

map a local coordinate on subentity (i,codim) into the reference element

Denote by E the i-th subentity of codimension codim of the current reference element. This method maps a point within the reference element of E into the current reference element.

Template Parameters
codimcodimension of subentity E
Parameters
[in]localcoordinates of the point with respect to the reference element of E
[in]inumber of subentity E (0 <= i < size( codim ))
Note
This method is just an alias for
mapping< codim >( i ).global( local );

◆ global() [2/2]

template<class ctype , int dim>
template<int codim>
FieldVector< ctype, dim > Dune::GenericReferenceElement< ctype, dim >::global ( const FieldVector< ctype, dim-codim > &  local,
int  i,
int  c 
) const
inline

map a local coordinate on subentity (i,codim) into the reference element

Denote by E the i-th subentity of codimension codim of the current reference element. This method maps a point within the reference element of E into the current reference element.

Template Parameters
codimcodimension of subentity E
Parameters
[in]localcoordinates of the point with respect to the reference element of E
[in]inumber of subentity E (0 <= i < size( c ))
[in]ccodimension of subentity E
Note
The runtime argument c is redundant and must equal codim.
This method is just an alias for
mapping< codim >( i ).global( local );

◆ initializeTopology()

template<class ctype , int dim>
template<class Topology >
void Dune::GenericReferenceElement< ctype, dim >::initializeTopology ( )
inline

initialize the reference element

Template Parameters
Topologytopology of the desired reference element
Note
The dimension of the topology must match dim.

References dune_static_assert.

◆ mapping()

template<class ctype , int dim>
template<int codim>
Codim< codim >::Mapping& Dune::GenericReferenceElement< ctype, dim >::mapping ( int  i) const
inline

obtain the embedding of subentity (i,codim) into the reference element

Denote by E the i-th subentity of codimension codim of the current reference element. This method returns a Dune::GenericGeometry::HybridMapping HybridMapping that maps the reference element of E into the current reference element.

This method can be used in a GenericGeometry to represent subentities of the current reference element.

Template Parameters
codimcodimension of subentity E
Parameters
[in]inumber of subentity E (0 <= i < size( codim ))

◆ position()

template<class ctype , int dim>
const FieldVector< ctype, dim >& Dune::GenericReferenceElement< ctype, dim >::position ( int  i,
int  c 
) const
inline

position of the barycenter of entity (i,c)

Denote by E the i-th subentity of codimension c of the current reference element. This method returns the coordinates of the center of gravity of E within the current reference element.

Parameters
[in]inumber of subentity E (0 <= i < size( c ))
[in]ccodimension of subentity E

◆ size() [1/2]

template<class ctype , int dim>
int Dune::GenericReferenceElement< ctype, dim >::size ( int  c) const
inline

number of subentities of codimension c

Parameters
[in]ccodimension whose size is desired

◆ size() [2/2]

template<class ctype , int dim>
int Dune::GenericReferenceElement< ctype, dim >::size ( int  i,
int  c,
int  cc 
) const
inline

number of subentities of codimension cc of subentity (i,c)

Denote by E the i-th subentity of codimension c of the current reference element. This method returns the number of subentities of codimension cc of the current reference element, that are also a subentity of E.

Parameters
[in]inumber of subentity E (0 <= i < size( c ))
[in]ccodimension of subentity E
[in]cccodimension whose size is desired (c <= cc <= dim)

◆ subEntity()

template<class ctype , int dim>
int Dune::GenericReferenceElement< ctype, dim >::subEntity ( int  i,
int  c,
int  ii,
int  cc 
) const
inline

obtain number of ii-th subentity with codim cc of (i,c)

Denote by E the i-th subentity of codimension c of the current reference element. And denote by S the ii-th subentity of codimension (cc-c) of E. Then, S is a also a subentity of codimension c of the current reference element. This method returns the number of S with respect to the current reference element.

Parameters
[in]inumber of subentity E (0 <= i < size( c ))
[in]ccodimension of subentity E
[in]iinumber of subentity S (with respect to E)
[in]cccodimension of subentity S (c <= cc <= dim)

◆ type()

template<class ctype , int dim>
const GeometryType& Dune::GenericReferenceElement< ctype, dim >::type ( int  i,
int  c 
) const
inline

obtain the type of subentity (i,c)

Denote by E the i-th subentity of codimension c of the current reference element. This method returns the GeometryType of E.

Parameters
[in]inumber of subentity E (0 <= i < size( c ))
[in]ccodimension of subentity E

◆ volumeOuterNormal()

template<class ctype , int dim>
const FieldVector< ctype, dim >& Dune::GenericReferenceElement< ctype, dim >::volumeOuterNormal ( int  face) const
inline

obtain the volume outer normal of the reference element

The volume outer normal is the outer normal whose length coincides with the face's volume.

Parameters
[in]faceindex of the face, whose normal is desired

The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (May 8, 22:30, 2024)