HDF5 Output Format Description
A detailed description of the mesh format is found here:
==> MeshFormat.pdf <==
Main idea behind the Mesh Format
The High Order Preprocessor (HOPR) is able to generate high order unstructured 3D meshes, including
tetrahedra, pyramids, prisms and hexahedra. The HDF5 library (http://www.hdfgroup.org/)
allows to use parallel MPI-I/O, thus the mesh format is designed for a fast parallel read-in, using
large arrays. There is also the GUI HDFView to browse h5 files.
An important feature of HOPR is that the elements are ordered along a space-filling curve. This allows a simple domain decomposition during parallel read-in, where one simply divides the number of elements by the number of domains, so that each domain is associated with a contiguous range of elements. That means one can directly start the parallel computation with an arbitrary number of domains (≥ number of elements) by always reading the same mesh file.
For each element, the neighbor connectivity information of the element sides and the element node information (index and position) are stored as a package per element, allowing to read contiguous data blocks for a given range of elements. To enable a easy and fast parallel read-in, the coordinates of the element nodes are stored element-wise, so that same physical nodes are stored several times, but will be still associated to another by a unique global node index.
- Indexing starts at 1! (Fortran Style)
- Element connectivity is based on CGNS unstructured mesh standard (CFD general notation system, http://cgns.sourceforge.net), see Section 4.3.
- The polynomial degree Ngeo of the curved element mappings is globally defined. Straight-edged elements are found for Ngeo = 1.
- Only the nodes for the volume element mapping and no surface mappings are stored.
- Curved node positions in reference space are uniform for all element types