FiberBundleHDF5  $Id: FiberHDF5.dfg,v 1.8 2006/12/12 12:32:50 werner Exp $
Grid Objects

Fiber Bundle HDF5 - Grid Structure (grid group)

A grid is an object referring to some geometrical entity (for a specific instance in parameter space like time). A grid subgroup (contained within a slice group) contains all information related to this object. Evolution Information relative to the grid predeccessor and successor (in arbitrary parameterizations) may also be stored here.

A Grid contains a ‘Charts’ subgroup defining (time-)local chart properties (eg. time-dependent transformation coefficients) and various Topology subgroups. Four Topology subgroups are predefined and must not be used as user-defined Topology groups, these groups are:

  • Points: All information related to the vertices
  • Connectivity: All information related to the cells of a grid
  • Edges: All information related to the edges (1D-connectivity among points) of a grid
  • Faces: All information related to the faces (2D-connectivity among points) of a grid

Each of these subgroups is optional. Arbitrary other Topology subgroups may be defined, eg. for AMR purposes.

Grid "VolumeData"
  |
  |---> Charts/
  |
  |---> Points/
  |
  |---> Connectivity/
  |
  |---> Faces/
  |
  |---> Edges/
  |
[...]

The ‘Charts’ subgroup of a Grid

This reserved group per Grid contains information which charts are defined on a grid and which transformation rules are allowed on this grid. It has an entry (a subgroup) for each defined chart. This chart subgroup contains a reference (symbolic link) to the corresponding global chart object which allows to identify and track compatible chart objects with their corresponding data representation over various grids. This symlink has to be named ‘GlobalChart’. Each chart subgroup then has a subgroup ("Transformation group") named by another chart object. This subgroup contains all the information which is required to perform coordinate transformations into this chart.

Charts/
   |
   |--> "Standard Cartesian Chart 3D"/
   |              |
   |              |---->   /GlobalChart -> /Charts/Cartesian 3D/Standard Cartesian Chart 3D   (symlink to global chart object)
   |              |
   |              \---->  "Standard Polar Chart 3D"/  Group containing transformation data (Cartesian->Polar)
   |
   |
   \--> "Standard Polar Chart 3D"/
                  |
                  |---->  /GlobalChart -> /Charts/Polar 3D/Standard Polar Chart 3D     (symlink to global chart object)
                  |
                  \----> "Standard Cartesian Chart 3D"/ Group containing transformation from Polar to Cartesian

Extensions and Restrictions

  • The reserved groupnames in a Grid subgroup are Charts, Points, Connectivity, Edges and Faces.

  • A chart must not be named "GlobalChart", as this is a reserved name for the reference for local chart objects to global chart objects.

  • If a dataset is found in the grid subgroup, it is treated as if it were part of the Points Topology.

  • It the dataspace in the Points Topology (it has to be identical for all datasets, see Topology) is n-dimensional, then the Connectivity Topology is chosen to be a regular n-dimensional space. The additional explicit specification of a Connectivity Topology (eg. to specify additional attributes or mappings) must be consistent, otherwise it is ignored.

  • The formulation of reference from local chart objects to global chart objects is somewhat fragile. A revised formulation might make use of attributes to named data types to enable sharing information more elegant.

  • A chart group might also be a symlink to an existing chart group of another grid. In this case the these charts are not only treated to be compatible, but to be identical:

    • A set of compatible charts is used for selecting a representation among various grids. However, data on compatible charts must not be compared directly, eg. they must not be interpolated. First data on compatible charts must be found on an identical chart (here interpolation is allowed), and then - by the means of local transformation rules - be converted into data on the respective compatible charts.
    • This distinction among compatible and identical charts allows the specification of non-commutative transformation rules.

  • The generic specification of transformation rules is not yet defined. For now, the type of the global chart object is used to select among built-in transformation rules, like cartesian and polar coordinates.

  • For transformations among two cartesian chart objects the transformation group would contain
    • The translation vector among the origins of the coordinate systems
    • A rotation matrix
    • A scale factor in each direction
    Note that these transformation information is related to the mapping of point coordinates, not to the tangential space, where the transformation can always be specified by a transformation matrix.