irradiapy.materials.component module

This module contains the Component class.

class irradiapy.materials.component.Component(elements, stoichs, name, phase, density, x0=None, y0=None, z0=None, width=None, height=None, length=None, ax=None, ay=None, az=None, c=None, structure=None, ed_min=None, ed_avr=None, b_arc=None, c_arc=None, calculate_energies=False, srim_el=None, srim_es=None, srim_bragg=1)[source]

Bases: object

Class for storing parameters of a component.

Parameters:
  • elements (tuple[Element, ...]) – Tuple of elements in the component.

  • stoichs (tuple[float, ...]) – Tuple of stoichiometric coefficients for each element.

  • name (str) – Name of the component.

  • phase (Phases) – Phase of the component (solid, liquid, gas).

  • density (float) – Density of the component in g/cm3.

  • x0 (float | None) – Initial x position of the component in angstroms.

  • y0 (float | None) – Initial y position of the component in angstroms.

  • z0 (float | None) – Initial z position of the component in angstroms.

  • width (float | None) – Width of the component in angstroms.

  • height (float | None) – Height of the component in angstroms.

  • length (float | None) – Length of the component in angstroms.

  • ax (float | None) – Lattice parameter in x-axis in angstroms.

  • ay (float | None) – Lattice parameter in y-axis in angstroms.

  • az (float | None) – Lattice parameter in z-axis in angstroms.

  • c (float | None) – c parameter for hcp structure in angstroms.

  • structure (str | None) – Crystal structure (bcc, fcc, hcp, amorphous).

  • ed_min (float | None) – Minimum displacement energy in eV.

  • ed_avr (float | None) – Average displacement energy in eV.

  • b_arc (float | None) – b parameter for arc-dpa model.

  • c_arc (float | None) – c parameter for arc-dpa model.

  • calculate_energies (bool) – Whether to calculate missing energy parameters from elements.

  • srim_el (float | None) – SRIM lattice binding energy in eV.

  • srim_es (float | None) – SRIM surface binding energy in eV.

atomic_density: float
ax: float | None = None
ay: float | None = None
az: float | None = None
b_arc: float | None = None
c: float | None = None
c_arc: float | None = None
calculate_energies: bool = False
damage_energy_to_displacements(damage_energy, mode)[source]

Convert damage energy to displaced atoms.

Tries to use the component parameters first; if not available, uses the element parameters (weighted average).

Parameters:
Returns:

Number of Frenkel pairs predicted by the specified displacement mode.

Return type:

float | GenericAlias[double]

density: float
ed_avr: float | None = None
ed_min: float | None = None
elements: tuple[Element, ...]
height: float | None = None
length: float | None = None
name: str
nelements: int
phase: Phases
recoil_energy_to_damage_energy(recoil_energy, recoil, mode)[source]

Convert PKA energy to damage energy.

Parameters:
  • recoil_energy (float) – Recoil energy, in eV.

  • recoil (Element) – Element of the recoil atom.

  • mode (DamageEnergyMode) – Damage energy calculation mode.

Returns:

Damage energy (eV).

Return type:

float

srim_bragg: int = 1
srim_el: float | None = None
srim_es: float | None = None
srim_phase: int | None
stoichiometry_dict: dict[str, float]
stoichs: tuple[float, ...]
structure: str | None = None
width: float | None = None
x0: float | None = None
y0: float | None = None
z0: float | None = None