# OPTKING

Performs geometry optimizations and vibrational frequency analyses.

## Optimization Algorithm

### CONSECUTIVE_BACKSTEPS

> Set number of consecutive backward steps allowed in optimization

> - Type: integer
> - Default: 0

### DYNAMIC_LEVEL

> Starting level for dynamic optimization (0=nondynamic, higher=>more conservative)

> - Type: integer
> - Default: 0

### ENSURE_BT_CONVERGENCE

> Reduce step size as necessary to ensure back-transformation of internal coordinate step to cartesian coordinates.

> - Type: boolean
> - Default: false

### FIXED_BEND

> Specify angles between atoms to be fixed (eq. value specified)

> - Type: string
> - Default: No Default

### FIXED_DIHEDRAL

> Specify dihedral angles between atoms to be fixed (eq. value specified)

> - Type: string
> - Default: No Default

### FIXED_DISTANCE

> Specify distances between atoms to be fixed (eq. value specified)

> - Type: string
> - Default: No Default

### FROZEN_BEND

> Specify angles between atoms to be frozen (unchanged)

> - Type: string
> - Default: No Default

### FROZEN_CARTESIAN

> Specify atom and X, XY, XYZ, … to be frozen (unchanged)

> - Type: string
> - Default: No Default

### FROZEN_DIHEDRAL

> Specify dihedral angles between atoms to be frozen (unchanged)

> - Type: string
> - Default: No Default

### FROZEN_DISTANCE

> Specify distances between atoms to be frozen (unchanged)

> - Type: string
> - Default: No Default

### GEOM_MAXITER

> Maximum number of geometry optimization steps

> - Type: integer
> - Default: 50

### H_UPDATE_DEN_TOL

> Denominator check for hessian update.

> - Type: conv double
> - Default: 1e-7

### INTERFRAG_STEP_LIMIT

> Maximum step size in bohr or radian along an interfragment coordinate

> - Type: double
> - Default: 0.5

### INTRAFRAG_STEP_LIMIT

> Initial maximum step size in bohr or radian along an internal coordinate

> - Type: double
> - Default: 0.5

### INTRAFRAG_STEP_LIMIT_MAX

> Upper bound for dynamic trust radius [au]

> - Type: double
> - Default: 1.0

### INTRAFRAG_STEP_LIMIT_MIN

> Lower bound for dynamic trust radius [au]

> - Type: double
> - Default: 0.001

### IRC_DIRECTION

> IRC mapping direction

> - Type: string
> - Possible Values: FORWARD, BACKWARD
> - Default: FORWARD

### IRC_STEP_SIZE

> IRC step size in bohr(amu)\(^{1/2}\).

> - Type: double
> - Default: 0.2

### IRC_STOP

> Decide when to stop IRC calculations

> - Type: string
> - Possible Values: ASK, STOP, GO
> - Default: STOP

### OPT_COORDINATES

> Geometry optimization coordinates to use. REDUNDANT and INTERNAL are synonyms and the default. DELOCALIZED are the coordinates of Baker. NATURAL are the coordinates of Pulay. CARTESIAN uses only cartesian coordinates. BOTH uses both redundant and cartesian coordinates.

> - Type: string
> - Possible Values: REDUNDANT, INTERNAL, DELOCALIZED, NATURAL, CARTESIAN, BOTH
> - Default: INTERNAL

### OPT_TYPE

> Specifies minimum search, transition-state search, or IRC following

> - Type: string
> - Possible Values: MIN, TS, IRC
> - Default: MIN

### PRINT_OPT_PARAMS

> Print all optking parameters.

> - Type: boolean
> - Default: false

### PRINT_TRAJECTORY_XYZ_FILE

> Should an xyz trajectory file be kept (useful for visualization)?

> - Type: boolean
> - Default: false

### RFO_FOLLOW_ROOT

> Do follow the initial RFO vector after the first step?

> - Type: boolean
> - Default: false

### RFO_NORMALIZATION_MAX

> Eigenvectors of RFO matrix whose final column is smaller than this are ignored.

