$FMO group             (optional, activates FMO option)
 
    The presence of this group activates the Fragment
Molecular Orbital option, which divides large molecules
(think proteins or clusters) into smaller regions for
faster computation.  The small pieces are termed 'monomers'
no matter how many atoms they contain.  Calculations within
monomers, then 'dimer' pairs, and optionally 'trimer' sets
act so as to approximate the wavefunction of the full
system.  The quantum model may be SCF, DFT, DFTB, MP2, CC,
MCSCF, TDDFT, or CI.
 
     Sample inputs, and auxiliary programs, and other
information may be found in the GAMESS source distribution
in the directory ~/gamess/tools/fmo.
 
NBODY  = n-body FMO expansion:
         0 only run initial monomer guess (maybe remotely
           useful to create the restart file, or as an
           alternative to EXETYP=CHECK).
         1 run up to monomer SCF
         2 run up to dimers (FMO2, the default)
         3 run up to trimers (FMO3)
 
IEFMO  = switch to turn on EFMO (effective fragment
         potential based Fragment Molecular Orbital)
         0 = use FMO (default)
         1 = use EFMO
 
MODEFM   array of five values controlling EFMO, each
         allows a bit-wise combination of several options.
         Default is MODEFM(1)=0,0,0,0,0
       The first element is control over electrostatics
            0 no screening of electrostatics
            1 exponential screening of electrostatics by
              fixed value to fit the classical potential to
              the QM-potential, set SCREEN(1)=-1 in $FMO.
              (experimental)
            2 Add octupole energy into electrostatic energy
            4 use Hui Li's density based multipole
              expansion
            8 ignore torque contributions to the gradient
           16 generate electrostatics on bond midpoints too
       The second element controls polarizabilities.
            0 Tang-Toenis type screening
            1 do not include any polarization at all
            4 add percentage discrimination based on
              distance to atoms
            8 ignore torque contributions to the gradient
           16 use full polarization tensors
           32 move polarizability tensors to nearest atom
              before induction
           64 do not evaluate electrostatic field, induced
              dipoles or gradient contributions from
              neighbouring fragments.  This assumes
              fragments are made in a sequential fashion.
          128 use Ruedenberg localization for localization
              of orbitals
       The third element affects dispersion
            0 no dispersion interactions
            1 include dispersion
       The fourth element affects charge transfer
            0 no charge transfer interactions
            1 include charge transfer
       The fifth element affects exchange repulsion
            0 no exchange interactions
            1 include exchange repulsion
 
IEFMOG = switch to turn on fully analytic gradient for EFMO.
         Note that gradients do not have the center of mass
         term coded, so the analytic gradient is only fully
         analytic when $ELMOM where=originp $END is used.
         >  0  on
         <= 0  off (default)
 
MODFD  = switch to freeze the electronic state of some
         fragments. FMO/FD and FMO/FDD require
         RUNTYP=OPTIMIZE and two layers in FMO.
         0 = regular FMO
         1 = FMO/FD (frozen domain)
         3 = FMO/FDD (frozen domain and dimers)
 
NDUALB = switch to use dual basis approach with
         auxilliary polarization, AP, (i.e., a different
         basis set is used to estimate the polarization).
         The two basis sets in FMO/AP are entered in
         the multibasis fashion (not in the multilayer),
         i.e., as H.1 and H.2 in $DATA, not as H-1 and H-2.
         The dual basis set has some restrictions.
         Gradient (but not Hessian) is available.
         0 = usual FMO
         1 = dual basis FMO/AP
 
 
       I. The following parameters define layers.
 
NLAYER = the number of layers (default: 1)
 
MPLEVL = an array specifying n in MPn PT for each layer,
         n=0 or 2. (default: all 0s).
         Note that MCQDPT is not available and therefore
         one may not choose this for MCSCF.
 
DFTTYP = an array specifying the DFT functional type for
         each layer. (default: DFTTYP in $DFT).
         See $DFT for possible functionals. All functionals
         except dual hybrids may be used.
         Only grid-based DFT is supported.
 
