$LOCAL group      (relevant if LOCAL=RUEDNBRG or BOYS)
                           (relevant if LOCAL=POP or SVD)
 
    This group allows input of additional data to control
the localization methods.  If no input is provided, the
valence orbitals will be localized as much as possible,
while still leaving the wavefunction invariant.  There are
many specialized options for Localized Charge Distribution
analysis, and for EFP generation.
 
    LOCAL=RUEDENBRG, BOYS, and POP all work by sequences of
two by two Jacobi rotations.  This needs iteration control,
and permits fine tuning of the orbital pairs rotated,
leading to keywords such as SYMLOC and MOIN/MOOUT below.
 
    LOCAL=SVD does a direct projection of the RHF, ROHF, or
MCSCF orbitals onto the basis set of each atom, taking in
turn atoms one by one, with a symmetric orthogonalization
between atoms at the end.  Consequently, many keywords here
pertaining to iteration control and to various orbital
restrictions (MOIN, MOOUT, SYMLOC, etc) don't pertain to
LOCAL=SVD.
 
N.B.  Since Boys localization needs the dipole integrals,
      do not turn off dipole moment calculation in $ELMOM.
 
MAXLOC = maximum number of localization cycles.  This
         applies to BOYS or POP methods only.  If the
         localization fails to converge, a different
         order of 2x2 pairwise rotations will be tried.
         (default=250)
 
CVGLOC = convergence criterion.  The default provides
         LMO coefficients accurate to 6 figures.
         (default=1.0E-6)
 
SYMLOC = a flag to restrict localization so that orbitals
         of different symmetry types are not mixed.  This
         option is not supported in all possible point
         groups.  The purpose of this option is to give a
         better choice for the starting orbitals for GVB-PP
         or MCSCF runs, without destroying the orbital's
         symmetry.  This option is compatible with each of
         the 3 methods of selecting the orbitals to be
         included.  If chosen in a run requesting VVOS (see
         $SCF), occupied and virtual orbitals will also not
         be permitted to mix in a localization of these two
         separate orbital spaces. (default=.FALSE.)
 
ORIENT = a flag to request orientation of the localized
         orbitals for bond-order analysis.  After the
         localization, the orbitals on each atom are
         rotated only among themselves, in order to direct
         the orbitals towards neighboring atom's orbitals,
         to which they are bonded.  The density matrix,
         or bond-order matrix, of these Oriented LMOs is
         readily interpreted as atomic populations and
         bond orders.  This option can only be used for
         LOCAL=RUEDNBRG when SCFTYP=MCSCF, or if LOCAL=SVD.
         (default=.FALSE.)
 
EXTLOC = options to localize external orbitals, above the
         valence MBS orbital space (SVD and ATMNOS), and
         to control internal orbital localization (SPLITxx
         keywords), in the valence minimal basis space.
       = NONE    (default)
       = SVD     Forms the SVD quasi-atomic external
                 orbitals using an SVD with respect to the
                 accurate atomic minimal basis functions.
                 The localization of all internal orbitals
                 means that ORMAS wavefunctions are not
                 left invariant, nor are full spaces which
                 are not full valence type.
       = ATMNOS  Performs the EXTLOC=SVD option, and then
                 forms the ordered external orbitals using
                 exchange integrals.
       = SPLITQA Performs the EXTLOC=SVD and EXTLOC=ATMNOS
                 options, and then, form split-localized
                 orbitals in the internal orbital space,
                 preserving ORMAS subspaces when doing the
                 latter step.
           The next two skip localization in the external
           space, which saves time, for cases where only
           localization of internal orbitals is needed:
       = SPLITQ2 Forms the split-localized orbitals in the
                 internal orbital space, preserving any
                 ORMAS subspaces (wavefunction will be left
                 invariant).
       = SPLITQ3 Forms the split-localized orbitals in the
                 internal orbital space, but these split-
                 localized orbitals do not preserve the
                 ORMAS wavefunction.  In other words, the
                 split-localization treats the calculation
                 as if it had a single united active space.
 
PRTLOC = a flag to control supplemental printout.  The
         extra output is the rotation matrix to the
         localized orbitals, and, for the Boys method,
         the orbital centroids, for the Ruedenberg
         method, the coulomb and exchange matrices,
         for the population method, atomic populations.
         (default=.FALSE.)
 
 
 ----- The following keywords select the orbitals which
       are to be included in the localization.  You may
       select from FCORE, NOUTA/NOUTB, or NINA/NINB,
       but may choose only one of these three groups.
       These options do not pertain to LOCAL=SVD:
 
