Three classes for representation of internal coordinate:

class InternalCoordinate

grad_on_atoms   grad_to_atoms   grad_to_grad_array   initialize   size   value  

initialize(type, *atoms)

Types:

Misc

size # => integer

Get dimension of the coordinate

Calculations

value # => float

Returns value of the internal coordinate

grad_on_atoms(grad) # => Array of Coordinates

Returns cartesian gradients on the atoms calculated from gradient in the internal coordinate

grad_to_atoms(grad)

gradient in the internal coordinate is applied to atoms in the geometry

grad_to_grad_array(grad, geometry, array)

gradient in the internal coordinate is applied to array of gradients

class GroupsInternalCoord

grad_on_centers   grad_to_geometry   grad_to_grad_array   initialize   size   type   value  

Initialize

initialize(type, geometry, *lists)

Types:

Misc

size # => integer

Get dimension of the coordinate

type # => Symbol

Get type of the coordinate

Calculations

value # => float

Returns value of the internal coordinate

grad_on_centers(grad) # => Array of Coordinates

Returns cartesian gradients on the centers calculated from gradient in the internal coordinate

grad_to_geometry(grad)

gradient in the internal coordinate is applied to atoms in the geometry

grad_to_grad_array(grad, array)

gradient in the internal coordinate is applied to array of gradients

class InternalCoordinateI

atoms   grad_on_atoms   initialize   size   type   value  

Here the atoms are specified by their index in geometry

Initialize

initialize(type, geometry, *indexes)

Types:

Misc

size # => integer

Get dimension of the coordinate

type # => Symbol

Get type of the coordinate

atoms # => Array of Atom

Get array od the atoms

Calculations

value # => float

Returns value of the internal coordinate

grad_on_atoms(grad) # => Array of Coordinates

Returns cartesian gradients on the centers calculated from gradient in the internal coordinate