Skip to content

[oqp]

The [oqp] section stores controls for the native OpenQP optimizer in traditional sectioned .inp input and the internal configuration assembled by the concise parser. In a concise .oqp file, write native geometry controls in the primary driver, for example opt(coordsys=dlc,trust=0.1), never as a separate oqp(...) call. Traditional sectioned .inp files may still select the native engine explicitly with [optimize] lib=oqp.

Keywords

coordsys

Field Value
Type string
Default auto
Used by native optimizer coordinates

Coordinate system for the native optimizer. auto selects delocalized internal coordinates (DLC) for minimum, TS, MECI, MECP, and TCI calculations. MEP and IRC use their mass-weighted path coordinates, and NEB uses its Cartesian FIRE band; these three path drivers do not read coordsys. The DLC basis must span the complete molecular vibrational space (3N-6 for a non-linear isolated system); otherwise OpenQP uses its safer coordinate-recovery sequence. Molecular complexes are supplemented with interfragment distances when their primitive internal-coordinate metric is poorly conditioned. Explicit tric, ric, and Cartesian selections remain available as expert overrides.

For QST2/QST3, distinct Cartesian endpoints may coincide in the selected internal coordinates, as in NH3 inversion. The engine then switches to Cartesian coordinates before initializing the model Hessian and reports the fallback in its coordinate label, for example DLC->CART(fallback). This check applies to auto and explicit internal-coordinate selections. See QST coordinate selection.

trust

Field Value
Type float
Default 0.2
Used by optimizer trust radius

Initial trust radius.

trust_max

Field Value
Type float
Default 0.5
Used by optimizer trust radius

Maximum trust radius.

auto_recovery

Field Value
Type boolean
Default True
Used by native minimum, crossing-point, and TS optimizers

Enables the native optimizer's coordinate and trust-radius recovery attempts after an initial optimization attempt does not converge. In concise input, place it in the primary driver, for example opt(auto_recovery=false).

recovery_maxit

Field Value
Type integer
Default 30
Used by native optimizer recovery

Minimum iteration allowance for a recovery attempt. The value must be positive. In concise input, write it in opt, meci, mecp, tci, or ts.

recovery_trust

Field Value
Type float
Default 0.02
Used by native optimizer recovery

Initial trust radius for a recovery attempt. The value must be finite and positive; the optimizer limits it against trust_max. In concise input, write it in opt, meci, mecp, tci, or ts.

freeze

Field Value
Type string
Default empty
Used by native constrained minimum optimization

Freezes each listed atom-pair distance at its value in the input geometry. Indices are one-based. Use distance(i,j) or the short r(i,j) spelling, and separate multiple pairs with semicolons:

[oqp]
freeze=distance(1,2);distance(2,3)

In concise input, place the same expression directly in opt(...), for example opt(S0,freeze="distance(1,2)"). Current native constraints are limited to frozen distances and minimum searches.

follow

Field Value
Type integer
Default 0
Used by mode following

Mode-following selector for transition-state style steps.

init_hessian

Field Value
Type string
Default model
Values model, numerical, analytical
Used by native transition-state optimization

Initial Hessian policy for native P-RFO transition-state searches. model uses the inexpensive approximate Hessian selected by model_hessian. numerical and analytical calculate a real Cartesian Hessian for the selected state before the first TS step. In concise input, use ts(S0,hessian=model|numerical|analytical).

model_hessian

Field Value
Type string
Default auto
Values auto, constant, lindh
Used by native optimize and ts with init_hessian=model

auto selects the modified Lindh model for isolated, unconstrained native minimum and TS searches with a model initial Hessian, at least two atoms, and only H–Ar elements. The update remains BFGS for minima and Bofill for TS searches; GPR is opt-in. This is a practical default based on a geometry-dependent initial estimate, not a claim that it is fastest for every molecule. Auto retains the constant model for unsupported elements, single atoms, constraints, QM/MM, and crossing/path searches; an explicitly calculated initial Hessian takes precedence. The log reports the selected model. Low-level OQPEngine callers must set project_global_rigid_modes=True to identify an isolated molecular objective before automatic Lindh selection; a lab-frame objective retains the constant model.

constant explicitly restores the previous initialization: fixed force constants for internal-coordinate types, or 0.5 I in Cartesian coordinates. The explicit lindh option constructs a geometry-dependent approximate Cartesian Hessian from bond, angle, and torsion contributions and transforms it to the optimizer's coordinates. It also applies when QST switches to Cartesian coordinates.

The present model is the modified Lindh variant using covalent radii, following the pysisyphus reference implementation at revision a4ce10dd. Its parameter support is H–Ar; heavier elements are rejected rather than assigned extrapolated coefficients. A Cartesian eigenvalue floor of 0.05 hartree/bohr² regularizes null and weakly represented directions before transformation. This model is a search preconditioner, not a calculated molecular Hessian and not a source of frequencies.

Explicit lindh or gpr controls require the native optimize or ts driver and init_hessian=model. Frozen-distance constraints, QM/MM, crossing searches, NEB, IRC, MEP, and external optimizers are currently unsupported and rejected. See experimental model curvature.