FCORE  = flag to freeze all the chemical core orbitals
         present.   All the valence orbitals will be
         localized.  You must explicitly turn this
         option off to choose one of the other two
         orbital selection options.  (default=.TRUE.)
 
                       * * *
 
NOUTA  = number of alpha orbitals to hold fixed in the
         localization.  (default=0)
 
MOOUTA = an array of NOUTA elements giving the numbers of
         the orbitals to hold fixed.  For example, the
         input NOUTA=2 MOOUTA(1)=8,13 will freeze only
         orbitals 8 and 13.  You must enter all the
         orbitals you want to freeze, including any cores.
         This variable has nothing to do with cows.
 
NOUTB =  number of beta orbitals to hold fixed in -UHF-
         localizations.  (default=0)
 
MOOUTB = same as MOOUTA, except that it applies to the
         beta orbitals, in -UHF- wavefunctions only.
 
                       * * *
 
NINA   = number of alpha orbitals which are to be
         included in the localization.  (default=0)
 
MOINA  = an array of NINA elements giving the numbers of
         the orbitals to be included in the localization.
         Any orbitals not mentioned will be frozen.
 
NINB   = number of -UHF- beta MOs in the localization.
         (default=0)
 
MOINB  = same as MOINA, except that it applies to the
         beta orbitals, in -UHF- wavefunctions only.
 
 
ORMFUL = this flag is relevant only to CISTEP=ORMAS MCSCF
         localizations.  By default, the localization is
         restricted such that the multiple active spaces
         are not mixed, leaving the total wavefunction
         invariant.  It may be used to localize within the
         full range of active MOs.  (Default is .FALSE.)
 
 
----- The following keywords are used for the localized
      charge distribution (LCD), a decomposition scheme for
      the energy, or multipole moments, or the first
      polarizability.  See also LOCHYP in $FFCALC for the
      decomposition of hyperpolarizabilities.
 
EDCOMP = flag to turn on LCD energy decomposition.
         Note that this method is currently implemented
         for SCFTYP=RHF and ROHF and LOCAL=RUEDNBRG only.
         The SCF LCD forces all orbitals to be localized,
         overriding input on the previous page.  See also
         LMOMP2 in the $MP2 input.  (default = .FALSE.)
 
MOIDON = flag to turn on LMO identification and subsequent
         LMO reordering, and assign nuclear LCD automat-
         ically.  (default = .FALSE.)
 
DIPDCM = flag for LCD molecular dipole decomposition.
         (default = .FALSE.)
 
QADDCM = flag for LCD molecular quadrupole decomposition.
         (default = .FALSE.)
 
POLDCM = flag to compute the static alpha polarizability,
         and its decomposition in terms of LCDs.
         LMO dipole polarizabilities are the polarizability
         term in the EFP model.
         The computation is done analytically, for SCFTYP
         of RHF or ROHF, but must be done numerically for
         their DFT counterparts (choose one of POLNUM or
         POLAPP).  No other correlation method makes sense,
         since the point of this keyword is a decomposition
         over localized orbitals.
         LOCAL may be BOYS or RUEDNBRG.
         See also LOCHYP in $FFCALC for a similar breakdown
         of static beta and gamma hyperpolarizabilities.
         Default=.FALSE., except that RUNTYP=MAKEFP turns
         this computation on, automatically.
 
POLNUM = flag to force numerical rather than analytical
         calculation of the polarizabilities.  This may be
         much faster for larger molecules.  The numerical
         polarizabilities of bonds in or around aromatic
         rings sometimes are unphysical. (default=.FALSE.)
         See D.R.Garmer, W.J.Stevens
             J.Phys.Chem. 93, 8263-8270(1989).
         This keyword cannot be used with POLDYN or POLAPP.
 
POLAPP = flag to force calculation of the polarizabilities
         using a perturbation theory expression.  This may
         be useful in larger molecules. (default=.FALSE.)
         See R.M. Minikis, V. Kairys, J.H. Jensen
             J.Phys.Chem.A 105, 3829-3837(2001)
         Quality of the results is not as good as POLNUM!
         This keyword cannot be used with POLDYN or POLNUM.
 
POLANG = flag to choose units of localized polarizability
         output. The default is Angstroms**3, while false
         will give Bohr**3.  (default=.TRUE.)
 
ZDO    = flag for LCD analysis of a composite wavefunction,
         given in a $VEC input of a van der Waals complex,
         using the zero differential overlap approximation.
         The MOs are not orthonormalized and the inter-
         molecular electron exchange energy is neglected.
         Also, the molecular overlap matrix is printed
         out.  This is a very specialized option.
         (default = .FALSE.)
 
 
