|
dune-grid
2.4.1
|
#include <dune/grid/sgrid.hh>

Public Types | |
| typedef GridImp::ctype | ctype |
| define type used for coordinates in grid module More... | |
Public Member Functions | |
| void | make (const FieldVector< ctype, cdim > &lower, const FieldMatrix< ctype, mydim, cdim > &A) |
| Set up the geometry. More... | |
| SGeometry () | |
| constructor More... | |
SGeometry realizes the concept of the geometric part of a mesh entity.
The geometric part of a mesh entity is a
-dimensional object in
where
corresponds the template parameter dim and
corresponds to the template parameter dimworld.
The
-dimensional object is a polyhedron given by a certain number of corners, which are vectors in
.
The member function global provides a map from a topologically equivalent polyhedron ("reference element") in
to the given polyhedron. This map can be inverted by the member function local, where an appropriate projection is applied first, when
.
In the case of a structured mesh discretizing a generalized cube this map is linear and can be described as
where
is a given position vector, the
are given direction vectors and
is a local coordinate within the reference polyhedron. The direction vectors are assumed to be orthogonal with respect to the standard Eucliden inner product.
The
-dimensional reference polyhedron is given by the points
.
In order to invert the map for a point
, we have to find a local coordinate
such that
. Of course this is only possible if
. In the general case
we determine
such that
The resulting system is diagonal since the direction vectors are required to be orthogonal.
| typedef GridImp::ctype Dune::SGeometry< mydim, cdim, GridImp >::ctype |
define type used for coordinates in grid module
|
inline |
constructor
|
inline |
Set up the geometry.
| lower | The lower left corner |
| A | The direction vectors |
Allows a consistent treatment of all dimensions, including 0 (the vertex).
Referenced by Dune::SIntersection< const GridImp >::centerUnitOuterNormal(), Dune::SEntityBase< codim, dim, GridImp, SEntity >::SEntityBase(), and Dune::SIntersection< const GridImp >::SIntersection().
1.8.11