> - Type: double
> - Default: 100

### RFO_ROOT

> Root for RFO to follow, 0 being lowest (for a minimum)

> - Type: integer
> - Default: 0

### RSRFO_ALPHA_MAX

> Absolute maximum value of RS-RFO.

> - Type: double
> - Default: 1e8

### STEP_TYPE

> Geometry optimization step type, either Newton-Raphson or Rational Function Optimization

> - Type: string
> - Possible Values: RFO, NR, SD, LINESEARCH_STATIC
> - Default: RFO

### SYMM_TOL

> Symmetry tolerance for testing whether a mode is symmetric.

> - Type: conv double
> - Default: 0.05

## Convergence Control

### FLEXIBLE_G_CONVERGENCE

> Even if a user-defined threshold is set, allow for normal, flexible convergence criteria

> - Type: boolean
> - Default: false

### G_CONVERGENCE

> Set of optimization criteria. Specification of any MAX_*_G_CONVERGENCE or RMS_*_G_CONVERGENCE options will append to overwrite the criteria set here unless FLEXIBLE_G_CONVERGENCE is also on. See Table Geometry Convergence for details.

> - Type: string
> - Possible Values: QCHEM, MOLPRO, GAU, GAU_LOOSE, GAU_TIGHT, INTERFRAG_TIGHT, GAU_VERYTIGHT, TURBOMOLE, CFOUR, NWCHEM_LOOSE
> - Default: QCHEM

### MAX_DISP_G_CONVERGENCE

> Convergence criterion for geometry optmization: maximum displacement (internal coordinates, atomic units).

> - Type: conv double
> - Default: 1.2e-3

### MAX_ENERGY_G_CONVERGENCE

> Convergence criterion for geometry optmization: maximum energy change.

> - Type: conv double
> - Default: 1.0e-6

### MAX_FORCE_G_CONVERGENCE

> Convergence criterion for geometry optmization: maximum force (internal coordinates, atomic units).

> - Type: conv double
> - Default: 3.0e-4

### RMS_DISP_G_CONVERGENCE

> Convergence criterion for geometry optmization: rms displacement (internal coordinates, atomic units).

> - Type: conv double
> - Default: 1.2e-3

### RMS_FORCE_G_CONVERGENCE

> Convergence criterion for geometry optmization: rms force (internal coordinates, atomic units).

> - Type: conv double
> - Default: 3.0e-4

## Hessian Update

### CART_HESS_READ

> Do read Cartesian Hessian? Only for experts - use FULL_HESS_EVERY instead.

> - Type: boolean
> - Default: false

### FULL_HESS_EVERY

> Frequency with which to compute the full Hessian in the course of a geometry optimization. 0 means to compute the initial Hessian only, 1 means recompute every step, and N means recompute every N steps. The default (-1) is to never compute the full Hessian.

> - Type: integer
> - Default: -1

### HESS_UPDATE

> Hessian update scheme

> - Type: string
> - Possible Values: NONE, BFGS, MS, POWELL, BOFILL
> - Default: BFGS

### HESS_UPDATE_LIMIT

> Do limit the magnitude of changes caused by the Hessian update?

> - Type: boolean
> - Default: true

### HESS_UPDATE_LIMIT_MAX

> If HESS_UPDATE_LIMIT is true, changes to the Hessian from the update are limited to the larger of HESS_UPDATE_LIMIT_SCALE * (the previous value) and HESS_UPDATE_LIMIT_MAX [au].

> - Type: double
> - Default: 1.00

### HESS_UPDATE_LIMIT_SCALE

> If HESS_UPDATE_LIMIT is true, changes to the Hessian from the update are limited to the larger of HESS_UPDATE_LIMIT_SCALE * (the previous value) and HESS_UPDATE_LIMIT_MAX [au].

> - Type: double
> - Default: 0.50

### HESS_UPDATE_USE_LAST

> Number of previous steps to use in Hessian update, 0 uses all

> - Type: integer
> - Default: 2

### INTRAFRAG_HESS

> Model Hessian to guess intrafragment force constants

