dune-geometry
2.2.0
|
Modules | |
Transition to Generic Reference Elements |
Classes | |
struct | Dune::GenericReferenceElements< ctype, dim > |
Class providing access to the singletons of the generic reference elements. Special methods are available for simplex and cube elements of any dimension. The method general can be used to obtain the reference element for a given geometry type. More... | |
class | Dune::GenericReferenceElement< ctype, dim > |
This class provides access to geometric and topological properties of a reference element. This includes its type, the number of subentities, the volume, and a method for checking if a point is inside. The embedding of each subentity into the reference element is also provided. More... |
In the following we will give a definition of reference elements and subelement numbering. This is used to define geometries by prescibing a set of points in the space .
The basic building block for these elements is given by a recursion formula which assignes to each set either a pyramid element
and a prism element
with
and
. The recursion starts with a single point
.
For this leads to the following elements
In general if is a cube then
is also a cube and if
is a simplex then
is also a simplex.
Based on the recursion formula we can also define a numbering of the subentities and also of the sub-subentities of or
based on a numbering of
. For the subentities of codimension
we use the numbering
For the subentity of codimension in a codimension
subentity
we use the numbering induced by the numbering the reference element corresponding to
.
Here is a graphical representation of the reference elements: -# <b>One-dimensional reference element. For d=1 the simplex and cube are identical</b> \image html gg_line.png -# <b>Two-dimensional reference simplex (a.k.a. triangle)</b> \image html gg_triangle.png -# <b>Three-dimensional reference simplex (a.k.a. tetrahedron)</b> <table class="imagelist"><tr> <td>\image html gg_tetrahedron.png "Face Numbering"</td> <td>\image html gg_tetrahedron_edges.png "Edge Numbering"</td> </tr></table> -# <b>Two-dimensional reference cube (a.k.a. quadrilateral)</b> \image html gg_quadrilateral.png -# <b>Three-dimensional reference cube (a.k.a. hexahedron)</b> <table class="imagelist"><tr> <td>\image html gg_hexahedron.png "Face Numbering"</td> <td>\image html gg_hexahedron_edges.png "Edge Numbering"</td> </tr></table> -# <b>Prism reference element</b> <table class="imagelist"><tr> <td>\image html gg_prism.png "Face Numbering"</td> <td>\image html gg_prism_edges.png "Edge Numbering"</td> </tr></table> -# <b>Pyramid reference element</b> <table class="imagelist"><tr> <td>\image html gg_pyramid.png "Face Numbering"</td> <td>\image html gg_pyramid_edges.png "Edge Numbering"</td> </tr></table>
In addition to the numbering and the corner coordinates of a reference element we also define the barycenters
, the volume
and the normals
to all codimension one subelements.
The recursion formula is also used to define mappings from reference elements to general polytop given by a set of coordinates for the corner points - together with the mapping
, the transpose of the jacobian
is also defined where
is the dimension of the reference element and
the dimension of the coordinates. This sufficies to define other necessary parts of a Dune geometry by LQ-decomposing
: let
be given with a lower diagonal matrix
and a matrix
which satisfies
:
The next sections describe the details of the construction.
We define the set of reference topologies by the following rules:
For each reference topology we define the following values:
Notice that the number of vertices (i.e., subtopologies of codimension ) of a topology
does not uniquely identify the topology. To see this, consider the topologies
and
. For these topologies we have
.
For each reference topology we assosiate the set of corners
defined through
The convex hall of the set of points defines the reference domain
for the reference topology
; it follows that
A pair of a topology
and a map
with
is called an element.
The reference element is the pair .
For a given set of points we define a mapping
through
for all
. This mapping can be expressed using the recurive definition of the reference topologies through:
Given a reference topology , a codimension
and a subtopology
we define a subset of the corner set
given by the subsequence
of
:
,
, and for
we define
through the recursion
Given these subsets we define subreference elements of
given by the following mapping
.
Furthermore we define a numbering of the subreference elements of each subreference element in . This is the number
for
,
, and
,
for which