GeomeTRIC Optimizer

The GeomeTRIC backend is a quasi-Newton geometry optimizer that works natively in translation-rotation internal coordinates (TRIC). It targets both energy minima and first-order saddle points, drives an adaptive trust-radius loop, and back-transforms each internal-coordinate step to Cartesian space iteratively.

Select it from the OPT section:

OPT
  Algorithm  geometric      # aliases: geomet, tric
  Coord      tric | tric-p  # tric-p uses primitives only
  ...
END

Coordinate System

The optimizer builds a [TricSystem] from molecular topology:

  1. Topology primitives — bonds, angles, dihedrals, and out-of-plane terms inferred from the connectivity graph. A linear/chain fallback is used when the topology yields no primitives.
  2. Per-fragment external coordinates — for the tric model, each disconnected fragment contributes six rigid-body coordinates ordered as :
    • Translation is the fragment centroid.
    • Rotation is encoded as an exponential map relative to the geometry captured when the system was built.

The tric-p model uses topology primitives only (no rigid-body coordinates), matching the Primitive coordinate kind.

Rotation Coordinates

Rotational internal coordinates use a quaternion/exponential-map algebra:

  • The optimal rotation quaternion between the current fragment geometry and its reference is obtained from the eigenvector of a correlation matrix.
  • The quaternion is mapped to a three-component exponential map that is free of gimbal singularities over the working range.
  • Analytic derivatives of the exponential map with respect to Cartesian coordinates supply the rotational rows of the Wilson -matrix.

B-Matrix and Gradient Projection

The Wilson -matrix collects for every internal coordinate. Primitive rows come from the topology set; the centroid translation rows are constant (), and the rotation rows come from the analytic exponential-map derivatives.

Cartesian gradients are projected into internals through the Wilson -matrix:

with formed as an SVD pseudo-inverse to handle the redundancy of the internal set.

Initial Hessian

initial_ic_hessian seeds the internal-coordinate Hessian:

  • From a Cartesian Hessian (recommended for TS): transformed into internals via . For minimization it is forced positive-definite; for TS the single negative eigenvalue (the reaction coordinate) is preserved.
  • Model guess (fallback): the Lindh diagonal for primitives plus weak positive curvature ( a.u.) on each translation/rotation coordinate. This fallback also covers degenerate B-matrices from near-linear fragments.

Step Engine

Each cycle proposes a step with the trust-radius engine:

  • Minimization uses the trust-radius Newton-Raphson (TRM) step with BFGS Hessian updates by default.
  • Transition states use restricted-step partitioned RFO (RS-P-RFO), which maximizes along the lowest Hessian eigenmode (transition vector) and minimizes along the rest, with Bofill Hessian updates by default.

The trust_step driver scales the proposed step to the current trust radius via a damped Hebden iteration. The iteration is bounded (oscillation detection plus a hard MAX_ITER cap) and returns the best step found. The RS-P-RFO metric uses a strictly positive scaling parameter; non-finite or non-positive values are clamped to a small positive floor so the symmetric eigensolver always converges.

Internal-to-Cartesian Back-Transform

ic_to_cartesian recovers Cartesian coordinates that reproduce a target internal displacement through the iteration

with periodic-aware residuals (dihedral and rotation coordinates wrap into ), per-atom step capping, and adaptive damping. A bork flag is raised when the residual stays large, which the optimizer treats as a rejected step.

Trust-Radius Control

The step quality factor drives an adaptive trust radius:

  • at the trust boundary → grow trust (up to TMax).
  • → shrink trust (down to the floor).
  • Bad steps are rejected and retried with a halved trust radius; once the floor is reached the step is accepted to keep making progress.

Minimization rejects energy-raising steps against a confident prediction; TS searches legitimately raise the energy along the reaction coordinate and only reject pathological quality factors or failed back-transforms.

Convergence

Uses the same 5-criterion Gaussian-style test as the other backends (energy change, gradient RMS/max, displacement RMS/max). See Geometry Optimization Algorithms for the shared convergence presets.