$STATPT group        (for RUNTYP=OPTIMIZE or SADPOINT)
 
    This group controls the search for stationary points.
Note that NZVAR in $CONTRL determines if the geometry
search is conducted in Cartesian or internal coordinates.
 
METHOD = optimization algorithm selection.  Pick from
 
         NR   Straight Newton-Raphson iterate. This will
              attempt to locate the nearest stationary
              point, which may be of any order. There
              is no steplength control. RUNTYP can be
              either OPTIMIZE or SADPOINT
 
         RFO  Rational Function Optimization. This is
              one of the augmented Hessian techniques
              where the shift parameter(s) is(are) chosen
              by a rational function approximation to
              the PES. For SADPOINT searches it involves
              two shift parameters. If the calculated
              stepsize is larger than DXMAX the step is
              simply scaled down to size.
 
         QA   Quadratic Approximation. This is another
              version of an augmented Hessian technique
              where the shift parameter is chosen such
              that the steplength is equal to DXMAX.
              It is completely equivalent to the TRIM
              method. (default)
 
         SCHLEGEL The quasi-NR optimizer by Schlegel.
 
         CONOPT, CONstrained OPTimization. An algorithm
              which can be used for locating TSs.
              The starting geometry MUST be a minimum!
              The algorithm tries to push the geometry
              uphill along a chosen Hessian mode (IFOLOW)
              by a series of optimizations on hyperspheres
              of increasingly larger radii.
              Note that there currently are no restart
              capabilitites for this method, not even
              manually.
 
OPTTOL = gradient convergence tolerance, in Hartree/Bohr.
         Convergence of a geometry search requires the
         largest component of the gradient to be less
         than OPTTOL, and the root mean square gradient
         less than 1/3 of OPTTOL.  (default=0.0001)
 
NSTEP  = maximum number of steps to take.  Restart data
         is punched if NSTEP is exceeded.  The default is
         50 steps for a minimum search, but only 20 for
         a transition state search, which benefit from
         relatively frequent Hessian re-evaluations.
 
 
      --- the next four control the step size ---
 
DXMAX  = initial trust radius of the step, in Bohr.
         For METHOD=RFO, QA, or SCHLEGEL, steps will
         be scaled down to this value, if necessary.
         (default=0.3 for OPTIMIZE and 0.2 for SADPOINT)
         For METHOD=NR, DXMAX is inoperative.
         For METHOD=CONOPT, DXMAX is the step along the
         previous two points to increment the hypersphere
         radius between constrained optimizations.
         (default=0.1)
 
    the next three apply only to METHOD=RFO or QA:
 
TRUPD  = a flag to allow the trust radius to change as
         the geometry search proceeds.  (default=.TRUE.)
 
TRMAX  = maximum permissible value of the trust radius.
         (default=0.5 for OPTIMIZE and 0.3 for SADPOINT)
 
TRMIN  = minimum permissible value of the trust radius.
         (default=0.05)
 
     --- the next three control mode following ---
 
IFOLOW = Mode selection switch, for RUNTYP=SADPOINT.
         For METHOD=RFO or QA, the mode along which the
         energy is maximized, other modes are minimized.
         Usually referred to as "eigenvector following".
         For METHOD=SCHLEGEL, the mode whose eigenvalue
         is (or will be made) negative.  All other
         curvatures will be made positive.
         For METHOD=CONOPT, the mode along which the
         geometry is initially perturbed from the minima.
         (default is 1)
         In Cartesian coordinates, this variable doesn't
         count the six translation and rotation degrees.
         Note that the "modes" aren't from mass-weighting.
 
STPT   = flag to indicate whether the initial geometry
         is considered a stationary point. If .true.
         the initial geometry will be perturbed by
         a step along the IFOLOW normal mode with
         stepsize STSTEP. (default=.false.)
         The positive direction is taken as the one where
         the largest component of the Hessian mode is
         positive. If there are more than one largest
         component (symmetry), the first is taken as
         positive.
         Note that STPT=.TRUE. has little meaning with
         HESS=GUESS as there will be many degenerate
         eigenvalues.
 
STSTEP = Stepsize for jumping off a stationary point.
         Using values of 0.05 or more may work better.
         (default=0.01)
 
IFREEZ = array of coordinates to freeze.  These may be
         internal or Cartesian coordinates.  For example,
         IFREEZ(1)=1,3 freezes the two bond lengths in
         the $ZMAT example, which was for a triatomic
           $CONTRL NZVAR=3 $END
           $ZMAT IZMAT(1)=1,1,2,  2,1,2,3,  1,2,3  $END
         while optimizing the angle.
 
         If NZVAR=0, so that this value applies to the
         Cartesian coordinates instead, the input of
         IFREEZ(1)=4,8 means to freeze the x coordinate
         of the 2nd and y coordinate of the 3rd atom.
 
         See also IFZMAT and FVALUE in $ZMAT, and IFCART
         below, as IFREEZ does not apply to DLC internals.
 
         In a numerical Hessian run, IFREEZ specifies
         Cartesian displacements to be skipped for a
         Partial Hessian Analysis.  IFREEZ can pertain to
         EFP particles, but only during RUNTYP=HESSIAN,
         where the 6 translational and rotational degrees
         of freedom of each EFP come AFTER the QM atom
         coordinates.  For more information:
         J.D.Head, Int.J.Quantum Chem. 65, 827, 1997
         H.Li, J.H.Jensen
             Theoret. Chem. Acc. 107, 211-219(2002)
 
IFCART = array of Cartesian coordinates to freeze during
         a geometry optimization using delocalized internal
         coordinates.  This probably works less well than
         IFREEZ when it freezes Cartesians.  Only one of
         IFREEZ or IFCART may be chosen in a single run.
 