SCFTYP = an array specifying SCF type for each layer.
         At present the only valid choices are RHF, ROHF,
         UHF, and MCSCF.
         (default: SCFTYP in $CONTRL for all layers).
 
CCTYP  = an array specifying CC type for each layer, which
         may be only the following choices from $CONTRL:
             LCCD, CCD, CCSD, CCSD(T), CCSD(T), CCSD(TQ),
             CR-CCL, or non-size extensive R-CC or CR-CC.
         Since FMO's CC methods involve adding corrections
         from pairs of monomers together, it is better to
         choose a size extensive method.
 
TDDFT  = an array specifying TDDFT type for each layer,
         of the same kind as TDDFT in $CONTRL.
         Default: TDDFT in $CONTRL for all layers.
 
CITYP  = an array specifying CI type for each layer, see
         CITYP in $CONTRL.  At present, only CIS may be
         used (FMO1-CIS energy only, i.e., nbody=1).
         Default: CITYP from $CONTRL, for all layers.
 
       II. Parameters defining FMO fragments:
 
NFRAG  = the number of FMO fragments (default: 1)
 
LAYER  = an array defining the layer for each fragment.
         Default: all fragments in layer 1, i.e.,
         LAYER(1)=1,1,1,...,1
 
FRGNAM = an array of names for each fragment (each 1-8
         character long) (default: FRG00001,FRG00002...).
 
INDAT  = an array assigning atoms to fragments. Two styles
         are supported (the choice is made based on
         INDAT(1): if it is nonzero, choice (a) is taken,
         otherwise INDAT(1) is ignored and choice (b) is
         taken):
         a) INDAT(i)=m assigns atom i is to fragment m.
            INDAT(i) must be given for each atom.
         b) the style is
            a1 a2 ... ak 0
            b1 b2 ... bm 0
            ...
            Elements a1...ak are assigned to fragment 1,
            then b1...bm are assigned to fragment 2,etc.
            An element is one of the following:
                I    or   I -J
            where I means atom I, and a pair I,-J means
            the range of atoms I-J.  There must be no space
            after the "-"!
         Example:
         indat(1)=1,1,1,2,2,1 is equivalent to
         indat(1)=0, 1,-3,6,0, 4,5,0
         Both assign atoms 1,2,3 and 6 to fragment 1,
         and 4,5 to fragment 2.
 
ICHARG = an array of charges on the fragments
         (default: all 0 charges)
 
