Speeding-up the ODETTA Calculation Code for Solving Particle Transport Problems
In the mathematical modeling of fast breeding reactors, it becomes necessary to carry out high-precision calculations of protection problems on unstructured grids. In this paper, we consider and analyze a parallel version of the ODETTA calculation code using the MPI (Message Passing Interface) library technology. This code is intended for numerical modeling of neutronic processes in shielding compositions of fast breeding reactors with a liquid metal coolant in normal operation modes, and can also be useful in calculating the radiation conditions for the structural elements and equipment of nuclear energy facilities that are sources and/or exposed to ionizing radiation, to justify their safety. In addition, a comparison is made between the developed program and the previous version in terms of their efficiencies. The development of the ODETTA software algorithmic part using MPI is described. The features and specifics of this program parallelizing are presented. The modification of the calculation code is given. The corresponding software algorithms are considered. The structure of ODETTA software modules using MPI is briefly described. The results of operation of ODETTA serial and parallel versions in OS Linux using MPI on the HPC cluster of National Research Nuclear University MEPhI are presented. Finally, a comparative analysis of two software implementations is made in terms of speed and accuracy of results when two different clusters with different numbers of nodes on them are used. The features of performing calculations on a cluster are noted.
- Belousov V.I., Bereznev V.P., Seleznev E.F. ODETTA computational code for solving problems of neutron and gamma-ray transfer in the multi-group SnPm approximation by the finite element method on unstructured tetrahedral grids, including work with grid data. Ver. 2.1. (ODETTA). Attestation Certificate of the Program for Electronic Computing Machines, Reg. No. 497, Dec. 19, 2019. Moscow. FBU «NTC YaRB» Publ., 2019, 6 p. (in Russian).
- Knyazeva M.A., Molchanova L.A., Tarasov G.V. Parallel Programming. Vladivostok. Dal’nevostochny Universitet Publ., 2006, 61 p. (in Russian).
- Kostromin V.A. Linux Tutorial for User. Saint Petersburg. BHV-Petersburg Publ., 2012, 672 p. (in Russian).
- Savchenko A.V., Anikeev A.A., Okunev D.Yu. High-performance computing center NRNU MEPhI. User’s manual. Moscow. NRNU MEPhI Publ., 2020, 24 p. Available at: https://ut.mephi.ru/pdf/projects/hpc/userguide.pdf (accessed Feb 10, 2020) (in Russian).
- McGhee J.M., Wareing T.A., Barnett D.A. Attila User’s Manual. Transpire Inc., Jan 15, 2007, 1077 p.
- Sychugova E.P., Seleznev E.F. The Finite Element Method for Solving the Transport Equation on Unstructured Tetrahedral Meshes. Preprint No. IBRAE-2014-03, 2014. Moscow. IBRAE RAN Publ., 2014, 21 p. (in Russian).
- SALOME – The Open Source Integration Platform for Numerical Simulation. Available at: https://www.salome-platform.org (accessed Feb 10, 2020).
- Manturov G.N. Methodical Constant and Software for Neutron-Physical Calculations of Fast Reactors and Estimation of Errors of Computational Predictions. Dr. tech. sci. diss. Obninsk. SSC RF-IPPE Publ., 2017, 202 p. (in Russian).
- About VisIt. Available at: https://wci.llnl.gov/simulation/computer-codes/visit (accessed Feb 10, 2020).
- OpenMP Application Program Interface. Available at: http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf (accessed Feb 10, 2020).
- Nemnyugin S.A. Programming Tools for Multiprocessor Computing Systems. Intel Multicore Curriculum Initiative. Saint Petersburg. Saint Petersburg State University Pubp., 2007, 88 p. (in Russian).
- Pavlovskaya T.A. C/C++. High-Level Language Programming. Saint Petersburg. Peter Publ., 2003, 461 p. (in Russian).
- Shterenlikht Anton. Parallel Programming with Fortran 2008 and 2018 Coarrays. Mech Eng Dept, The University of Bristol, Bristol BS8 1TR, UK, 2018, 27 p.
- Ryzhikov Yu.I. Fortran Powerstation Programming for Engineers. A Practical Guide. Saint Petersburg. Korona-Print Publ., 2000, 161 p. (in Russian).
- Barteniev O.V. Modern Fortran. 3-rd ed. Moscow. Dialog MIFI Publ., 2000, 449 p. (in Russian).
- Chapman Stephen J. Fortran for Scientists and Engineers. 4-th ed. BAE Systems Australia, 2018. 1049 p.
- Building Programs with GNU Make. Available at: http://coderway.ru/cpp/ make (accessed Feb 10, 2020) (in Russian).
- Nuclear Science Committee. Benchmark for Neutronic Analysis of Sodium- cooled Fast Reactor Cores with Various Fuel Types and Core Sizes. NEA/NSC/R(2015)9, 25-Feb-2016. Available at: https://www.oecd-nea.org/science/docs/2015/nsc-r2015-9.pdf (accessed Feb 10, 2020).
- Putty Documentation. Available at: https://putty.org.ru/docs.html (accessed Feb 10, 2020) (in Russian).
- Bereznev V.P., Belousov V.I., Grushin N.A. et al. New neutronic calculation codes based on discrete ordinates method using methods of finite differences and finite elements. Proc. of the Int. Conf. on Fast Reactors and Related Fuel Cycles (FR17). Paper CN-195. Ekaterinburg. ROSATOM Publ., 2017, 10 p. Available at: https://www.researchgate.net/publication/339912318_IAEA-CN245-195_New_neutronic_calculation_codes_based_on_discrete_ordinates_method_using_methods_of_finite_differences_and_finite_elements (accessed Feb 10, 2020).