OPT Section
The OPT section controls geometry optimization, transition-state search, IRC,
NEB, coordinate models, and constraints.
Keywords
| Keyword | Type | Default | Description |
|---|---|---|---|
Algorithm | bfgs | berny | rberny | sella | geometric | berny | Optimizer backend |
Coord | cartesian | primitive | dlc | hdlc | tric | tric-p | cartesian | Internal-coordinate model |
MaxCycle | integer | 100 | Maximum optimization cycles |
Trust | float | 0.3 | Initial trust radius (Bohr) |
TMax | float | 0.5 | Maximum trust radius (Bohr) |
NoTrust | boolean | false | Disable TRM level-shifted Newton step |
TransitionState | boolean | false | Search for first-order saddle point |
IRC | boolean | false | Intrinsic reaction coordinate follow |
IRCDir | +1 | -1 | both | Restrict IRC direction |
NEB | boolean | false | Nudged elastic band |
Images | integer | 8 | Number of NEB images |
SellaOrder | 1 | 2 | 1 | Sella gradient order (1 = Hessian-only) |
Step | trm | prfo | mmf | trm | Step type (TRM, P-RFO, or MMF) |
Update | bfgs | psb | ms | bofill | sr1 | dfp | bfgs_powell | ts-bfgs | msp / ts-bfgs | Hessian update formula |
Diis | boolean | false | Enable GEDIIS |
DiisSize | integer | 6 | GEDIIS subspace size |
Symmetry | boolean | true | Exploit point-group symmetry in IC build |
MOGuess | boolean | true | Reuse previous cycle's orbitals as SCF guess (warm start) |
OptSymmetry | boolean | false | Enforce symmetry along the optimisation path |
NoStep | boolean | false | Run optimizer without taking a step (debug) |
Hessian | analytical | semi | analytical | Hessian source for IC initialisation |
NoCartHessian | boolean | false | Ignore any inline Cartesian Hessian |
CartHessian | matrix | — | Inline Cartesian Hessian matrix |
Rigid | boolean | false | Rigid-body component removal (TRIC only) |
RemoveTr | boolean | false | Remove TR modes (DLC/HDLC/TRIC only) |
ConMethod | 0 | 1 | 1 | Delocalised construction method |
Connect | boolean | false | Reconnect connectivity graph at every step |
AddCart | boolean | false | Add Cartesian components to IC basis |
ConnectIsolated | boolean | false | Connect isolated fragments |
Primitive | boolean | false | Alias for Coord primitive |
PrimStep | boolean | true | Step projection in primitive IC space |
Gauss | default | loose | tight | default | Convergence preset |
Tighten | integer | 0 | Tighten all criteria by 10⁻ᴺ |
MaxDisplacement | float | 0.5 | Max allowed step length |
Constraints | clause-list | — | Geometric constraints |
Dihedral | boolean | true | (RBerny only) Include dihedral angles in the IC set |
SuperWeakDih | boolean | false | (RBerny only) Use super-weak dihedral force constants |
EnergyNoise | float | 2e-8 | (RBerny only) Energy-noise floor for trust-radius updates |
Algorithm & Coordinate Model
Algorithm | Description |
|---|---|
bfgs | Cartesian BFGS optimizer |
berny | Berny RFO with internal coordinates |
rberny | Rust Berny backend (native IC implementation) |
sella | Saddle-point-aware IC optimizer (TS-BFGS) |
geometric | GeomeTRIC native-TRIC quasi-Newton optimizer (RS-P-RFO for TS); aliases geomet, tric |
Coord | Description |
|---|---|
cartesian | Direct 3N optimisation |
primitive | Full redundant primitive IC set |
dlc | Non-redundant delocalised basis |
hdlc | Hybrid DLC with Cartesian components |
tric | TRIC (translation/rotation removed) |
tric-p | TRIC with projected Cartesian components |
Hessian Updates
| Update | Description | Note |
|----------|-------------|
| bfgs | Standard BFGS (minima) | working on |
| psb | Powell–Symmetric–Broyden, rank-2 (TS) | working on |
| ms | Murtagh–Sargent, rank-1 (TS) | working on |
| bofill | φ·PSB + (1-φ)·MS, blends PSB and MS (TS) | working on |
| sr1 | Symmetric rank-1 (naturally indefinite) | working on |
| dfp | Davidon–Fletcher–Powell (PD) | working on |
| bfgs_powell | Auto: BFGS for minima, Bofill for TS | working on |
| ts-bfgs | TS-BFGS: BFGS in |H| space (saddle points) | working on |
Default: MSP for minima, TS-BFGS for TS (Sella), Bofill for TS (Berny).
Step Types
Step | Description |
|---|---|
trm | Trust-region (level-shifted Newton) |
prfo | Partitioned RFO eigenvector following (TS) |
mmf | Minimum-mode following (flat surfaces, TS) |
RBerny Backend Controls
When the optimizer backend is Algorithm rberny (or the RBerny task token),
three additional backend-specific keywords are recognised in the OPT section.
These fine-tune how the RBerny engine constructs its internal coordinates
and manages the trust-radius update.
Dihedral
Controls whether dihedral (torsion) angles are included in the primitive
internal-coordinate set. When set to false, dihedrals are omitted entirely,
reducing the total coordinate count and removing torsional coupling from the
Lindh Hessian guess.
OPT
Algorithm rberny
Dihedral false
END
SuperWeakDih
When enabled, dihedral angles that would normally receive a "weak" force constant (≈ 0.1 scaling factor in the Lindh Hessian guess) are instead treated as "superweak" (≈ 0.01 scaling factor). This gives very soft initial force constants for floppy torsional modes, preventing the first few optimisation steps from over‑correcting large‑amplitude dihedral motion.
OPT
Algorithm rberny
SuperWeakDih true
END
EnergyNoise
Estimated energy precision in Hartree. The trust‑radius update uses a noise
floor of 10 × EnergyNoise: when the predicted energy change falls below
this threshold the optimizer treats the change as numerically unreliable and
adjusts the trust radius conservatively (neither growing nor shrinking it
aggressively). Useful on flat potential‑energy surfaces where small energy
differences can be dominated by numerical noise.
OPT
Algorithm rberny
EnergyNoise 1e-7
END