Dune::Geometry< mydim, cdim, GridImp, GeometryImp > Class Template Reference
[Geometry]
#include <geometry.hh>
Inheritance diagram for Dune::Geometry< mydim, cdim, GridImp, GeometryImp >:

Detailed Description
template<int mydim, int cdim, class GridImp, template< int, int, class > class GeometryImp>
class Dune::Geometry< mydim, cdim, GridImp, GeometryImp >
Wrapper class for geometries.
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
Maps
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.
Engine Concept
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 ct | 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< ct, cdim > & | operator[] (int i) const |
Access to corners of the geometry. | |
FieldVector< ct, cdim > | global (const FieldVector< ct, mydim > &local) const |
Evaluate the map ![]() | |
FieldVector< ct, mydim > | local (const FieldVector< ct, cdim > &global) const |
Evaluate the inverse map ![]() | |
bool | checkInside (const FieldVector< ct, mydim > &local) const |
Return true if the point is in the reference element ![]() | |
ct | integrationElement (const FieldVector< ct, mydim > &local) const |
Return the factor appearing in the integral transformation formula. | |
ct | volume () const |
return volume of geometry | |
const FieldMatrix< ct, mydim, mydim > & | jacobianInverseTransposed (const FieldVector< ct, 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) |
Member Enumeration Documentation
anonymous enum |
anonymous enum |
anonymous enum |
anonymous enum |
Constructor & Destructor Documentation
Dune::Geometry< mydim, cdim, GridImp, GeometryImp >::Geometry | ( | const Geometry< mydim, cdim, GridImp, GeometryImp > & | rhs | ) | [inline, protected] |
hide copy constructor
Member Function Documentation
const FieldVector<ct, cdim>& Dune::Geometry< mydim, cdim, GridImp, GeometryImp >::operator[] | ( | int | i | ) | const [inline] |
Access to corners of the geometry.
- Parameters:
-
[in] i The number of the corner
- Returns:
- const reference to a vector containing the position
where
is the position of the i'th corner of the reference element.
FieldVector<ct, cdim> Dune::Geometry< mydim, cdim, GridImp, GeometryImp >::global | ( | const FieldVector< ct, mydim > & | local | ) | const [inline] |
Evaluate the map .
- Parameters:
-
[in] local Position in the reference element
- Returns:
- Position in
FieldVector<ct, mydim> Dune::Geometry< mydim, cdim, GridImp, GeometryImp >::local | ( | const FieldVector< ct, cdim > & | global | ) | const [inline] |
Evaluate the inverse map .
- Parameters:
-
[in] global Position in
- Returns:
- Position in
that maps to global
ct Dune::Geometry< mydim, cdim, GridImp, GeometryImp >::integrationElement | ( | const FieldVector< ct, 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
- Parameters:
-
[in] local Position
- Returns:
- integration element
- Note:
- Each implementation computes the integration element with optimal efficieny. For example in an equidistant structured mesh it may be as simple as
.
const FieldMatrix<ct,mydim,mydim>& Dune::Geometry< mydim, cdim, GridImp, GeometryImp >::jacobianInverseTransposed | ( | const FieldVector< ct, mydim > & | local | ) | const [inline] |
Return inverse of transposed of Jacobian.
The jacobian is defined in the documentation of Dune::Geometry::integrationElement().
- Parameters:
-
[in] local Position
- Returns:





- Note:
- This function may only be called in the case
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
The documentation for this class was generated from the following file: