- Home
- About DUNE
- Download
- Documentation
- Community
- Development
#include <geometry.hh>
Inheritance diagram for Dune::Geometry< mydim, cdim, GridImp, GeometryImp >:

Template parameters are:
mydim Dimension of the domaincdim Dimension of the rangeGridImp Type that is a model of Dune::GridGeometryImp Class template that is a model of Dune::Geometry
A Geometry defines a map
where
and
. The domain
is one of a set of predefined convex polytopes, the so-called reference elements (see also Dune::ReferenceElement). The dimensionality of
is mydim. In general
, i.e. the convex polytope may be mapped to a manifold. Moreover, we require that
and one-to-one.
The Geometry class template wraps an object of type GeometryImp and forwards all member function calls to corresponding members of this class. In that sense Geometry defines the interface and GeometryImp supplies the implementation.
Public Types | |
| enum | { dimension = GridImp::dimension } |
| export grid dimension More... | |
| enum | { mydimension = mydim } |
| export geometry dimension More... | |
| enum | { coorddimension = cdim } |
| export coordinate dimension More... | |
| enum | { dimensionworld = GridImp::dimensionworld } |
| export dimension of world More... | |
| typedef GridImp::ctype | ctype |
| define type used for coordinates in grid module | |
Public Member Functions | |
| GeometryType | type () const |
| Return the name of the reference element. The type can be used to access the Dune::ReferenceElement. | |
| int | corners () const |
| Return the number of corners of the reference element. Since this is a convex polytope the number of corners is a well-defined concept. The method is redundant because this information is also available via the reference element. It is here for efficiency and ease of use. | |
| const FieldVector< ctype, cdim > & | operator[] (int i) const |
| Access to corners of the geometry. | |
| FieldVector< ctype, cdim > | global (const FieldVector< ctype, mydim > &local) const |
Evaluate the map . | |
| FieldVector< ctype, mydim > | local (const FieldVector< ctype, cdim > &global) const |
Evaluate the inverse map . | |
| bool | checkInside (const FieldVector< ctype, mydim > &local) const |
Return true if the point is in the reference element of the map. | |
| ctype | integrationElement (const FieldVector< ctype, mydim > &local) const |
| Return the factor appearing in the integral transformation formula. | |
| ctype | volume () const |
| return volume of geometry | |
| const FieldMatrix< ctype, cdim, mydim > & | jacobianInverseTransposed (const FieldVector< ctype, mydim > &local) const |
| Return inverse of transposed of Jacobian. | |
| Geometry (const GeometryImp< mydim, cdim, GridImp > &e) | |
| copy constructor from GeometryImp | |
Protected Member Functions | |
|
GeometryImp< mydim, cdim, GridImp > & | getRealImp () |
| return reference to the real implementation | |
|
const GeometryImp< mydim, cdim, GridImp > & | getRealImp () const |
| return reference to the real implementation | |
| Geometry (const Geometry &rhs) | |
| Geometry & | operator= (const Geometry &rhs) |
| anonymous enum |
| anonymous enum |
| anonymous enum |
| anonymous enum |
| Dune::Geometry< mydim, cdim, GridImp, GeometryImp >::Geometry | ( | const Geometry< mydim, cdim, GridImp, GeometryImp > & | rhs | ) | [inline, protected] |
hide copy constructor
| const FieldVector<ctype, cdim>& Dune::Geometry< mydim, cdim, GridImp, GeometryImp >::operator[] | ( | int | i | ) | const [inline] |
Access to corners of the geometry.
| [in] | i | The number of the corner |
where
is the position of the i'th corner of the reference element. | FieldVector<ctype, cdim> Dune::Geometry< mydim, cdim, GridImp, GeometryImp >::global | ( | const FieldVector< ctype, mydim > & | local | ) | const [inline] |
Evaluate the map
.
| [in] | local | Position in the reference element |
| FieldVector<ctype, mydim> Dune::Geometry< mydim, cdim, GridImp, GeometryImp >::local | ( | const FieldVector< ctype, cdim > & | global | ) | const [inline] |
Evaluate the inverse map
.
| [in] | global | Position in |
that maps to global | ctype Dune::Geometry< mydim, cdim, GridImp, GeometryImp >::integrationElement | ( | const FieldVector< ctype, mydim > & | local | ) | const [inline] |
Return the factor appearing in the integral transformation formula.
Let
denote the transformation described by the Geometry. Then the jacobian of the transformation is defined as the
matrix
Here we abbreviated
and
for ease of readability.
The integration element
for any
is then defined as
| [in] | local | Position |

. | const FieldMatrix<ctype,cdim,mydim>& Dune::Geometry< mydim, cdim, GridImp, GeometryImp >::jacobianInverseTransposed | ( | const FieldVector< ctype, mydim > & | local | ) | const [inline] |
Return inverse of transposed of Jacobian.
The jacobian is defined in the documentation of Dune::Geometry::integrationElement().
| [in] | local | Position |

at some position
with
and
the transformation of the Geometry. When we set
and apply the chain rule we get
because otherwise the inverse is not defined. | Geometry& Dune::Geometry< mydim, cdim, GridImp, GeometryImp >::operator= | ( | const Geometry< mydim, cdim, GridImp, GeometryImp > & | rhs | ) | [inline, protected] |
hide assignment operator