optking(1)

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 stationay points. The following sets of internal 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 (similar to Gaussian94).

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. The delocalization is not yet guaranteed to successfully complete and provide SALC's.

4.  a set of coordinates similar to those above may be generated from a set of simple internal coordinates provided by the user.

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.

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
    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 allowed. The default is false.

DELOCALIZE = boolean
    If true, then delocalized internals are generated. If false, then redundant primitive internals are used. The default is true. 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.