MULT   = an array of multiplicities for each fragment.
         For MCSCF only the unique MCSCF fragment may be
         something other than a singlet.
         For ROHF and UHF multiple open-shell fragments
         are allowed, which may have any multiplicity;
         for dimers the high spin coupling will be used.
         (default: all 1's)
 
SCFFRG = an array giving the SCF type for each fragment.
         For MCSCF, only one fragment may be MCSCF and
         the rest should be RHF. For ROHF, UHF and U-DFT
         multiple open-shell fragments are allowed, but
         for ground state runs only.
         The values in SCFTYP overwrite SCFFRG, that is, if
         you want to do a 2-layer calculation, the first
         layer being RHF and the other MCSCF, then you
         would use SCFTYP(1)=RHF,MCSCF and SCFFRG(N)=MCSCF,
         where you should replace N by your MCSCF fragment
         number. Then the first layer will be all RHF and
         the other will have one MCSCF fragment. In special
         cases, some SCFFRG values may be set to NONE, in
         which case SCF is not performed. This is useful in
         conjunction with ATCHRG.
         (default: SCFTYP in $CONTRL).
 
MOLFRG = an array listing fragments for selective FMO,
         where not all dimers (and/or trimers) are
         computed. Setting MOLFRG imposes various
         restrictions, such as RUNTYP=ENERGY only.
         See MODMOL. For subsystem analysis (MODMOL=8),
         MOLFRG(i) defines which subsystem fragment i
         belongs to.  Default: all 0.
 
MODMUL   Use the multipole expansion to compute
         electrostatic interactions exactly, bit additive.
       1 Compute individual contributions for each ES
         dimer.
       2 Compute the sums for all ES dimer contributions
         and add them to the energy and gradient.
       8 Compute one-electron ESP gradients (implemented
         for RESPPC<=0 only).
         Only one of bits 1 or 2 may be turned on.
         Default: 0
 
IACTFG = array specifying fragments in the active domain in
         FMO/FD(D). Ranges can be specified as in INDAT, so
         INDAT(1)=1,2,-5,8 means fragments 1,2,3,4,5,8.
         All IACTFG fragments should be in the 2nd layer,
         and the interfragment distance between fragments
         in IACTFG and the 1st layer's fragments should not
         be zero (i.e., no detached bonds between them).
         Default: all zeroes.
 
NOPFRG = printing and other additive options, specified for
         each fragment,
       1 set the equivalent of $CONTRL NPRINT=7 (printing
         option).  Useful if you want to print orbitals
         only for a few selected monomers.
       2 set MVOQ to +6 to obtain better virtual orbitals
         (ENERGY runs only, useful mostly to prepare good
         initial orbitals for MCSCF).
       4 generate cube file for the specified fragment,
         the grid being chosen automatically.
         (default: all 0s)
      64 use frozen atomic charges (defined in ATCHRG)
         instead of the variational ones to compute
         converged fragment densities, to describe the
         electrostastic field from a fragment acting upon
         other fragments.
     128 apply options 1 and 4 above only at the final SCF
         iteration (correlation or GRADIENT only).
 
NACUT  = automatically divides a molecule into fragments by
         assigning NACUT atoms to each fragment (useful for
         something like water clusters).  This sets FRGNAM
         and INDAT, so they need not be given.  If 0, the
         automatic option is disabled. (default: 0)
 
IEXCIT = options for FMO based TDHF, TDDFT, or CI
         calculations:
 
IEXCIT(1): ordinal number for the excited state fragment.
           There is no default for IEXCIT(1), you should
           always set it.
IEXCIT(2): chooses the many-body level excitation n, e.g.
           for FMOn-TDDFT.
           n=1 means only the fragment given in IEXCIT(1)
           will be excited.
           n=2 adds dimer corrections (from fragment
           pairs involving IEXCIT(1)).
           IEXCIT(2) must not exceed NBODY.  Default: 1.
IEXCIT(3): (relevant for FMO2-TDDFT only)
           = 0 economic mode: only TDDFT dimer calculations
               are performed (skipping all other dimers).
           = 1 all dimer calculations are performed to
               obtain not just the excitation but also the
               total excited state energy.
           Default: 0.
IEXCIT(4): excited state matching method in FMO2-TDDFT used
           to determine which excitations in dimers
           correspond to those in the TDDFT fragment given
           in IEXCIT(1).  Default=2.
           = 0 trivial or identity matching (assume the
               same order of the excited states in monomers
               and dimers.
           = 1 match the dominant orbital pair (aka DRF)
               coefficient.
           = 2 match the whole excitation vector.
     Methods 1 and 2 try to match monomer dimer orbitals
     first, and then use DRF coefficients. In difficult
     cases (i.e., if the orbitals in a dimer are very
     delocalised), methods 1 and 2 may not be able to find
     the right transition, so some visual checking is
     recommended.
 
ATCHRG = array of atomic charges, to be used with NOPFRG,
         set for some fragments to 64 (i.e., to freeze some
         of fragment electrostatic potentials during SCC).
Nota bene: the order of atoms in ATCHRG is not the same as
in FMOXYZ. In ATCHRG, you should specify atomic charges for
all atoms in fragment 1, then for fragment 2 etc, as a
single array. For covalently connected fragments there are
formally divided atoms (some redundant), and ATCHRG should
then list charges for them as well, all in the exact order
of atoms in which fragments are defined in FMO. The number
of entries in ATCHRG is NATFMO+NBDFG, where NATFMO is the
number of atoms in $FMOXYZ and NBDFG is the number of bonds
defined in $FMOBND.
 
NATCHA = option applicable to molecular clusters made
         exclusively of the same molecules. Only NATCHA
         atoms are then specified in ATCHRG, and the rest
         are copied from the first set.
 
RAFO   = array of three thresholds defining model systems
         in FMO/AFO. All of them are multiplicative factors
         applied to distances. Two atoms are considered
         covalently bonded if they are separated by the
         predefined distance determined by their van der
         Waals radii.  Larger RAFO values make further
         separated atoms to be considered as bonded.
 
All atoms within RAFO(1) distance from BDA or BAA are
included into the model system in AFO ($FMOBND lists BDAs
and BAAs in this order as -BDA BAA).  Atoms within RAFO(2)
from the set defined by RAFO(1) are replaced by hydrogens.
AO coefficients expanding localized orbitals to be frozen
are saved for use in FMO for atoms within  RAFO(3) from BDA
or BAA. A nonzero RAFO(1) turns on FMO/AFO, else FMO/HOP is
used. Default: 0,0,0.
 
MODMOL  = additive options for dimers and trimers in the
          selective FMO based on MOLFRG.
        1 limits correlated calculations to a) dimers/
          trimers including one fragments in MOLFRG, and
          b) monomers appearing in such dimers/trimers.
          In other words, this is a cross option, to study
          interactions between MOLFRG and the rest.
        2 modifies the choice of dimers/trimers to those
          in which all fragments are listed in MOLFRG
          (i.e., option 2 requires also 1, resulting in 3).
          In other words, this is an intra option, to study
          interactions within MOLFRG.
        4 do not store NFRAG**3 arrays in FMO3, to be used
          with MODMOL=2, to reduce memory in very special
          cases. No property summary will be provided, just
          whatever is printed in SCF for each trimer.
        8 do subsystem analysis. See MOLFRG.
                 Default: 0 (do not use MOLFRG)
 
