Further information on ESI format ERF-HDF5
In this section we take a closer look at a specific ERF file, see HDFView_example.jpg, and try to understand what blocks the MESHRFREE-generated ERF files generally contain and which data is stored where.
Constant and varying data: ERF distinguishes between blocks with constant data and blocks with data that varies depending on independent variables. Mostly, "time" is the only independent variable. All constant data is stored in the file "constant" and all varying data is stored in the file "singlestate". In "singlestate" there are several subfiles called "stateXXXXXX" for the different timesteps under consideration. The number of the independent variables is stored in the file "indices", while the definition of them is done in the singlestates under "entityresults" in "indexident" (timestep number) and "indexeval" (concrete value of the time).
MESHFREE points and boundary elements: Two different kinds of simulation results are written out, the information on the MESHFREE points and their respective SAVE_Item values and the information on the boundary elements that represent the geometry. The MESHFREE points are treated as 0D Finite Elements, i.e. single points without triangulation, of the type "FPM", while the boundary elements are 2D Finite Elements of the type "SHELL".
Entity IDs: Every MESHFREE point n and every boundary element n is referenced via a unique ID entid(n). It should be stressed, that every boundary element, i.e. every triangle, is referenced by only one ID, not by three.
The connectivities files: There are two files that contain information on neighborhood relations. The "connectivities" file in the "constant" folder contains information on the fixed neighborhood relations between the boundary elements while the files with the same name in the "singlestate" folder contain information on the changing neighborhood relations between the MESHFREE points. But that is not all, the latter folder also associates point coordinates via its attributes with the simulation data of the SAVE_Items. It is a very important file that describes connectivities between sets of data in general.
The files variable and variablegroup: The constant file "variable" contains metadata on the SAVE_Items like their name, if they are scalars or vectors or their units. These variables have to be paired with a "variablegroup", because this is the standard procedure and not because it would be needed in the case of MESHFREE. So for every variable a variable group with the same name is created, which contains just this variable.
The entityresults files: The constant file "entityresults" contains the positions of the boundary elements at timestep 0. Its non-constant counterpart contains the simulation data for the MESHFREE points. The data for the SAVE_ITEMS is stored in "FPM" in "res" and referenced via the entity IDs. The file "FPMNODE" contains the absolute coordinates of the MESHFREE points and their vector-valued velocities. "SHELL" and "NODE" are the equivalents of "FPM" and "FPMNODE" for the boundary elements. "NODE" does not contain the absolute coordiantes of the boundary elements but their relative coordinates compared to the ones at timestep 0.
Distinguish between boundary parts: In "PART" the aliases for different parts of the boundary are saved in the dataset "title" and IDs for these parts are stored in "pid". This would be needed, if one wants to make some parts of the boundary invisible for visualization purposes.