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
class pysisyphus.hindered_rotor.RotorInfo.RotorInfo(atoms, coords3d, masses, indices_left, indices_right, indices, bond, imom_left, imom_right, m, n)[source]

Bases: object

as_xyzs()[source]
atoms: tuple[str, ...]
bond: list[int]
coords3d: ndarray
dump_trj(fn)[source]
property fragment_left
property fragment_right
static from_torsion(geom, torsion_indices, **kwargs)[source]
get_fragment(key)[source]
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
render_report()[source]
Return type:

str

property tot_mass
pysisyphus.hindered_rotor.RotorInfo.prepare_rotor_info(geom, torsion_indices, rotor_indices=None, m=2, n=3)[source]
Return type:

RotorInfo

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]]

pysisyphus.hindered_rotor.fragment.rotate_fragment_around_bond(coords3d, bond, fragment, deg)[source]

Rotate fragment bonded to the 2nd atom in bond around said bond.

Return type:

ndarray

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

17.1.1.9.6. pysisyphus.hindered_rotor.opt module

17.1.1.9.7. pysisyphus.hindered_rotor.torsion_driver module

17.1.1.9.8. pysisyphus.hindered_rotor.torsion_gpr module

17.1.1.9.9. pysisyphus.hindered_rotor.types module

17.1.1.9.10. Module contents