Dimer method¶
The dimer method of Henkelman and Jónsson [DM_HJonsson99] with improvements by Heyden et al. [DM_HBK05] and Kästner and Sherwood [DM_KastnerS08] for estimating the lowest Eigenmode using only first derivatives.
An overview may be found in Olsen et al. [DM_OKH+04].
The dimer separation is set in the [Main] section with the
finiteDifference parameter. With [Main] parallel left on, an ext_pot
dimer keeps a separate potential, and a separate exchange directory, on
each image. See External Potential. On a potential that evaluates
batches, the moved centre and its forward image go out in one call.
remove_rotation skips that call. A Lanczos, Davidson, or LOR rotation
skips it too, and leaves the centre evaluation in place.
The method of Melander et al. [DM_MLJonsson15] is also implemented for use with gas phase systems.
Note
There is no point removing rotations for an extended system. Rotation removal may be more detrimental as noted in Goswami [DM_Gos25].
Added in version 2.5: The Gaussian Process Regression accelerated dimer in C++ from Goswami et al. [DM_GMK+25].
Rotation backends¶
The softest-mode estimate used in the dimer rotation step can be chosen with
rotation_backend under [Dimer] (default classical). Min-mode-following
translation along that mode is unchanged; only how τ / the lowest curvature is
obtained differs.
Value |
Mode estimation |
Notes |
|---|---|---|
|
Constrained dimer rotation (Heyden / Kästner–Sherwood style) |
Default; uses |
|
Finite-difference Lanczos min-mode |
Shares the client Lanczos implementation; see Lanczos |
|
Finite-difference Davidson min-mode |
Same role as Lanczos with a different iterative subspace |
|
Locally optimal rotation (LOR), Algorithm I |
Leng et al. [DM_LGSL13]; at most one new FD force per rotation iteration via Hessian–vector products and force translation of prior H·N / H·F⊥ products |
Added in version 2.17.2: rotation_backend (classical | lanczos | davidson | lor). The LOR path
implements Leng et al. [DM_LGSL13]: 2×2 then 3×3 Ritz
problems in the rotation subspace, force translation for H·P₃ (linear action of H
on the unit Gram–Schmidt residual of the trial direction), residual /
rotations_max / stall stops, and a best-mode
restore when the Ritz sequence is non-monotonic under FD noise.
LOR stops when the relative residual
‖F_⊥‖ / (|C_N| + 1) < max(1e-3, lor_residual_tol) (default
lor_residual_tol = 0.1). That parameter is the LOR residual stop and
applies only when rotation_backend = lor. Classical rotation uses
torque_min (angular torque for the constrained rotation loop). Budget is
rotations_max (default 10; values
<= 0 fall back to 10). Exhausting the budget without meeting the residual
stop sets rotationDidConverge false on ImprovedDimer.
For classical dimer rotation, the angle estimate keeps the signed atan
limit when the denominator is numerically tiny (+/- pi/2 for a nonzero
numerator) instead of collapsing to a zero-angle fallback. This preserves
the finite-angle rotation direction in near-singular steps and avoids
stalling the rotation estimate.
Example:
[Dimer]
improved = True
rotation_backend = lor
lor_residual_tol = 0.1
rotations_max = 20
improved = True (default) uses ImprovedDimer; non-classical backends skip the
classical IDimerRot loop and call the selected min-mode backend through a
shared dispatch helper. Rotation iteration budgets for LOR follow
rotations_max. Geometry uses max_iterations.
Configuration¶
[Dimer]
- pydantic model eon.schema.DimerConfig[source]¶
- Fields:
opt_method (Literal['sd', 'cg', 'lbfgs'])converged_angle (float)rotations_max (int)finite_angle (float)dimer_improved (bool)dimer_max_iterations (int)dimer_rotations_min (int)dimer_torque_min (float)dimer_torque_max (float)dimer_remove_rotation (bool)
- field opt_method: Literal['sd', 'cg', 'lbfgs'] = 'cg'¶
- Options:
‘sd’: Steepest descent, rotate along the rotational force.
‘cg’: Conjugate gradient, rotate along conjugate directions.
‘lbfgs’: Limited memory Broyden-Fletcher-Goldfarb-Shanno Quasi-Newton optimizer.
Optimization algorithm to choose the dimer rotation direction.
- field converged_angle: float = 5.0¶
The dimer is considered converged if it will be rotated fewer degrees than this angle. min_mode_method = xtsci passes it to rgsaddle as rotation_angle_tol, in radians.
- field rotations_max: int = 10¶
This is the maximum number of rotations allowed for the dimer for each minimum mode estimation, and the rotation budget of min_mode_method = xtsci.
- field dimer_torque_min: float = 0.1¶
Minimum torque for the dimer. [not improved] min_mode_method = xtsci passes it to rgsaddle as rotation_tol.
- field dimer_remove_rotation: bool = False¶
Implements the method of Melander et al. [DM_MLJonsson15]
Indicates if the rotation should be removed.
References¶
Rohit Goswami. Bayesian hierarchical models for quantitative estimates for performance metrics applied to saddle search algorithms. AIP Advances, 15(8):85210, August 2025. doi:10.1063/5.0283639.
Rohit Goswami, Maxim Masterov, Satish Kamath, Alejandro Peña-Torres, and Hannes Jónsson. Efficient implementation of gaussian process regression accelerated saddle point searches with application to molecular reactions. May 2025. arXiv:2505.12519, doi:10.48550/arXiv.2505.12519.
Graeme Henkelman and Hannes Jónsson. A dimer method for finding saddle points on high dimensional potential surfaces using only first derivatives. The Journal of Chemical Physics, 111(15):7010–7022, October 1999. doi:10.1063/1.480097.
Andreas Heyden, Alexis T. Bell, and Frerich J. Keil. Efficient methods for finding transition states in chemical reactions: Comparison of improved dimer method and partitioned rational function optimization method. The Journal of Chemical Physics, 123(22):224101, December 2005. doi:10.1063/1.2104507.
Johannes Kästner and Paul Sherwood. Superlinearly converging dimer method for transition state search. The Journal of Chemical Physics, 128(1):014106, January 2008. doi:10.1063/1.2815812.
Jing Leng, Weiguo Gao, Cheng Shang, and Zhi-Pan Liu. Efficient softest mode finding in transition states calculations. The Journal of Chemical Physics, 138(9):094110, March 2013. doi:10.1063/1.4792644.
Marko Melander, Kari Laasonen, and Hannes Jónsson. Removing External Degrees of Freedom from Transition-State Search Methods using Quaternions. Journal of Chemical Theory and Computation, 11(3):1055–1062, March 2015. doi:10.1021/ct501155k.
R. A. Olsen, G. J. Kroes, G. Henkelman, A. Arnaldsson, and H. Jónsson. Comparison of methods for finding saddle points without knowledge of the final states. The Journal of Chemical Physics, 121(20):9776–9792, November 2004. doi:10.1063/1.1809574.