A modular toolkit of fast and reliable libraries for neutronics analysis
The full library documentation published here
This is a pre-release version for testing and development, with the API subject to change until a stable 1.0 release. The core structure and libraries are written but it is a matter of finding time to extend all the high-level features and functionality
Several simple and efficient command line tools are written using this core library.
Un-linked tools will be made public when I have time to clean them up.
Command line | Description |
---|---|
mesh2vtk | Convert any meshtal tally to various VTK formats |
splitmesh | Split meshtal tallies into individual files |
posvol | Inspect and convert binary UKAEA CuV posvol files |
mesh2ww | Convert any meshtal tally to a mesh-based global weight windows |
decaydata |
CLI for all decays data information from the IAEA chart of nuclides |
fisdef |
Generate source cards of any decay type from FISPACT-II inventories |
fisjson |
General convenience tools for quickly assessing FISPACT-II inventories |
bude |
Build-up Density Extrapolation (BUDE) mesh generation |
pointextract |
Extract voxel results for any point(s) in a mesh |
All tools are fully documented with detailed --help
messages, including
examples for common use cases.
The ntools
toolkit contains a collection of mostly modular libraries for
common fusion neutronics tasks and analysis.
Crate | Description |
---|---|
fispact | Analysis tools for FISPACT-II inventory calculations |
iaea | Module for interacting with the IAEA decay data API |
mesh | MCNP mesh tally operations and file parsing |
posvol | Se/deserialiser for UKAEA CuV posvol binaries |
utils | Common utilities and extension traits |
weights | Tools for MCNP weight window operations |
wwgen | Weight window generation methods for MCNP |
The decision was made to split the command line tools and core libraries into separate repositories for better maintainability, scalability, and shorter compile times.
ntools
is a collection of utility crates that can be used individually or in
combination.
The ntools
crates are included as dependencies through feature flags. Specify
"full"
to include everything.
[dependencies]
ntools = { git = "https://github.com/repositony/ntools.git", features = ["full"] }
It is recommended that users are more selective to avoid compiling unnecessary dependencies.
For example, if only the fispact
and iaea
crates are needed:
[dependencies]
ntools = { git = "https://github.com/repositony/ntools.git", features = ["fispact", "iaea"] }
To reproduce the full library documentation seen
here, specify the "full"
feature flag.
cargo doc --workspace --no-deps --features full
To run all tests for all modules, use the --workspace
flag.
cargo test --workspace