==========================================================
$MCSCF group (for SCFTYP=MCSCF)
This group controls the MCSCF orbital optimization
step. The difference between the five convergence methods
is outlined in the Further Information chapter, which you
should carefully study before trying MCSCF computations.
--- the next chooses the configuration basis ---
CISTEP = ALDET chooses the Ames Lab. determinant full CI,
and requires $DET input. (default)
= ORMAS chooses an Occupation Restricted Multiple
Active Space determinant CI, requiring
both $DET and $ORMAS inputs.
= GUGA chooses the graphical unitary group CSFs,
and requires $DRT input. This is the
only value usable with the QUAD converger.
= GENCI chooses the Ames Laboratory general CI, and
requires $GEN input.
= GMCCI chooses the Kyushu University general CI,
and requires $GMCPT input.
--- the next five choose the orbital optimizer ---
FOCAS = a flag to select a method with a first order
convergence rate. (default=.FALSE.)
Parallel runs with FOCAS do not use MEMDDI.
SOSCF = a flag selecting an approximately second order
convergence method, using an approximate orbital
hessian. (default=.TRUE.)
Parallel runs with SOSCF do not use MEMDDI.
FULLNR = a flag selecting a second order method, with an
exact orbital hessian. (default=.FALSE.)
Parallel runs with FULLNR require input of MEMDDI.
QUAD = a flag to pick a fully quadratic (orbital and
CI coefficient) optimization method, which is
applicable to FORS or non-FORS wavefunctions.
QUAD may not be used with state-averaging.
(default = .FALSE.)
This converger can be used only in serial runs.
JACOBI = a flag to pick a program that minimizes the
MCSCF energy by a sequence of 2x2 Jacobi
orbital rotations. This is very systematic in
forcing convergence, although the number of
iterations may be high and the time longer
than the other procedures. This option does
not compute the orbital Lagrangian, hence at
present nuclear gradients may not be computed.
(default = .FALSE.)
This converger can be used only in serial runs.
Note that FOCAS must be used only with FORS=.TRUE. in $DRT.
The other convergers are usable for either FORS or non-FORS
wavefunctions, although convergence is always harder in the
latter case, when FORS below must be set .FALSE.
--- the next apply to all convergence methods ---
Keywords specific to each converger are described below.
ACURCY = the major convergence criterion, the maximum
permissible asymmetry in the Lagrangian matrix.
(default=1E-5, but 1E-6 if MPLEVL, CI, or FMO
is selected.)
ENGTOL = a secondary convergence criterion, the run is
considered converged when the energy change is
smaller than this value. (default=1.0E-10)
MAXIT = Maximum number of iterations (default=100 for
FOCAS, 60 for SOSCF, 30 for FULLNR or QUAD)
MICIT = Maximum number of microiterations within a
single MCSCF iteration. (default=5 for FOCAS
or SOSCF, or 1 for FULLNR or QUAD)
NWORD = The maximum memory to be used, the default is
to use all available memory. (default=0)
FORS = a flag to specify that the MCSCF function is of
the Full Optimized Reaction Space type, which is
sometimes known as CAS-SCF. .TRUE. means omit
active-active rotations from the optimization.
Since convergence is usually better with these
rotations included, the default is sensible:
for FOCAS: .TRUE.,
for FULLNR or QUAD: .FALSE. for FULLNR or QUAD,
and for SOSCF: .TRUE. for ALDET/GUGA
but .FALSE. for ORMAS/GENCI)
It is seldom a good idea to enter this keyword.
Some keywords that apply after convergence is obtained:
CANONC = a flag to cause formation of the "standard
Fock operator", used to generate canonical core
and virtual orbitals. This may reorder the core
by orbital energies. If the active space is also
canonicalized, the active orbitals may also be
reordered by energy. Whenever possible, the
program will also attempt to canonicalize the
active orbitals. (default=.TRUE.)
VVOS = Valence Virtual Orbital generation, akin to the
same keyword in $SCF, for MCSCF runs. The same
restrictions (no core potentials, atoms H-Xe)
apply. (default= .FALSE.)
FINCI = NONE means skip regeneration of CAS-CI states over
final converged orbitals. (default)
= MOS use the final MOS, including any final
canonicalization by CANONC, to regenerate
the CAS-CI states matching the MOs.
= NOS use the final NOS to regenerate the CAS-CI
states. Note that CISTEP=ORMAS' natural
orbital process will mix active subspaces,
so an ORMAS natural orbital CI will not
reproduce the MCSCF energies.
This keyword is not implemented for CISTEP=GENCI or GMCCI.
DIABAT = flag controlling construction of diabatic states,
from the final MCSCF adiabatic states.
This is presently programmed only for CISTEP=GUGA.
See the $DIABAT input. (default is .FALSE.)
EKT = a flag to cause generation of extended Koopmans'
theorem orbitals and energies. (Default=.FALSE.)
For this option, see R.C.Morrison and G.Liu,
J.Comput.Chem., 13, 1004-1010 (1992). Note that
the process generates non-orthogonal orbitals, as
well as physically unrealistic energies for the
weakly occupied MCSCF orbitals. The method is
meant to produce a good value for the first I.P.
NPUNCH = MCSCF punch option (analogous to $SCF NPUNCH)
0 do not punch out the final orbitals
1 punch out the occupied orbitals
2 punch out occupied and virtual orbitals
The default is NPUNCH = 2.
NPFLG = an array for debug printing control. This is
analogous to the same variable in $CIINP.
Elements 1,2,3,4,6,8 make sense, the 8th step
controlling debugging of the orbital optimization.
In case you want to see normal output from all
steps during all iterations, set NPFLG(10)=1.
This may help trace problems that occur only
after the first iteration.
--- the next apply to SOSCF optimizations ---
NOFO = number of FOCAS iterations before switching to the
SOSCF converger. May be 0, 1, ... (default=1).
One FOCAS iteration at the first geometry permits
a canonicalization of the virtual space to occur,
which is likely to be crucial for convergence.
MCFMO = set to 1 to remove redundant orbital Lagrangian
elements in FMO-MCSCF. Note that corresponding
orbital rotations will still be optimised but not
considered when deciding whether a run converged.
This option is only in effect if detached bonds
are present (for which redundant orbitals exist).
Default: 1.
(This variable is irrelevant except to FMO runs)
--- the next three refer to FOCAS optimizations ---
CASDII = threshold to start DIIS (default=0.05)
CASHFT = level shift value (default=1.0)
NRMCAS = renormalization flag, 1 means do Fock matrix
renormalization, 0 skips (default=1)
--- the next applies to the QUAD method ---
(note that all FULLNR input is also relevant to QUAD)
QUDTHR = threshold on the orbital rotation parameter,
SQCDF, to switch from the initial FULLNR
iterations to the fully quadratic method.
(default = 0.05)
--- The JACOBI converger accepts FULLNR options ---
--- NORB, NOROT, MOFRZ, and FCORE as input ---
--- all remaining input applies only to FULLNR ---
except that JACOBI obeys four of these!
Freezing any orbitals (FCORE, MOFRZ, NORB, NOROT)
is incompatible with gradients, as the orbitals will
not be fully optimized. Use frozen orbital options
only with RUNTYP=ENERGY!
DAMP = damping factor, this is adjusted by the program
as necessary. (default=0.0)
METHOD = DM2 selects a density driven construction of the
Newton-Raphson matrices. (default).
= TEI selects 2e- integral driven NR construction.
See the 'further information' section for more
details concerning these methods. TEI is slow!
LINSER = a flag to activate a method similar to direct
minimization of SCF. The method is used if
the energy rises between iterations. It may in
some circumstances increase the chance of
converging excited states. (default=.FALSE.)
FCORE = a flag to freeze optimization of all filled
orbitals, which is useful in preparation for
RUNTYP=TRANSITN jobs. Filled orbitals means not
only chemical core, but also any inert valence
orbitals below the active space. Setting FCORE
automatically forces CANONC false. It may be
useful to decrease TOLZ and TOLE in $GUESS by two
orders of magnitude to ensure the filled orbitals
are unchanged during MOREAD. (default=.FALSE.)
MOFRZ = an array of orbitals to be frozen out of the
orbital optimization step (default=none frozen).
This list may contain active orbitals, as well
as the filled orbitals.
No more than 15 orbitals may be frozen.
You probably want to toggle CANONC off too!
--- the last few FULLNR options are seldom used ---
NORB = the number of orbitals to be included in the
optimization. The default is to optimize with
respect to the entire basis. Give NORB as two
smaller than the number of MOs if you want to
freeze out the top two virtual orbitals.
(default=all orbitals present in the run).
NOROT = an array of up to 250 orbital rotation pairs
to be omitted from the optimization process.
The program automatically deletes all core-core
rotations, all act-act rotations if FORS=.TRUE.,
and all core-act and core-virt rotations if
FCORE=.TRUE. Additional rotations are input as
I1,J1,I2,J2... to exclude rotations between
orbital I running from 1 to NORB, and J running
up to the smaller of I or NVAL in $TRANS.
DROPC = a flag to include MCC core orbitals during the
CI computation. The default is to drop them
during the CI, instead forming Fock operators
which are used to build the correct terms in
the orbital hessian. (default = .TRUE.)
==========================================================
348 lines are written.
Edited by Shiro KOSEKI on Fri Nov 5 15:25:53 2021.