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
-
mydim | Dimension of the domain |
cdim | Dimension of the range |
GridImp | Type that is a model of Dune::Grid |
GeometryImp | 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.
template<int mydim, int cdim, class GridImp , template< int, int, class > class GeometryImp>
type of jacobian inverse transposed
The exact type is implementation-dependent. However, it is guaranteed to have the following properties:
- It satisfies the ConstMatrix interface.
- It is copy constructible and copy assignable.
template<int mydim, int cdim, class GridImp , template< int, int, class > class GeometryImp>
type of jacobian transposed
The exact type is implementation-dependent. However, it is guaranteed to have the following properties:
- It satisfies the ConstMatrix interface.
- It is copy constructible and copy assignable.
template<int mydim, int cdim, class GridImp , template< int, int, class > class GeometryImp>
export geometry dimension
Enumerator |
---|
mydimension | geometry dimension
|
template<int mydim, int cdim, class GridImp , template< int, int, class > class GeometryImp>
export coordinate dimension
Enumerator |
---|
coorddimension | dimension of embedding coordinate system
|
template<int mydim, int cdim, class GridImp , template< int, int, class > class GeometryImp>
return center of geometry
Note that this method is still subject to a change of name and semantics. At the moment, the center is not required to be the centroid of the geometry, or even the centroid of its corners. This makes the current default implementation acceptable, which maps the centroid of the reference element to the geometry. We may change the name (and semantic) of the method to centroid() if we find reasonably efficient ways to implement it properly.
template<int mydim, int cdim, class GridImp , template< int, int, class > class GeometryImp>
Obtain a corner of the geometry.
This method is for convenient access to the corners of the geometry. The same result could be achieved by calling
- Parameters
-
[in] | i | number of the corner (with respect to the reference element) |
- Returns
- position of the i-th corner
template<int mydim, int cdim, class GridImp , template< int, int, class > class GeometryImp>
int Dune::Geometry< mydim, cdim, GridImp, GeometryImp >::corners |
( |
| ) |
const |
|
inline |
Return the number of corners of the reference element.
Since a geometry 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.
template<int mydim, int cdim, class GridImp , template< int, int, class > class GeometryImp>
template<int mydim, int cdim, class GridImp , template< int, int, class > class GeometryImp>