optking - geometry optimization and force constant evaluation
DESCRIPTION
The program optking may be used to optimize geometries in
internal coordinates, to make internal coordinate displacements, or to
determine vibrational frequencies at stationary points. The following sets
of coordinates may be used:
- 1.
- a set of internal coordinates may be provided by the user in intco.dat.
The format is described in the INTCO manpage and is the same as
that used by bmat and intder95. Only the STRE,
BEND, TORS, and OUT keywords are currently supported
by optking.
- 2.
- a redundant set of simple internal coordinates may be generated by
optking based on bond-connectivity. This is the default set of
coordinates for optimizations. The simple coordinates are taken from the
z-matrix if zmat_simples=true.
- 3.
- a set of symmetry-adapted (limited to D2h), nonredundant, delocalized
internal coordinates can be automatically generated by optking.
These coordinates may become somewhat nonorthogonal as the geometry
changes during an optimization. Used if delocalize=true.
- 4.
- a set of coordinates similar to those above may be generated from a set of
simple internal coordinates provided by the user. These simples may be
directly put in intco.dat or inferred from the z-matrix (if
zmat_simples=true and delocalize=true).
- 5.
- symmetry-adapted cartesian coordinates are used to compute frequencies by
finite differences.
COMMAND LINE ARGUMENTS
After internal coordinates are detected or generated, optking will
enter a run-time mode dependent on command line arguments.
--opt_step - take an ordinary geometry optimization step
--disp_nosymm - displaces along all internals, assumes no sym
--disp_irrep - displaces along all internals labeled as IRREP
--disp_load - load a previous displacement from PSIF to chkpt
--load_ref - load undisplaced reference geometry into chkpt
--freq_energy - compute frequencies from energies (not yet supported)
--grad_energy - use energies to compute a gradient
--freq_grad_nosymm - use grads in chkpt to compute freqs, assumes no sym
--freq_grad_irrep - use grads in chkpt to compute IRREP freqs
--grad_save - save the gradient in chkpt to PSIF list
--energy_save - save the energy in chkpt to PSIF list
--disp_num - displacement index (by default read from PSIF)
--points - 3 or 5 pt formula (5 pt not yet supported)
--irrep - the irrep (1,2,...) being displaced or computed
Force constants are read from fconst.dat, if possible, or else are
empirically generated. Currently, the program has no special transition
state searching methods such as any other Hessian update besides the BFGS
update.
Changes of Note:
- 1.
- All information which optking uses is read from the chkpt file (32) or
optking's own psifile (1). The only exception is that initial force
constants (if provided) are read from fconst.dat.
- 2.
- The file intco.dat is an optional starting file. As a result, it will be
written to by optking as necessary. The file intco.dat should have
a last line containing only ")" if you need optking to
supply coordinates.
- 3.
- Coordinates to be fixed may be placed in a fixed_intco: section of the
input file or alternatively inferred from the z-matrix. See the Users
Manual for more information.
REFERENCES
- 1.
- Geometry optimization in redundant internal coordinates, P. Pulay and G.
Fogarasi, J. Chem. Phys. 96, 2856 (1992).
- 2.
- Using redundant internal coordinates to optimize equilibrium geometries
and transition states, C. Peng, P. Y. Ayala, H. B. Schlegel, and M. J.
Frisch, J. Comp. Chem. 17, 49 (1996).
- 3.
- The generation and use of delocalized internal coordinates in geometry
optimization, J. Baker, A. Kessi and B. Delley, J. Chem. Phys. 105, 192
(1996).
- 4.
- Estimating the Hessian for gradient-type geometry optimizations, H. B.
Schlegel, Theoret. Chim. Acta (Berl.) 66, 333 (1984).
FILES REQUIRED
input.dat - input file
OPTIONAL INPUT FILES
intco.dat - either just simple internals
- or also linear combinations
fconst.dat - Hessian or force constant matrix
opt.aux - Hessian update information
TEMPORARY FILES USED
none
FILES UPDATED
intco.dat - if internals are not provided by user
fintco.dat - internal coordinates to be frozen - generated from zmat
fconst.dat - stores current updated Hessian matrix
output.dat - output file
INPUT FORMAT
Input for this program is read from the OPTKING section of
the file input.dat. The following keywords are valid:
- DISPLACEMENTS
= vector of vectors
- If DISPLACMENTS keyword is present, then a geometry optimization is
not being performed, but internal coordinate displacements are being made.
There is no default. Each element of this vector is a vector consisting of
internal coordinate indices and displacement values. The units of
displacment are angstrom and radians. For example, if you desire two
displacements, the first being a displacement of internal coordinate 1 by
0.01 angstroms, the second a combination of coordinate 1 displaced by 0.01
angstroms and coordinate 2 by 0.05 angstroms, the DISPLACEMENTS
vector would be:
displacements = (
(1 0.01)
(1 0.01 2 0.05)
)
- CONV =
integer
- The test for convergence of the geometry optimization is that the maximum
force on an internal coordinate (in aJ/Ang or aJ/Rad) must be less than
10^(-CONV). The default is 5.
- EV_TOL =
integer
- When primitive internals are being delocalized there must be 3n-6 (linear
3n-5) nonzero eigenvalues of the G matrix corresponding to nonredundant
delocalized coordinates. Eigenvalues greater than 10^(-EV_TOL) are
considered nonzero. The default is 5.
- REDUNDANT =
boolean
- If true, then redundant coordinates are permitted. The default for
geometry optimizations is true. However, if delocalize is set to true, or
finite differences are being computed, redundant is set to false.
- DELOCALIZE
= boolean
- If true, then delocalized internals are generated. The default is false,
unless first derivatives are being determined by energy points. If the
SYMM vector is given by the user, this keyword has no effect.
- SYMMETRY =
string
- In order to delocalize coordinates, character table information is
required. For compatibility to old-input, the keyword SYMMETRY is
searched for in the DEFAULT section. If absent, it is read from
PSIF_CHKPT (presumably successfully if input3.0 or later was used).
- BFGS =
boolean
- If true, then a BFGS Hessian update is performed when possible. The
default is true.
- MIX_TYPES =
boolean
- If true, then generated delocalized coordinates will mix all primitive
internal types. The default is true.
- JUNK_30 =
boolean
- If true, then the last iterated geometry from the back-tranformation to
cartesian coordinates will be written to PSIF_CHKPT, even if the
back-transformation did not converge.
- BONDS = vector of
atom pairs
- This array contains bonds which need to be added to the primitive internal
coordinate set.
- NOBONDS =
vector of atom pairs
- This array contains bonds which need to be deleted from the primitive
internal coordinate set.
The following print options provide additional output. They may
help the user understand the workings of the program (The default for each
is false.)
- PRINT_SIMPLES
= boolean
- If simple internals are automatically generated, prints the related
info.
- PRINT_PARAMS
= boolean
- prints values for all of the optking input parameters.
- PRINT_DELOCALIZE
= boolean
- If automatic delocalized coordinates are formed, prints the related
info.
- PRINT_SYMMETRY
= boolean
- prints an abundance of symmetry related information.
The following keywords are parameters for the back-transformation
from internal coordinates to cartesian coordinates. These should rarely be
needed.
- BT_MAX_ITER
= integer
- Maximum number of iterations. Default is 100.
- BT_DQ_CONV
= integer
- Subsequent changes in internal coordinates must be less than
10^(-BT_DQ_CONV). The default is 11.
- BT_DX_CONV
= integer
- Subsequent changes in cartesian coordinates must be less than
10^(-BT_DX_CONV). The default is 11.