C.2. Fields, Meshes, and Centerings

A Field has a mesh and a centering. It is implemented in src/Field/Field.h.

Figure C-5. Field

A Field is like an Array but having spatial
      extent.

C.2.1. Meshes

A mesh specifies a Field's spatial extent. A Mesh class only exists conceptually, but NoMesh and UniformRectilinearMesh are defined within the src/Field/Mesh directory.

Figure C-6. Meshes

The abstract Mesh class is realized by
      NoMesh and UniformRectilinearMesh.

Figure C-7. NoMesh

If a Field has a NoMesh mesh, it has no
      spatial extent.

In the following figure, we abbreviate UniformRectilinearMesh with "URM".

Figure C-8. UniformRectilinearMesh

The UniformRectilinearMesh is the most
      common Field mesh.

C.2.2. Centerings

A Centering specifies the location of values within a cell. CanonicalCentering is a helper class returning common centerings. Both are implemented within the src/Field subdirectory.

Figure C-9. Centering Classes

CanonicalCentering returns commonly-used Centerings.