deal.II version GIT relicensing2069gd7d5dbb18d 20241101 22:40: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 zerodimensional 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 dimdimensional
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 hardcoded 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 rangebased 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 rangebased 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 nonstandard 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 nonstandard 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.