PHITS simulations of neutron and gamma-ray production from and transport of 70–250 MeV protons in heterogeneous 1D tissue phantoms
Introduction
This dataset corresponds to the PHITS simulation data used in "Fast Phase Space Reconstruction for Proton Beam Traversal and Neutron Emission in Proton Therapy using Fourier Neural Operators". A concise description of the simulation setup is provided here; please refer to the paper for detailed discussion, discription, analysis, and further results derived from this dataset.
Description of simulations
This dataset consists of PHITS simulations for 47 different proton energies from 70 MeV to 250 MeV incident upon different "1D" heterogeneous cylindrical phantoms (varied materials every 0.5 mm in length, uniform radially and rotationally) whose composition (materials and sequence along length) are taken from randomly sampled rays cast through a 3D CT phantom [CITE] with CT number mapped to material composition and density via the HumanVoxelTable-KumamotoUniv.data conversion table within the RT-PHITS utilitydistributed with PHITS. Included tallies score spatial distributions of energy deposition, LET, proton current (with an additional angular dimension), neutron production, gamma-ray production, and a variety of diagnostic tallies. Event-by-event "list-mode" data is scored for neutron and gamma-ray production, called "dump" tallies in PHITS.
Given the objective of these simulations was for AI model development, the 47 energies are divided into 37 training energies (70 MeV to 250 MeV in 5 MeV steps) and 10 testing energies (73 MeV to 245.8 MeV in 19.2 MeV steps). For each energy, two simulations were ran: (1) a simulation with 1E8 protons simulated where all tallies (including dump tallies) were included/enabled and (2) a simulation with 1E9 protons simulated (available on request) but with only dump tallies enabled (other tallies disabled to reduce memory consumption and increase simulation speed). Furthermore, all of the above was actually performed twice: (1) initially with purely monoenergetic beam energies and with a spatial spread of 2.5 mm and (2) a second "more realistic" set with Gaussian-distributed energies (with energy-dependent FWHM) and slightly wider 4.0 mm beam spread.
All simulation outputs were automatically processed from the plaintext and binary files produced by PHITS into compressed pickle file objects (NumPy arrays, Pandas DataFrames, dictionaries) using the PHITS Tools
Python utility. These Python objects were then utilized in the subsequent analysis of the paper this simulation set was generated for.
Structure of this repository
The volume of data present in this repository is quite substantial (~ 700 GB). Therefore, the repository has been structured in a way to allow flexibility in only downloading data of interest.
The root directory of this repository consists of 39 top-level directories whose names indicate their contents. Within each are two directories: training and testing. Within each of these are directories of the format ???_MeV, where ??? is replaced by three digits specifying the nominal beam energy in MeV. (This is ???p? for the energies of the testing dataset, with p in place of a decimal point.) Thus, each training directory contains 37 subdirectories, and each testing directory contains 10 subdirectories. (One should note that there are no setup differences between training and testing data; they are simply divided here in the same way as in the paper.) Each ???_MeV/???p?_MeV directory contains simulation input/output and/or PHITS Tools processed output, depending on the top-level directory it is contained within. Input and output file names do not differ between different energies; directory structure is used to keep them distinguished/separated.
PHITS input information
One top-level directory differs from all of the others, and this is common_inputs. As the name suggests, this directory contains all PHITS input information used in generating all of the simulation outputs.
The core two PHITS input files used are beam-on-target_phits-input_MonoE.inp for the monoenergetic beam simulation set and beam-on-target_phits-input_GaussE.inp for the Gaussian-distributed beam energy simulation set. Within these inputs are lines using the PHITS insert file function infl:{}; all inserted files used in the PHITS simulations are also contained within this common_inputs directory. The single exception to this is PARAMETERS_files-1-and-7.txt, which is simply the file(1) and file(7) PHITS [Parameters] arguments and will be system-specific paths to PHITS installation/data files. Also note that relative paths are used in the infl:{} commands; these relative paths differ to how this repository is structured given the repository has been restructured in post for distribution convenience. File names are still unique and can be found in this common_inputs directory. The CELL subdirectory contains the [Cell] sections used for the varied phantom compositions, and the MAPPINGS_OF_ENERGY_TO_CELL_FILES.csv file details how these files are paired with the 47 different beam energies.
PHITS outputs (raw and processed)
The remaining 38 top-level directories contain simulation/processed output. When these simulations were ran, all output was contained in each ???_MeV directory. As detailed earlier, these have been split into various top-level directories here to allow more convenient download of only desired files. Nominally, each of these ???_MeV directories contained the following before being split:
a beam-on-target_phits-input.inp PHITS input file (and a simple phits.in pointing to this input file, needed for parallel running of PHITS); note that these inputs have all specific source energy information populated within this file
a phantom_composition_info.csv file also detailing the phantom composition used for that beam energy
tphits*.out file(s), raw summary output files generated by PHITS
*.out raw plaintext tally output files from PHITS
*.eps graphical visualizations of tally output, generated by PHITS
*_dmp.out* raw binary tally dump files from PHITS
*.pickle.xz processed tally output (and phits.out metadata) from PHITS Tools, LZMA-compressed pickle files
*_dmp_namedtuple_list.pickle.xz processed tally dump output from PHITS Tools, formatted as a NumPy record array (np.recarray)
*_dmp_Pandas_df.pickle.xz processed tally dump output from PHITS Tools, formatted as a Pandas DataFrame (same numerical data as in NumPy recarray)
*.png and *.pdf graphical visualizations of tally output, generated by PHITS Tools
The top-level directories of this repository are named in a way to detail (1) which simulations their contents pertain to and (2) which output files are contained within them. The directories are named using an underscore-delimited pattern whose components have the following names and meanings:
Beam type:
MonoE refers to simulations with the monoenergetic beams with 2.5 mm spread
GaussE refers to simulations with the Gaussian-distributed energies and 4.0 mm spread
Simulated number of protons:
1E8 refers to simulations with 108 (one hundred million) protons simulated
1E9 refers to simulations with 109 (one billion) protons simulated (only available on request)
Output source/type:
raw refers to the PHITS input and PHITS-generated output
processed refers to the Python-formatted processed output produced by PHITS Tools
plots refers to the *.eps files produced by PHITS and the *.png and *.pdf files produced by PHITS Tools, all containing graphical plots of tally output (only relevant to 1E8 simulations)
Other labels:
proton-tally refers to output from the huge [T-Cross] tally used only in 1E8 simulations for scoring proton phase space as a function of energy, position, and direction (separated from others owing to its considerable size)
neutron-dump refers to the event-by-event neutron production data scored by a [T-Product] tally's "dump" option
NumPy and Pandas to denote if processed contents are formatted as NumPy record arrays or Pandas Dataframes
gamma-dump refers to the event-by-event gamma-ray production data scored by a [T-Product] tally's "dump" option
NumPy and Pandas to denote if processed contents are formatted as NumPy record arrays or Pandas Dataframes
other refers to output from all other tallies aside from the above three (energy deposition, LET, diagnostic tallies, etc.; only relevant to 1E8 simulations given all tallies except dump tallies were disabled for 1E9 simulations) along with (for raw directories) PHITS input-related files and phits*.out file(s).
All put together, this results in the following top-level directories contained in this repository:
common_inputs
GaussE_1E8_raw_proton-tally
GaussE_1E8_raw_neutron-dump
GaussE_1E8_raw_gamma-dump
GaussE_1E8_raw_other
GaussE_1E9_raw_neutron-dump (upon request)
GaussE_1E9_raw_gamma-dump (upon request)
GaussE_1E9_raw_other
GaussE_1E8_processed_proton-tally
GaussE_1E8_processed_neutron-dump_NumPy
GaussE_1E8_processed_neutron-dump_Pandas
GaussE_1E8_processed_gamma-dump_NumPy
GaussE_1E8_processed_gamma-dump_Pandas
GaussE_1E8_processed_other
GaussE_1E9_processed_neutron-dump_NumPy (upon request)
GaussE_1E9_processed_neutron-dump_Pandas (upon request)
GaussE_1E9_processed_gamma-dump_NumPy (upon request)
GaussE_1E9_processed_gamma-dump_Pandas (upon request)
GaussE_1E9_processed_other
GaussE_1E8_plots
MonoE_1E8_raw_proton-tally
MonoE_1E8_raw_neutron-dump
MonoE_1E8_raw_gamma-dump
MonoE_1E8_raw_other
MonoE_1E9_raw_neutron-dump (upon request)
MonoE_1E9_raw_gamma-dump (upon request)
MonoE_1E9_raw_other
MonoE_1E8_processed_proton-tally
MonoE_1E8_processed_neutron-dump_NumPy
MonoE_1E8_processed_neutron-dump_Pandas
MonoE_1E8_processed_gamma-dump_NumPy
MonoE_1E8_processed_gamma-dump_Pandas
MonoE_1E8_processed_other
MonoE_1E9_processed_neutron-dump_NumPy (upon request)
MonoE_1E9_processed_neutron-dump_Pandas (upon request)
MonoE_1E9_processed_gamma-dump_NumPy (upon request)
MonoE_1E9_processed_gamma-dump_Pandas (upon request)
MonoE_1E9_processed_other
MonoE_1E8_plots
And, as stated earlier, each of these top-level directories is divided into a training subdirectory (containing 37 ???_MeV directories) and a testing subdirectory (containing 10 ???p?_MeV directories), where the ???[p?]_MeV directories only (1) contain particular files (2) relevant to certain simulations—as specified by the top-level directory's name.
As a note to anyone surveying the raw files, all GaussE simulations were ran with OpenMP parallelization with 10 processes. For 1E8 simulations, this was conducted as ten PHITS runs of 1E7 protons each; for 1E9 simulations, this was conducted as twenty runs of 5E7 protons each. (PHITS runs can be "chained" as "restart calculations", where one run can resume from where a previous run ended.) In these simulations, the generated phits.out files from each run were renamed to phits-#.out (where # is the run number, 0 to 19) and moved into a phitsout subdirectory after each run's completion. However, this was less uniform for the MonoE simulations; for those, the strategy was to complete each simulation in a single run of PHITS. This generally involved using a hybrid OpenMP + MPI parallelization with anywhere from 80 to 160 processes each, split between OMP and MPI (noting that some 1E9 runs were conducted with only MPI parallelization). None of this influences the output format of the standard tally outputs. However, the number of dump files produced is equal to the number of MPI processes utilized. This means that each GaussE simulation only has one dump file per dump tally owing to only using OpenMP parallelization (which merges its dump files at the end of calculation) while the MonoE simulations contain a varied number of dump files per dump tally owing to varriations in parallelization strategies employed in those simulations. PHITS Tools ultimately merges all dump outputs back together in its processing, meaning if looking at the processed output this quirk of how simulations were conducted should not be apparent at all.
Given PHITS Tools was under ongoing development as this dataset was being produced, the GaussE directories contain some extra output not present in the MonoE directories. Most notably, only for the GaussE simulations do the plot directories contain PNG and PDF plot files generated by PHITS Tools and the processed directories contain dictionary objects of the processed phits*.out files.
Note that, for convenience, the phits.out file(s) for each simulation are also copied to all raw directories. The phits.out file(s) contain the full PHITS input echo, among other information about the simulation. For the GaussE simulations, these are within a further phitsout subdirectory for each beam energy. Also for all GaussE_processed directories, the processed phits.out file(s), phits_out.pickle.xz, are included too.
References
TO BE POPULATED
Acknowledgements
The NOVO project has received funding from the European Innovation Council (EIC) under grant agreement No. 101130979. The EIC receives support from the European Union's Horizon Europe research and innovation programme. Partners from The University of Manchester has received funding from UK Research and Innovation under grant agreement No. 10102118
| Identifier | |
|---|---|
| DOI | https://doi.org/10.14278/rodare.3997 |
| Related Identifier | IsIdenticalTo https://www.hzdr.de/publications/Publ-43014 |
| Related Identifier | IsPartOf https://doi.org/10.14278/rodare.3996 |
| Related Identifier | IsPartOf https://rodare.hzdr.de/communities/novo |
| Related Identifier | IsPartOf https://rodare.hzdr.de/communities/rodare |
| Metadata Access | https://rodare.hzdr.de/oai2d?verb=GetRecord&metadataPrefix=oai_datacite&identifier=oai:rodare.hzdr.de:3997 |
| Representation | |
|---|---|
| Language | English |
| Resource Type | Dataset |
| Version | 1.0.0 |
| Discipline | Life Sciences; Natural Sciences; Engineering Sciences |
