irradiapy.analysis.debris module
This module contains functions to generate debris from RecoilsDB.
- irradiapy.analysis.debris.generate_debris(recoilsdb, debris_path, damage_energy_mode, displacement_mode, fp_dist, fp_energy_abs=1000.0, energy_tolerance=0.1, surface_irradiation=False, exclude_from_ions=None, exclude_from_vacs=None, seed=0, ylo=None, yhi=None, zlo=None, zhi=None)[source]
Generate MD debris from RecoilsDB.
- Parameters:
recoilsdb (
RecoilsDB) – RecoilsDB instance from Py2SRIM or SPECTRA2SRIM runs.debris_path (
Path) – Output file path.damage_energy_mode (
DamageEnergyMode) – Mode for recoil to damage energy calculation.displacement_mode (
DisplacementMode) – Mode for calculation of number of displacement atoms.fp_dist (
float) – Distance between the vacancy and the interstitial of a Frenkel pair, in angstroms.fp_energy_abs (
float) – Absolute recoil energy below which unmatched recoils are represented by Frenkel pairs, in eV.energy_tolerance (
float) – Tolerance for energy decomposition. For example, if this value if0.1, the recoil energy is 194 keV and the database contains an energy of 200 keV, then 194 will be in the range 200 +/- 20 keV, therefore a cascade of 200 keV will be used, instead of decomposing 194 keV into, for example, 100x1 + 50x1 + 20x2 + 3x1 + 1xFP (Frenkel pairs). This fixes biases towards smaller clusters (lower energies) and helps reducing cascade overlapping. Set to0.0to disable this feature.surface_irradiation (
bool) – If True, then the initial primary ion position will not be used to place a vacancy.exclude_from_ions (
list[int] |None) – Ions will not be placed for these ion types. Useful to exclude injected ion effects (surface irradiation).exclude_from_vacs (
list[int] |None) – Ions that have an atomic number in this list will not generate a vacancy at their initial position. For example, if the ion is Fe in a target of Fe, this list can be empty to simulate that the ion has left its lattice position; if the ion is H or He in a target of Fe, this list can include 1 and 2 to avoid generating a vacancy for these ions since they are likely due to irradiation and not to displacement.seed (
int) – Random seed for random number generator.ylo (
float|None) – Minimum y boundary (only for Py2SRIM recoilsdb).yhi (
float|None) – Maximum y boundary (only for Py2SRIM recoilsdb).zlo (
float|None) – Minimum z boundary (only for Py2SRIM recoilsdb).zhi (
float|None) – Maximum z boundary (only for Py2SRIM recoilsdb).
- Return type: