$DET group (required by MCSCF if CISTEP=ALDET or ORMAS)
$GEN group          (required by MCSCF if CISTEP=GENCI)
$CIDET group (required if CITYP=ALDET, ORMAS, or FSOCI)
$CIGEN group                  (required if CITYP=GENCI)
 
   This group describes the determinants to be used in a
MCSCF or CI wavefunction:
 
  a) For full CI calculations (ALDET) the $DET/$CIDET
will generate a full list of determinants.  If the CI is
part of an MCSCF, this means the MCSCF is of the FORS type
(which is also known as CASSCF).
  b) For Occupation Restricted Multiple Active Space
(ORMAS) CI, the input in $ORMAS will partition the active
orbitals defined here into separate spaces, that is,
provide both $DET/$CIDET and $ORMAS.
  c) For Full Second Order CI, provide $CIDET and $SODET
inputs.
  d) For a general CI (meaning user specified space orbital
products) provide $DET/$CIDET plus $GEN/$CIGEN and most
likely $GCILST (according to the keyword GLIST).
 
In the above, group names for MCSCF/CI jobs are separated
by a slash.
 
   Determinants contain several spin states, in contrast
to configuration state functions.  The Sz quantum number
of each determinant is the same, but the Hamiltonian
eigenvectors will have various spins S=Sz, Sz+1, Sz+2, ...
so NSTATE may need to account for states of higher spin
symmetry.  In Abelian groups, you can specify the exact
spatial symmetry you desire.
 
GLIST  = general determinant list option
         The keyword GLIST must not be given in a $DET or
         $CIDET input group!  These both generate full
         determinant lists, automatically.
       = INPUT  means $GCILST input will be read.
       = EXTRNL means the list will be read from a disk
                file GCILIST generated in an earlier run.
       = SACAS  requests generation of sevaral CAS spaces
                of different space symmetries, specified by
                the input IRREPS.  This option is intended
                for state averaged calculations for cases
                of high symmetry, where degenerate irreps
                of the true group may fall into different
                irreps of the Abelian subgroup used.
 
 
 * * * The next four define the orbital spaces * * *
    There is no default for NCORE, NACT, and NELS:
 
NCORE  = total number of orbitals doubly occupied in all
         determinants.
 
NACT   = total number of active orbitals.
 
NELS   = total number of active electrons.
 
SZ     = azimuthal spin quantum number for each of the
         determinants, two times SZ is therefore the
         number of excess alpha spins in each determinant.
         The default is SZ=S, extracted from the MULT=2S+1
         given in $CONTRL.
 
 
 * * * The following determine the state symmetry * * *
 
GROUP  = name of the point group.  The default is to copy
         this from $DATA, if that group is Abelian (C1, Ci,
         Cs, C2, C2v, C2h, D2, or D2h).  If not, the point
         group used will be C1 (no symmetry).
 
