Howdy,
I’ve been working with unstructured meshes in OpenMC and got tired of the
post-processing side of things, so I built a tool to make it easier:
TONI-Exo (Translator for OpenMC Neutron Information To Exodus).
OpenMC can already write tally results to an Exodus file if you’re using an
Exodus mesh with libMesh, but those values are in raw per-source-particle
units. TONI-Exo picks up where that leaves off — it reads the statepoint
file and the mesh, maps tally results onto the mesh elements with the
physics unit conversions applied, and writes the output as an Exodus II file
that you can open directly in ParaView or VisIt. It also handles material
mapping from a DagMC geometry so that the conversions have the volume and
composition data they need.
Right now it supports a few physics conversions that are relevant to fusion
neutronics:
- Heating (eV/source-particle → W/m^3)
- Tritium Production (reactions/source-particle → g/s/m^3)
- Damage-Energy (eV/source-particle → DPA)
It also supports energy-bin decomposition, so if your tally has an energy
filter it will write out a separate variable for each bin plus a total.
There’s a --raw flag if you just want the values straight from the
statepoint without any conversion.
It’s written in C++ with OpenMP parallelism and streams the HDF5 data in
chunks, so it can handle large meshes (I’ve been running it on 13M element
problems) without blowing up memory.
The tool is still pretty basic and doesn’t have a lot of example problems
beyond my own research, but I figured sharing it with the community might
help it grow. The current unit conversions are geared toward fusion
neutronics, but the framework is set up so that adding new conversions for
other applications (shielding, activation, medical physics, etc.) would be
straightforward. With more people contributing, we could build out support
for additional score types, different tally filters, and application-specific
post-processing that the community actually needs. If you work with
unstructured meshes in OpenMC and have been doing your own post-processing
scripts, this might save you some time — and any feedback, issues, or
contributions would be welcome.
Repo: Travis Hallam / TONI-Exo — Translator for OpenMC Neutron Information To Exodus · GitLab
Cheers,
Travis