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

Fiber Bundle HDF5 - Getting Started (last updated 4. Sep 2023)

Basic Installation under Windows - MSYS2

As of now, Windows MSYS2 is the most used development platform. Both F5 and HDF5 are inherently cross-platform and can run under any OS with any build environment, but MSYS2 is supported best as of now. To install it, follow the following steps:

  1. Go to https://www.msys2.org/
  2. Download MSYS2 installer
  3. Install MSYS2
  4. Open
    C:\msys64\mingw64.exe
    A command line window will appear, similar to the command prompt of Windows. It is not identical however, as this one will support the full MSYS2 environment and is based on the Unix bash. It is recommendable to pin this app to the taskbar for future usuage. Make sure to not confused it with another .exe in the same directory.
  5. Update the MSYS2 distribution
    pacman –Syuu
  6. Install the GCC compiler
    pacman -S mingw-w64-x86_64-gcc
  7. Install the development tools, which conveniently come with QT
    pacman -S mingw-w64-x86_64-qt-creator
  8. Install the openssl library, which is used by the (optional) networking part of HDF5:
    pacman -S openssl
  9. Install SVN (a source code version control similar to GIT, but easier, with better support for modular checkout) Either via
    pacman –S subversion
    Or get Tortoise SVN, which integrates nicely into Windows, download from https://sourceforge.net/projects/tortoisesvn/ Here, also install the command line tools, but do not use the pacman version at the same time. To use the Tortoise SVN command line tools in MSYS, it is recommended to define the following alias
    alias svn='C:/Program\ Files/TortoiseSVN/bin/svn.exe'
    . This setting can be placed in your $HOME/.bashrc file.

Getting the HDF5 / F5 source code and compile

Open the MINGW64 command line shell and do SVN checkout of the predefined bundle:

svn co https://subversion.assembla.com/svn/FiberHDF5/F5-hdf5-1.10.4-S3 F5

This will retrieve the bundled source code of the F5 library together with a version of HDF5. It will be placed into a subdirectory F5 . Alternatively, use Tortoise SVN in the Windows explorer to do the same. Check it out into

c:\msys2\home\<USER>

to place it into the location where the MSYS2 shell operates.

After checkout, change into the respective folder and compile:

cd F5
mingw32-make –j4

If you have a powerful machine, then instead of "-j4" a higher number can be used. The number should match the number of available processors on your computer for parallel compilation.

Building the documentation

If you want these help pages on your computer, install doxygen and run it in the F5 folder:

cd F5
mingw32-make doc

Then, open the file

doc/html/index.html

using the webbrowser of your choice.

Running examples

A pretty simple first example is computing and outputting a scalar field (i.e. a field with a single floating point number) on a 3D volume. Run it by:

cd examples/ScalarSimple
mingw32-make
mingw32-make exec

Other Examples

It is recommended to run the respective examples and inspect the source code in the respective folders to learn how to write a particular dataset:

  1. examples/ScalarSimple
    scalar field volumetric data in 3D
  2. examples/Particles
    A time-dependent Point Cloud
  3. examples/VectorFields
    3D vector field
  4. examples/Lines
    Time-dependent lines
  5. examples/icosahedron
    Triangular Mesh The examples are supposed to give starting points, based on simple cases. For simple cases, writing them to F5 files is supposed to be simple. The more complex a dataset gets, the more it will be required to delve deeper into more low-level functions, and to eventually reproduce by yourself what the high-level functions do - but this time with full flexibility of extending beyond the predefined high-level functions.

Collection of converters and tools

Various converters and tools have been written already and are available via the same SVN repository. To retrieve them, do

mingw32-make converters tools

in the checked out toplevel folder. This will create the respective subdirectories with some programs that may help on providing guidance with writing your own converters and / or tools.