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
Idaho National Laboratory Los Alamos National Laboratory Texas A&M University
阅读操作
确认中在文库中上传 PDF 后可生成中文音频讲解。
摘要与影响
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.
逐年被引趋势
关键指标
同类平均 = 1
同领域 · 同年份 · 同类型
Google Scholar 与 OpenAlex 的被引统计范围不同,数值存在差异属正常。
AI 辅助阅读
依据:摘要
可就本文提问;依据不足时会说明。
学术脉络
学科主题
计算机 / AIComputer Graphics and Visualization Techniques
Distributed and Parallel Computing Systems · Medical Imaging Techniques and Applications
参考文献 38
此处列出前 3 条
引用本文 5
按被引量排序,此处列出前 3 条