PES Scan with L-BFGS Optimization

Overview

The L-BFGS (Limited-memory Broyden–Fletcher–Goldfarb–Shanno) method is the default geometry optimizer used in relaxed PES scans. At each scan point, after the scanned internal coordinates are constrained to their target values, L-BFGS optimizes all remaining degrees of freedom to find the nearest local minimum on the constrained surface.

L-BFGS builds a low-rank approximation to the inverse Hessian from a short history of past displacements and gradient changes, enabling efficient convergence without storing or inverting the full Hessian matrix. This makes it well suited for systems of any size, from small molecules to large biomolecular fragments.

Parameters

The scan L-BFGS optimizer uses standalone functions from scan/algorithm/LBFGS.py with hardcoded parameters. These are not the same as the optimization task LBFGSParams and cannot be overridden from the input file.

Parameter Type Default Description
memory int 5 Number of previous steps retained for the approximate inverse Hessian.
curvature float 70.0 Initial Hessian scaling factor before optimization history is accumulated.
max_step float 0.2 Maximum allowed atomic displacement per step (Angstroms).
max_iter int 128 Maximum number of L-BFGS iterations per scan point.

Note

No separate Params class exists for scan algorithms. The scan L-BFGS uses hardcoded values in its standalone function, unlike the optimization task L-BFGS which exposes a full LBFGSParams dataclass.

Input Example

A relaxed 1D bond scan using L-BFGS (the default):

#model=uma
#scan(method=lbfgs)
#device=gpu0

C   0.0  0.0  0.0
H   1.0  0.0  0.0
O   2.0  0.0  0.0

S 1 2 -0.1 15

Since L-BFGS is the default scan optimizer, #scan without specifying a method is equivalent to #scan(method=lbfgs).

When to Use

L-BFGS is the recommended default method for relaxed PES scans. Use it when:

  • You need a general-purpose relaxed scan with reliable convergence.
  • The system is well-behaved and does not exhibit strong anharmonicity or near-degenerate states at the scan points.
  • You want efficient optimization without explicit Hessian computation at each scan point.

If L-BFGS has difficulty converging at certain scan points (for example, near transition states or in flat regions of the PES), consider switching to the RFO method.