Dune::GenericGeometry::HybridMapping< dim, GeometryTraits > Class Template Reference
[Generic Geometry Implementations]

abstract base class for generic mapping More...

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

Inheritance diagram for Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >:
Inheritance graph

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

Public Member Functions

virtual ~HybridMapping ()
virtual unsigned int topologyId () const =0
virtual const GlobalCoordinatecorner (int i) const =0
virtual int numCorners () const =0
virtual GlobalCoordinate center () const =0
virtual GlobalCoordinate global (const LocalCoordinate &x) const =0
virtual LocalCoordinate local (const GlobalCoordinate &y) const =0
virtual bool checkInside (const LocalCoordinate &x) const =0
virtual bool affine () const =0
virtual FieldType integrationElement (const LocalCoordinate &x) const =0
virtual FieldType volume () const =0
virtual const JacobianTransposedjacobianTransposed (const LocalCoordinate &x) const =0
virtual const
JacobianInverseTransposed
jacobianInverseTransposed (const LocalCoordinate &x) const =0
virtual Thisclone () const =0
virtual Thisclone (char *mappingStorage) const =0
template<int codim>
Codim< codim >::Trace * trace (unsigned int i, char *mappingStorage) const

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. It is the abstract base class of VirtualMapping, which implements all methods by forwarding them to a CachedMapping for the corresponding topology.


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]

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

Note:
Currently, this method is defined to return the image of the reference element's barycenter.

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] x local coorinate of point to check
Note:
Historically, this method was part of the geometry interface. It is still required for the GenericReferenceElement.
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 const GlobalCoordinate& Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::corner ( int  i  )  const [pure virtual]
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] x local coordinate to map
Returns:
corresponding global coordinate
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] x 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.
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.\]

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] x 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.
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] y global coorindate to map
Returns:
corresponding local coordinate
Note:
The returned local coordinate y minimizes
  (global( x ) - y).two_norm()
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>
virtual unsigned int Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::topologyId (  )  const [pure virtual]

obtain topology id of the corresponding reference element

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

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 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:

Generated on Fri Apr 29 2011 with Doxygen (ver 1.7.1) [doxygen-log,error-log].