Geometry Optimization

Overview

Geometry optimization minimizes the molecular energy by iteratively adjusting nuclear positions until the forces acting on all atoms fall below predefined convergence thresholds. Starting from an initial structure, the optimizer walks downhill on the potential energy surface to locate the nearest local minimum.

MAPLE provides several optimization algorithms suited to different problem types, ranging from efficient quasi-Newton methods to simple gradient-based approaches. The default optimizer, L-BFGS, is appropriate for the vast majority of systems.

Available Methods

Method Keyword Description
L-BFGS lbfgs Limited-memory BFGS quasi-Newton method. Default and recommended for most systems.
RFO rfo Rational Function Optimization with trust radius control. More robust for difficult cases.
SD sd Steepest descent. Simplest first-order method; follows the negative gradient.
CG cg Conjugate gradient. Improved convergence over SD with minimal additional cost.
SDCG sdcg Hybrid steepest-descent / conjugate-gradient. Starts with SD, switches to CG automatically.

Quick Usage

To run a geometry optimization, add the #opt directive to your input file. The method can be specified in parentheses:

#opt(method=lbfgs)

If no method is specified, L-BFGS is used by default:

#opt

Input Example

A complete input file for a geometry optimization using the UMA model on a GPU device:

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

[coordinates]
O    0.000000    0.000000    0.117300
H    0.000000    0.756950   -0.469200
H    0.000000   -0.756950   -0.469200

Common Parameters

These parameters are shared across all optimization methods. Individual methods may accept additional method-specific parameters.

Parameter Default Description
method lbfgs Optimization algorithm to use (see table above).
level medium Convergence level preset. Options: extratight, tight, medium (default), loose, extraloose, superloose.
max_iter 256 Maximum number of optimization cycles before the calculation is terminated.
write_traj false Write intermediate geometries to a trajectory file.

Output Files

A successful optimization produces the following output files:

  • *_opt.xyz — The final optimized geometry in XYZ format. This is the primary result file.
  • *_traj.xyz — The full optimization trajectory containing the geometry at each iteration (only produced when write_traj=true). Useful for visualizing the optimization path in molecular viewers.
  • *.out — The main output log containing energies, forces, convergence diagnostics, and timing information at each step.
Tip

For routine optimizations, the default L-BFGS method with level=medium is sufficient. Switch to level=tight when computing vibrational frequencies on the optimized geometry to ensure accurate Hessian evaluation.