An object-oriented implementation of a parallel Monte Carlo code for radiation transport
详细信息    查看全文
文摘
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: COOLFluiD-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 COOLFluiD-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/COOLFluiD 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).

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700