dune-geometry 2.9.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::Volume | Volume |
typedef Base::JacobianTransposed | JacobianTransposed |
typedef Base::JacobianInverseTransposed | JacobianInverseTransposed |
typedef Base::Jacobian | Jacobian |
typedef Base::JacobianInverse | JacobianInverse |
Public Member Functions | |
template<class CornerStorage > | |
CachedMultiLinearGeometry (const ReferenceElement &referenceElement, const CornerStorage &cornerStorage) | |
template<class CornerStorage > | |
CachedMultiLinearGeometry (Dune::GeometryType gt, const CornerStorage &cornerStorage) | |
bool | affine () const |
is this mapping affine? | |
GlobalCoordinate | center () const |
obtain the centroid of the mapping's image | |
GlobalCoordinate | global (const LocalCoordinate &local) const |
evaluate the mapping | |
LocalCoordinate | local (const GlobalCoordinate &global) 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 | |
Jacobian | jacobian (const LocalCoordinate &local) const |
Obtain the Jacobian. | |
JacobianInverse | jacobianInverse (const LocalCoordinate &local) const |
Obtain the Jacobian's inverse. | |
GlobalCoordinate | corner (int i) const |
obtain coordinates of the i-th corner | |
Dune::GeometryType | type () const |
obtain the name of the reference element | |
int | corners () const |
obtain number of corners of the corresponding reference element | |
Static Public Attributes | |
static const int | mydimension |
geometry dimension | |
static const int | coorddimension |
coordinate dimension | |
Protected Types | |
typedef Base::MatrixHelper | MatrixHelper |
typedef Dune::ReferenceElements< ctype, mydimension > | ReferenceElements |
typedef std::conditional< hasSingleGeometryType, std::integral_constant< unsignedint, Traits::templatehasSingleGeometryType< mydimension >::topologyId >, unsignedint >::type | TopologyId |
Protected Member Functions | |
ReferenceElement | refElement () const |
bool | affine (JacobianTransposed &jacobianT) const |
TopologyId | topologyId () const |
Static Protected Member Functions | |
template<int dim, class CornerIterator > | |
static bool | affine (TopologyId topologyId, std::integral_constant< int, dim >, CornerIterator &cit, JacobianTransposed &jt) |
template<class CornerIterator > | |
static bool | affine (TopologyId topologyId, std::integral_constant< int, 0 >, CornerIterator &cit, JacobianTransposed &jt) |
template<bool add, int dim, class CornerIterator > | |
static void | global (TopologyId topologyId, std::integral_constant< int, dim >, CornerIterator &cit, const ctype &df, const LocalCoordinate &x, const ctype &rf, GlobalCoordinate &y) |
template<bool add, class CornerIterator > | |
static void | global (TopologyId topologyId, std::integral_constant< int, 0 >, CornerIterator &cit, const ctype &df, const LocalCoordinate &x, const ctype &rf, GlobalCoordinate &y) |
template<bool add, int rows, int dim, class CornerIterator > | |
static void | jacobianTransposed (TopologyId topologyId, std::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, class CornerIterator > | |
static void | jacobianTransposed (TopologyId topologyId, std::integral_constant< int, 0 >, CornerIterator &cit, const ctype &df, const LocalCoordinate &x, const ctype &rf, FieldMatrix< ctype, rows, cdim > &jt) |
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 |
typedef Base::Jacobian Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::Jacobian |
typedef Base::JacobianInverse Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::JacobianInverse |
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 |
typedef Base::Volume Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::Volume |
|
inline |
|
inline |
|
inline |
is this mapping affine?
|
inlineprotectedinherited |
|
inlinestaticprotectedinherited |
|
inlinestaticprotectedinherited |
|
inline |
obtain the centroid of the mapping's image
|
inline |
obtain coordinates of the i-th corner
|
inlineinherited |
obtain number of corners of the corresponding reference element
|
inline |
evaluate the mapping
[in] | local | local coordinate to map |
|
inlinestaticprotectedinherited |
|
inlinestaticprotectedinherited |
|
inline |
obtain the integration element
If the Jacobian of the mapping is denoted by $J(x)$, the integration integration element
[in] | local | local coordinate to evaluate the integration element in |
|
inline |
Obtain the Jacobian.
[in] | local | local coordinate to evaluate Jacobian in |
|
inline |
Obtain the Jacobian's inverse.
The Jacobian's inverse is defined as a pseudo-inverse. If we denote the Jacobian by
|
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
|
inline |
obtain the transposed of the Jacobian
[in] | local | local coordinate to evaluate Jacobian in |
|
inlinestaticprotectedinherited |
|
inlinestaticprotectedinherited |
|
inline |
evaluate the inverse mapping
[in] | global | global coordinate to map |
|
inlineprotected |
|
inlineprotectedinherited |
|
inlineinherited |
obtain the name of the reference element
|
inline |
obtain the volume of the mapping's image
|
static |
coordinate dimension
|
static |
geometry dimension