dune-grid  2.1.1
Classes | Public Types | Public Member Functions | Static Public Attributes
Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits > Class Template Reference

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

Inheritance diagram for Dune::GenericGeometry::VirtualMapping< Topology, 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 Base::JacobianTransposed JacobianTransposed
typedef
Base::JacobianInverseTransposed 
JacobianInverseTransposed
typedef Mapping::ReferenceElement ReferenceElement
typedef GeometryTraits::Caching Caching

Public Member Functions

template<class CoordVector >
 VirtualMapping (const CoordVector &coordVector)
virtual unsigned int topologyId () const
virtual const GlobalCoordinatecorner (int i) const
virtual int numCorners () const
virtual GlobalCoordinate center () const
virtual GlobalCoordinate global (const LocalCoordinate &local) const
virtual LocalCoordinate local (const GlobalCoordinate &global) const
virtual bool checkInside (const LocalCoordinate &local) const
virtual bool affine () const
virtual FieldType integrationElement (const LocalCoordinate &local) const
virtual FieldType volume () const
virtual const JacobianTransposedjacobianTransposed (const LocalCoordinate &local) const
virtual const
JacobianInverseTransposed
jacobianInverseTransposed (const LocalCoordinate &local) const
virtual Baseclone () const
virtual Baseclone (char *mappingStorage) const
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

Detailed Description

template<class Topology, class GeometryTraits>
class Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >


Member Typedef Documentation

template<class Topology , class GeometryTraits >
typedef GeometryTraits::Caching Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >::Caching
template<class Topology , class GeometryTraits >
typedef Traits::FieldType Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >::FieldType
template<class Topology , class GeometryTraits >
typedef Traits::GlobalCoordinate Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >::GlobalCoordinate
template<class Topology , class GeometryTraits >
typedef Base::JacobianInverseTransposed Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >::JacobianInverseTransposed
template<class Topology , class GeometryTraits >
typedef Base::JacobianTransposed Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >::JacobianTransposed
template<class Topology , class GeometryTraits >
typedef Traits::LocalCoordinate Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >::LocalCoordinate
template<class Topology , class GeometryTraits >
typedef Mapping::ReferenceElement Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >::ReferenceElement

Constructor & Destructor Documentation

template<class Topology , class GeometryTraits >
template<class CoordVector >
Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >::VirtualMapping ( const CoordVector &  coordVector) [inline, explicit]

Member Function Documentation

template<class Topology , class GeometryTraits >
virtual bool Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >::affine ( ) const [inline, virtual]
template<class Topology , class GeometryTraits >
virtual GlobalCoordinate Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >::center ( ) const [inline, 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.

Implements Dune::GenericGeometry::HybridMapping< Topology::dimension, GeometryTraits >.

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

template<class Topology , class GeometryTraits >
virtual bool Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >::checkInside ( const LocalCoordinate x) const [inline, virtual]

check whether a point lies within the reference element

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

Implements Dune::GenericGeometry::HybridMapping< Topology::dimension, GeometryTraits >.

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

template<class Topology , class GeometryTraits >
virtual Base* Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >::clone ( ) const [inline, virtual]
template<class Topology , class GeometryTraits >
virtual Base* Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >::clone ( char *  mappingStorage) const [inline, virtual]
template<class Topology , class GeometryTraits >
virtual const GlobalCoordinate& Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >::corner ( int  i) const [inline, virtual]
template<class Topology , class GeometryTraits >
virtual GlobalCoordinate Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >::global ( const LocalCoordinate x) const [inline, virtual]

evaluate the mapping

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

Implements Dune::GenericGeometry::HybridMapping< Topology::dimension, GeometryTraits >.

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

template<class Topology , class GeometryTraits >
virtual FieldType Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >::integrationElement ( const LocalCoordinate x) const [inline, 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.

Implements Dune::GenericGeometry::HybridMapping< Topology::dimension, GeometryTraits >.

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

template<class Topology , class GeometryTraits >
virtual const JacobianInverseTransposed& Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >::jacobianInverseTransposed ( const LocalCoordinate x) const [inline, 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.\]

Implements Dune::GenericGeometry::HybridMapping< Topology::dimension, GeometryTraits >.

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

template<class Topology , class GeometryTraits >
virtual const JacobianTransposed& Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >::jacobianTransposed ( const LocalCoordinate x) const [inline, 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.

Implements Dune::GenericGeometry::HybridMapping< Topology::dimension, GeometryTraits >.

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

template<class Topology , class GeometryTraits >
virtual LocalCoordinate Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >::local ( const GlobalCoordinate y) const [inline, virtual]

evaluate the inverse mapping

Parameters:
[in]yglobal coorindate to map
Returns:
corresponding local coordinate
Note:
The returned local coordinate y minimizes
  (global( x ) - y).two_norm()

Implements Dune::GenericGeometry::HybridMapping< Topology::dimension, GeometryTraits >.

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

template<class Topology , class GeometryTraits >
virtual int Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >::numCorners ( ) const [inline, virtual]
template<class Topology , class GeometryTraits >
virtual unsigned int Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >::topologyId ( ) const [inline, virtual]
template<class Topology , class GeometryTraits >
template<int codim>
Codim< codim >::Trace* Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >::trace ( unsigned int  i,
char *  mappingStorage 
) const [inline]
template<class Topology , class GeometryTraits >
virtual FieldType Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >::volume ( ) const [inline, 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.

Implements Dune::GenericGeometry::HybridMapping< Topology::dimension, GeometryTraits >.

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


Member Data Documentation

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

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