|
dune-geometry
2.3.1
|
Implement a MultiLinearGeometry with additional caching. More...
#include <dune/geometry/multilineargeometry.hh>

Public Types | |
| typedef Base::ReferenceElement | ReferenceElement |
| typedef Base::ctype | ctype |
| typedef Base::LocalCoordinate | LocalCoordinate |
| typedef Base::GlobalCoordinate | GlobalCoordinate |
| typedef Base::JacobianTransposed | JacobianTransposed |
| typedef Base::JacobianInverseTransposed | JacobianInverseTransposed |
| typedef JacobianInverseTransposed | Jacobian |
| For backward-compatibility, export the type JacobianInverseTransposed as Jacobian. More... | |
Public Member Functions | |
| template<class CornerStorage > | |
| CachedMultiLinearGeometry (const ReferenceElement &refElement, const CornerStorage &cornerStorage) | |
| template<class CornerStorage > | |
| CachedMultiLinearGeometry (Dune::GeometryType gt, const CornerStorage &cornerStorage) | |
| bool | affine () const |
| is this mapping affine? More... | |
| GlobalCoordinate | center () const |
| obtain the centroid of the mapping's image More... | |
| GlobalCoordinate | global (const LocalCoordinate &local) const |
| evaluate the mapping More... | |
| LocalCoordinate | local (const GlobalCoordinate &global) const |
| evaluate the inverse mapping More... | |
| ctype | integrationElement (const LocalCoordinate &local) const |
| obtain the integration element More... | |
| ctype | volume () const |
| obtain the volume of the mapping's image More... | |
| const JacobianTransposed & | jacobianTransposed (const LocalCoordinate &local) const |
| obtain the transposed of the Jacobian More... | |
| const JacobianInverseTransposed & | jacobianInverseTransposed (const LocalCoordinate &local) const |
| obtain the transposed of the Jacobian's inverse More... | |
| Dune::GeometryType | type () const |
| obtain the name of the reference element More... | |
| int | corners () const |
| obtain number of corners of the corresponding reference element More... | |
| GlobalCoordinate | corner (int i) const |
| obtain coordinates of the i-th corner More... | |
Static Public Attributes | |
| static const int | mydimension = mydim |
| geometry dimension More... | |
| static const int | coorddimension = cdim |
| coordinate dimension More... | |
Protected Types | |
| typedef Base::MatrixHelper | MatrixHelper |
| typedef conditional < hasSingleGeometryType, integral_constant< unsigned int, Traits::template hasSingleGeometryType < mydimension >::topologyId > , unsigned int >::type | TopologyId |
| typedef Dune::ReferenceElements< ctype, mydimension > | ReferenceElements |
Protected Member Functions | |
| const ReferenceElement & | refElement () const |
| TopologyId | topologyId () const |
| TopologyId | topologyId (integral_constant< bool, true >) const |
| unsigned int | topologyId (integral_constant< bool, false >) const |
Static Protected Member Functions | |
| template<int dim> | |
| static bool | affine (TopologyId topologyId, integral_constant< int, dim >, CornerIterator &cit, JacobianTransposed &jt) |
| static bool | affine (TopologyId topologyId, integral_constant< int, 0 >, CornerIterator &cit, JacobianTransposed &jt) |
| template<bool add, int dim> | |
| static void | global (TopologyId topologyId, integral_constant< int, dim >, CornerIterator &cit, const ctype &df, const LocalCoordinate &x, const ctype &rf, GlobalCoordinate &y) |
| template<bool add> | |
| static void | global (TopologyId topologyId, integral_constant< int, 0 >, CornerIterator &cit, const ctype &df, const LocalCoordinate &x, const ctype &rf, GlobalCoordinate &y) |
| template<bool add, int rows, int dim> | |
| static void | jacobianTransposed (TopologyId topologyId, integral_constant< int, dim >, CornerIterator &cit, const ctype &df, const LocalCoordinate &x, const ctype &rf, FieldMatrix< ctype, rows, cdim > &jt) |
| template<bool add, int rows> | |
| static void | jacobianTransposed (TopologyId topologyId, integral_constant< int, 0 >, CornerIterator &cit, const ctype &df, const LocalCoordinate &x, const ctype &rf, FieldMatrix< ctype, rows, cdim > &jt) |
Protected Attributes | |
| JacobianTransposed | jacobianTransposed_ |
| JacobianInverseTransposed | jacobianInverseTransposed_ |
Implement a MultiLinearGeometry with additional caching.
This class implements the same interface and functionality as MultiLinearGeometry. However, it additionally implements caching for various results.
| ct | coordinate type |
| mydim | geometry dimension |
| cdim | coordinate dimension |
| Traits | traits allowing to tweak some implementation details (optional) |
| typedef Base::ctype Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::ctype |
| typedef Base::GlobalCoordinate Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::GlobalCoordinate |
|
inherited |
For backward-compatibility, export the type JacobianInverseTransposed as Jacobian.
| typedef Base::JacobianInverseTransposed Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::JacobianInverseTransposed |
| typedef Base::JacobianTransposed Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::JacobianTransposed |
| typedef Base::LocalCoordinate Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::LocalCoordinate |
|
protected |
| typedef Base::ReferenceElement Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::ReferenceElement |
|
protectedinherited |
|
protectedinherited |
|
inline |
|
inline |
|
inlinestaticprotectedinherited |
References Dune::GenericGeometry::isPrism().
|
inlinestaticprotectedinherited |
|
inline |
is this mapping affine?
Referenced by Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::global(), Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::integrationElement(), Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::jacobianInverseTransposed(), Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::jacobianTransposed(), Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::local(), and Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::volume().
|
inline |
obtain the centroid of the mapping's image
References Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::global(), and Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::refElement().
|
inlineinherited |
obtain coordinates of the i-th corner
References Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::corners().
Referenced by Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::global(), and Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::local().
|
inlineinherited |
obtain number of corners of the corresponding reference element
References Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::mydimension, Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::refElement(), and Dune::ReferenceElement< ctype, dim >::size().
Referenced by Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::corner().
|
inlinestaticprotectedinherited |
References Dune::GenericGeometry::isPrism(), and Dune::GenericGeometry::isPyramid().
|
inlinestaticprotectedinherited |
|
inline |
evaluate the mapping
| [in] | local | local coordinate to map |
References Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::affine(), Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::corner(), Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::global(), and Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::jacobianTransposed_.
Referenced by Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::center().
|
inline |
obtain the integration element
If the Jacobian of the mapping is denoted by $J(x)$, the integration integration element
is given by
| [in] | local | local coordinate to evaluate the integration element in |
.References Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::affine(), Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::JacobianInverseTransposed::detInv(), Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::integrationElement(), Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::jacobianInverseTransposed_, Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::jacobianTransposed_, and Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::JacobianInverseTransposed::setupDeterminant().
Referenced by Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::volume().
|
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
, the following condition holds:
References Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::affine(), Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::jacobianInverseTransposed(), Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::jacobianInverseTransposed_, Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::jacobianTransposed_, and Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::JacobianInverseTransposed::setup().
|
inlinestaticprotectedinherited |
References Dune::GenericGeometry::isPrism(), and Dune::GenericGeometry::isPyramid().
|
inlinestaticprotectedinherited |
|
inline |
obtain the transposed of the Jacobian
| [in] | local | local coordinate to evaluate Jacobian in |
References Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::affine(), Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::jacobianTransposed(), and Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::jacobianTransposed_.
|
inline |
evaluate the inverse mapping
| [in] | global | global coordinate to map |
References Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::affine(), Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::corner(), Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::jacobianInverseTransposed_, Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::jacobianTransposed_, and Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::local().
|
inlineprotectedinherited |
Referenced by Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::center(), Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::center(), Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::corners(), Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::local(), Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::topologyId(), Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::volume(), and Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::volume().
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineinherited |
obtain the name of the reference element
References Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::mydimension, and Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::topologyId().
|
inline |
obtain the volume of the mapping's image
References Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::affine(), Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::integrationElement(), Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::refElement(), Dune::ReferenceElement< ctype, dim >::volume(), and Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::volume().
|
staticinherited |
coordinate dimension
|
mutableprotectedinherited |
|
mutableprotectedinherited |
Referenced by Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::affine(), Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::global(), Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::integrationElement(), Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::jacobianInverseTransposed(), Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::jacobianTransposed(), Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::jacobianTransposed(), and Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::local().
|
staticinherited |
geometry dimension
Referenced by Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::corners(), and Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::type().
1.8.7