Py4Incompact3D is a library for postprocessig data produced by Xcompact3D simulations. The aim of this project is to facillitate automated postprocessing of Xcompact3D simulations by providing, at first:
- Mesh class: this stores the domain data for the simulation
- Case class: this stores the information of the case: boundary conditions, fields etc.
With these building blocks, complex postprocessing tools may be built - for example, derivative calculateors to compute the vorticity and Q-criterion given the velocity field.
- Clone the git repository
- Move into the location you cloned the code to and
pip install ., you may need to usepip install --user .if you do not have write permissions in the defaultpip installlocation. - Test module can be imported by python interpreter:
import py4incompact3d - [Optional] Install
h5pyusingpip3 install h5pyto work with HDF5 files generated by Xcompact3d - note this is only intended as a temporary solution until a proper integration with ADIOS2 is implemented. Upon importpy4incompact3dwill report the status of HDF5 functionality, this can be toggled on/off by running py4incompact3d.toggle_hdf5() which will repeat the status report to confirm if HDF5 has been enabled.
Documentation of functions can be found under doc/build/latex/.
To regenerate documentation, from the project root type make -C doc/ latexpdf (requires
sphinx with the sphinx-fortran extension installation instructions).
It is hoped that users of Xcompact3D will find this library useful and contribute to its development, for instance by adding additional functionality.