MolecularNormalModes
A Coordinerds CoordinateSystem object that manages all of the data needed to work with normal mode coordinates + some convenience functions for generating and whatnot
name: str
__init__(self, molecule, coeffs, name=None, freqs=None, internal=False, origin=None, basis=None, inverse=None):
molecule:AbstractMoleculecoeffs:Anyname:Anyfreqs:Anyinternal:Anyorigin:Anybasis:Anyinverse:Any
@property
molecule(self):
change_mol(self, mol):
@property
coords_by_modes(self):
@property
modes_by_coords(self):
to_internals(self, intcrds=None, dYdR=None, dRdY=None):
@property
origin(self):
embed(self, frame):
frame:MolecularTransformation:returns:_
insert(self, val, where):
Inserts values into the appropriate positions in the mode matrix
val:Anywhere:Any:returns:_
to_new_modes(self):
Converts to the new generalized normal modes
:returns:_
@classmethod
from_new_modes(cls, mol, modes):
Converts to the new generalized normal modes
:returns:_
@classmethod
from_force_constants(cls, molecule, fcs, *, atoms=None, masses=None, mass_units='AtomicMassUnits', inverse_mass_matrix=False, remove_transrot=True, dimensionless=False, mass_weighted=False, normalize=False, **opts):
Generates normal modes from the specified force constants
molecule:AbstractMoleculefcs:np.ndarrayforce constants array
atoms:Iterable[str]atom list
masses:Iterable[float]mass list
mass_units:strunits for the masses…not clear if this is useful or a distraction
inverse_mass_matrix:boolwhether or not we have G or G^-1 (default:
False)remove_transrot:boolwhether or not to remove the translations and rotations (default:
True)normalize:boolwhether or not to normalize the modes (default:
True)opts:Any:returns:MolecularNormalModes
__getitem__(self, item):
Takes a slice of the modes
item:Any:returns:_