Transition State Method: String
Growing String Method for reaction path construction between reactant and product geometries.
The String (GSM) method is an engineering implementation of the Growing String Method. It constructs a reaction path between a given reactant and product geometry via two-ended adaptive growth, followed by equal-arc reparametrization and local transition-state refinement using a PRFO/RFO optimizer. Key algorithmic features include Kabsch alignment of endpoints, two-ended adaptive growth with constrained mini-relaxation in the hyperplane orthogonal to the local path direction, energy-weighted tangents, a dynamic growth policy (including side pausing and forced connector pulls), and a final PRFO refinement starting from the highest-energy image (HEI).
I. Adjustable Parameters
grow_step
Initial growth step length (Å); sets the typical displacement used to generate new images from each end during the GSM growth phase. Larger values grow the path faster but more roughly; smaller values give more conservative, smoother growth.
(default: grow_step=0.12)
grow_step_min
Minimum growth step (Å); the step size will not shrink below this value during backtracking, and very close endpoints will not move by less than this. Usually only adjusted if growth repeatedly stalls or becomes unstable.
(default: grow_step_min=0.02)
grow_backtrack
Backtracking factor; when a trial step is judged too aggressive (too uphill or too strained), the step size is multiplied by this factor and retried. Smaller values shrink more aggressively.
(default: grow_backtrack=0.5)
grow_relax_iters
Maximum number of iterations for each local mini-relaxation of a new image during growth. Larger values allow more thorough local relaxation but increase cost per step.
(default: grow_relax_iters=10)
grow_relax_tol
Force tolerance (Eh/Å) for local mini-relaxations; controls how tightly each new image is relaxed. Smaller values enforce stricter local convergence and smoother forces, at higher cost.
(default: grow_relax_tol=0.0025)
grow_energy_toll
Maximum allowed energy increase (Eh) for a trial growth step. If a single step raises the energy more than this tolerance, the step is regarded as too uphill and will be reduced and retried.
(default: grow_energy_toll=0.001)
pause_imbalance
Threshold for the difference in image counts on the two ends. If |n_left − n_right| exceeds this value, growth on the longer side is temporarily paused so that the shorter side can catch up.
(default: pause_imbalance=2)
refine_end_every
Frequency (in global growth iterations) of extra local refinement at the endpoints. Every this many growth steps, the most recent images on both sides are additionally relaxed. Use 0 to disable.
(default: refine_end_every=3)
merge_threshold
Merge threshold (Å); when the average per-atom distance between the last images on the left and right sides falls below this value, growth is considered complete and the two sides are merged.
(default: merge_threshold=0.5)
n_images
Total number of images in the final, reparameterized path, including fixed reactant and product endpoints. Larger values give a higher-resolution path at increased computational cost; must be at least 2.
(default: n_images=9)
II. Output Files
The String method produces several output files containing information about the reaction path construction and final transition state.
Main Output File: *.out
Contains detailed information about the string growth process, including convergence diagnostics and final transition state properties.
Trajectory Files
Various XYZ trajectory files are generated showing the evolution of the reaction path during the string method calculation.
Final Path
The final optimized reaction path with the identified transition state structure is written to output files for further analysis.