Skip to content

A modular toolkit of fast and reliable libraries for neutronics analysis. Several command line tools are built with this core collection of crates.

License

Notifications You must be signed in to change notification settings

repositony/ntools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Neutronics toolbox

Build Status Documentation

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

Command line tools

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.

Library overview

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.

Modular crates

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"] }

Documentation and Tests

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

About

A modular toolkit of fast and reliable libraries for neutronics analysis. Several command line tools are built with this core collection of crates.

Topics

Resources

License

Stars

Watchers

Forks

Languages