particleShield is a Python library designed to facilitate radiation shielding calculations. It provides a set of functions and utilities to determine the amount of radiation absorbed by different shielding materials for different types of radiation.
Made by: Pragyan Yadav and Michael Pancras
This Python code provides a set of functions to perform various calculations related to radiation physics, including:
- Half-value layer (HVL) calculation
- Buildup factor calculation
- Dose rate calculation
- Radiation attenuation calculation
- Bethe-Bloch equation for energy loss
- Bragg curve generation
- Python 3.7
- NumPy
- Matplotlib
-
Make sure you have Python 3.7 installed on your system.
-
Install the required dependencies by running the following command:
pip numpy as np, matplotlib.pyplot as plt
-
Download the particleShield library and import it in your project.
The package can then be imported using:
import particleShieldparticleShield provides multiple functions for calculation of radiation protection and dosimetry for different types of ionizing radiation.
#Calculate the half-value layer
hvl = particleShield.calculate_hvl(initial_intensity, attenuation_factor)
#Calculate the buildup factor
buildup_factor = particleShield.calculate_buildup_factor(penetration_depth, attenuation_factor)
#Calculate the dose rate
dose_rate = particleShield.calculate_dose_rate(intensity, conversion_factor, time, distance)
#Calculate radiation attenuation
attenuated_intensity = particleShield.calculate_attenuation(I0, mu, x)The Bethe-Bloch equation is used to calculate the energy loss of charged particles (e.g., electrons, protons, alpha particles) as they pass through a material. It describes how these particles lose energy through ionization and excitation of atoms in the material.
#Calculate energy loss using the Bethe-Bloch equation for Protons in Air
kinetic_energy = 100 # MeV
charge = 1 # Elementary charge units
atomic_mass = 28.09 # g/mol
atomic_number = 14
ionization_potential = 78 # eV
energy_loss = bethe_bloch(kinetic_energy, charge, atomic_mass, atomic_number, ionization_potential)
print("Energy Loss:", energy_loss, "MeV/cm")Output: Energy Loss: -4.297 MeV/cm
The Bragg curve is a graphical representation that illustrates how the energy deposition of charged particles varies with depth as they traverse a material.
#Generate the Bragg curve for protons in air
alpha = 0.1666 # MeV/(g/cm^2)
p = 1.76 # g/cm^2
shallowest_depth = 10.0 # cm
deepest_depth = 15.0 # cm
generate_bragg_curve(alpha, p, shallowest_depth, deepest_depth)Bragg curve for protons in air:
