Dune Core Modules (2.3.1)

Dune::GenericGeometry::HybridMapping< dim, GeometryTraits > Class Template Referenceabstract

abstract base class for generic mapping More...

#include <dune/geometry/genericgeometry/hybridmapping.hh>

Public Member Functions

virtual bool affine () const =0
 is this mapping affine?
 
virtual Dune::GeometryType type () const =0
 obtain the name of the reference element
 
virtual int numCorners () const =0
 obtain number of corners of the corresponding reference element
 
virtual GlobalCoordinate corner (int i) const =0
 obtain coordinates of the i-th corner
 
virtual GlobalCoordinate center () const =0
 obtain the centroid of the mapping's image
 
virtual GlobalCoordinate global (const LocalCoordinate &x) const =0
 evaluate the mapping More...
 
virtual LocalCoordinate (const GlobalCoordinate &y) const =0
 evaluate the inverse mapping More...
 
virtual bool checkInside (const LocalCoordinate &x) const =0
 check whether a point lies within the reference element More...
 
virtual FieldType integrationElement (const LocalCoordinate &x) const =0
 obtain the integration element More...
 
virtual FieldType volume () const =0
 obtain the volume of the mapping's image More...
 
virtual const JacobianTransposed & jacobianTransposed (const LocalCoordinate &x) const =0
 obtain the transposed of the Jacobian More...
 
virtual const JacobianInverseTransposed & jacobianInverseTransposed (const LocalCoordinate &x) const =0
 obtain the transposed of the Jacobian's inverse More...
 

Detailed Description

template<unsigned int dim, class GeometryTraits>
class Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >

abstract base class for generic mapping

This is the user-visible class of the generic geometries if the topology type for each codimension is not unique.

Member Function Documentation

◆ checkInside()

template<unsigned int dim, class GeometryTraits >
virtual bool Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::checkInside ( const LocalCoordinate &  x) const
pure virtual

check whether a point lies within the reference element

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

◆ global()

template<unsigned int dim, class GeometryTraits >
virtual GlobalCoordinate Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::global ( const LocalCoordinate &  x) const
pure virtual

evaluate the mapping

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

◆ integrationElement()

template<unsigned int dim, class GeometryTraits >
virtual FieldType Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::integrationElement ( const LocalCoordinate &  x) const
pure virtual

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]xlocal 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<unsigned int dim, class GeometryTraits >
virtual const JacobianInverseTransposed& Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::jacobianInverseTransposed ( const LocalCoordinate &  x) const
pure virtual

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<unsigned int dim, class GeometryTraits >
virtual const JacobianTransposed& Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::jacobianTransposed ( const LocalCoordinate &  x) const
pure virtual

obtain the transposed of the Jacobian

Parameters
[in]xlocal 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<unsigned int dim, class GeometryTraits >
virtual Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::LocalCoordinate ( const GlobalCoordinate &  y) const
pure virtual

evaluate the inverse mapping

Parameters
[in]yglobal coordinate to map
Returns
corresponding local coordinate
Note
The returned local coordinate y minimizes
(global( x ) - y).two_norm()
virtual GlobalCoordinate global(const LocalCoordinate &x) const =0
evaluate the mapping

◆ volume()

template<unsigned int dim, class GeometryTraits >
virtual FieldType Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::volume ( ) const
pure virtual

obtain the volume of the mapping's image

Note
The current implementation just returns
virtual FieldType integrationElement(const LocalCoordinate &x) const =0
obtain the integration element
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)