KiT-RT is an open-source software ecosystem for deterministic radiative transport simulation, high-resolution benchmark generation, and AI-assisted kinetic modeling. The project combines a C++ PDE solver, reproducible Python workflow tooling, and published benchmark datasets for researchers who need reliable radiation transport simulations across laptops, containers, and HPC systems.
Choose the entry point that matches what you need to do.
| Need | Start with | Why |
|---|---|---|
| Understand the solver and numerical methods | KiT-RT documentation | Overview, installation, configuration files, solver families, and C++ API docs. |
| Run one deterministic simulation | KiT-RT solver | Build the C++ code and run a single .cfg file. |
| Run lattice or hohlraum sweeps | CharmKiT | Python orchestration for parameter sweeps, CSV-driven studies, and quantity-of-interest collection. |
| Submit jobs on SLURM or use containers | CharmKiT | Generates local, Apptainer/Singularity, CUDA, and SLURM workflows around KiT-RT. |
| Extend solvers or add numerical methods | kitrt_code | C++ implementation of SN, PN, MN, CSD, data-generation, and HPC solver paths. |
| Train or evaluate neural surrogates | NVIDIA Linear-Radiation-Transport dataset | Public dataset generated with KiT-RT for lattice and hohlraum surrogate-modeling tasks. |
| Cite the project | Papers | Use the software paper for KiT-RT and the benchmark paper for lattice/hohlraum reference data. |
- KiT-RT/kitrt_code: the C++ solver. Use this when you want to build KiT-RT, run direct solver configs, inspect numerical implementations, or contribute solver code.
- KiT-RT/charm_kit: the Python workflow layer. Use this when you want reproducible sweeps, benchmark automation, SLURM submission, containerized runs, or post-processed quantities of interest.
- KiT-RT documentation: user and developer docs for installation, smoke tests, solver overview, configuration files, and troubleshooting.
- NVIDIA Linear-Radiation-Transport: a public surrogate-modeling dataset generated with KiT-RT simulations and linked to the linear radiation transport benchmark paper.
KiT-RT is research software with a peer-reviewed software paper in ACM Transactions on Mathematical Software and a publication trail across radiation transport, kinetic equations, structure-preserving neural networks, and operator learning. It is built for the practical gap between numerical-method research and production-scale experiment campaigns: the same ecosystem can run a quick local smoke test, produce high-resolution reference solutions, generate training data, and drive SLURM sweeps on clusters.
Project materials report adoption or use by research and engineering teams at NVIDIA, Sandia National Laboratories, Lawrence Livermore National Laboratory, Oak Ridge National Laboratory, Karlsruhe Institute of Technology, TU Delft, NMBU Norway, Chung-Ang University, and RIKEN Japan.
- Deterministic radiative transport on unstructured meshes.
- Solver families including discrete ordinates (
S_N), spherical harmonics moments (P_N), entropy-based moments (M_N), normalized moment variants, and CSD solver paths. - HPC-oriented execution with MPI/OpenMP and GPU-oriented backends in the solver repository.
- Container-first deployment with Docker, Apptainer, and Singularity workflows.
- Python orchestration for benchmark sweeps, CSV inputs, SLURM submission, and quantity-of-interest collection through CharmKiT.
- Data-generation workflows for scientific machine learning, surrogate modeling, uncertainty quantification, and design optimization.
Run one CPU solver smoke test:
git clone https://github.com/KiT-RT/kitrt_code.git
cd kitrt_code
git submodule update --init --recursive
cmake -S . -B build_omp -DCMAKE_BUILD_TYPE=Release -DBUILD_MPI=OFF -DBUILD_CUDA_HPC=OFF -DBUILD_ML=OFF
cmake --build build_omp -j
./build_omp/KiT-RT examples/configs/smoke_test.cfg
python tools/check_smoke_output.py examples/result/smoke_testRun a local benchmark sweep through CharmKiT:
git clone https://github.com/KiT-RT/charm_kit.git
cd charm_kit
poetry install
bash install_kitrt.sh
poetry run charm-kit run lattice --singularitySubmit a CUDA-backed SLURM sweep through CharmKiT:
poetry run charm-kit submit lattice --cuda- Jonas Kusch, Steffen Schotthoefer, Pia Stammer, Jannick Wolters, and Tianbai Xiao. KiT-RT: An Extendable Framework for Radiative Transfer and Therapy. ACM Transactions on Mathematical Software, 49(4), Article 38, 2023. DOI: 10.1145/3630001. Also available as arXiv:2205.08417.
- Steffen Schotthoefer and Cory Hauck. Reference solutions for linear radiation transport: the Hohlraum and Lattice benchmarks. 2025. arXiv:2505.17284.
- NVIDIA Linear-Radiation-Transport dataset, a public dataset of KiT-RT-generated lattice and hohlraum simulations for neural surrogate modeling and PhysicsNeMo workflows.
- Jae Yong Lee, Steffen Schotthoefer, Tianbai Xiao, Sebastian Krumscheid, and Martin Frank. Structure-Preserving Operator Learning: Modeling the Collision Operator of Kinetic Equations. 2024. arXiv:2402.16613.
- Steffen Schotthoefer, M. Paul Laiu, Martin Frank, and Cory D. Hauck. Structure-preserving neural networks for the regularized entropy-based closure of a linear, kinetic, radiative transport equation. Journal of Computational Physics, 533, 113967, 2025. DOI: 10.1016/j.jcp.2025.113967. See also arXiv:2404.14312.
- Steffen Schotthoefer, Tianbai Xiao, Martin Frank, and Cory D. Hauck. Structure Preserving Neural Networks: A Case Study in the Entropy Closure of the Boltzmann Equation. Proceedings of Machine Learning Research, 162, 19406-19433, ICML 2022. PMLR. See also arXiv:2201.10364.
- Steffen Schotthoefer, Tianbai Xiao, Martin Frank, and Cory D. Hauck. A structure-preserving surrogate model for the closure of the moment system of the Boltzmann equation using convex deep neural networks. AIAA AVIATION Forum, 2021. DOI: 10.2514/6.2021-2895. See also arXiv:2106.09445.
- Steffen Schotthoefer. Synergies between Numerical Methods for Kinetic Equations and Neural Networks. PhD thesis, Karlsruhe Institute of Technology, 2023. DOI: 10.5445/IR/1000158838.
If you use the solver itself, cite the ACM TOMS software paper. If you use the lattice or hohlraum benchmark workflows, reference data, or CharmKiT sweep setup, also cite the benchmark paper.
@article{kitrt2023,
title = {KiT-RT: An extendable framework for radiative transfer and therapy},
author = {Kusch, Jonas and Schotthoefer, Steffen and Stammer, Pia and Wolters, Jannick and Xiao, Tianbai},
journal = {ACM Transactions on Mathematical Software},
volume = {49},
number = {4},
pages = {1--24},
year = {2023},
doi = {10.1145/3630001},
publisher = {Association for Computing Machinery}
}
@misc{schotthoefer2025reference,
title = {Reference solutions for linear radiation transport: the Hohlraum and Lattice benchmarks},
author = {Schotthoefer, Steffen and Hauck, Cory},
year = {2025},
eprint = {2505.17284},
archivePrefix = {arXiv},
primaryClass = {physics.comp-ph},
url = {https://arxiv.org/abs/2505.17284}
}The KiT-RT solver and CharmKiT workflow tooling are released under the MIT License. Check each repository and dataset card for the license attached to the specific artifact you use.