NFRND   = additive options controlling interface and
          compatibility of GAMESS' FMO with other programs.
        2 output basis set for each n-mer.  Such an FMO
          output can be split with tools/fmo/misc/frgout,
          and thus obtained fragment output files can be
          read into various GUIs (e.g., MacMolPlt), for
          example to plot MOs of individual n-mers (but not
          of the whole system), e.g., to help understand an
          excited state calculation.
        4 punch normal modes in RUNTYP=FMOHESS for
          GUIs (e.g., MacMolPlt) to visualize vibrations.
          This also prints a frequency table in the output.
        8 write out coordinates
 
       III. Parameters defining FMO approximations
 
MODESP = options for ESP calculations.
       0 the original distance definition (uniform),
       1 an improved distance definition (many-body
         consistent, applied to unconnected n-mers),
       2 an improved distance definition (many-body
         consistent, applied to all n-mers).
         (default: 0 (FMO2) or 1 (FMO3))
 
MODGRD =  0 subtract the external potential from the
            Lagrangian (default).
          1 do not do that.
          2 add ESP derivatives (MODESP should be 0)
          8 add Mulliken charge derivatives to MODGRD=2
         16 do not add HOP derivatives (required for AFO)
         32 add CPHF-related terms (known as SCZV) needed
            for the fully analytic gradient, which may
            be combined with EFP or PCM<1>.
            This option requires MODESP=0 and for MP2
            also RESPPC=0.
            Note that 2+8 terms should be added, too,
            so MODGRD=42 (=2+8+32) gives the fully analytic
            gradient.
      There are three main usages (some further limitations
      are not listed below, e.g., for combinations with PCM
      or EFP):
         MODGRD=0  gives the least accurate gradient,
                   available for almost any FMO method
                   (except CIS and when ab initio gradient
                   in GAMESS is not available, e.g., CC).
         MODGRD=10 is medium accurate, unavailable for CI,
                   CC, ROHF and MCSCF.
         MODGRD=42 is analytic, only for RHF, UHF, ROHF,
                   RDFT, UDFT, and RMP2.  RMP2 requires
                   RESPCC=0.
      Note that RUNTYP=FMOHESS should use MODGRD=2, and
      such runs cannot calculate analytic gradient.
 
      Default: 10 (=2+8, for FMO2) or 0 (for FMO3).
 
