DUNE PDELab (2.8)
Implement a MultiLinearGeometry with additional caching. More...
#include <dune/geometry/multilineargeometry.hh>
Public Member Functions | |
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 More... | |
LocalCoordinate (const GlobalCoordinate &global) const | |
evaluate the inverse mapping More... | |
ctype | integrationElement (const LocalCoordinate &local) const |
obtain the integration element More... | |
Volume | volume () const |
obtain the volume of the mapping's image | |
JacobianTransposed | jacobianTransposed (const LocalCoordinate &local) const |
obtain the transposed of the Jacobian More... | |
JacobianInverseTransposed | jacobianInverseTransposed (const LocalCoordinate &local) const |
obtain the transposed of the Jacobian's inverse More... | |
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 | |
Detailed Description
class Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >
Implement a MultiLinearGeometry with additional caching.
This class implements the same interface and functionality as MultiLinearGeometry. However, it additionally implements caching for various results.
- Template Parameters
-
ct coordinate type mydim geometry dimension cdim coordinate dimension Traits traits allowing to tweak some implementation details (optional)
Member Function Documentation
◆ global()
|
inline |
evaluate the mapping
- Parameters
-
[in] local local coordinate to map
- Returns
- corresponding global coordinate
References Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::affine(), Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::corner(), Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::global(), Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::global(), and Dune::DenseMatrix< MAT >::umtv().
Referenced by Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::center(), Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::global(), and Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::LocalCoordinate().
◆ 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.
References Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::affine(), and Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::integrationElement().
Referenced by Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::volume().
◆ 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.\]
References Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::affine(), and Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::jacobianInverseTransposed().
◆ jacobianTransposed()
|
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.
References Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::affine(), and Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::jacobianTransposed().
◆ LocalCoordinate()
|
inline |
evaluate the inverse mapping
- Parameters
-
[in] global 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. (global( x ) - y).two_norm()GlobalCoordinate global(const LocalCoordinate &local) constevaluate the mappingDefinition: multilineargeometry.hh:547
References Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::affine(), Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::corner(), and Dune::CachedMultiLinearGeometry< ct, mydim, cdim, Traits >::global().
The documentation for this class was generated from the following file:
- dune/geometry/multilineargeometry.hh