IACTAT = array of "active atoms", which is a complimentary
         input to IFREEZ.  Any atom *not* included in the
         list has its Cartesian coordinates frozen.  Thus
         IACTAT(1)=3,-5,107,144,202,-211 allows 15 atoms,
         namely 3-5, 107, 144, and 202-211 to be optimized,
         while all other atoms are frozen.  NZVAR in
         $CONTRL must be 0 when this option is chosen.
 
IFREEZ and IACTAT are mutually exclusive.  The latter acts
by generating a IFREEZ for all atom coordinates not defined
as "active", so users can input whichever list is shorter.
 
 --- The next two control the hessian matrix quality ---
 
HESS   = selects the initial hessian matrix.
       = GUESS chooses an initial guess for the hessian.
               (default for RUNTYP=OPTIMIZE)
       = READ  causes the hessian to be read from a $HESS
               group. (default for RUNTYP=SADPOINT)
       = RDAB  reads only the ab initio part of the
               hessian, and approximates the effective
               fragment blocks.
       = RDALL reads the full hessian, then converts
               any fragment blocks to 6x6 T+R shape.
               (this option is seldom used).
       = CALC  compute the hessian, see $FORCE input.
 
IHREP  = the number of steps before the hessian is
         recomputed.  If given as 0, the hessian will
         be computed only at the initial geometry if
         you choose HESS=CALC, and never again.  If
         nonzero, the hessian is recalculated every
         IHREP steps, with the update formula used on
         other steps.  (default=0)
 
HSSEND = a flag to control automatic hessian evaluation
         at the end of a successful geometry search.
         (default=.FALSE.)
 
 
   --- the next two control the amount of output ---
    Let 0 mean the initial geometry, L mean the last
    geometry, and all mean every geometry.
    Let INTR mean the internuclear distance matrix.
    Let HESS mean the approximation to the hessian.
    Note that a directly calculated hessian matrix
    will always be punched, NPUN refers only to the
    updated hessians used by the quasi-Newton step.
 
NPRT   =  1  Print INTR at all, orbitals at all
          0  Print INTR at all, orbitals at 0+L (default)
         -1  Print INTR at all, orbitals never
         -2  Print INTR at 0+L, orbitals never
 
NPUN   =  3  Punch all orbitals and HESS at all
          2  Punch all orbitals at all
          1  same as 0, plus punch HESS at all
          0  Punch all orbitals at 0+L, otherwise only
             occupied orbitals (default)
         -1  Punch occ orbitals at 0+L only
         -2  Never punch orbitals
 
---- the next parameters control harmonic constraints ---
Harmonic constraints can be added to the current geometry
by setting ALL the keywords below.  For instance, to
harmonically constrain the distance between atom 3 and 12
to a distance of 2.0 Angstrom and a force constant of 500
kcal/mol, the following example can be used:
   IHMCON(1)=1,3,12  SHMCON(1)=2.0  FHMCON(1)=500.0
The default is all zeros which means do not do this.
 
IHMCON = array of coordinates to constrain. The input
         is similar to IZMAT in $ZMAT, a code integer,
         and the atoms involved in the coordinate.
         The allowed codes are: 1 (stretches), 2 (angles),
         and 3 (dihedrals)
 
SHMCON = equilibrium constraint values for the distances
         specified by IHMCON, given in Angstrom (bond
         stretches) or degrees (for angles and dihedrals)
 
FHMCON = array of force constants for the distances
         specified by IHMCON, given in kcal/mol.
 
 
 ---- the following parameters are quite specialized ----
 
PURIFY = a flag to help eliminate the rotational and
         translational degrees of freedom from the
         initial hessian (and possibly initial gradient).
         This is much like the variable of the same name
         in $FORCE, and will be relevant only if internal
         coordinates are in use.  (default=.FALSE.)
 
PROJCT = a flag to eliminate translation and rotational
         degrees of freedom from Cartesian optimizations.
         The default is .TRUE. since this normally will
         reduce the number of steps, except that this
         variable is set false when POSITION=FIXED is
         used during EFP runs.
 
ITBMAT = number of micro-iterations used to compute the
         step in Cartesians which corresponds to the
         desired step in internals.  The default is 5.
 
UPHESS = SKIP     do not update Hessian (not recommended)
         BFGS     default for OPTIMIZE using RFO or QA
         POWELL   default for OPTIMIZE using NR or CONOPT
         POWELL   default for SADPOINT
         MSP      mixed Murtagh-Sargent/Powell update
         SCHLEGEL only choice for METHOD=SCHLEGEL
 
 
 ---- NNEG, RMIN, RMAX, RLIM apply only to SCHLEGEL ----
 
NNEG   = The number of negative eigenvalues the force
         constant matrix should have. If necessary the
         smallest eigenvalues will be reversed. The
         default is 0 for RUNTYP=OPTIMIZE, and 1 for
         RUNTYP=SADPOINT.
 
RMIN   = Minimum distance threshold. Points whose root
         mean square distance from the current point is
         less than RMIN are discarded. (default=0.0015)
 
RMAX   = Maximum distance threshold. Points whose root
         mean square distance from the current point is
         greater than RMAX are discarded. (default=0.1)
 
RLIM   = Linear dependence threshold. Vectors from the
         current point to the previous points must not
         be colinear.  (default=0.07)
==========================================================
 
       * * * * * * * * * * * * * * * * * * * * *
       See the 'further information' section for
       some help with OPTIMIZE and SADPOINT runs
       * * * * * * * * * * * * * * * * * * * * *
 
 
==========================================================
 
288 lines are written.
Edited by Shiro KOSEKI on Thu Mar 5 10:25:38 2020.