Potential Energy Surface Scanning
Overview
The PES Scan module performs systematic exploration of the potential energy surface along user-specified internal coordinates. It supports one-dimensional (1D), two-dimensional (2D), and arbitrary N-dimensional scans. Two scan modes are available: relaxed scans, where all coordinates except the scanned ones are optimized at each step, and rigid scans, where all other coordinates are frozen at their initial values.
PES scans are commonly used for constructing torsional energy profiles, mapping bond-dissociation curves, exploring conformational landscapes, and generating starting geometries for transition-state searches.
Scan Coordinate Syntax
Scan coordinates are specified with the S command at the end of the input file, after the molecular geometry. The format depends on the type of internal coordinate being scanned:
- Distance scan (2 atoms):
S atom1 atom2 step_size n_steps - Angle scan (3 atoms):
S atom1 atom2 atom3 step_size n_steps - Dihedral scan (4 atoms):
S atom1 atom2 atom3 atom4 step_size n_steps
Where:
- atom1, atom2, ... — 1-based atom indices defining the internal coordinate to scan.
- step_size — increment per step (in Angstroms for bonds, degrees for angles/dihedrals). Negative values scan in the decreasing direction.
- n_steps — number of scan steps to perform.
Scan Modes
MAPLE supports two scan modes, selected via the mode parameter in the #scan header:
| Mode | Description | Use Case |
|---|---|---|
| relaxed | Optimizes all degrees of freedom except the scanned coordinates at each scan point. Produces a minimum-energy path along the scan coordinate. | Torsional profiles, bond dissociation curves, conformational analysis. |
| rigid | Freezes all coordinates at their initial values; only the scanned coordinate changes. No geometry optimization is performed. | Quick energy profiles, repulsive wall scans, initial survey of PES topology. |
Input Example
A simple 1D relaxed bond scan between atoms 1 and 2:
#model=uma
#scan
#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
This performs 15 steps along the C–H bond, decreasing the distance by 0.1 Å at each step. Since no method is specified, the default L-BFGS optimizer is used for relaxed optimization at each scan point.
2D Scan Example
To scan two coordinates simultaneously, specify multiple S lines. MAPLE constructs the full Cartesian-product grid of scan points:
S 1 2 -0.1 15
S 2 3 -0.05 10
This produces a 15 × 10 = 150 grid of scan points. At each point, both scanned coordinates are constrained to their target values and all remaining degrees of freedom are optimized.
Scan Settings
The scan mode and optimizer are set via the #scan header line:
#scan(mode=relaxed)
#scan(mode=rigid)
| Parameter | Type | Default | Description |
|---|---|---|---|
mode |
str | "relaxed" |
Scan mode: "relaxed" (optimize at each point) or "rigid" (freeze all other coordinates). |
method |
str | "lbfgs" |
Optimizer for relaxed scans. Valid: "lbfgs", "cg". |
Note
During relaxed scans, the L-BFGS optimizer uses the following hardcoded defaults: memory=5, curvature=70, max_step=0.2, max_iter=128. These are not the same as the optimization task L-BFGS parameters and cannot be overridden from the input file.
Output Files
The scan module produces the following output files:
*_scan_final.xyz— Multi-frame XYZ file containing the optimized geometry at each scan point. Can be visualized as a trajectory in standard molecular viewers.*.out— Main text output with convergence diagnostics, energies, and coordinates for every scan point.
The scan trajectory file uses the standard multi-frame XYZ format, with one frame per converged scan point. Each frame header includes the scan combination index and the target values of the scanned internal coordinates.
