Double-Ended GSM

Description

DE GSM grows and optimizes a string of molecular geometries called nodes between a reactant and product pair and finds the exact transition state (TS) structure between them. This is done in two phases called the growth and optimization phase. The growth phase grows the string of nodes from the outside-in, and performs initial optimization. The optimization phase finishes optimizing the string and when the string is sufficiently optimized and behaving, the node with the highest energy is optimized to the exact transition state using climbing image and eigenvector following optimization. The driver for both DE and SE methods and growth and optimization phases is the GString::String_Method_Optimization.

Growth Phase

The growth phase begins in GString::starting_string which grows two nodes along the tangent vector connecting the reactant product pair, one on the reactant side and the other on the product side. The new nodes can be optimized subject to the tangent vector constraint, and a new tangent vector formed between them. Two more nodes can be added and the process repeated until the number of nodes requested are formed. A description of how delocalized internal coordinates, are formed and used to add nodes and perform constrained optimization is given in Delocalized Internal Coordinates.

The driver for adding nodes (GString::addNode) and node optimization (GString::opt_steps) during the growth phase is GString::growth_iters. GString::opt_steps sends each active node to be optimized in ICoord::opt_c. In DE the added nodes are active, whereas in SE only frontier nodes are active (see Single-Ended GSM). The ICoord::opt_c function optimizes the node subject to the constraint, formed in ICoord::opt_constraint. Each node is optimized at least one time and at most three times. If the node converges to within GString::CONV_TOL it will optimize less than three times. The maximum number of iterations are hard-coded for DE but can be changed via the inpfileq for SE. ICoord::opt_c uses ICoord::update_ic_eigen to take Newton-Raphson Steps in the 3N-7 degrees of freedom corresponding to the nuclear space orthogonal to the constraint vector. GString::ic_reparam_g repositions the nodes evenly along the string by adjusting the position of the nodes along the constraint vector.

Optimization Phase

GString::opt_iters is the driver for optimizing the string of nodes subject to the constraint vectors and for finding the exact TS structure. Finding the exact TS structure is done in two steps that locates the TS structure efficiently and eliminates the possibility the TS search finds the wrong TS structure. The first step is the climbing image and the second step is a modified eigenvector following optimization.

Climbing image allows the node corresponding the TS structure to move upward in energy towards the maximum using the component of the gradient that is in the direction of the reaction path. The maximum along the RP is a better structure for a local TS search. The local TS search is a modified eigenvector following approach. While conventional eigenvector following will ascend along the lowest eigenvalue vector of the Hessian, this criterion can be modified for increased stability since the approximate reaction path direction is known in GSM. To ensure that the correct mode is followed, the eigenvector of the Hessian with the highest overlap with the string tangent at the TS is targeted. Once the exact TS search commences, string optimization continues to proceed as usual. The TS node itself is not reparameterized, but equal spacing of nodes on either side of the string is still enforced (GString::ic_reparam). Because the maximized eigenvector of the TS node must overlap with the reaction path tangent, the TS node remains effectively constrained within the reaction path.

Climbing image will be activated (GString::climb will equal 1) once the totalgrad < 0.3 and one peak is found (GString::find_peaks). When GString::opt_steps is called the function GString::get_tangents_1e will form a three-way tangent on the TS node. This forms a more accurate RP direction for climbing image and approximating the Hessian. The function which performs the climbing image is ICoord::walk_up, and is called within ICoord::update_ic_eigen_h.

The local TS search (GString::find = 1) will commence once the gradient of the TS node is small, the totalgrad is small, and the gradient in the direction of the RP at the TS node is smalll. GString::get_eigenv_finite forms the eigenvectors corresponding to the imaginary frequencies. The eigenvector corresponding to the greatest overlap with the RP is used in the local TS search as described above. The function ICoord::opt_eigen_ts is responsible for performing the local TS search. Convergence of the reaction path is considered complete when the TS node has a small root mean squared (RMS) gradient of GString::CONV_TOL (usually 0.0005 hartree/Å). The same RMS gradient threshold is used to temporarily cease node optimization during each string iteration.

References:

P. M. Zimmerman, “Reliable Transition State Searches Integrated with the Growing String Method,” Journal of Chemical Theory and Computation, 9, 3043-3050 (2013)
http://pubs.acs.org.proxy.lib.umich.edu/doi/full/10.1021/ct400319w

 All Classes Namespaces Files Functions Variables Defines

Generated on 18 Dec 2016 by  doxygen 1.6.1