科研速览 · Science Skim继续刷下去 · Keep skimming →
◆ Computer Physics Communications2025-12-21· Radiation transport

OpenSn: A massively parallel, open-source simulation environment for discrete ordinates radiation transport

David Andrs, Zachary Hardy, W. Daryl Hawkins, Jim E. Morel, Dinh Quoc Dang Nguyen, Jean C. Ragusa

原始摘要(英文原文)· Original abstract
OpenSn is an open-source, massively parallel deterministic radiation transport code for solving the discrete-ordinates (S N ) form of the Boltzmann transport equation on unstructured, arbitrary polyhedral meshes. It supports high-fidelity simulations involving steady-state, eigenvalue, and adjoint problems for neutral particles (e.g., neutrons, photons, multi-particles), using the multigroup approximation in energy. OpenSn combines angular discretization via discrete ordinates with a discontinuous Galerkin finite element method (DGFEM) in space, enabling accurate resolution of transport physics on arbitrary polyhedral cells, included locally refined spatial grids. It includes multiple angular quadrature types, including locally refined angular quadratures. Written in modern C++ with a Python API, OpenSn runs efficiently on platforms ranging from laptops to supercomputers. The transport sweep algorithm is implemented using a task-based, directed-acyclic-graph (DAG) approach for each angle and supports asynchronous parallelism across thousands of MPI ranks. Group-set aggregation improves compute intensity, and synthetic acceleration techniques (e.g., diffusion synthetic acceleration, second-moment method) enhance solver convergence. OpenSn has been verified on reactor physics problems and demonstrated excellent weak and strong scaling performance on more than 32,768 processes, making it a versatile and robust platform for large-scale transport simulations in complex geometries. PROGRAM SUMMARY Program Title: OpenSn CPC Library link to program files: https://doi.org/10.17632/gvrs69dzcv.1 Developer’s repository link: https://github.com/Open-Sn/OpenSn Licensing provisions: MIT license Programming language: C++ (core), Python (API) Supplementary material: User manual, theory documentation, and tutorial notebooks available at https://open-sn.github.io/opensn/ Nature of problem: Radiation transport simulations are central to numerous applications in physics and engineering, including reactor analysis, shielding, radiography, and detector modeling. Solving the linear Boltzmann transport equation in its discrete-ordinates form (S N ) on complex geometries requires robust numerical methods and scalable parallel algorithms. Many existing codes are closed-source, lack support for polyhedral meshes, or do not efficiently exploit modern HPC systems. A flexible, open-source tool is needed to address these challenges while supporting methodological innovation and large-scale computation. Solution method: OpenSn solves the steady-state, eigenvalue, and adjoint forms of the discrete-ordinates Boltzmann transport equation [1] using a multigroup approximation in energy, a discontinuous Galerkin finite element method (DGFEM) in space, and a collocation method in angle. It supports arbitrary unstructured polygonal and polyhedral meshes, and angular quadrature sets. Transport sweeps are implemented using a directed-acyclic-graph (DAG)-based task execution model, enabling highly scalable MPI-based parallelism [2]. The code is written in C++ and provides a Python interface for pre- and post-processing. Acceleration techniques [3,4], including diffusion synthetic acceleration (DSA) and second-moment-based methods, are incorporated to improve convergence. OpenSn has been tested on thousands of cores and verified against known benchmarks. Additional comments including restrictions and unusual features: OpenSn is designed as a research-grade, extensible platform for high-fidelity radiation transport simulations. It is particularly well suited for users interested in experimenting with new numerical methods, mesh types, and solver acceleration strategies. The code has minimal external dependencies, uses CMake for building, and includes example problems and tutorials. GPU acceleration is under development. No unusual restrictions are imposed on problem size, but large-scale simulations require access to parallel computing resources. References: 1. E. E. Lewis and W. F. Miller, Computational Methods of Neutron Transport , ANS, 1993. 2. J. I. C. Vermaak, J. C. Ragusa, M. L. Adams, and J. E. Morel., “Massively parallel transport sweeps on meshes with cyclic dependencies,” Journal of Computational Physics , 425:109892, 2021. 3. M. L. Adams and E. W. Larsen, “Fast iterative methods for discrete ordinates particle transport calculations,” Prog. Nucl. Energy , 40(1): 3–159, 2002. 4. B. Turcksin and J. C. Ragusa, “Discontinuous diffusion synthetic acceleration for S N transport on 2D arbitrary polygonal meshes,” Journal of Computational Physics , 274:356-369, 2014.
读原文 · Read the paper ↗

AI 追问PRO

登录后使用 AI 追问

讨论区

登录后参与讨论

相关论文 · Related

OpenSn: A massively parallel, open-source simulation environment for discrete ordinates radiation transport — 科研速览 Science Skim