catkit.gen.analysis package

Submodules

catkit.gen.analysis.classifier module

class catkit.gen.analysis.classifier.Classifier(atoms)[source]

Class for classification of various aspects of an an atomic unit cell.

Currently, a tool for classification of adsorbates on surface environments and the active sites they rest on.

id_adsorbate_atoms(classifier='trivial', tag=False)[source]

Identify adsorbed atoms in a given atoms object.

Parameters:
  • classifier (str) –

    Classification technique to identify adsorbate atoms.

    ’trivial’: Adsorbate atoms assumed to have atomic number != 13 or < 21.

  • tag (bool) – Return adsorbate atoms with tags of -2.
Returns:

ads_atoms – Index of adsorbate atoms found.

Return type:

ndarray (n,)

id_adsorbates(classifier='radial', return_atoms=False)[source]

Return a list of Gratoms objects for each adsorbate classified on a surface. Requires classification of adsorbate atoms.

Parameters:
  • classifier (str) –

    Classification technique to identify individual adsorbates.

    ’radial’: Use standard cutoff distances to identify neighboring atoms.

  • return_atoms (bool) – Return Gratoms objects instead of adsorbate indices.
Returns:

adsorbates – Adsorbate indices of adsorbates in unit cell.

Return type:

list (n,)

id_slab_atoms(classifier='trivial', tag=False, rtol=0.001)[source]

Return the indices of the slab atoms using select characterization techniques.

Parameters:
  • classifier (str) –

    Classification technique to identify slab atoms.

    ’trivial’: Slab atoms assumed to have atomic number == 13 or >= 21.

  • tag (bool) – Return adsorbate atoms with tags of 2.
  • rtol (float) – Relative cutoff distance for tagging layers.
Returns:

slab_atoms – Index of slab atoms found.

Return type:

ndarray (n,)

id_surface_atoms(classifier='voronoi_sweep')[source]

Identify surface atoms of an atoms object. This will require that adsorbate atoms have already been identified.

Parameters:classifier (str) –

Classification technique to identify surface atoms.

’voronoi_sweep’: Create a sweep of proxy atoms above surface. Surface atoms are those which are most frequent neighbors of the sweep.

Returns:surface_atoms – Index of the surface atoms in the object.
Return type:ndarray (n,)

catkit.gen.analysis.matching module

catkit.gen.analysis.matching.reactant_indices(R1, R2, P, broken_bond)[source]
Match the indices of a pair of reactants from a
product and broken bond.
Parameters:
  • R1 (networkx MultiGraph) – Graph representing reactant 1
  • R2 (networkx MultiGraph) – Graph representing reactant 2
  • P (networkx MultiGraph) – Graph representing the product
  • broken_bond (list (2,)) – Indices representing the edge of the product to be removed.
Returns:

pindex – Indices of the product graph sorted by the order of the reactants indices.

Return type:

ndarrays (n,)

catkit.gen.analysis.matching.slab_indices(slab0, slab1, mask=None)[source]

Match the indices of similar atoms between two slabs.

catkit.gen.analysis.reconfiguration module

catkit.gen.analysis.reconfiguration.id_reconstruction(images, save=False)[source]

Identify a reconstruction event by analyzing changes in the forces.

Parameters:
  • images (list of ASE atoms objects) – Relaxation trajectory.
  • show (bool) – Create a figure to display the events located.
Returns:

predicted_events – index of images predicted before the event occurs.

Return type:

list of int

Module contents

class catkit.gen.analysis.Classifier(atoms)[source]

Class for classification of various aspects of an an atomic unit cell.

Currently, a tool for classification of adsorbates on surface environments and the active sites they rest on.

id_adsorbate_atoms(classifier='trivial', tag=False)[source]

Identify adsorbed atoms in a given atoms object.

Parameters:
  • classifier (str) –

    Classification technique to identify adsorbate atoms.

    ’trivial’: Adsorbate atoms assumed to have atomic number != 13 or < 21.

  • tag (bool) – Return adsorbate atoms with tags of -2.
Returns:

ads_atoms – Index of adsorbate atoms found.

Return type:

ndarray (n,)

id_adsorbates(classifier='radial', return_atoms=False)[source]

Return a list of Gratoms objects for each adsorbate classified on a surface. Requires classification of adsorbate atoms.

Parameters:
  • classifier (str) –

    Classification technique to identify individual adsorbates.

    ’radial’: Use standard cutoff distances to identify neighboring atoms.

  • return_atoms (bool) – Return Gratoms objects instead of adsorbate indices.
Returns:

adsorbates – Adsorbate indices of adsorbates in unit cell.

Return type:

list (n,)

id_slab_atoms(classifier='trivial', tag=False, rtol=0.001)[source]

Return the indices of the slab atoms using select characterization techniques.

Parameters:
  • classifier (str) –

    Classification technique to identify slab atoms.

    ’trivial’: Slab atoms assumed to have atomic number == 13 or >= 21.

  • tag (bool) – Return adsorbate atoms with tags of 2.
  • rtol (float) – Relative cutoff distance for tagging layers.
Returns:

slab_atoms – Index of slab atoms found.

Return type:

ndarray (n,)

id_surface_atoms(classifier='voronoi_sweep')[source]

Identify surface atoms of an atoms object. This will require that adsorbate atoms have already been identified.

Parameters:classifier (str) –

Classification technique to identify surface atoms.

’voronoi_sweep’: Create a sweep of proxy atoms above surface. Surface atoms are those which are most frequent neighbors of the sweep.

Returns:surface_atoms – Index of the surface atoms in the object.
Return type:ndarray (n,)