hessian_update

Field Value
Type string
Default auto
Values auto, gpr
Used by native optimize and ts with init_hessian=model

auto retains BFGS for minimum searches and Bofill for TS searches. The experimental gpr option fits a local Gaussian process to electronic energies and gradients already obtained during optimization. Its fixed-length-scale radial-basis-function kernel supplies a curvature correction only in the span of recent Cartesian displacements; the remaining curvature retains the quasi-Newton approximation. Both constant and lindh initial models can be combined with gpr.

Insufficient, redundant, ill-conditioned, or otherwise unreliable observations leave the ordinary quasi-Newton update in use. The optimizer logs accepted corrections and fallback diagnostics. Every optimization step still evaluates the actual electronic energy and gradient. GPR adds no electronic evaluations, uses no pretrained potential, and does not calculate a molecular Hessian. This combination is experimental; a reduction in molecular optimization cost has not been demonstrated for OpenQP.

gpr_history

Field Value
Type integer
Default 8
Range 3–20, inclusive
Used by hessian_update=gpr

Maximum number of recent energy/gradient observations retained for the local fit. The displacement span has rank at most gpr_history - 1, limiting the dense fit to at most 400 observations even for a large molecule. This is a maximum history length, not a request for additional electronic calculations. A nondefault value requires hessian_update=gpr.

gpr_length_scale

Field Value
Type float
Default 0.5
Units bohr
Range finite values in [0.001, 10]
Used by hessian_update=gpr

Fixed kernel length scale for displacements in the orthonormal Cartesian history span. It remains in bohr when the optimizer uses internal coordinates. A nondefault value requires hessian_update=gpr. This parameter controls the local fit, not the optimizer's trust radius.

spring

Field Value
Type float
Default 0.05
Used by NEB

NEB spring constant.

climb

Field Value
Type boolean
Default True
Used by NEB

Enables climbing-image NEB behavior.

fmax

Field Value
Type float
Default 2.0e-3
Used by NEB convergence

NEB force threshold.

frms

Field Value
Type float
Default 2.0e-3
Used by NEB convergence

RMS force threshold over all movable NEB images. A native band converges only when both fmax and frms are satisfied.

climb_fmax

Field Value
Type float
Default 0.05
Used by climbing-image NEB activation

Relax-then-climb threshold. Native NEB enables its climbing image after the ordinary band maximum force falls below this value. When climb=True, it must be greater than or equal to fmax; otherwise the ordinary band could satisfy the final threshold before climbing-image activation.

neb_dt

Field Value
Type float
Default 0.5
Used by NEB propagation

NEB FIRE integration step. Concise .oqp accepts dt as the preferred public spelling and lowers it to neb_dt.

maxmove

Field Value
Type float
Default 0.2
Used by NEB image updates

Maximum NEB image displacement per step.

align

Field Value
Type boolean
Default True
Used by NEB endpoint preparation

Rigidly aligns the product endpoint to the reactant with a proper Kabsch rotation before interpolation, removing overall translation and rotation.

opt_ends

Field Value
Type boolean
Default True
Used by NEB endpoints

Optimizes NEB endpoints when true.

end_fmax

Field Value
Type float
Default 1.0e-3
Used by NEB endpoint convergence

Endpoint force threshold.

neb_output

Field Value
Type string (path)
Default empty
Used by NEB final-path output

Path for the final multi-frame NEB XYZ file. Each frame includes the image energy in Hartree. If empty, OpenQP writes <project>_neb.xyz in the log directory. Concise .oqp input uses the public spelling output="path.xyz".

irc_step

Field Value
Type float
Default 0.1
Used by IRC

IRC step size.

irc_direction

Field Value
Type string
Default forward
Used by IRC

IRC direction.

mep_step

Field Value
Type float
Default 0.1
Used by MEP

MEP step size.

path_gtol

Field Value
Type float
Default 1.0e-4
Used by native IRC and MEP convergence

Euclidean-norm threshold on the mass-weighted gradient used to stop native IRC and MEP path tracing. Concise .oqp exposes this value as gtol, for example irc(S0,gtol=1e-4) or mep(S0,gtol=1e-4).

ts_search, ts_product, ts_guess

Keyword Type Default Meaning
ts_search string prfo Native TS search: prfo, qst2, or qst3
ts_product string empty Product XYZ for QST2/QST3; same atoms and order as reactant
ts_guess string empty Approximate TS XYZ required by QST3

QST2/QST3 require runtype=ts, lib=oqp, and init_hessian=model. They use only electronic energies and gradients. The reactant is the input geometry. XYZ coordinates are Å; relative paths resolve from the input file. In concise input write ts(search="qst3",product="p.xyz",guess="g.xyz"). The default coordsys=auto handles inversion endpoints through automatic Cartesian fallback when necessary; an explicit Cartesian override is not required. See transition-state searches.

neb_interpolation

String, default linear. Selects linear or idpp initialization for native NEB. In concise input write neb(interpolation="idpp",...). IDPP uses interpolated pair distances to prepare the band without electronic calculations. It supports nonperiodic molecules only. Failed surrogate convergence prevents electronic NEB. See transition-state searches.