STSYM =  specifies the spatial symmetry of the state.
         Of course these names are the standard group
         theory symbols for irreducible representations:
              C1   A
              Ci   Ag  Au
              Cs   AP  APP   (P stands for prime, i.e. ')
              C2   A   B
              C2v  A1  A2  B1  B2
              C2h  Ag  Bu  Bg  Au
              D2   A   B1  B2  B3
              D2h  Ag  B1g B2g B3g Au  B1u B2u B3u
         Default is STSYM being the totally symmetric
         state, listed as the first column above.
         The free format scanner is not able to read quotes
         so the letters "P" must be used in Cs.
 
IRREPS = specifies the symmetries of the GLIST=SACAS space
         determinant list.  This variable should always be
         an array, as a single symmetry is more quickly
         obtained by the regular full CI code.  The values
         given are more primitive than STSYM, being the
         following integers, not strings:
         IRREPS=   1   2   3   4   5   6   7   8 meaning
              C1   A
              Ci   Ag  Au
              Cs   A'  A''
              C2   A   B
              C2v  A1  A2  B1  B2
              C2h  Ag  Bu  Bg  Au
              D2   A   B1  B2  B3
              D2h  Ag  B1g B2g B3g Au  B1u B2u B3u
 
 
 * * * the following control the diagonalization * * *
 
NSTATE = Number of CI states to be found, including the
         ground state.  The default is 1, meaning ground
         state only.  The maximum number of states is 100.
         See also IROOT below (two places).
 
PRTTOL = Printout tolerance for CI coefficients, the
         default is to print any larger than 0.05.
 
ANALYS = a flag to request analysis of the CI energy in
         terms of single and double excitation pair
         correlation energies.  This is normally used in
         CI computations, rather than MCSCF, and when the
         wavefunction is dominated by a single reference,
         as the analysis is done in terms of excitations
         from the determinant with largest CI coefficient.
         The defalt is .FALSE.
 
ITERMX = Maximum number of Davidson iterations per root.
         The default is 100.  A CI calculation will fail
         if convergence is not obtained before reaching
         the limit.  MCSCF computations will not bomb
         if the iteration limit is reached, instead the
         last CI vector is used to proceed into the next
         orbital update.  In cases with very large active
         spaces, it may be faster to input ITERMX=2 or 3
         to allow the program to avoid fully converging
         the CI eigenvalue problem during the early MCSCF
         iterations.  For small active spaces, it is
         best to allow the CI step to be fully converged
         on every iteration.
 
CVGTOL = Convergence criterion for Davidson eigenvector
         routine.  This value is proportional to the
         accuracy of the coefficients of the eigenvectors
         found.  The energy accuracy is proportional to
         its square.  The default is 1.0E-5, but 1E-6 if
         gradients, MPLEVL, CITYP, or FMO selected).
 
NHGSS  = dimension of the Hamiltonian submatrix which
         is diagonalized to obtain the initial guess
         eigenvectors.  The determinants forming the
         submatrix are chosen on the basis of a low
         diagonal energy, or if needed to complete a
         spin eigenfunction.  The default is 300.
 
NSTGSS = Number of eigenvectors from the initial guess
         Hamiltonian to be included in the Davidson's
         iterative scheme.  It is seldom necessary to
         include extra states to obtain convergence to
         the desired states.  The default equals NSTATE.
 
MXXPAN = Maximum number of expansion basis vectors in the
         iterative subspace during the Davidson iterations
         before the expansion basis is truncated.  The
         default is the larger of 10 or 2*NSTGSS.  Larger
         values might help convergence, do not decrease
         this parameter below 2*NSTGSS.
 
CLOBBR = a flag to erase the disk file containing CI
         vectors from the previous MCSCF iteration.  The
         default is to use these as starting values for
         the current iteration's CI.  If you experience
         loss of spin symmetry in the CI step, reverse
         the default, to always take the CI from the top.
         Default = .FALSE.
 
 
 * * * the following control the 1st order density * * *
 
The following pertain to CI calculations by CITYP=xxx (not
to the CI step within MCSCF jobs).  Similar keywords apply
to MCSCF runs, see just below.
 
PURES  = flag to say that IROOT and NGFLGDM just below
         should count only those states whose S value is
         a match to that implied by MULT in $CONTRL.
         Thus, PURES=.TRUE. (the default) allows selection
         of S1 as IROOT=2 (the second singlet), even if
         there is a T1 state (and maybe others!) between
         S0 and S1.  Of course, NSTATE must be large
         enough to reach S1 (at least 3, if there is a T1
         between S0 and S1).
         Setting PURES to .FALSE. ignores the spin of each
         state when using IROOT and NFLGDM.
 
IROOT  = the root whose density is saved on the disk file
         for subsequent property analysis.  Only one root
         can be saved, and the default value of 1 means
         the ground state.  Be sure to set NFLGDM to form
         the density of the state you are interested in!
         IROOT has a similar meaning for MCSCF, see below.
 
NFLGDM = Array controlling each state's density formation.
         0 -> do not form density for this state.
         1 -> form density and natural orbitals for this
              state, print and punch occ.nums. and NOs.
         2 -> same as 1, plus print density over MOs.
         3 -> same as 2, plus print properties for this
              state (see $ELMOM, $ELPOT, et cetera).
         The default is NFLGDM(1)=1,0,0,...,0 meaning
         only ground state NOs are generated.
 
SAFLG = is a logical flag that determines whether or not
        state averaged CI density matrices and natural
        orbitals should be evaluated. Setting SAFLG=.TRUE.
        will result in the evaluation of the state averaged
        density matrix and NOs.  The default .FALSE. means
        generate state-specific densities according to the
        NFLGDM input.  See also WSTATE.
 
