The F5 Library
The purpose of this library is to provide a simple C-API for writing HDF5 files using the concept of fiber bundles. It allows to cover a wide range of data types used for scientific computing through a common denominator in a mathematically founded systematic approach.
In the concept of fiber bundles, we distinguish among a base space and a fiber space. The base space corresponds to a mesh type or "grid", e.g. a regular or irregular grid. The fiber space corresponds to data given on each vertex or cell type, e.g. scalar fields, vector fields, tensor fields, spinor fields. Taking into account practical requirements in scientific visualization, the abstract concept has been cast into six levels of hierarchy within an HDF5 file layout.
A detailed description of the concept has been developed as part of the PhD thesis Visualization of General Relativistic Tensor Fields via a Fiber Bundle Data Structure.
.
F5 requires at least HDF5 1.6.1. Earlier versions of HDF5 will not work because they failed to support shared types on attributes.
F5 is available under Light++ Copyright License.
It may be used as standalone package including the make configuration system. This package is a bare-bone component that can be used within applications using the same make system (for instance the Amira visualization environment), and as application Thorns for usage within CACTUS. Download a snapshot version from:
F5.tgz | Raw library for inclusion within other applications |
F5Uniform.tgz | CACTUS Thorn for uniform data |
F5Carpet.tgz | CACTUS Thorn for AMR data generated by Carpet |
AmiraF5.tgz | Amira Extension |
For the standalone packages, change directory in the FiberHDF5 directory and invoke GNU make. The messages should be self-explaining. You will need to set the environment variable HDF5_INSTALL_DIR
, e.g.
export HDF5_INSTALL_DIR=/usr/local/hdf5-1.6.2/
Note that while F5 is pretty stable, these version available here may be outdated and newer versions (in particular including more file converters from existing formats) may be available. Please sent any comments/requests/questions to werner (at) cct.lsu.edu
For compilation, two modes are available: `Debug' and `Optimize'. Switch between these modi by setting the environment variable MAKE_CFG
or on the command line when invoking make: make MAKE_CFG=Optimize
or make MAKE_CFG=Debug
. Alternatively, MAKE_CFG
may be set as environmment variable, too.
The licensing conditions allow F5 to be freely to used for academic and private purposes. Distribution with GNU software is permitted, as long as this other software does not require this software to be GNU, too.