Reference documentation for deal.II version Git 2276b94619 2020-02-28 10:11:55 +0100
\(\newcommand{\vcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\vcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Static Public Member Functions | Static Public Attributes | List of all members
GeometryInfo< 0 > Struct Template Reference

#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 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_cellucd_to_deal = {{0}}
 
static const std::array< unsigned int, vertices_per_celldx_to_deal = {{0}}
 

Detailed Description

template<>
struct GeometryInfo< 0 >

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.

Author
Wolfgang Bangerth, 1998

Definition at line 1192 of file geometry_info.h.

Member Function Documentation

◆ face_indices()

static std::array<unsigned int, 0> GeometryInfo< 0 >::face_indices ( )
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:

for (auto &cell : triangulation.active_cell_iterators())
for (auto face_index : GeometryInfo<dim>::face_indices())
if (cell->face(face_index)->at_boundary())
... do something ...

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.

◆ n_children()

static unsigned int GeometryInfo< 0 >::n_children ( const RefinementCase< 0 > &  refinement_case)
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.

Member Data Documentation

◆ max_children_per_cell

constexpr unsigned int GeometryInfo< 0 >::max_children_per_cell = 1
static

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 1201 of file geometry_info.h.

◆ faces_per_cell

constexpr unsigned int GeometryInfo< 0 >::faces_per_cell = 0
static

Number of faces a cell has.

Definition at line 1206 of file geometry_info.h.

◆ max_children_per_face

constexpr unsigned int GeometryInfo< 0 >::max_children_per_face = 0
static

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 1234 of file geometry_info.h.

◆ vertices_per_cell

constexpr unsigned int GeometryInfo< 0 >::vertices_per_cell = 1
static

Number of vertices a cell has.

Definition at line 1247 of file geometry_info.h.

◆ vertices_per_face

constexpr unsigned int GeometryInfo< 0 >::vertices_per_face = 0
static

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 1255 of file geometry_info.h.

◆ lines_per_face

constexpr unsigned int GeometryInfo< 0 >::lines_per_face = 0
static

Number of lines each face has.

Definition at line 1260 of file geometry_info.h.

◆ quads_per_face

constexpr unsigned int GeometryInfo< 0 >::quads_per_face = 0
static

Number of quads on each face.

Definition at line 1265 of file geometry_info.h.

◆ lines_per_cell

constexpr unsigned int GeometryInfo< 0 >::lines_per_cell = 0
static

Number of lines of a cell.

Definition at line 1270 of file geometry_info.h.

◆ quads_per_cell

constexpr unsigned int GeometryInfo< 0 >::quads_per_cell = 0
static

Number of quadrilaterals of a cell.

Definition at line 1275 of file geometry_info.h.

◆ hexes_per_cell

constexpr unsigned int GeometryInfo< 0 >::hexes_per_cell = 0
static

Number of hexahedra of a cell.

Definition at line 1280 of file geometry_info.h.

◆ ucd_to_deal

const std::array< unsigned int, GeometryInfo< 0 >::vertices_per_cell > GeometryInfo< 0 >::ucd_to_deal = {{0}}
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.

for (i=0; i< n_vertices; ++i)
out << cell->vertex(ucd_to_deal[i]);

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 1299 of file geometry_info.h.

◆ dx_to_deal

const std::array< unsigned int, GeometryInfo< 0 >::vertices_per_cell > GeometryInfo< 0 >::dx_to_deal = {{0}}
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.

for (i=0; i< n_vertices; ++i)
out << cell->vertex(dx_to_deal[i]);

Definition at line 1314 of file geometry_info.h.


The documentation for this struct was generated from the following files: