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

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

Inheritance diagram for Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >:
Dune::GenericGeometry::HybridMapping< Topology::dimension, GeometryTraits >

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

Public Member Functions

template<class CoordVector >
 VirtualMapping (const CoordVector &coordVector)
virtual bool affine () const
 is this mapping affine?
virtual Dune::GeometryType type () const
 obtain the name of the reference element
virtual int numCorners () const
 obtain number of corners of the corresponding reference element
virtual GlobalCoordinate corner (int i) const
 obtain coordinates of the i-th corner
virtual GlobalCoordinate center () const
 obtain the centroid of the mapping's image
virtual GlobalCoordinate global (const LocalCoordinate &local) const
 evaluate the mapping
virtual LocalCoordinate local (const GlobalCoordinate &global) const
 evaluate the inverse mapping
virtual bool checkInside (const LocalCoordinate &local) const
 check whether a point lies within the reference element
virtual FieldType integrationElement (const LocalCoordinate &local) const
 obtain the integration element
virtual FieldType volume () const
 obtain the volume of the mapping's image
virtual const JacobianTransposedjacobianTransposed (const LocalCoordinate &local) const
 obtain the transposed of the Jacobian
virtual const
JacobianInverseTransposed
jacobianInverseTransposed (const LocalCoordinate &local) const
 obtain the transposed of the Jacobian's inverse
virtual Baseclone () const
virtual Baseclone (char *mappingStorage) const
template<int codim>
Codim< codim >::Trace * trace (unsigned int i, char *mappingStorage) const
unsigned int topologyId () const
const UserDatauserData () const
UserDatauserData ()

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
typedef GeometryTraits::UserData Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::UserData [inherited]

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]
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 coordinate 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 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 coordinate 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]
unsigned int Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::topologyId ( ) const [inline, inherited]
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 Dune::GeometryType Dune::GenericGeometry::VirtualMapping< Topology, GeometryTraits >::type ( ) const [inline, virtual]
const UserData& Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::userData ( ) const [inline, inherited]
UserData& Dune::GenericGeometry::HybridMapping< dim, GeometryTraits >::userData ( ) [inline, inherited]
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: