Skip to content

HDF5 support for parallel output

Dave Moxey requested to merge feature/hdf5 into master

This MR adds support for HDF5 output format as an alternative to our existing XML-based format thanks to the hard work of @mrbareford and @rupert.nash! The following changes have been incorporated as part of this work:

  • Move FieldIO to a factory format, with FieldIOXml for XML output and FieldIOHdf5 for HDF5 output.
  • Default output format is XML but can be switched to HDF5 by setting the IOFormat SOLVERINFO tag, or the --io-format command line argument -- the argument will override the XML file.
  • The MPI communicator has been templated to allow a wider range of data types to be sent/received, and a couple of new functions have been added (broadcast, splitting of communicator on bool, ...)
  • Boundary conditions are now equipped with their own communicator so that we can read HDF5 on a subset of processors.
  • Lots of Doxygen added for both formats
  • FieldConvert can also convert between formats:
FieldConvert in.fld out.fld:fld:format=Hdf5

Merge request reports