Interstitials

Methods for selecting an interfacial region from a bicrystal and enumerating likely interstitial sites. The Voronoi analysis and package has been adapated to work with the ase interface from the pylada-defect package. Please see and cite the publication describing this package.

imeall.calc_eseg.gen_interface()[source]

Selects an interfacial region of a bicrystal based on common neighbour analysis. The width of the interfacial region is equal to 2*(gb_max-gb_min) where gb_max is the z-coordinate of the highest non-bcc atom, and gb_min is the lowest non-bcc atom.

The method creates a file interface.xyz in the working directory, with the interface centered in a unit cell with 1 angstrom vacuum on each side.

Returns:Atoms object of the interfacial slab in same coordinates as original bicrystal.
Return type:ase.Atoms
imeall.calc_eseg.nearest_to_unique(at, unique_sites)[source]

Given an ase.Atom object and an array of site vectors finds whether there is a correspondence between the atom position and one of the sites.

Parameters:
  • at (ase.Atom) – atom object.
  • unique_sites (list) – list of position vectors.
Returns:

Whether or not atom position is identical to a site in the unique_sites list.

Return type:

bool

imeall.calc_inter_ener.apply_strain(ats, mode, st_num)[source]

Apply a deformation mode to ase.Atoms object.

Parameters:
  • mode (str) – Options are shear, stretch, hydrostatic.
  • st_num (float) – Strain applied as a percentage.
Returns:

ase.Atoms

imeall.calc_inter_ener.get_interface_bounds(ats)[source]

Pull the top half interface and return the boundaries of that interface in the original coordinates.

Parameters:ats (:ase:class:`Atoms`) – Atoms object of full bi-crystal.
Returns:gb_min, gm_max, z_width, min_at
imeall.calc_inter_ener.h2_formation_energy(pot)[source]

Given a potential calculate the H2 formation energy and equilibrium bond spacing.

Parameters:pot (:quippy:class:`Potential`) –
Returns:Hydrogen molecule formation energy.
Return type:float