deal.II version GIT relicensing-2287-g6548a49e0a 2024-12-20 18:30:00+00:00
|
#include <deal.II/base/geometry_info.h>
Static Public Member Functions | |
static std::array< unsigned int, 0 > | face_indices () |
static unsigned int | n_children (const RefinementCase< 0 > &refinement_case) |
static std::array< unsigned int, vertices_per_cell > | vertex_indices () |
static unsigned int | face_to_cell_vertices (const unsigned int face, const unsigned int vertex, const bool face_orientation=true, const bool face_flip=false, const bool face_rotation=false) |
static unsigned int | face_to_cell_lines (const unsigned int face, const unsigned int line, const bool face_orientation=true, const bool face_flip=false, const bool face_rotation=false) |
Static Public Attributes | |
static constexpr unsigned int | max_children_per_cell = 1 |
static constexpr unsigned int | faces_per_cell = 0 |
static constexpr unsigned int | max_children_per_face = 0 |
static constexpr unsigned int | vertices_per_cell = 1 |
static constexpr unsigned int | vertices_per_face = 0 |
static constexpr unsigned int | lines_per_face = 0 |
static constexpr unsigned int | quads_per_face = 0 |
static constexpr unsigned int | lines_per_cell = 0 |
static constexpr unsigned int | quads_per_cell = 0 |
static constexpr unsigned int | hexes_per_cell = 0 |
static const std::array< unsigned int, vertices_per_cell > | ucd_to_deal = {{0}} |
static const std::array< unsigned int, vertices_per_cell > | dx_to_deal = {{0}} |
This class provides a description of zero-dimensional cells. It has been superseded by the ReferenceCell class – see there for more information.
Topological description of zero dimensional cells, i.e. points. This class might not look too useful but often is if in a certain dimension we would like to enquire information about objects with dimension one lower than the present, e.g. about faces.
This class contains as static members information on vertices and faces of a dim-dimensional
grid cell. The interface is the same for all dimensions. If a value is of no use in a low dimensional cell, it is (correctly) set to zero, e.g. max_children_per_face in 1d.
This information should always replace hard-coded numbers of vertices, neighbors and so on, since it can be used dimension independently.
Definition at line 1232 of file geometry_info.h.
|
static |
Return an object that can be thought of as an array containing all indices from zero to faces_per_cell
. This allows to write code using range-based for loops of the following kind:
Here, we are looping over all faces of all cells, with face_index
taking on all valid indices.
Of course, since this class is for the case dim==0
, the returned object is actually an empty array.
|
static |
Return the number of children of a cell (or face) refined with ref_case
. Since we are concerned here with points, the number of children is equal to one.
|
static |
Return an object that can be thought of as an array containing all indices from zero to vertices_per_cell
. This allows to write code using range-based for loops of the following kind:
Here, we are looping over all vertices of all cells, with vertex_index
taking on all valid indices.
Of course, since this class is for the case dim==0
, the returned object is a array with just one entry: zero. That's because an of dimension zero is really just a single point, corresponding to a vertex itself.
|
static |
Map face vertex number to cell vertex number, i.e. give the cell vertex number of the vertex
th vertex of face face
, e.g. GeometryInfo<2>::face_to_cell_vertices(3,0)=2
, see the image under point N4 in the 2d section of this class's documentation.
Through the face_orientation
, face_flip
and face_rotation
arguments this function handles faces oriented in the standard and non-standard orientation. face_orientation
defaults to true
, face_flip
and face_rotation
default to false
(standard orientation). In 2d only face_flip
is considered. See this glossary article for more information.
As the children of a cell are ordered according to the vertices of the cell, this call is passed down to the child_cell_on_face() function. Hence this function is simply a wrapper of child_cell_on_face() giving it a suggestive name.
Of course, since this class is for the case dim==0
, this function is not implemented.
|
static |
Map face line number to cell line number, i.e. give the cell line number of the line
th line of face face
, e.g. GeometryInfo<3>::face_to_cell_lines(5,0)=4
.
Through the face_orientation
, face_flip
and face_rotation
arguments this function handles faces oriented in the standard and non-standard orientation. face_orientation
defaults to true
, face_flip
and face_rotation
default to false
(standard orientation) and has no effect in 2d.
Of course, since this class is for the case dim==0
, this function is not implemented.
|
staticconstexpr |
Maximum number of children of a cell, i.e. the number of children of an isotropically refined cell.
If a cell is refined anisotropically, the actual number of children may be less than the value given here.
Definition at line 1241 of file geometry_info.h.
|
staticconstexpr |
Number of faces a cell has.
Definition at line 1246 of file geometry_info.h.
|
staticconstexpr |
Maximum number of children of a refined face, i.e. the number of children of an isotropically refined face.
If a cell is refined anisotropically, the actual number of children may be less than the value given here.
Definition at line 1274 of file geometry_info.h.
|
staticconstexpr |
Number of vertices a cell has.
Definition at line 1287 of file geometry_info.h.
|
staticconstexpr |
Number of vertices each face has. Since this is not useful in one dimension, we provide a useless number (in the hope that a compiler may warn when it sees constructs like for (i=0; i<vertices_per_face; ++i)
, at least if i
is an unsigned int
.
Definition at line 1367 of file geometry_info.h.
|
staticconstexpr |
Number of lines each face has.
Definition at line 1372 of file geometry_info.h.
|
staticconstexpr |
Number of quads on each face.
Definition at line 1377 of file geometry_info.h.
|
staticconstexpr |
Number of lines of a cell.
Definition at line 1382 of file geometry_info.h.
|
staticconstexpr |
Number of quadrilaterals of a cell.
Definition at line 1387 of file geometry_info.h.
|
staticconstexpr |
Number of hexahedra of a cell.
Definition at line 1392 of file geometry_info.h.
|
static |
Rearrange vertices for UCD output. For a cell being written in UCD format, each entry in this field contains the number of a vertex in deal.II
that corresponds to the UCD numbering at this location.
Typical example: write a cell and arrange the vertices, such that UCD understands them.
As the vertex numbering in deal.II versions <= 5.1 happened to coincide with the UCD numbering, this field can also be used like a old_to_lexicographic mapping.
Definition at line 76 of file geometry_info.h.
|
static |
Rearrange vertices for OpenDX output. For a cell being written in OpenDX format, each entry in this field contains the number of a vertex in deal.II
that corresponds to the DX numbering at this location.
Typical example: write a cell and arrange the vertices, such that OpenDX understands them.
Definition at line 79 of file geometry_info.h.