dune-geometry  2.2.0
Classes | Public Types | Public Member Functions | Static Public Attributes | Protected Types
Dune::GenericGeometry::HybridMapping< dim, GeometryTraits > Class Template Reference

abstract base class for generic mapping More...

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

List of all members.

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 GeometryTraits::Caching Caching
typedef GeometryTraits::UserData UserData

Public Member Functions

virtual ~HybridMapping ()
virtual bool affine () const =0
 is this mapping affine?
virtual Dune::GeometryType type () const =0
 obtain the name of the reference element
unsigned int topologyId () const
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
virtual LocalCoordinate local (const GlobalCoordinate &y) const =0
 evaluate the inverse mapping
virtual bool checkInside (const LocalCoordinate &x) const =0
 check whether a point lies within the reference element
virtual FieldType integrationElement (const LocalCoordinate &x) const =0
 obtain the integration element
virtual FieldType volume () const =0
 obtain the volume of the mapping's image
virtual const JacobianTransposedjacobianTransposed (const LocalCoordinate &x) const =0
 obtain the transposed of the Jacobian
virtual const
JacobianInverseTransposed
jacobianInverseTransposed (const LocalCoordinate &x) const =0
 obtain the transposed of the Jacobian's inverse
virtual Thisclone () const =0
virtual Thisclone (char *mappingStorage) const =0
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,
dim, GeometryTraits::dimWorld > 
Traits

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

template<unsigned int dim, class GeometryTraits>
typedef GeometryTraits::Caching Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::Caching
template<unsigned int dim, class GeometryTraits>
typedef Traits::FieldType Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::FieldType
template<unsigned int dim, class GeometryTraits>
typedef Traits::GlobalCoordinate Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::GlobalCoordinate
template<unsigned int dim, class GeometryTraits>
typedef CachedJacobianInverseTransposed< dimension, GeometryTraits > Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::JacobianInverseTransposed
template<unsigned int dim, class GeometryTraits>
typedef CachedJacobianTransposed< dimension, GeometryTraits > Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::JacobianTransposed
template<unsigned int dim, class GeometryTraits>
typedef Traits::LocalCoordinate Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::LocalCoordinate
template<unsigned int dim, class GeometryTraits>
typedef MappingTraits< typename GeometryTraits::CoordTraits, dim, GeometryTraits::dimWorld > Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::Traits [protected]
template<unsigned int dim, class GeometryTraits>
typedef GeometryTraits::UserData Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::UserData

Constructor & Destructor Documentation

template<unsigned int dim, class GeometryTraits>
virtual Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::~HybridMapping ( ) [inline, virtual]

Member Function Documentation

template<unsigned int dim, class GeometryTraits>
virtual bool Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::affine ( ) const [pure virtual]
template<unsigned int dim, class GeometryTraits>
virtual GlobalCoordinate Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::center ( ) const [pure virtual]

obtain the centroid of the mapping's image

Implemented in Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >.

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.

Implemented in Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >.

template<unsigned int dim, class GeometryTraits>
virtual This* Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::clone ( ) const [pure virtual]
template<unsigned int dim, class GeometryTraits>
virtual This* Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::clone ( char *  mappingStorage) const [pure virtual]
template<unsigned int dim, class GeometryTraits>
virtual GlobalCoordinate Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::corner ( int  i) const [pure virtual]

obtain coordinates of the i-th corner

Implemented in Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >.

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

Implemented in Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >.

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.

Implemented in Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >.

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

Implemented in Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >.

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.

Implemented in Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >.

template<unsigned int dim, class GeometryTraits>
virtual LocalCoordinate Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::local ( 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()

Implemented in Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >.

template<unsigned int dim, class GeometryTraits>
virtual int Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::numCorners ( ) const [pure virtual]

obtain number of corners of the corresponding reference element

Implemented in Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >.

template<unsigned int dim, class GeometryTraits>
unsigned int Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::topologyId ( ) const [inline]
template<unsigned int dim, class GeometryTraits>
template<int codim>
Codim< codim >::Trace* Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::trace ( unsigned int  i,
char *  mappingStorage 
) const [inline]
template<unsigned int dim, class GeometryTraits>
virtual Dune::GeometryType Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::type ( ) const [pure virtual]
template<unsigned int dim, class GeometryTraits>
const UserData& Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::userData ( ) const [inline]
template<unsigned int dim, class GeometryTraits>
UserData& Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::userData ( ) [inline]
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 which is wrong for n-linear surface maps and other nonlinear maps.

Implemented in Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >.


Member Data Documentation

template<unsigned int dim, class GeometryTraits>
const unsigned int Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::dimension = Traits::dimension [static]
template<unsigned int dim, class GeometryTraits>
const unsigned int Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::dimWorld = Traits::dimWorld [static]

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