core
Utility functions for dealing with Atoms.
check_is_metal ¶
Checks if a structure is a likely metal.
Parameters:
-
atoms
(Atoms
) –Atoms object
Returns:
-
bool
–True if the structure is likely a metal; False otherwise
Source code in quacc/atoms/core.py
copy_atoms ¶
Simple function to copy an atoms object to prevent mutability.
Parameters:
-
atoms
(Atoms
) –Atoms object
Returns:
-
atoms
–Atoms object
Source code in quacc/atoms/core.py
get_atoms_id ¶
get_atoms_id_parsl ¶
Get a Parsl compatible unique identifier for an Atoms object.
Parameters:
-
atoms
(Atoms
) –Atoms object
-
output_ref
(bool
, default:False
) –Parsl specific parameter, needed for Parsl to work, unused.
Returns:
-
bytes
–Unique identifier for the Atoms object in the form of bytes
Source code in quacc/atoms/core.py
get_final_atoms_from_dynamics ¶
Get the final atoms object from a dynamics run.
Parameters:
-
dynamics
(Dynamics | Filter
) –ASE dynamics object
Returns:
-
Atoms
–Atoms object
Source code in quacc/atoms/core.py
get_spin_multiplicity_attribute ¶
Get the spin multiplicity of an Atoms object.
Parameters:
-
atoms
(Atoms
) –Atoms object
Returns:
-
int
–Spin multiplicity of the Atoms object
Source code in quacc/atoms/core.py
perturb ¶
Perturb each atom in a molecule by a (scaled) 1x3 vector, reflecting e.g. a vibrational normal mode.
Parameters:
-
mol
(Atoms
) –ASE Atoms object representing a molecule
-
matrix
(list[list[float]] | NDArray
) –N x 3 matrix, where N is the number of atoms. This means that there is potentially a different translation vector for each atom in the molecule.
-
scale
(float
) –Scaling factor for perturbation
Returns:
-
Atoms
–The input molecule after perturbation