WSTATE = An array of up to 100 weights to be given to the
         densities of each state in forming the average
         density matrix. The default is to optimize a
         pure ground state, WSTATE(1)=1.0,0.0,...,0.0.
         Note that values given for WSTATE (during a CI
         calculation) will only be used if SAFLG=.TRUE.
         It should also be noted that any electronic state
         that has a nonzero value for WSTATE but a zero
         for NFLGDM will reset its value for NFLGDM to 1.
 
FSTATE = An array of up to 100 weights to be given to the
         densities of each state in forming the average
         density matrix used for QM-EFP polarization.
         FSTATE is ignored unless PMTD1=.FALSE. in $CONTRL.
         See also PURES.  The default is to set FSTATE from
         WSTATE if only the latter is given.
 
 
    * * * the following control the state averaged * * *
  * * * 1st and 2nd order density matrix computation * * *
 
The following keywords apply to the CI step within the
MCSCF iterations.  See just above for similar inputs
pertaining to CITYP=xxx calculations.
 
PURES  = a flag controlling the spin purity of the state
         averaging.  If true, the WSTATE array pertains
         to the lowest states of the same S value as is
         chosen by the MULT keyword in $CONTRL.  In this
         case, the value of NSTATE will need to be bigger
         than the total number of weights given as WSTATE
         if there are other spin states present at low
         energies.  If .FALSE., it is possible to state
         average over more than one S value, which might
         be of interest in spin-orbit coupling jobs.
         State-averaged MCSCF gradient runs must use .TRUE.
         The default is .TRUE.
 
WSTATE = An array of up to 100 weights to be given to the
         densities of each state in forming the average.
         The default is to optimize a pure ground state,
         WSTATE(1)=1.0,0.0,...,0.0
         A small amount of the ground state can help the
         convergence of excited states greatly.
         Gradient runs are possible only with pure states.
         Be sure to set NSTATE above appropriately!
         See also IDWREF just below.
 
IDWREF = The target state K used to control dynamically
         adjusted MCSCF state weights.  This keyword may
         only be used for CISTEP=ALDET or CISTEP=ORMAS.
         The default is 0, to use static WSTATE values.
 
         Dynamic weights are updated every MCSCF iteration
         by the formula:
            WSTATE(n) = sech^2[-DWPARM*(E(n)-E(K))].
         for n= state K and any other weighted states,
         followed by a normalization to sum to unity.
         The formula gives the largest weight to state K,
         with decreasing weight given to states farther
         away in energy.  See Deskevich, Nesbitt, and
         Werner, J.Chem.Phys. 120, 7281(2004).
         If IDWREF is given, the values given in WSTATE
         are used only to specify which roots should have
         non-zero weights.
         The target state is often the ground state, K=1,
         but any other state may be used: often K=IROOT!
         Converged dynamic weights will be passed to the
         determinant MCQDPT program (becoming its default
         WPTST) and to the state-averaged gradient/NACME
         program.
 
DWPARM = the value of the energy parameter used by IDWREF.
         The default is 2.0 eV.
 
IROOT  = the MCSCF state whose energy will be used as the
         desired value.  (default=0)
         The default means to use the average (according to
         WSTATE) of all states as the FINAL energy, which
         is not a physically meaningful quantity.
         When given as non-zero, IROOT chooses a specific
         state, ignoring any states with undesired spins,
         see PURES above, and also ignoring any states of
         the correct spin which were given no weight.
         Any run doing either analytic state-specific
         gradients in state-averaged runs, or a gradient by
         numerical differentiation must pick the desired
         specific IROOT value!
         IROOT has a similar meaning for CI, see above.
 
FSTATE = An array of up to 100 weights to be given to the
         densities of each state in forming the average
         density matrix used for QM-EFP polarization.
         FSTATE is ignored unless PMTD1=.FALSE. in $CONTRL.
         See also PURES.  The default is to set FSTATE from
         WSTATE if only the latter is given.
 
==========================================================
 
 
==========================================================
 
320 lines are written.
Edited by Shiro KOSEKI on Thu Mar 5 10:25:38 2020.