data.oc.utils.flag_anomaly#
Copyright (c) Meta Platforms, Inc. and affiliates.
This source code is licensed under the MIT license found in the LICENSE file in the root directory of this source tree.
Classes#
Module Contents#
- class data.oc.utils.flag_anomaly.DetectTrajAnomaly(init_atoms, final_atoms, atoms_tag, final_slab_atoms=None, surface_change_cutoff_multiplier=1.5, desorption_cutoff_multiplier=1.5)#
- init_atoms#
 - final_atoms#
 - final_slab_atoms#
 - atoms_tag#
 - surface_change_cutoff_multiplier#
 - desorption_cutoff_multiplier#
 - is_adsorbate_dissociated()#
- Tests if the initial adsorbate connectivity is maintained. - Returns:
- True if the connectivity was not maintained, otherwise False 
- Return type:
- (bool) 
 
 - has_surface_changed()#
- Tests bond breaking / forming events within a tolerance on the surface so that systems with significant adsorbate induces surface changes may be discarded since the reference to the relaxed slab may no longer be valid. - Returns:
- True if the surface is reconstructed, otherwise False 
- Return type:
- (bool) 
 
 - is_adsorbate_desorbed()#
- If the adsorbate binding atoms have no connection with slab atoms, consider it desorbed. - Returns:
- True if there is desorption, otherwise False 
- Return type:
- (bool) 
 
 - _get_connectivity(atoms, cutoff_multiplier=1.0)#
- Generate the connectivity of an atoms obj. - Parameters:
- atoms (ase.Atoms) – object which will have its connectivity considered 
- cutoff_multiplier (float, optional) – cushion for small atom movements when assessing atom connectivity 
 
- Returns:
- The connectivity matrix of the atoms object. 
- Return type:
- (np.ndarray) 
 
 - is_adsorbate_intercalated()#
- Ensure the adsorbate isn’t interacting with an atom that is not allowed to relax. - Returns:
- True if any adsorbate atom neighbors a frozen atom, otherwise False 
- Return type:
- (bool)