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 whenwrite_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.
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.