----- The following keywords can be used to define the
      nuclear part of an LCD.  They are usually used to
      rectify mistakes in the automatic definition
      made when MOIDON=.TRUE.  The index defining the
      LMO number then refers to the reordered list of LMOs.
 
NMOIJ  = array giving the number of nuclei assigned to a
         particular LMO.
 
IJMO   = is an array of pairs of indices (I,J), giving
         the row (nucleus I) and column (orbital J)
         index of the entries in ZIJ and MOIJ.
 
MOIJ   = arrays of integers K, assigning nucleus K as the
         site of the Ith charge of LCD J.
 
ZIJ    = array of floating point numbers assigning a
         charge to the Ith charge of LCD J.
 
IPROT  = array of integers K, defining nucleus K as a
         proton.
 
DEPRNT = a flag for additional decomposition printing,
         such as pair contributions to various energy
         terms, and centroids of the Ruedenberg orbitals.
         (default = .FALSE.)
 
 
----- The following keywords are used to build large EFPs
      from several RUNTYP=MAKEFP runs on smaller molecular
      fragments, by excluding common regions of overlap.
      For example, an EFP for n-octanol can be build from
      two MAKEFP runs, on n-pentane and n-pentanol,
                 CH3CH2CH2CH2-CH2CH2CH2CH2OH
                 CH3CH2CH2CH2[-CH3]
                        [CH3]-CH2CH2CH2CH2OH
      by excluding operlapping regions shown in brackets
      from the two EFPs.  See J.Phys.Chem.A 105, 3829-3837,
      (2001) for more information.
 
NOPATM = array of atoms that define an area to be excluded
         from a DMA ($STONE) during a RUNTYP=MAKEFP run.
         All atomic centers specified, and the midpoints
         of any bonds to them, are excluded as expansion
         points.  The density due to all LMOs primarily
         centered on these atoms are excluded from the DMA
         (see also KMIDPT).  Furthermore, polarizability
         tensors for these LMOs are excluded.
 
KPOINT = array of "boundary atoms", those atoms that are
         covalently bonded to the atoms given in NOATM.
 
KMIDPT = flag to indicate whether the density due to bond
         LMOs (and associated expansion points) between
         the NOPATM atoms and the KPOINT atoms are to be
         included in the DMA.  (default = .TRUE.)
 
NODENS = an array that specifies the atoms for which the
         associated electronic density will be removed
         before the multipole expansion.  This provides an
         EFP with net integer charge. (P.A.Molina, H.Li,
         J.H.Jensen J.Comput.Chem.  24, 1972-1979(2003).
 
The following keywords relate to the computation of
imaginary frequency dynamic polarizabilities.  This is
useful in the development of the dispersion energy formula
in the EFP2 model, but may also be computed separately, if
wished.
 
POLDYN = a flag to compute imaginary frequency dependent
         dynamic polarizabilities (alpha), by analytic
         means.  Available only for uncorrelated RHF.
         (default=.FALSE., but .TRUE. if RUNTYP=MAKEFP)
 
NDPFRQ = number of imaginary frequencies to compute.
         Default=1 for most runs, but=12 if RUNTYP=MAKEFP.
 
DPFREQ = an array of imaginary frequencies to be used,
         entered as real numbers (absolute values).  The
         default=0.0 for most runs, which is silly, because
         this just computes the normal static dipole
         polarizability!  For RUNTYP=MAKEFP, the program
         uses 12 internally stored values, which serve as
         the roots for a Gauss-Legendre quadrature to
         extract the C6 dispersion coefficients.  Given in
         atomic units.
 
For more information, see
    I.Adamovic, M.S.Gordon  Mol.Phys. 103, 379-387(2005).
 
----- The following keyword allows a slightly different
      algorithm to be used to generate Boys localized
      orbitals.
 
IBOYAL = a flag to choose which optimization algorithm to
         use to generate Boys localized orbitals. Only
         relevant if LOCAL=BOYS. Setting this to 1 is the
         original Boys optimization procedure, and setting
         this to 2 is a slightly different optimization
         procedure which occasionally has better convergence
         behavior.
         (default=1)
 
==========================================================
 
 
            * * * * * * * * * * * * * * * * * *
            For hints about localizations, and
            the LCD energy decomposition, see
            the 'further information' section.
            * * * * * * * * * * * * * * * * * *
 
==========================================================
 
 
 
==========================================================
 
346 lines are written.
Edited by Shiro KOSEKI on Thu Mar 5 10:25:38 2020.