> - Type: string
> - Possible Values: FISCHER, SCHLEGEL, SIMPLE, LINDH, LINDH_SIMPLE
> - Default: SCHLEGEL

## Fragment/Internal Coordinate Control

### ADD_AUXILIARY_BONDS

> Do add bond coordinates at nearby atoms for non-bonded systems?

> - Type: boolean
> - Default: true

### AUXILIARY_BOND_FACTOR

> This factor times standard covalent distance is used to add extra stretch coordinates.

> - Type: double
> - Default: 2.5

### COVALENT_CONNECT

> When determining connectivity, a bond is assigned if interatomic distance is less than (this number) * sum of covalent radii.

> - Type: double
> - Default: 1.3

### FRAG_MODE

> For multi-fragment molecules, treat as single bonded molecule or via interfragment coordinates. A primary difference is that in `MULTI` mode, the interfragment coordinates are not redundant.

> - Type: string
> - Possible Values: SINGLE, MULTI
> - Default: SINGLE

### FRAG_REF_ATOMS

> Which atoms define the reference points for interfragment coordinates?

> - Type: array
> - Default: No Default

### FREEZE_INTERFRAG

> Do freeze all interfragment modes?

> - Type: boolean
> - Default: false

### FREEZE_INTRAFRAG

> Do freeze all fragments rigid?

> - Type: boolean
> - Default: false

### H_BOND_CONNECT

> For now, this is a general maximum distance for the definition of H-bonds

> - Type: double
> - Default: 4.3

### H_GUESS_EVERY

> Re-estimate the Hessian at every step, i.e., ignore the currently stored Hessian.

> - Type: boolean
> - Default: false

### INTCOS_GENERATE_EXIT

> Do only generate the internal coordinates and then stop?

> - Type: boolean
> - Default: false

### INTERFRAGMENT_CONNECT

> When connecting disparate fragments when frag_mode = SIMPLE, a “bond” is assigned if interatomic distance is less than (this number) * sum of covalent radii. The value is then increased until all the fragments are connected (directly or indirectly).

> - Type: double
> - Default: 1.8

### INTERFRAG_DIST_INV

> Do use \(\frac{1}{R_{AB}}\) for the stretching coordinate between fragments? Otherwise, use \(R_{AB}\).

> - Type: boolean
> - Default: false

### INTERFRAG_HESS

> Model Hessian to guess interfragment force constants

> - Type: string
> - Possible Values: DEFAULT, FISCHER_LIKE
> - Default: DEFAULT

### INTERFRAG_MODE

> When interfragment coordinates are present, use as reference points either principal axes or fixed linear combinations of atoms.

> - Type: string
> - Possible Values: FIXED, PRINCIPAL_AXES
> - Default: FIXED

## Misc.

### FINAL_GEOM_WRITE

> Do save and print the geometry from the last projected step at the end of a geometry optimization? Otherwise (and by default), save and print the previous geometry at which was computed the gradient that satisfied the convergence criteria.

> - Type: boolean
> - Default: false

### FIXED_COORD_FORCE_CONSTANT

> In constrained optimizations, for coordinates with user-specified equilibrium values, this is the initial force constant (in au) used to apply an additional force to each coordinate.

> - Type: double
> - Default: 0.5

### KEEP_INTCOS

> Keep internal coordinate definition file.

> - Type: boolean
> - Default: false

### LINESEARCH_STATIC_MAX

> If doing a static line search, this fixes the largest step, whose largest change in an internal coordinate is set to this value (in au)

> - Type: double
> - Default: 0.100

### LINESEARCH_STATIC_MIN

> If doing a static line search, this fixes the shortest step, whose largest change in an internal coordinate is set to this value (in au)

> - Type: double
> - Default: 0.001

### LINESEARCH_STATIC_N

> If doing a static line search, scan this many points.

> - Type: integer
> - Default: 8

### TEST_B

> Do test B matrix?

> - Type: boolean
> - Default: false

### TEST_DERIVATIVE_B

> Do test derivative B matrix?

> - Type: boolean
> - Default: false