Dune Core Modules (2.3.1)

Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits > Class Template Reference

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

template<class Topology, class GeometryTraits>
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()

template<class Topology , class GeometryTraits >
bool Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::checkInside ( const LocalCoordinate &  local) const
inline

check whether a point lies within the reference element

Parameters
[in]locallocal coordinate of point to check
Note
Historically, this method was part of the geometry interface. It is still required for the GenericReferenceElement.

◆ global()

template<class Topology , class GeometryTraits >
GlobalCoordinate Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::global ( const LocalCoordinate &  local) const
inline

evaluate the mapping

Parameters
[in]locallocal coordinate to map
Returns
corresponding global coordinate

Referenced by Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::LocalCoordinate().

◆ integrationElement()

template<class Topology , class GeometryTraits >
FieldType Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::integrationElement ( const LocalCoordinate &  local) const
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]locallocal 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()

template<class Topology , class GeometryTraits >
const JacobianInverseTransposed& Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::jacobianInverseTransposed ( const LocalCoordinate &  local) const
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()

template<class Topology , class GeometryTraits >
const JacobianTransposed& Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::jacobianTransposed ( const LocalCoordinate &  local) const
inline

obtain the transposed of the Jacobian

Parameters
[in]locallocal 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()

template<class Topology , class GeometryTraits >
Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::LocalCoordinate ( const GlobalCoordinate &  global) const
inline

evaluate the inverse mapping

Parameters
[in]globalglobal coorindate to map
Returns
corresponding local coordinate
Note
The returned local coordinate y minimizes
(global( x ) - y).two_norm()
GlobalCoordinate global(const LocalCoordinate &local) const
evaluate the mapping
Definition: hybridmapping.hh:405

References Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::global().

◆ volume()

template<class Topology , class GeometryTraits >
FieldType Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::volume ( ) const
inline

obtain the volume of the mapping's image

Note
The current implementation just returns
FieldType integrationElement(const LocalCoordinate &local) const
obtain the integration element
Definition: hybridmapping.hh:442
ctype volume() const
obtain the volume of the reference element
Definition: referenceelements.hh:280
which is wrong for n-linear surface maps and other nonlinear maps.

The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (Apr 26, 22:29, 2024)