The Concepts of the Grid Algorithms Library

The Grid Algorithms Library (GrAL) is a library for generic programming with grids (e.g. Finite Element meshes). Its aim is to provide grid-based algorithms in a way that is completely independent of the data structures used to represent grids.

The general ideas underlying GrAL are introduced in the first part. The concepts are discussed in a more formal way in the concepts section.

Some generic and concrete components are presented in the Components section. A more exhaustive documentation can be found in the GrAL source index. (There is some overlap between these two parts of the documentation, due to "historical" reasons.) At any rate, this part of the documentation is intended to explain the rather "theoretical" issues, whereas the source documentation documents the "practical" state as it is.

• Introduction
• Grids, Algorithms and Reuse
• Overview over the Grid Category
• The combinatorial grid layer
• Data associations (grid functions)
• The geometric layer
• Concepts
• Grid Entities
• Grid Entity Concept
• Grid Element Concept
• Grid Vertex Concept
• Grid Edge Concept
• Grid Facet Concept
• Grid Face Concept
• Grid Cell Concept
• Grid Element Handle Concept
• Vertex (Cell, Edge, ...) Handle Concept
• Grid Iterators
• Grid Sequence iterator Concept
• Grid Incidence Iterator Concept
• Grid Vertex (Edge, Facet, Cell ...) Iterator Concept
• Vertex-On-Cell (-Facet, ...) Iterator Concept
• Cell-On-Cell Iterator Concept
• Grids and Grid Ranges
• Grid Range Concept
• Grid Concept
• Cell-Vertex Input Grid Range
• Vertex (Edge, Cell, ...) Grid Range Concept
• Grid-With-Boundary Concept
• Grid Functions
• Grid Element Function Concept
• Grid Function Concept
• Mutable Grid Function Concept
• Container Grid Function Concept
• Total Grid Function Concept
• Partial Grid Function Concept
• Grid Geometries
• Vertex Grid Geometry Concept
• Volume Grid Geometry Concept
• Components
• Grids and grid ranges
• Complex2D Grid Type
• CartesianGrid2D Grid Type
• enumerated_subrange Type
• IstreamComplex2DFmt Type
• Grid elements
• vtuple<GRID> Type
• Grid iterators
• FacetIterator<> Type
• Grid functions
• grid_function_vector<E,T> Type
• grid_function_hash<E,T> Type
• partial_grid_function_<E,T> Type
• Grid geometries
• Functors
• Grid algorithms
• Cell-neighbor-search Algorithm
• Count boundary components Algorithm
• ConstructGrid Algorithm