Delocalized Internal Coordinates

Overview

Delocalized internal coordinates are fundamental to the GSM because they enable direct and efficient constrained optimization. Furthermore, delocalized internal coordinates are a more natural coordinate system with less coupling in the Hessian because they are linear combinations of bonds, angles and torsions. Cartesian coordinates, on the other hand, are highly coupled coordinate system. On this page we will describe the generation of delocalized internal coordinatess, and how they are used in the GSM.

Generation

GString::structure_init reads the xyzfile for the atom names and Cartesian coordinates. ICoord::alloc allocates memory and ICoord::reset sets the coordinates and atom information in the ICoord class. To construct delocalized internal coordinates, we require a complete set of internal coordinates. Internal coordinates are bonds, angles, and torsions and as such can be measured using atom-connectivity. The function responsible for forming the internal coorindates is ICoord::ic_create. In DE GSM, ICoord::union_ic forms the union of reactant and product internal cooridnates as the full set of internal coordinates. The linear transformation describing the transformation from Cartesian coordinates to internal coordinates is the Wilson B matrix. ICoord::bmat_alloc allocates memory for the B matrix, delocalized internal coordinates U, and other important variables, and ICoord::bmatp_create creates the B matrix. The function ICoord::bmatp_to_U diagonalizes G=BTB to provide two sets of eigenvectors; a set of m=3N-6 eigenvectors with eigenvalues >0 called U and a set of n-m eigenvectors with eigenvalues =0 (to numerical precision) called R. The set U exactly spans the 3N-6 molecular space and are therefore a non-redundant coordinate system. The coordinates U are saved as the transpose ICoord::Ut. The component of each coordinate (ICoord::q) in U is formed in ICoord::bmat_create. Additionally, the B matrix—which was constructed from the original primitive internals—is transformed to the active coordinate set according to B=(UT)Bp. This active B matrx is used by ICoord::grad_to_q to transform a gradient calculated in Cartesian coordinates, to a gradient described in delocalized internal coordinates. The back transformation from delocalized internal coordinates to Cartesian coordinates also uses the B matrix, and is performed in ICoord::ic_to_xyz and ICoord::ic_to_xyz_opt.

Constrained Optimization and Linear Interpolation

One of the main advantages of delocalized internal coordinates is their ease of use for constrained optimization and linear interpolation. Linear interpolation and constrained optimization begins by forming an internal coordinate constraint vector. In DE GSM, the constraint vector is the tangent vector between reactant and product, and is calculated by GString::tangent_1. In SE GSM the constraint vector is the driving coordinate scaled appropriately, and is calculated by GString::tangent_1b. The internal coordinate constraint vector is projected into the coordinate space defined by the primitive internal coordinates. A set V containting U and the constraint vector is formed. This set is redundant because it contains the 3N-6 non-redundant set U and the constraint vector. Therefore, it can be Schmidt orthogonalized to make the vectors U and the constraint vector orthogonal and the space non-redundant. This procedure is performed in ICoord::opt_constraint. The new non-redundant molecular space obtained from ICoord::opt_constraint contains 3N-7 adjustable degrees of freedom and one degree of freedom corresponding to the constraint vector. The constraint vector can either be kept constant to perform a constrained optimization, or incremented to linearly interpret along the constraint vector. Both are done in the GSM. Constrained optimization is performed in ICoord::opt_c, and linear interpolation is performed when adding nodes (GString::starting_string and GString::addNode), when reparametrizing the string (GString::ic_reparam_g and GString::ic_reparam), and when performing climbing image (ICoord::walk_up).

References

Baker, Jon and Kessi, Alain and Delley, Bernard, "The generation and use of delocalized internal coordinates in geometry optimization" The Journal of Chemical Physics, 105, 192-212 (1996), DOI:http://dx.doi.org/10.1063/1.471864
http://scitation.aip.org/content/aip/journal/jcp/105/1/10.1063/1.471864

 All Classes Namespaces Files Functions Variables Defines

Generated on 18 Dec 2016 by  doxygen 1.6.1