dune-geometry  2.3.1-rc1
Classes | Public Types | Public Member Functions | Static Public Attributes | Protected Types | List of all members
Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits > Class Template Reference

non-virtual geometric mapping More...

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

Classes

struct  Codim
 

Public Types

typedef Traits::FieldType FieldType
 
typedef Traits::LocalCoordinate LocalCoordinate
 
typedef Traits::GlobalCoordinate GlobalCoordinate
 
typedef
CachedJacobianTransposed
< dimension, GeometryTraits > 
JacobianTransposed
 
typedef
CachedJacobianInverseTransposed
< dimension, GeometryTraits > 
JacobianInverseTransposed
 
typedef Mapping::ReferenceElement ReferenceElement
 
typedef GeometryTraits::Caching Caching
 
typedef GeometryTraits::UserData UserData
 

Public Member Functions

template<class CoordVector >
 NonHybridMapping (const CoordVector &coordVector)
 
bool affine () const
 is this mapping affine? More...
 
Dune::GeometryType type () const
 obtain the name of the reference element More...
 
int numCorners () const
 obtain number of corners of the corresponding reference element More...
 
GlobalCoordinate corner (int i) const
 obtain coordinates of the i-th corner More...
 
GlobalCoordinate center () const
 obtain the centroid of the mapping's image More...
 
GlobalCoordinate global (const LocalCoordinate &local) const
 evaluate the mapping More...
 
LocalCoordinate local (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 JacobianTransposedjacobianTransposed (const LocalCoordinate &local) const
 obtain the transposed of the Jacobian More...
 
const JacobianInverseTransposedjacobianInverseTransposed (const LocalCoordinate &local) const
 obtain the transposed of the Jacobian's inverse More...
 
Thisclone () const
 
Thisclone (char *mappingStorage) const
 
template<int codim>
Codim< codim >::Trace * trace (unsigned int i, char *mappingStorage) const
 
const UserDatauserData () const
 
UserDatauserData ()
 

Static Public Attributes

static const unsigned int dimension = Traits::dimension
 
static const unsigned int dimWorld = Traits::dimWorld
 

Protected Types

typedef MappingTraits
< typename
GeometryTraits::CoordTraits,
Topology::dimension,
GeometryTraits::dimWorld > 
Traits
 
typedef CachedMapping
< Topology, GeometryTraits > 
Mapping
 

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 Typedef Documentation

template<class Topology , class GeometryTraits >
typedef GeometryTraits::Caching Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::Caching
template<class Topology , class GeometryTraits >
typedef Traits::FieldType Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::FieldType
template<class Topology , class GeometryTraits >
typedef Traits::GlobalCoordinate Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::GlobalCoordinate
template<class Topology , class GeometryTraits >
typedef CachedJacobianInverseTransposed< dimension, GeometryTraits > Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::JacobianInverseTransposed
template<class Topology , class GeometryTraits >
typedef CachedJacobianTransposed< dimension, GeometryTraits > Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::JacobianTransposed
template<class Topology , class GeometryTraits >
typedef Traits::LocalCoordinate Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::LocalCoordinate
template<class Topology , class GeometryTraits >
typedef CachedMapping< Topology, GeometryTraits > Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::Mapping
protected
template<class Topology , class GeometryTraits >
typedef Mapping::ReferenceElement Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::ReferenceElement
template<class Topology , class GeometryTraits >
typedef MappingTraits< typename GeometryTraits::CoordTraits, Topology::dimension, GeometryTraits::dimWorld > Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::Traits
protected
template<class Topology , class GeometryTraits >
typedef GeometryTraits::UserData Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::UserData

Constructor & Destructor Documentation

template<class Topology , class GeometryTraits >
template<class CoordVector >
Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::NonHybridMapping ( const CoordVector &  coordVector)
inlineexplicit

Member Function Documentation

template<class Topology , class GeometryTraits >
bool Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::affine ( ) const
inline
template<class Topology , class GeometryTraits >
GlobalCoordinate Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::center ( ) const
inline

obtain the centroid of the mapping's image

References Dune::GenericGeometry::CachedMapping< Topology, GeometryTraits >::center().

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.

References Dune::GenericGeometry::CachedMapping< Topology, GeometryTraits >::checkInside().

template<class Topology , class GeometryTraits >
This* Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::clone ( ) const
inline
template<class Topology , class GeometryTraits >
This* Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::clone ( char *  mappingStorage) const
inline
template<class Topology , class GeometryTraits >
GlobalCoordinate Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::corner ( int  i) const
inline

obtain coordinates of the i-th corner

References Dune::GenericGeometry::CachedMapping< Topology, GeometryTraits >::corner().

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

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

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.

References Dune::GenericGeometry::CachedMapping< Topology, GeometryTraits >::integrationElement().

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.\]

References Dune::GenericGeometry::CachedMapping< Topology, GeometryTraits >::jacobianInverseTransposed().

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.

References Dune::GenericGeometry::CachedMapping< Topology, GeometryTraits >::jacobianTransposed().

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

References Dune::GenericGeometry::CachedMapping< Topology, GeometryTraits >::local().

template<class Topology , class GeometryTraits >
int Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::numCorners ( ) const
inline

obtain number of corners of the corresponding reference element

References Dune::GenericGeometry::CachedMapping< Topology, GeometryTraits >::numCorners().

template<class Topology , class GeometryTraits >
template<int codim>
Codim< codim >::Trace* Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::trace ( unsigned int  i,
char *  mappingStorage 
) const
inline
template<class Topology , class GeometryTraits >
Dune::GeometryType Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::type ( ) const
inline

obtain the name of the reference element

References Dune::GenericGeometry::CachedMapping< Topology, GeometryTraits >::type().

template<class Topology , class GeometryTraits >
const UserData& Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::userData ( ) const
inline
template<class Topology , class GeometryTraits >
UserData& Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::userData ( )
inline
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 which is wrong for n-linear surface maps and other nonlinear maps.

References Dune::GenericGeometry::CachedMapping< Topology, GeometryTraits >::volume().

Member Data Documentation

template<class Topology , class GeometryTraits >
const unsigned int Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::dimension = Traits::dimension
static
template<class Topology , class GeometryTraits >
const unsigned int Dune::GenericGeometry::NonHybridMapping< Topology, GeometryTraits >::dimWorld = Traits::dimWorld
static

The documentation for this class was generated from the following file: