ElectronicStoppingHook

Included in QATK.Dynamics

class ElectronicStoppingHook(distance_cutoff, kinetic_energy_cutoff, radius=None, valence_electrons=None)

Hook function to add drag force to elements present in the molecule. This hook is designed to be used as a post-step hook in surface-process molecular dynamics simulations.

Parameters:
  • distance_cutoff (PhysicalQuantity of units distance) – The distance cutoff from the molecule to the substrate. The drag force is applied only if at least one atom in the molecule is within this distance from the substrate.

  • kinetic_energy_cutoff (PhysicalQuantity of units energy) – The kinetic energy cutoff above which the drag force is applied.

  • radius (PhysicalQuantity of units distance) – The radius of the sphere around each atom in which the density of atoms is calculated. If not provided, the radius is set to 1.1 times the distance cutoff.

  • valence_electrons (dict of PeriodicTableElement to int) – The number of valence electrons for each element present in the substrate.

callInterval()
Returns:

The call interval of this hook function.

Return type:

int

static dragCoefficientsAndVelocityCutoffs(configuration, kinetic_energy_cutoff, valence_electrons, radius)

Calculate the drag coefficient and cutoff velocity for each element in the combined substrate and molecule using the primary knock-on atom (PKA) model.

Parameters:
  • configuration (BulkConfiguration) – The initial surface (bulk slab model). Must be tagged with ‘deposition_#’ and ‘substrate’.

  • kinetic_energy_cutoff (PhysicalQuantity of units energy) – The kinetic energy cutoff above which the drag force is applied.

  • valence_electrons (dict of PeriodicTableElement to int) – The number of valence electrons for each element present in the substrate.

  • radius (PhysicalQuantity of units distance) – The radius of the sphere around each atom in which the density of atoms is calculated.

Returns:

The drag coefficients and cutoff velocities for each element.

Return type:

dict of PhysicalQuantity of units energy / distance / time, dict of PhysicalQuantity of units distance / time

uniqueString()

Return a unique string representing the state of the object.