RESPAP = cutoff for Mulliken atomic population approx,
         namely, usage of only diagonal terms in ESPs.
         It is applied if the distance between two monomers
         is less than RESPAP, the distance is relative to
         van der Waals radii; e.g. two atoms A and B
         separated by R are defined to have the distance
         equal to R/(RA+RB), where RA and RB are van
         der Waals radii of A and B).  RESPAP has no units,
         as may be deduced from the formula.
         RESPAP=0.0 disables this approximation.
         (default: 0.0)
 
RESPPC = cutoff for Mulliken atomic point charge
         approximation, namely replacing 2e integral
         contributions in ESPs by effective 1e terms).
         See RESPAP. (default: 2.0 (FMO2) or 2.5 (FMO3))
 
RESDIM = cutoff for approximating the SCF energy by
         electrostatic interaction (1e terms), see RESPAP.
         This parameter must be nonzero for ab initio
         electron correlation methods. RESDIM=0 disables
         this approximation. (default: 2.0 (FMO2) or
         RITRIM(1)+RITRIM(3) for FMO3 energy, 0 for FMO3
         gradient)
 
RCORSD = cutoff that is compared to the distance between
         two monomers and all dynamic electron correlation
         during the dimer run is turned off if the
         distance is larger than this cutoff.  RCORSD must
         be less than or equal to RESDIM and it affects
         only MP2, CC, CI, and TDDFT.
         (default: 2.0 (FMO2), RITRIM(1)+RITRIM(4) for
         FMO3 energy, 0 for FMO3 gradient)
 
RITRIM = an array of 4 thresholds determining neglect of
         3-body terms (FMO3 only). The first three are for
         uncorrelated trimers and the exact definition can
         be found in the source code.  The fourth one
         neglects correlated trimers with the separation
         larger than the threshold value. RITRIM(4) should
         not exceed RITRIM(3).
         (default: 1.25,-1.0,2.0,2.0, which corresponds to
         the medium accuracy with medium basis sets, see
         REFS.DOC).
 
MAXRIJ = maximum number of SCF IJ dimers per fragment I.
         Using this option reduces the memory requirements;
         all approximations (RESPPC and RESDIM) should
         use the same value such as 2. MAXRIJ is used
         for FMO2 (default: 0, disabling this option).
 
SCREEN  = an array of two elements, alpha and beta, giving
          the exponent and the multiplicative factor
          defining the damping function
              1-beta*exp(-alpha*R**2).
          This damping function is used to screen the
          potential due to point charges of bond detached
          atoms and it can only be applied for RESPPC=-1,
          i.e., when ESP is approximated by point charges.
          Default: 0,0 (no screening). Other sensible
          values are 1,1.
 
ORSHFT = orbital shift, the universal constant that
         multiplies all projection operators.  The value of
         1e+8 was sometimes erroneously quoted instead of
         the actual value of 1e+6 in some FMO publications.
         (default: 1e+6).
 
MAXKND = the maximum number of hybrid orbital sets (one set
         is given for each basis set located at the atoms
         where bonds are detached).  See also $FMOHYB.
         (default: 10)
 
MAXCAO = the maximum number of hybrid orbitals in an LMO
         set.  (default: 5)
 
MAXBND = the maximum number of detached bonds.
         (default: NFG*2+1)
==========================================================
 
 
 
 
==========================================================
 
479 lines are written.
Edited by Shiro KOSEKI on Thu Mar 5 10:25:38 2020.