saarioka / HEP-simulations

High Energy Physics simulations using FLUKA and Geant4

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

HEP-simulations

High Energy Physics simulations using FLUKA and Geant4

FLUKA

Running FLUKA simulations

  1. Install dependencies manually or by running

    pip install -r requirements.txt
    
  2. Create .inp-files

    • Format: <bulk identifier/material>-<index for bulk thickness>-<index for beam energy>.inp
    • Easiest is to use Loop-tool in Flair to create runs iterating over a parameter and then run them with 0 repetitions. This throws an error, but the .inp file is created.
  3. Run generate_runs.py

    • This runs the simulation and combines the results with usXsuw-programs (part of FLUKA installation).
    • After combining results, also removes the large binaries (denoted by _fort), possibly totaling up to hundreds of gigabytes of data
  4. Run plot_attenuation.py

    • Calls method from output_processing.py to convert boundary crossing fluences to tabular form (.csv) and then plots them.
  5. Run plot_energy_and_displacements.py

    • Similarly to the previous one, converts files to csv and plots figures of displacements and deposited energy.
    • Also plots separate heatmaps for every simulation if not disabled. Disabling this does not effect the summary plots created from csv-file.
  6. Run plot_fluence.py

    • Plots boundary crossing fluences and fluences inside bulk material to separate files.

Results of FLUKA simulation

Relative intensities

  • How large portion of the beam goes through the bulk

Logarithm of reciprocal values of the previous plot + linear fits

  • Beer-Lambert law: attenuation coefficient µ = ln(<entering fluence>/<exiting fluence>)/<thickness of bulk> = slopes of plots below

Attenuation coefficients

Deposited energy per volume

  • Calculated as sums of USRBIN card results, divided by volume

Radiation damage: atom displacements per volume

  • Calculated as sums of USRBIN card results, divided by volume
  • Todo: displacements per atom could be a better metric, since cadmium telluride has much higher density compared to silicon

References

GEANT4 / Allpix²

Running simulations

Allpix² does not natively support other sensor materials than silicon. Geant4 has a database for several different materials in terms of energy deposition, but not charge carrier propagation. For further info, see https://gitlab.cern.ch/allpix-squared/allpix-squared/-/issues/109

There however exists an experimental build on Gitlab merge requests, which offers change of detector material and parametrization of charge carriers. It has been merged to a fork of Allpix² here and features CdTe as detector material and a custom module for constant charge carrier propagation.

About

High Energy Physics simulations using FLUKA and Geant4

License:Apache License 2.0


Languages

Language:Python 94.9%Language:Shell 5.1%