This repository contains the sources of an openPMD plugin for the visualization
software VisIt.
This plugin now handles openPMD files in HDF5.
It works both in sequential and parallel.
The plugin can read Cartesian and axisymmetrical geometry (referred to
as thetaMode
in the standard).
This repository contains:
- The C++ source files
- An xml file
OpenPMD.xml
essential for building the plugin with VisIt tools - The directory
docs
that contains the documentation - The resources to generate a doxygen doc (in the directory
/Doxygen
) that describes the different classes - This
README.md
file
Sources are composed of files generated by VisIt:
avtOpenPMDFileFormat.C
: class for reading and converting file format in vtkOpenPMDEnginePluginInfo.C
OpenPMDMDServerPluginInfo.C
OpenPMDCommonPluginInfo.C
OpenPMDPluginInfo.C
And external C++ classes developed for reading openPMD files:
PMDFile.C
: Open, scan and print openPMD file structuresPMDiteration.C
: class for the iteration groupsPMDField.C
: class for the field groupsPMDParticle.C
: class for the particle groups
The docs
directory contains:
- CONTRIBUTING.md with instructions on how to contribute to this plugin
- ISSUE_TEMPLATE.md
VisIt plugins basically read outputs with some specific code or data formats to convert them internally into vtk readable data.
First, download and install Doxygen.
You can create the documentation by command line (see this page for more information)
doxygen Doxygen/Doxyfile
You can also use the GUI frontend. Open Doxygen/Doxyfile
, go to Run
, click on Run Doxygen
and finally Show HTML output
.
For more information about how to generate install a plugin, please, consider the following links:
Visit contains a series of tools that makes it easy to create and generate
plugins. Without going to the details, we will use one of them (xml2cmake
)
to install this plugin. These tools are located in the
directory <Visit application directory>/Contents/Resources/bin/
.
You also need to install a recent version of cmake.
You can find instructions to install and use the plugin depending on your
system in docs/installation
: