Grid Vertex ConceptGrid EntitiesGrid Entity ConceptGrid Element Concept

Grid Element Concept


A Grid Element is an entity, such as a Grid Vertex, that belongs to a Grid. To each grid element, there is associated a unique grid (the anchor grid). Two elements may be compared for equality, if they belong to the same grid.

Conceptually, a combinatorial grid consists of its elements of different dimension (Vertices, Edges and so on), plus an incidence relation between them. This does not imply, however, that the element constituing a grid must be stored permanently within the grid.

We name the element types of a grid consistently according to the following table, where we distinguish between names relating to element dimension and element codimensionX


Dimension Codimension
Vertex 0  
Edge 1  
FaceX 2  
Facet   1
Cell   0

This naming scheme allows for a dimension-independent formulation of many algorithms: for example fluxes in finite volume algorithms are always defined on Facets.

Refinement of

Grid Entity

The only refinement is, in fact, that the anchor type is equal to the grid type.


E is a type which is a model of Grid Element
e, e1, e2 are objects of type E
g is an object of type E::grid_type

Associated types


Expression Description
Grid type E::grid_type the same as E::anchor_type (defined in Grid Entity)

Valid Expressions


Expression Type requirements return type
Anchor Grid e.TheGrid()   grid_type const&

Expression semantics


Expression Precondition Semantics Postcondition
Anchor grid reference grid_type const& g = e.TheGrid() e is valid equivalent to g = e.TheGrid()  

Complexity guarantees


  1. some of these types can coincide: for a concrete 2D-grid, the types Edge and Facet can be the same. But it is also possible to define them as distinct types.
  2. There cannot be a type Face defined for 1D-grids.
See also

Grid   Grid Entity   Grid Element Handle

Guntram Berti

Grid Vertex ConceptGrid EntitiesGrid Entity ConceptGrid Element Concept