-
Notifications
You must be signed in to change notification settings - Fork 14
Home
Welcome to the GHEX wiki!
Generic exascale-ready library for halo-exchange operations
Here we shall describe the concepts as we go and try to keep them up to date.
When working with generic data originating from different physical applications it is necessary to be able to describe the topology and decomposition of the relevant data. This description shall be gathered in a generic mesh description which is able to handle different meshes and their domain decompositions. Note that we are not considering meshes with less than 3 spatial dimensions. Some examples of meshes and their spatial decompositions are
- 2-Dimensional rectilinear grid + vertical dimension (regional weather and climate simulations)
- decomposition along first or first and second dimension
- N-Dimensional rectilinear grid (hypercube)
- decomposition along n <= N dimensions
- inflated tessellated icosahedral surface mesh + vertical dimension (global weather and climate simulations)
- decomposition?
- inflated tessellated cubical surface mesh + vertical dimension (global weather and climate simulations)
- decomposition?
- 2-Dimensional unstructured mesh (can be surface grid of a sphere) + vertical dimension
- decomposition along space filling curve of 2D mesh?
- completely unstructured mesh in N>2 dimensions
- decomposition along space filling curve?
All of the meshes may hold data fields of any type, i.e. they can store scalars, vectors, tensors... of floating point types, cardinal types (and possibly user defined types -> need to be serializable?).
In general, we need a concept to describe
- the coordinate/location for any given cell (and possibly edge for staggered grids),
- the portion of the mesh that is local and
- a way to find the neighbour information
- this can be either shell-wise (edge/vertex neighbours of cells) or
- by specifying halos (only for regular grids, can be asymmetric)
- inflated grid is an unstructured grid of a regular grid