Skip to content
  • Chris Cantwell's avatar
    Merge branch 'feature/hdf5' into 'master' · a79b79f0
    Chris Cantwell authored
    HDF5 support for parallel output
    
    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
    ```
    
    See merge request !615
    a79b79f0