|
dune-geometry 2.8.0
|
generic geometry implementation based on corner coordinates More...
#include <dune/geometry/multilineargeometry.hh>

Classes | |
| class | JacobianInverseTransposed |
Public Types | |
| typedef ct | ctype |
| coordinate type | |
| typedef FieldVector< ctype, mydimension > | LocalCoordinate |
| type of local coordinates | |
| typedef FieldVector< ctype, coorddimension > | GlobalCoordinate |
| type of global coordinates | |
| typedef ctype | Volume |
| type of volume | |
| typedef FieldMatrix< ctype, mydimension, coorddimension > | JacobianTransposed |
| type of jacobian transposed | |
| typedef ReferenceElements::ReferenceElement | ReferenceElement |
| type of reference element | |
Public Member Functions | |
| template<class Corners > | |
| MultiLinearGeometry (const ReferenceElement &refElement, const Corners &corners) | |
| constructor | |
| template<class Corners > | |
| MultiLinearGeometry (Dune::GeometryType gt, const Corners &corners) | |
| constructor | |
| bool | affine () const |
| is this mapping affine? | |
| Dune::GeometryType | type () const |
| obtain the name of the reference element | |
| int | corners () const |
| obtain number of corners of the corresponding reference element | |
| GlobalCoordinate | corner (int i) const |
| obtain coordinates of the i-th corner | |
| GlobalCoordinate | center () const |
| obtain the centroid of the mapping's image | |
| GlobalCoordinate | global (const LocalCoordinate &local) const |
| evaluate the mapping | |
| LocalCoordinate | local (const GlobalCoordinate &globalCoord) const |
| evaluate the inverse mapping | |
| ctype | integrationElement (const LocalCoordinate &local) const |
| obtain the integration element | |
| Volume | volume () const |
| obtain the volume of the mapping's image | |
| JacobianTransposed | jacobianTransposed (const LocalCoordinate &local) const |
| obtain the transposed of the Jacobian | |
| JacobianInverseTransposed | jacobianInverseTransposed (const LocalCoordinate &local) const |
| obtain the transposed of the Jacobian's inverse | |
Static Public Attributes | |
| static const int | mydimension = mydim |
| geometry dimension | |
| static const int | coorddimension = cdim |
| coordinate dimension | |
Protected Types | |
| typedef Dune::ReferenceElements< ctype, mydimension > | ReferenceElements |
| typedef Traits::MatrixHelper | MatrixHelper |
| typedef std::conditional< hasSingleGeometryType, std::integral_constant< unsignedint, Traits::templatehasSingleGeometryType< mydimension >::topologyId >, unsignedint >::type | TopologyId |
Protected Member Functions | |
| ReferenceElement | refElement () const |
| TopologyId | topologyId () const |
| bool | affine (JacobianTransposed &jacobianT) const |
Detailed Description
class Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >
generic geometry implementation based on corner coordinates
Based on the recursive definition of the reference elements, the MultiLinearGeometry provides a generic implementation of a geometry given the corner coordinates.
The geometric mapping is multilinear in the classical sense only in the case of cubes; for simplices it is linear. The name is still justified, because the mapping satisfies the important property of begin linear along edges.
- Template Parameters
-
ct coordinate type mydim geometry dimension cdim coordinate dimension Traits traits allowing to tweak some implementation details (optional)
The requirements on the traits are documented along with their default, MultiLinearGeometryTraits.
Member Typedef Documentation
◆ ctype
◆ GlobalCoordinate
| typedef FieldVector< ctype, coorddimension > Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::GlobalCoordinate |
type of global coordinates
◆ JacobianTransposed
| typedef FieldMatrix< ctype, mydimension, coorddimension > Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::JacobianTransposed |
type of jacobian transposed
◆ LocalCoordinate
| typedef FieldVector< ctype, mydimension > Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::LocalCoordinate |
type of local coordinates
◆ MatrixHelper
|
protected |
◆ ReferenceElement
| typedef ReferenceElements::ReferenceElement Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::ReferenceElement |
type of reference element
◆ ReferenceElements
|
protected |
◆ TopologyId
|
protected |
◆ Volume
Constructor & Destructor Documentation
◆ MultiLinearGeometry() [1/2]
|
inline |
constructor
- Parameters
-
[in] refElement reference element for the geometry [in] corners corners to store internally
- Note
- The type of corners is actually a template argument. It is only required that the internal corner storage can be constructed from this object.
◆ MultiLinearGeometry() [2/2]
|
inline |
constructor
- Parameters
-
[in] gt geometry type [in] corners corners to store internally
- Note
- The type of corners is actually a template argument. It is only required that the internal corner storage can be constructed from this object.
Member Function Documentation
◆ affine() [1/4]
|
inline |
is this mapping affine?
◆ affine() [2/4]
|
inlineprotected |
◆ affine() [3/4]
|
inlinestaticprotected |
◆ affine() [4/4]
|
inlinestaticprotected |
◆ center()
|
inline |
obtain the centroid of the mapping's image
◆ corner()
|
inline |
obtain coordinates of the i-th corner
◆ corners()
|
inline |
obtain number of corners of the corresponding reference element
◆ global() [1/3]
|
inline |
evaluate the mapping
- Parameters
-
[in] local local coordinate to map
- Returns
- corresponding global coordinate
◆ global() [2/3]
|
inlinestaticprotected |
◆ global() [3/3]
|
inlinestaticprotected |
◆ integrationElement()
|
inline |
obtain the integration element
If the Jacobian of the mapping is denoted by $J(x)$, the integration integration element \(\mu(x)\) is given by
\[ \mu(x) = \sqrt{|\det (J^T(x) J(x))|}.\]
- Parameters
-
[in] local local coordinate to evaluate the integration element in
- Returns
- the integration element \(\mu(x)\).
- Note
- For affine mappings, it is more efficient to call jacobianInverseTransposed before integrationElement, if both are required.
◆ jacobianInverseTransposed()
|
inline |
obtain the transposed of the Jacobian's inverse
The Jacobian's inverse is defined as a pseudo-inverse. If we denote the Jacobian by \(J(x)\), the following condition holds:
\[J^{-1}(x) J(x) = I.\]
◆ jacobianTransposed() [1/3]
|
inline |
obtain the transposed of the Jacobian
- Parameters
-
[in] local local coordinate to evaluate Jacobian in
- Returns
- a reference to the transposed of the Jacobian
- Note
- The returned reference is reused on the next call to JacobianTransposed, destroying the previous value.
◆ jacobianTransposed() [2/3]
|
inlinestaticprotected |
◆ jacobianTransposed() [3/3]
|
inlinestaticprotected |
◆ local()
|
inline |
evaluate the inverse mapping
- Parameters
-
[in] globalCoord global coordinate to map
- Returns
- corresponding local coordinate
- Note
- For given global coordinate y the returned local coordinate x that minimizes the following function over the local coordinate space spanned by the reference element.
◆ refElement()
|
inlineprotected |
◆ topologyId()
|
inlineprotected |
◆ type()
|
inline |
obtain the name of the reference element
◆ volume()
|
inline |
obtain the volume of the mapping's image
- Note
- The current implementation just returns which is wrong for n-linear surface maps and other nonlinear maps.ReferenceElement refElement() constDefinition multilineargeometry.hh:394ctype integrationElement(const LocalCoordinate &local) constobtain the integration elementDefinition multilineargeometry.hh:342
Member Data Documentation
◆ coorddimension
coordinate dimension
◆ mydimension
geometry dimension
The documentation for this class was generated from the following file:
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8