17.1.1.9. pysisyphus.hindered_rotor package
17.1.1.9.1. Submodules
17.1.1.9.2. pysisyphus.hindered_rotor.RotorInfo module
- class pysisyphus.hindered_rotor.RotorInfo.Fragment(key, natoms, tot_mass, indices, imom)[source]
Bases:
object-
imom:
float
-
indices:
list[int]
-
key:
Literal['left','right']
-
natoms:
int
-
tot_mass:
float
-
imom:
- class pysisyphus.hindered_rotor.RotorInfo.RotorInfo(atoms, coords3d, masses, indices_left, indices_right, indices, bond, imom_left, imom_right, m, n)[source]
Bases:
object-
atoms:
tuple[str,...]
-
bond:
list[int]
-
coords3d:
ndarray
- property fragment_left
- property fragment_right
-
imom_left:
float
-
imom_right:
float
-
indices:
list[int]
-
indices_left:
list[int]
-
indices_right:
list[int]
-
m:
int
-
masses:
ndarray
-
n:
int
- property natoms
- property tot_mass
-
atoms:
17.1.1.9.3. pysisyphus.hindered_rotor.TorsionGPRResult module
17.1.1.9.4. pysisyphus.hindered_rotor.fragment module
- pysisyphus.hindered_rotor.fragment.fragment_geom(geom, rm_bond)[source]
Split geometry comprising N fragments into N+1 fragments by bond deletion.
This function is probably not completely general, but should support common cases like an initially bonded molecule that is fragmented by removal of a bond and non-bonded van-der-Waals complexes.
The method will fail for circular systems where removal of one bond breaks the ring.
- Return type:
tuple[list[int],list[int]]
17.1.1.9.5. pysisyphus.hindered_rotor.inertmom module
- pysisyphus.hindered_rotor.inertmom.get_com(coords3d, masses)[source]
Get center-of-mass.
- Parameters:
coords3d (
ndarray) -- 2d array of shape (natoms, 3) holding Cartesian atomic coordinates.masses (
ndarray) -- 1d array of shape (natoms, ) holding atomic mass.
- Returns:
1d array of shape (3, ) holding the center of mass in units of coords3d.
- Return type:
com
- pysisyphus.hindered_rotor.inertmom.get_top_moment_of_inertia(coords3d, masses, top_inds, bond_inds, m=2, n=3)[source]
- Parameters:
coords3d (
ndarray) -- 2d array of shape (natoms, 3) holding the Cartesian atomic coordinates of the molecule.masses (
ndarray) -- 1d array of shape (natoms, ) holding atomic mass. Similar to coords3d, only masses for the atoms in the selected top should be included.top_inds (
list[int])axis -- 1d array of shape (3, ) with norm 1, holding the axis of rotation.
pivot -- 1d array of shape (3, ) holding the pivot point. The centroid of coords3d will be shifted to the pivot.
Returns
- Return type:
tuple[float,float]- Returns:
top_inertia
rest_inertia
- pysisyphus.hindered_rotor.inertmom.inertia_1n(coords3d, masses, axis, pivot)[source]
Moment of interia for rotation of coords3d w/ pivot around axis.
- Parameters:
coords3d (
ndarray) -- 2d array of shape (natoms_top, 3) holding Cartesian atomic coordinates. In this function, coords3d should only contain the coordinates of the atoms in the selected top.masses (
ndarray) -- 1d array of shape (natoms_top, ) holding atomic mass. Similar to coords3d, only masses for the atoms in the selected top should be included.axis (
ndarray) -- 1d array of shape (3, ) with norm 1, holding the axis of rotation.pivot (
ndarray) -- 1d array of shape (3, ) holding the pivot point. The centroid of coords3d will be shifted to the pivot.
- Returns:
Moment of intertia for rotation of coords3d around axis with pivot.
- Return type:
I