NormalModesManager
recalc_normal_mode_tolerance: float
__init__(self, mol, normal_modes=None):
@classmethod
from_data(cls, mol, data):
set_molecule(self, mol):
get_modes(self, quiet=False, allow_compute=True):
@property
modes(self):
:returns:MolecularVibrations
construct_normal_modes(self, modes):
load(self):
update(self, modes):
:returns:_
load_normal_modes(self, file=None, mode=None, rephase=True, recalculate=False, quiet=False):
Loads potential derivatives from a file (or from source_file if set)
file:Anyrephase:boolwhether to rephase FChk normal modes or not
:returns:_
get_normal_modes(self, quiet=False, compute_force_constants=True, **kwargs):
Loads normal modes from file or calculates from force constants
kwargs:Any:returns:_
get_force_constants(self, compute_force_constants=True, quiet=False):
@classmethod
get_dipole_derivative_based_rephasing(cls, modes, analytic_dipoles, numerical_dipoles, strict=True, allow_swaps=False):
@classmethod
get_fchk_normal_mode_rephasing(cls, mol, modes, use_dipoles=False):
Returns the necessary rephasing to make the numerical dipole derivatives agree with the analytic dipole derivatives as pulled from a Gaussian FChk file
:returns:_
@classmethod
get_partial_cubic_based_rephasing(cls, modes, partial_cubics: numpy.ndarray, degenerate_freq_threshold=1e-06, equivalent_threshold=0.01, nonzero_threshold=4.5e-06, ignore_single_zeros=False, frequency_scale=True):
apply_transformation(self, transf):
insert_atoms(self, atoms, coords, where):
Handles the insertion of new atoms into the structure
atoms:tuple[str]coords:CoordinateSetwhere:tuple[int]:returns:_
delete_atoms(self, where):
Handles the deletion from the structure
atoms:tuple[str]coords:CoordinateSetwhere:tuple[int]:returns:_