Dune Core Modules (2.3.1)
non-virtual geometric mapping More...
#include <dune/geometry/genericgeometry/hybridmapping.hh>
Public Member Functions | |
bool | affine () const |
is this mapping affine? | |
Dune::GeometryType | type () const |
obtain the name of the reference element | |
int | numCorners () 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 More... | |
LocalCoordinate (const GlobalCoordinate &global) const | |
evaluate the inverse mapping More... | |
bool | checkInside (const LocalCoordinate &local) const |
check whether a point lies within the reference element More... | |
FieldType | integrationElement (const LocalCoordinate &local) const |
obtain the integration element More... | |
FieldType | 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... | |
Detailed Description
class Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >
non-virtual geometric mapping
This is the user-visible class of the generic geometries if the topology type for each codimension is unique.
Member Function Documentation
◆ checkInside()
|
inline |
check whether a point lies within the reference element
- Parameters
-
[in] local local coordinate of point to check
- Note
- Historically, this method was part of the geometry interface. It is still required for the GenericReferenceElement.
◆ global()
|
inline |
evaluate the mapping
- Parameters
-
[in] local local coordinate to map
- Returns
- corresponding global coordinate
Referenced by Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::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.
◆ 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()
|
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.
◆ LocalCoordinate()
|
inline |
evaluate the inverse mapping
- Parameters
-
[in] global global coorindate to map
- Returns
- corresponding local coordinate
- Note
- The returned local coordinate y minimizes (global( x ) - y).two_norm()GlobalCoordinate global(const LocalCoordinate &local) constevaluate the mappingDefinition: hybridmapping.hh:405
References Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::global().
◆ 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.integrationElement( baryCenter() ) * ReferenceElement::volume()FieldType integrationElement(const LocalCoordinate &local) constobtain the integration elementDefinition: hybridmapping.hh:442ctype volume() constobtain the volume of the reference elementDefinition: referenceelements.hh:280
The documentation for this class was generated from the following file:
- dune/geometry/genericgeometry/hybridmapping.hh