Scan Method: RFO
The RFO (Rational Function Optimization) method is a Hessian-based geometry optimizer that can be used within the Scan workflow to relax constrained structures in regions close to stationary points on the potential energy surface.
The RFO (Rational Function Optimization) method is a Hessian-based geometry optimizer that can be used within the Scan workflow to relax constrained structures in regions close to stationary points on the potential energy surface. For each optimization step, the method builds the full Hessian matrix from the current structure, diagonalizes it to obtain eigenvalues and eigenvectors, and determines a shift parameter lambda by solving a one-dimensional nonlinear equation using Brent's root-finding algorithm. The geometry update is then obtained by solving the linear system (H − lambda I)x = −g, followed by a hard cap on the overall step length to keep the displacement within a prescribed maximum step size and avoid unphysical jumps. After updating the coordinates, RFO recomputes energy and forces, evaluates standard convergence metrics (maximum and RMS force, maximum and RMS displacement) against thresholds stored on the Atoms object, and either continues iterating or terminates when these criteria are satisfied or an internal iteration limit is reached.
I. Adjustable Parameters
maxiter
Maximum number of RFO iterations. Sets the upper limit on how many RFO optimization cycles are performed. If this limit is reached before the transition state converges, the optimization stops and the latest geometry is returned.
(default: max_iter = 256)
max_step_size
Maximum allowed step length. Upper bound on the displacement applied during each RFO update. This prevents overly large steps that could cause divergence or unphysical atomic movements during TS optimization.
(default: max_step_size = 0.1)
tol
Convergence tolerance for λ (Brent root-search). Controls the numerical precision when solving for the RFO shift parameter λ using Brent's method. Smaller tolerances provide higher accuracy at the cost of additional iterations.
(default: tol = 1.0e-5)
lambda_max_iter
Maximum number of λ root-search iterations. Upper bound on the number of Brent iterations used to solve the rational-function shift equation for λ. Prevents excessive looping in poorly conditioned TS regions.
(default: lambda_max_iter = 64)
f_max_th
Maximum force threshold for TS convergence. Convergence criterion based on the maximum atomic force. The transition-state optimization terminates only when the maximum force falls below this threshold. This value must be provided by the caller.
f_rms_th
RMS force threshold for TS convergence. Root-mean-square force criterion applied to the entire structure. Used together with f_max_th to determine whether the TS search has converged.
dp_max_th
Maximum displacement threshold. Checks the largest atomic displacement during an RFO step. Ensures that geometry changes remain small near the saddle point.
dp_rms_th
RMS displacement threshold. Root-mean-square atomic displacement threshold used as a step-size convergence measure. All displacement criteria must be satisfied together for the TS to be considered converged.