Representation of internal coordinate system, including methods to build it from cartesian coordinates, and to convert between coordinate systems.
initialize(geometry, options = {})
Creates new instance of InternalCoordinateSet operating on specified Geometry. Possible options are:
fix_torsions_in_vector(v)
Fixes torsions in primitive coordinates. Nothing is done for delocalized coordinates.
no_of_nonredundant
Counts the degrees of freedom as number of nonzero eigenvalues of G matrix in the redundant coordinates
rotate_initial_geometry
Rotate the geometry so that translation/rotation degrees of freedom can be later eliminated easily.
The matrices used are cached in instance variables. They depend only on current cartesian geometry, so the cache should be invalidated each time the geometry changes (by calling geometry_changed! method).
grad_to_internal(gradient)
Converts cartesian gradient to projected gradient in internal coordinates
find_bonds(options = {:intermolecular => true, :h_bonds => false})
Identifies all covalent bonds and closest interfragment connections. Returns number of coordinates found.
find_angles
Identifies all bond angles in the connectivity established by find_bonds. Returns number of coordinates found.
find_torsions
Identifies all torsions angles in the connectivity established by find_bonds. If none is found in sufficiently large molecule, looks for improper torsions. Returns number of coordinates found.