PES Scan with SD Optimization
Overview
Steepest Descent (SD) is available for relaxed PES scans through #scan(method=sd). It reuses the SD-only mode of MAPLE's SD/CG optimizer family at every scan point.
SD is robust for distorted geometries and high-force regions, but it usually converges more slowly near a minimum. It is most useful as a stabilizing scan optimizer for rough starting structures or problematic scan points.
Parameters
Per-point SD settings reuse the same controls as #opt(method=sd). With method=sd the CG phase is disabled at each scan point; the scan driver keeps per-point optimizer verbosity quiet.
| Parameter | Type | Default | Description |
|---|---|---|---|
max_step |
float | 0.2 |
Maximum step length in Angstrom. |
max_iter |
int | 256 |
Maximum SD iterations per scan point. |
sd_max_iter |
int | 50 |
Maximum SD iterations before stopping (when used as a standalone method). |
diis_enabled |
bool | True |
Enable DIIS extrapolation acceleration. |
diis_store_every |
int | 5 |
Store a DIIS snapshot every N steps. |
diis_min_snapshots |
int | 3 |
Minimum snapshots required before DIIS extrapolation is attempted. |
diis_memory |
int | 6 |
Maximum number of DIIS snapshots stored. |
verbose |
int | 0 in scans |
Per-point optimizer verbosity. Scan keeps this low so the scan log stays readable. |
Input Example
Checked-in MAPLE example: example/scan/sd/dimethyl_peroxide_torsion.inp. This is the relaxed dimethyl peroxide torsion scan shown in the visualization below:
#model=aimnet2nse
#scan(method=sd,mode=relaxed)
#device=gpu0
C -0.38846526 -0.54120852 0.47889724
O -0.43299775 -0.36385918 -0.93087360
O 0.57946000 0.64373500 -1.22768354
C 1.45974812 0.03203524 -2.16138925
H 0.59947954 -0.89956469 0.78229810
H -1.13763115 -1.28584057 0.75935167
H -0.61851510 0.40189440 0.98297169
H 2.23953829 0.75053877 -2.42607962
H 1.92682619 -0.85102187 -1.71579499
H 0.91182580 -0.24730864 -3.06593618
S 1 2 3 4 5.0 72
The final S line is a dihedral scan: four atom indices followed by a 5.0 degree step and 72 increments, producing 73 scan points including the initial geometry.
Scan Visualization
The animation below pairs the generated scan geometries with the energy profile for a relaxed dimethyl peroxide torsion scan using SD.
When to Use SD Scans
- Severely distorted scan geometries: When early scan points have large steric clashes or unreasonable bond lengths, SD rapidly reduces the worst per-point forces without requiring Hessian information.
- Robust pre-relaxation: A short SD scan can stabilise structures before switching to L-BFGS, CG, or SD/CG.
- Avoid for large production grids: SD's slow convergence near the minimum makes it inefficient when a faster optimizer would converge reliably.
Pure SD is rarely the best choice for a complete scan. Consider SD/CG to automatically transition to conjugate gradient once large initial forces have been reduced.
