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
SIAM J. App. Math.
(1970),
6,
pp. 76.
Link
,
1083
Math. Comp.
(1970),
24,
pp. 647.
Link
,
403
Math. Comp.
(1970),
24,
pp. 23.
Link
,
336
Comput. J.
(1970),
13,
pp. 317.
Link
LBFGS
Limited-memory BFGS
SR1
Symmetric-Rank One (Murtagh-Sargent)
844
Comput. J.
(1970),
13,
pp. 185.
Link
PSB
Powell symmetric Broyden
BOFILL
Bofill combination of PSB and SR1
124
J. Comput. Chem.
(1994),
15,
pp. 1.
Link
FS
Farkas and Schlegel combination of SR1 and BFGS
327
J. Chem. Phys.
(1999),
111,
pp. 10806.
Link
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
J. Chem. Phys.
(2002),
117,
pp. 9160.
Link
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:
True
Restart with Cartesian Coordinates
False
Do not restart
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:
Generated
Generate the topology
Read
Read a user provided topology.
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:
A-B
A-C-B (Apex is B)
Torsion A-B-C-D
D A-B-C (ABC is Linear)
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