coordination

The get_geometric_data function

get_geometric_data(CONTCAR, cutoff=1.25, crystal_type='fcc')[source]

Obtain important geometric data for all atoms

Parameters
  • CONTCAR (str) – Location to VASP CONTCAR file for a gas molecule.

  • cutoff (float) – Fudge factor multiplied by covalent radii used to determine connectivity. If distance between atoms is less than the summ of their radii times cutoff they are considered to be coordinated

Returns

  • indices (list[int]) – Atom indices

  • GCNs (list[float]) – GCN values of all atoms

  • atom_types (list[str]) – Indicates if atoms are of type ‘surface’ or ‘bulk’

The Coordination class

class Coordination(atoms, exclude=[], cutoff=1.25, cutoff_type='percent')[source]

Class for calculating coordination and generalized coordination number.

Parameters
  • atoms (atoms) – ASE atoms type.

  • exclude (list of int) – Indices of atoms to exclude in tabulating the coordination of each atom

  • cutoff (float) – Fudge factor multiplied by covalent radii used to determine connectivity. If distance between atoms is less than the summ of their radii times cutoff they are considered to be coordinated

  • cutoff_type (str) – Can be ‘percent’ or ‘absolute’. If Absolute then the cutoff is considered a distance and replaces the use of Van der Waals radii entirely. If multiple atom types are to be used then ‘perecent’ is best.

Variables
  • atoms (ase.Atoms) – ASE atoms type.

  • exclude (list of int) – Indices of atoms to exclude in tabulating the coordination of each atom

  • cutoff (float) – Fudge factor multiplied by Van der Waals radii used to determine connectivity. If distance between atoms is less than the summ of their radii times cutoff they are considered to be coordinated

  • cutoff_type (str) – Can be ‘percent’ or ‘absolute’. If Absolute then the cutoff is considered a distance and replaces the use of Van der Waals radii entirely. If multiple atom types are to be used then ‘perecent’ is best.

Methods

get_bonded()[source]

returns bonded list

Returns

bonded – List of indices of atoms bonded to each atom

Return type

list of list

get_coordination_numbers()[source]

Implements returns coordination values

Returns

cn – list of coordination numbers for each atom.

Return type

list of int

get_gcn(site=[], surface_type='fcc')[source]

Returns the generalized coordination number of the site given. To define A site, just give a list containing the indices of the atoms forming the site. The calculated coordination numbers and bonding needs to be supplied, and the surface type also needs to be changed if the surface is not represented by bulk fcc.

Parameters
  • site (list of int) – indices for which to calculate the GCN values

  • surface_type (str) – Indicates natural bulk of the material which influences the maximum coordination environment of a site

Returns

gcn – Generalized coordination values for the desired site

Return type

float

read()[source]

Returns an array of coordination numbers and an array of existing bonds determined by distance and covalent radii. By default a bond is defined as 120% of the combined radii or less. This can be changed by setting ‘cutoff’ to a float representing a factor to multiple by (default = 1.2). If ‘exclude’ is set to an array, these atomic numbers with be unable to form bonds. This only excludes them from being counted from other atoms, the coordination numbers for these atoms will still be calculated, but will be unable to form bonds to other excluded atomic numbers.

Variables
  • cn (list of int) – list of coordination numbers for each atom.

  • bonded (list of list) – List of indices of atoms bonded to each atom