4.7 Article

PYG4OMETRY: A Python library for the creation of Monte Carlo radiation transport physical geometries

Journal

COMPUTER PHYSICS COMMUNICATIONS
Volume 272, Issue -, Pages -

Publisher

ELSEVIER
DOI: 10.1016/j.cpc.2021.108228

Keywords

Geant4; FLUKA; GDML; CAD; Monte Carlo; Particle; Transport; Geometry

Funding

  1. Science and Technology Research Councilgrant The John Adams Institute for Accelerator Science through the John Adams Institute at Royal Holloway [ST/P00203X/1]
  2. Royal Holloway Impact Acceleration Account

Ask authors/readers for more resources

This paper introduces PYG4OMETRY, a Python library for creating and manipulating geometry structures in MCRT simulations. The library allows users to import CAD files, convert geometry descriptions to FLUKA format, and convert FLUKA to GDML. The implementation of PYG4OMETRY is explained in detail, and several examples are provided to demonstrate its capabilities.
Creating and maintaining computer-readable geometries for use in Monte Carlo Radiation Transport (MCRT) simulations is an error-prone and time-consuming task. Simulating a system often requires geometry from different sources and modelling environments, including a range of MCRT codes and computer-aided design (CAD) tools. PYG4OMETRY is a Python library that enables users to rapidly create, manipulate, display, debug, read, and write Geometry Description Markup Language (GDML)-based geometry used in MCRT simulations. PYG4OMETRY provides importation of CAD files to GDML tessellated solids, conversion of GDML geometry to FLUKA and conversely from FLUKA to GDML. The implementation of PYG4OMETRY is explained in detail in this paper and includes a number of small examples to demonstrate some of its capabilities. The paper concludes with a complete example using most of PYG4OMETRY's features and a discussion of possible extensions and future work. Program summary Program Title: PYG4OMETRY CPC Library link to program files: https://doi.org/10.17632/hngmhmh8cx.1 Licensing provisions: GPLv3 Programming language: Python, C++ External routines/libraries: ANTLR, CGAL, FreeCAD, NumPy, OpenCascade, SymPy, VTK Nature of problem: Creating computer-readable geometry descriptions for Monte Carlo radiation transport (MCRT) codes is a time-consuming and error-prone task. Typically these geometries are written by the user directly in the file format used by the MCRT code. There are also multiple MCRT codes available and geometry conversion is difficult or impossible between these simulation tools. Solution method: Create a Python application programming interface for the description and manipulation of Geant4 and FLUKA geometries, with full support for the direct reading and writing of their respective geometry description file formats. Form triangular meshes to represent geometric objects for both visualisation of the geometry and to enable the use of advanced mesh-based geometric algorithms. Triangular mesh processing algorithms allow the loading and use of Standard Triangle Language (STL) and CAD/CAM files. Converting from FLUKA to Geant4 requires algorithms to decompose solids to a set of unions of convex solids. Converting from FLUKA to Geant4 requires a number of steps including the replacement of infinite surfaces with finite solids and the automatic elimination of overlaps. (C) 2021 Published by Elsevier B.V.

Authors

I am an author on this paper
Click your name to claim this paper and add it to your profile.

Reviews

Primary Rating

4.7
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

No Data Available
No Data Available