Searching....

# 9.2.5 Libopt3 Job Control

(July 14, 2022)

Within Libopt3 there is a separate $geom_opt section for geometry optimization job controls, which provide greater control then the GEOM_OPT variables. This new section contains all the following input variables for the LIBOPT3 driver. ALGORITHM Specifies which type of minimization algorithm to use. INPUT SECTION:$geom_opt
TYPE:
STRING
DEFAULT:
BFGS
OPTIONS:
SD Steepest Descent CG Conjugate Gradient Newton Exact Newton’s Method BFGS Broyden-Fletcher-Goldfarb-Shanno 143 Broyden C. G.
SIAM J. App. Math.
(1970), 6, pp. 76.
, 1083 Shanno D. F.
Math. Comp.
(1970), 24, pp. 647.
, 403 Goldfarb G.
Math. Comp.
(1970), 24, pp. 23.
, 336 Fletcher R.
Comput. J.
(1970), 13, pp. 317.
LBFGS Limited-memory BFGS SR1 Symmetric-Rank One (Murtagh-Sargent) 844 Murtagh B. A., Sargent R. W. H.
Comput. J.
(1970), 13, pp. 185.
PSB Powell symmetric Broyden BOFILL Bofill combination of PSB and SR1 124 Bofill J. M.
J. Comput. Chem.
(1994), 15, pp. 1.
FS Farkas and Schlegel combination of SR1 and BFGS 327 Farkas Ö., Schlegel H. B.
J. Chem. Phys.
(1999), 111, pp. 10806.

RECOMMENDATION:
Steepest descent and conjugate gradient methods are slow to converge in general but are useful when the near the minimum. Best to start with other algorithms and finalize with these two methods if a tighter converged minimum is needed. Newton’s will be efficient but requires a Hessian evaluation at each step, so the cost of the Hessian calculation must be accounted for when using exact Newton’s method. BFGS is a default algorithm for its speed and efficiency for finding the minimum. L-BFGS is recommended when dealing with very large systems when memory is of concern.

COORDINATES
Specifies which type of coordinate system to use for optimization.
INPUT SECTION: $geom_opt TYPE: STRING DEFAULT: Delocalized OPTIONS: Cartesian Cartesian Coordiantes Redundant Redundant Internal Coordinates Delocalized Delocalized Natural Internal Coordinates RECOMMENDATION: Cartesian can be more stable than internal coordinates but are generally slower than internal coordinates. If there are problems with internal coordinate optimization restart with Cartesian coordinates at the last known internal coordinate geometry can be controlled with OPTIMIZATION_RESTART. MAXITER Maximum number of geometry optimization cycles. INPUT SECTION:$geom_opt
TYPE:
INTEGER
DEFAULT:
50
OPTIONS:
Integer Any positive integer
RECOMMENDATION:
None

INITIAL_HESSIAN
Specifies the type of initial Hessian to use.
INPUT SECTION: $geom_opt TYPE: STRING DEFAULT: SIMPLE OPTIONS: Identity Identity Matrix Simple Approximate Guess Hessian Exact Analytical Hessian Read Read-in Hessian RECOMMENDATION: The initial guess Hessian for Cartesian coordinates is a unit matrix where for internal coordinates it is an approximate Hessian based on the internal coordinates. 57 Bakken V., Helgaker T. J. Chem. Phys. (2002), 117, pp. 9160. The exact Hessian is always a quality initial Hessian but could be costly but can be calculated at the start of the optimization or read in from scratch. CONVERGENCE_CHECK Specifies the type of convergence check during geometry optimization. INPUT SECTION:$geom_opt
TYPE:
STRING
DEFAULT:
DEFAULT
OPTIONS:
Default Check max absolute gradient component and ( maximum absolute displacement or change in energy) Energy Change in energy Gradient Check norm of gradient
RECOMMENDATION:
None.

THRESH
The value of threshold for evaluation of norm of the gradient.
INPUT SECTION: $geom_opt TYPE: FLOAT DEFAULT: 3e-4 OPTIONS: Float Any positive float RECOMMENDATION: None. GRADIENT_CONVERGENCE The value of maximum absolute gradient for convergence check. INPUT SECTION:$geom_opt
TYPE:
FLOAT
DEFAULT:
3e-4
OPTIONS:
Float Any positive float
RECOMMENDATION:
None.

DISPLACEMENT_CONVERGENCE
The value of maximum absolute displacement for convergence check.
INPUT SECTION: $geom_opt TYPE: FLOAT DEFAULT: 1.2e-3 OPTIONS: Float Any positive float RECOMMENDATION: None. ENERGY_CONVERGENCE The value of maximum absolute energy difference for convergence check. INPUT SECTION:$geom_opt
TYPE:
FLOAT
DEFAULT:
1e-6
OPTIONS:
Float Any positive float
RECOMMENDATION:
None.

MAX_DISPLACEMENT
The value of maximum rms of the Eigenvector following algorithm step.
INPUT SECTION: $geom_opt TYPE: FLOAT DEFAULT: 3e-1 OPTIONS: Float Any positive float RECOMMENDATION: If this value is too large there may be trouble with the optimization. RECOMPUTE_HESSIAN Recompute the exact Hessian during optimization algorithms INPUT SECTION:$geom_opt
TYPE:
STRING
DEFAULT:
False
OPTIONS:
None Do not recompute of Hessian Recompute Compute Hessian during optimization
RECOMMENDATION:
Recompute the exact Hessian during optimization during BFGS, SR1, PSB, BOFILL, and FS Quasi-Newton Hessian update algorithms.

