The OPT program reads the geometry definitions and geometry parameters, energies, and gradients of the present and previous points from a geometry record. It is necessary that the gradients have been computed using the FORCE command (see above) before calling OPT. The program then predicts a new optimum geometry (i.e. takes one optimization step), by default optimizing all variable parameters on which the geometry depends, and writes this back to the geometry record. The optimization is performed in a space of scaled parameters, the scaling being such that the initial hessian matrix has unit diagonal elements. The variable OPTCONV is set to the length of the step taken in scaled parameter space, and can be tested after the OPT step using the IF command, to decide whether to return for another geometry. For subcommands of OPT see OPTG.
OPT can also be used for automatic geometry optimization using a sequence of input commands. In this case, one can specify the first input command needed for computing the energy and gradient using the STARTCMD option:
OPT,STARTCMD=command
Similar to the calculation of numerical gradients (see above), command must be found in the input before the OPT card, i.e., the sequence of input cards starting with command and ending with OPT defines one optimization step. For example, in order to optimize the geometry at the ccsd(t) level using numerical gradients the following input could be used
hf !optimize orbitals ccsd(t) !compute ccsd(t) geometry forces,numerical,startcmd=hf !compute numerical ccsd(t) gradients opt,startcmd=hf !optimize geometry
The convergence criteria are the same as explained below for the OPTG procedure. The convergence thresholds can be modified using further options on the OPT card, exactly in the same way as explained below for OPTG. For example, the threshold for the gradient can be changed using
OPT,STARTCMD=command,GRAD=1.d-4
Normally, it is simpler to use the OPTG procedure as explained in the next section.
P.J. Knowles and H.-J. Werner