NuT

Short Description
NuT is Monte Carlo code for neutrino transport and is a C++ analog to the Haskell McPhD code.
Programming Languages/Paradigms
C++
Spack Package Name
nut
Detailed description
NuT simulates neutrino transport. Currently, it runs in 1D, spherical and 3D Cartesian geometries (the mesh geometry and topology is carefully encapsulated, so adding another mesh requires a few hundred lines of interface implementation). Particles events are tallied in the lab frame, while scattering events (cross sections) are calculated in the co-moving frame. Cross-sections are computed via analytic formulae given in Herant et al [2]. Nut is a C++ analog to the Haskell McPhD code. It currently has serial (master branch) and OpenMP (openmp branch) implementations. NuT is principally aimed at exploring on-node parallelism and performance issues. Like McPhD, NuT's driver application is currently configured to run electron neutrinos and antineutrinos; mu and tau neutrinos are approximated as nu_x. Changing this is a simple edit.