An object-oriented implementation of a parallel Monte Carlo code for radiation transport

被引:15
|
作者
Santos, Pedro Duarte [1 ]
Lani, Andrea [1 ]
机构
[1] Von Karman Inst Fluid Dynam, Waterloosesteenweg 72, B-1640 Rhode St Genese, Belgium
关键词
Radiation; Monte-Carlo; FIRE II; Re-entry; Particle-tracking; Hypersonics; Aerothermodynamics; INTEGRATION;
D O I
10.1016/j.cpc.2015.12.017
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
This paper describes the main features of a state-of-the-art Monte Carlo solver for radiation transport which has been implemented within COOLFluiD, a world-class open source object-oriented platform for scientific simulations. The Monte Carlo code makes use of efficient ray tracing algorithms (for 2D, axisymmetric and 3D arbitrary unstructured meshes) which are described in detail. The solver accuracy is first verified in testcases for which analytical solutions are available, then validated for a space re-entry flight experiment (i.e. FIRE II) for which comparisons against both experiments and reference numerical solutions are provided. Through the flexible design of the physical models, ray tracing and parallelization strategy (fully reusing the mesh decomposition inherited by the fluid simulator), the implementation was made efficient and reusable. Program summary Program title: COOLFIuiD-MC Catalogue identifier: AEZG_v1_0 Program summary URL: http://cpc.cs.qub.ac.uk/summaries/AEZG_v1_0.html Program obtainable from: CPC Program Library, Queen's University, Belfast, N. Ireland Licensing provisions: GNU General Public License, version 3 No. of lines in distributed program, including test data, etc.: 1990165 No. of bytes in distributed program, including test data, etc.: 149533288 Distribution format: tar.gz Programming language: C++. Computer: From desktops to large HPC distributed systems. Operating system: Mac OS X, Linux. Has the code been vectorized or parallelized?: Parallelized through MPI RAM: Depending on the problem size from a few Megabytes to several Gigabytes. Classification: 21.2. External routines: MPI, boost, PETSc, ParMETIS, cmake Nature of problem: Radiative processes play a fundamental role in countless science and engineering contexts, including combustion, astrophysics, atmospheric space re-entry, experiments in plasma facilities (e.g. shock tubes, arc jets). The problem we are interested in is the computation of radiative heat transfer on arbitrarily complex geometries, in particular to characterize thermal loads acting on the surface of space vehicles. Solution method: Our C++ code implements a flexible and efficient Monte Carlo algorithm making use of state-of-the-art ray tracing techniques designed for and validated on arbitrary unstructured meshes. The code is organized as a collection of dynamically linked libraries connected to the computational kernel of the open source COOLFluiD platform. The Monte Carlo method is parallelized through mesh decomposition, while reusing the same partitioned mesh (and associated data structures) on which fluid dynamics equations are solved. Unusual features: The radiation transfer code of COOLFIuiD-MC offers a unique combination of ray tracing algorithms suitable for handling 2D, 2D axisymmetric and 3D simulations on arbitrary unstructured grids. The parallelization strategy is scalable and based on domain decomposition. The overall object-oriented design allows for easy integration of new models and algorithms which can be plugged in dynamically through self-registration techniques. Additional comments: The code is part of a much larger set of COOLFluiD libraries, which are fully available on Github at https://github.com/andrealani/COOLFIuiD and include multiple numerical solvers, physico-chemical models, processing algorithms and interfaces to third party scientific software. The CPC distribution also includes a state-of-the-art fully implicit Finite Volume solver for Euler and Navier Stokes systems which is used to produce the flow solution for the radiative transport algorithm described in the paper. The aerothermodynamic solver, which is used for the final testcase (FIREII) in our paper, is based on the same core Finite Volume modules but on different physico-chemical and radiation models. The latter cannot be made available through the CPC library since they rely on third party libraries (MUTATION version 2.0 and PARADE version 3.1) which cannot be distributed due to NDA. !!!!! The distribution file for this program is over 149 Mbytes and therefore is not delivered directly when download or Email is requested. Instead a html file giving details of how the program can be obtained is sent. !!!!! Running time: Depending on the size of the computational grid, if it is 2D or 3D, on the number of processors used, the running time can vary from a few seconds up to hours or days. The testcases that are included with this version of the code, all using relatively small 2D or 3D meshes, run in 1-10 s each on 8 CPU-cores. The user is, however, totally free to run the same cases on a different number of cores (more or less, according to his/her convenience). (C) 2016 Elsevier B.V. All rights reserved.
引用
收藏
页码:233 / 261
页数:29
相关论文
共 50 条
  • [1] Implementation, capabilities, and benchmarking of Shift, a massively parallel Monte Carlo radiation transport code
    Pandya, Tara M.
    Johnson, Seth R.
    Evans, Thomas M.
    Davidson, GregoryG.
    Hamilton, Steven P.
    Godfrey, Andrew T.
    [J]. JOURNAL OF COMPUTATIONAL PHYSICS, 2016, 308 : 239 - 272
  • [2] Parallel object oriented Monte Carlo simulations
    Troyer, M
    Ammon, B
    Heeb, E
    [J]. COMPUTING IN OBJECT-ORIENTED PARALLEL ENVIRONMENTS, 1998, 1505 : 191 - 198
  • [3] Object-oriented geometry engine for Monte Carlo simulations
    Krivosheev, OE
    Mokhov, NV
    [J]. PROCEEDINGS OF THE 1996 TOPICAL MEETING RADIATION PROTECTION & SHIELDING, VOLS 1 AND 2, 1996, 1-2 : 487 - 493
  • [4] Preliminary Coupling of the Monte Carlo Code OpenMC and the Multiphysics Object-Oriented Simulation Environment for Analyzing Doppler Feedback in Monte Carlo Simulations
    Ellis, Matthew
    Gaston, Derek
    Forget, Benoit
    Smith, Kord
    [J]. NUCLEAR SCIENCE AND ENGINEERING, 2017, 185 (01) : 184 - 193
  • [5] Acceleration of a Monte Carlo radiation transport code
    Hochstedler, RD
    Smith, LM
    [J]. SPACE TECHNOLOGY AND APPLICATIONS INTERNATIONAL FORUM (STAIF-96), PTS 1-3: 1ST CONFERENCE ON COMMERCIAL DEVELOPMENT OF SPACE; 1ST CONFERENCE ON NEXT GENERATION LAUNCH SYSTEMS; 2ND SPACECRAFT THERMAL CONTROL SYMPOSIUM; 13TH SYMPOSIUM ON SPACE NUCLEAR POWER AND PROPULSION - FUTURE SPACE AND EARTH SCIENCE MISSIONS - SPECIAL TOPIC; REMOTE SENSING FOR COMMERCIAL, CIVIL AND SCIENCE APPLICATIONS - SPECIAL TOPIC, 1996, (361): : 1115 - 1119
  • [6] The MCNPX Monte Carlo radiation transport code
    Waters, Laurie S.
    McKinney, Gregg W.
    Durkee, Joe W.
    Fensin, Michael L.
    Hendricks, John S.
    James, Michael R.
    Johns, Russell C.
    Pelowitz, Denise B.
    [J]. HADRONIC SHOWER SIMULATION WORKSHOP, 2007, 896 : 81 - +
  • [7] A parallel, object-oriented implementation of the dynamic recursion method
    Arnold, WT
    Haydock, R
    [J]. COMPUTING IN OBJECT-ORIENTED PARALLEL ENVIRONMENTS, 1998, 1505 : 199 - 206
  • [8] AN OBJECT-ORIENTED PARALLEL FINITE-VOLUME CFD CODE
    Becker, Dulceneia
    Barbosa, Joao Roberto
    Tomita, Jesuino Takachi
    [J]. PROCEEDINGS OF THE ASME TURBO EXPO 2008, VOL 6, PT A, 2008, : 2569 - 2576
  • [9] ROSI - an object-oriented and parallel-computing Monte Carlo simulation for X-ray imaging
    Giersch, J
    Weidemann, A
    Anton, G
    [J]. NUCLEAR INSTRUMENTS & METHODS IN PHYSICS RESEARCH SECTION A-ACCELERATORS SPECTROMETERS DETECTORS AND ASSOCIATED EQUIPMENT, 2003, 509 (1-3): : 151 - 156
  • [10] Implementation of tetrahedral-mesh geometry in Monte Carlo radiation transport code PHITS
    Furuta, Takuya
    Sato, Tatsuhiko
    Han, Min Cheol
    Yeom, Yeon Soo
    Kim, Chan Hyeong
    Brown, Justin L.
    Bolch, Wesley E.
    [J]. PHYSICS IN MEDICINE AND BIOLOGY, 2017, 62 (12): : 4798 - 4810