RECOMPUTE_HESSIAN_CYCLES
The number of cycles before recomputing the Hessian during optimization algorithms.
INPUT SECTION: $geom_opt TYPE: INTEGER DEFAULT: 5 OPTIONS: Integer Any positive integer RECOMMENDATION: None. STEP_SEARCH_ALGORITHM Specifies the type of algorithm for geometry step generation. INPUT SECTION:$geom_opt
TYPE:
STRING
DEFAULT:
EFA
OPTIONS:
EFA Eigenvector Following Algorithm LS Simple Line Search
RECOMMENDATION:
For Quasi-Newton methods the default step generation is Eigenvector following algorithm, but line search can be used if desired.

EIGENVECTOR_ALGORITHM
Specifies the type of Eigenvector algorithm.
INPUT SECTION: $geom_opt TYPE: STRING DEFAULT: RFO OPTIONS: RFO Rational Function Optimization PRFO Partitioned Rational Function Optimization RECOMMENDATION: This allows the switching of the Eigenvector following algorithm for state specific searches with PRFO. PRINT_LEVEL Specifies the printing verbosity of the optimizer. INPUT SECTION:$geom_opt
TYPE:
INTEGER
DEFAULT:
0
OPTIONS:
0 General Print 10 Verbose
RECOMMENDATION:
None.

MAX_LBGFGS_HISTORY
Specifies the number of cycles to retain for L-BFGS history.
INPUT SECTION: $geom_opt TYPE: INTEGER DEFAULT: 10 OPTIONS: Integer Any positive integer RECOMMENDATION: It is recommended to keep this number small. LS_PARAM Specifies the type of line search algorithm to use. INPUT SECTION:$geom_opt
TYPE:
STRING
DEFAULT:
Quasi-Newton
OPTIONS:
Quasi-Newton Quasi-Newton Strict Strict line search parameters Very_Strict Very strict line search parameters
RECOMMENDATION:
None

LS_MAXITER
Specifies the number of maximum iterations to perform during line search step calculation.
INPUT SECTION: $geom_opt TYPE: INTEGER DEFAULT: 10 OPTIONS: Integer Any positive integer RECOMMENDATION: None LS_PRINT Specifies the verbosity of printing for the line search algorithm. INPUT SECTION:$geom_opt
TYPE:
String
DEFAULT:
Minimal
OPTIONS:
Minimal Minimal printing Verbose Verbose printing
RECOMMENDATION:
None

HESSIAN_VERIFY
Specifies the type of verification with the Hessian after geometry optimization
INPUT SECTION: $geom_opt TYPE: STRING DEFAULT: RESULT OPTIONS: No_Verification Do no verification of optimization Result Verify with final Hessian obtained during optimization Without Verify without a Hessian (Only convergence criteria) Recomputed Verify with recomputed exact Hessian RECOMMENDATION: None. OPTIMIZATION_RESTART Specifies if optimization should restart in Cartesian coordinates after back-transformation failure with internal coordinate optimizations. INPUT SECTION:$geom_opt
TYPE:
STRING
DEFAULT:
TRUE
OPTIONS:
RECOMMENDATION:
Restart a failed back-transformation internal coordinate optimization job in Cartesian coordinates. This will use the current retained updated Internal coordinate Hessian transform it to Cartesian coordinates and continue the optimization from the last known position.

FINAL_ZMAT_PRINT
Controls if a Z-matrix is printed at the end of the job.
INPUT SECTION: $geom_opt TYPE: STRING DEFAULT: TRUE OPTIONS: True Construct Z-matrix and print False Do calculate or print Z-matrix RECOMMENDATION: After optimization the final structure can be used to compute and print the final Z-matrix. This can be turned off if molecule contains many atoms and Z-Matrix is not needed. FINAL_VIBRATIONAL_ANALYSIS Run Vibrational Analysis after geometry optimization. INPUT SECTION:$geom_opt
TYPE:
STRING
DEFAULT:
False
OPTIONS:
True Perform Vibrational Analysis False Do not compute vibrational analysis
RECOMMENDATION:
Vibrational analysis can be performed only if the final Hessian for verification was recomputed, HESSIAN_VERIFY

PRINT_TOPOLOGY
Print the topology for optimization.
INPUT SECTION: $geom_opt TYPE: STRING DEFAULT: FALSE OPTIONS: True Print the topology False Do not print the topology Terminate Print the topology and terminate job RECOMMENDATION: Print the topology used in optimization. In addition the topology can be printed then the job terminated. USER_TOPOLOGY Specifies if a user provided topology is to be read. INPUT SECTION:$geom_opt
TYPE:
STRING
DEFAULT:
Generated
OPTIONS:
RECOMMENDATION:
A user can provide a topology for a given molecule in the $geom_opt_topology section in the input. A user defined topology can be read in using the USER_TOPOLOGY keyword and providing the topology in$geom_opt_topology section. The available topology definitions that can be used are:

1 (Bond)

A-B

2 (Angle)

A-C-B (Apex is B)

4 (Torsion)

Torsion A-B-C-D

5 (Co-Linear Angle) use with 6

D A-B-C (ABC is Linear)

6 (Co-Linear Angle) use with 5

D A-B-C (ABC is Linear)

Note:  The first line is the total number of coordinates to read. Then the following lines are the coordinate definition to be used, following the definition above: coordinate type, atom number 1, ….

$geom_opt_topology Total Number of Coordinates 1 atomA atomB !Bonds ... 2 atomA atomC atomB !Angles ... 4 atomA atomB atomC atomD !Torsions ... 5 atomD atomA atomB atomC !Co-linear Torsion ... 6 atomD atomA atomB atomC !Co-linear Torsion$end