Abstract

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 summaryProgram Title:Pyg4ometryCPC Library link to program files:https://doi.org/10.17632/hngmhmh8cx.1Licensing provisions: GPLv3Programming language: Python, C++External routines/libraries: ANTLR, CGAL, FreeCAD, NumPy, OpenCascade, SymPy, VTKNature 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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call