$MCQDPT group (relevant if SCFTYP=MCSCF and MPLEVL=2)
Controls 2nd order MCQDPT (multiconfiguration quasi-
degenerate perturbation theory) runs, if requested by
MPLEVL=2 in $CONTRL. MCQDPT2 is implemented only for FORS
(aka CASSCF) wavefunctions. The MCQDPT method is a
multistate, as well as multireference perturbation theory.
The implementation is a separate program, interfaced to
GAMESS, with its own procedures for determination of the
canonical MOs, CSF generation, integral transformation, CI
in the reference CAS, etc. Therefore some of the input in
this group repeats data given elsewhere, particularly for
$DET/$DRT.
Analytic gradients are not available. Spin-orbit
coupling may be treated as a perturbation, included at the
same time as the energy perturbation. If spin-orbit
calculations are performed, the input groups for each
multiplicity are named $MCQD1, $MCQD2, ... rather than
$MCQDPT. Parallel calculation is enabled.
When applied to only one state, the theory is known as
multi-reference Moller-Plesset (MRMP), but the term MCQDPT
is used when this theory is used in its multi-state form.
Please note that this perturbation theory is not the same
thing as the CASPT2 theory, and should -NEVER- be called
that. A more complete discussion may be found in the
'Further Information' chapter.
Most values will inherit sensible defaults for the state
symmetry and the orbital space counts from the $DET or $DRT
input defining the MCSCF: however for multi-state runs, the
user probably has to supply the desired state and weighting
information.
In case of diabatic state generation at the MCQDPT
level, the settings for state selection and weights will be
inherited from the $DIABAT input, to be the same as used
for the Diabatic MO generation. Thus diabatization runs
will probably not give any input here, although they might
override NMOFZC/NMODOC defaults.
*** MCSCF reference wavefunction ***
NEL = total number of electrons, including core.
(default from $DATA and ICHARG in $CONTRL)
MULT = spin multiplicity (default from $CONTRL)
NMOACT = Number of orbitals in FORS active space
(default is the active space in $DET or $DRT)
NMOFZC = number of frozen core orbitals, NOT correlated
in the perturbation calculation. (default is
number of chemical cores)
NMODOC = number of orbitals which are doubly occupied in
every MCSCF configuration, that is, not active
orbitals, which are to be included in the
perturbation calculation. (The default is all
valence orbitals between the chemical core and
the active space)
NMOFZV = number of frozen virtuals, NOT occupied during
the perturbation calculation. The default is
to use all virtuals in the MP2. (default=0)
If the input file does not provide a $DET or $DRT, the user
must give NMOFZC, NMODOC, and NMOACT correctly here.
STSYM = The symmetry of the target electronic state(s).
See $DET for possible values: use AP/APP in Cs, not
primes. This must be given, and need not match the
state symmetry used in optimizing the orbitals by
$DET or $DRT, although it often does.
Default is the totally symmetric representation.
NOSYM = 0 use CSF symmetry (see the STSYM keyword).
off diagonal perturbations vanish if states are
of different symmetry, so the most efficient
computation is a separate run for every space
symmetry. (default)
1 turn off CSF state symmetry so that all states
are treated at once. STSYM is ignored.
Presently this option does not seem to work!!
-1 Symmetry purify the orbitals. Since $GUESS is
not read by MCQDPT runs, this option can be used
as a substitute for its PURIFY. After cleaning
the orbitals, they are reorthogonalised within
each irrep and within each group (core, double,
active, virtual) separately. Since this occurs
without MCSCF optimization if you have chosen to
use RDVECS in $MRMP, it is *your* responsibility
to ensure that any purification of the orbitals
is small enough that the CAS energies for the
original CASSCF and the CAS-CI performed during
the MCQDPT are the same!
*** perturbation specification ***
KSTATE= state is used (1) or not (0) in the MCQDPT2.
Maximum of 20 elements, including zeros.
For example, if you want the perturbation
correction to the second and the fourth roots,
KSTATE(1)=0,1,0,1
See also WSTATE.
(normal default=1,0,0,0,0,0,0,...)
(default for DIABAT=.TRUE. will be from $DIABAT)
XZERO a flag to choose the 0-th order Hamiltonian used,
when more than one state is included by KSTATE and
WSTATE. XZERO has no impact on single state runs.
.TRUE. selects Granovsky's XMCQDPT equations for
the zero-th order Hamiltonian, see
A.A.Granovsky, J.Chem.Phys. 134, 214113(2011).
.FALSE. selects the original definition of the
unperturbed Hamiltonian. The default is .FALSE.
*** Intruder State Removal ***
EDSHFT = energy denominator shifts. (default=0.0,0.0)
See also REFWGT.
Intruder State Avoidance (ISA) calculations can be made by
changing the energy denominators around poles (where the
denominator is zero). Each denominator x is replaced by x
+ EDSHFT/x, so that far from the poles (when x is large)
the effect of such change is small. EDSHFT is an array of
two values, the first is used in spin-free MCQDPT, and the
second is for spin-orbit MCQDPT. Both values are used if
RUNTYP=TRNSTN, only the first is used otherwise. A
suggested pair of values is 0.02,0.1, but experimentation
with your system is recommended. Setting these values to
zero is ordinary MCQDPT, whereas infinite collapses to the
MCSCF reference.
Note that the energy denominators (which are ket-dependent
in MCQDPT) are changed in a different way for each ket-
vector, that is, for each row in MCQDPT Hamiltonian matrix.
In other words, the zeroth order energies are not
"universal", but state specific. This is strictly speaking
an inconsistency in defining zeroth order energies that are
usually chosen "universally".
In order to maintain continuity when studying a PES, one
usually uses the same EDSHFT values for all points on PES.
In order to study the potential surface for any extended
range of geometries, it is recommended to use ISA, as it is
quite likely that one or more regions of the PES will be
unphysical due to intruder states.
For an example of how intruder states can appear at some
points on the PES, see Figures 1,2,7 of
K.R.Glaesemann, M.S.Gordon, H.Nakano
Phys.Chem.Chem.Phys. 1, 967-975(1999)
and also
H.A.Witek, D.G.Fedorov, K.Hirao, A.Viel, P.-O.Widmark
J.Chem.Phys. 116, 8396-406(2002)
For a discussion of intruder state removal from MCQDPT, see
H.A.Witek, Y.-K.Choe, J.P.Finley, K.Hirao
J.Comput.Chem. 23, 957-965(2002)
REFWGT = a flag to request decomposition of the second
order energy into internal, semi-internal, and
external contributions, and to obtain the weight
of the MCSCF reference in the 1st order wave
function. This option significantly increases
the run time! When you run in parallel, only
the transformation steps will speed up, as the
PT part of the reference weight calculation has
not been adapted for speedups (default=.FALSE.)
The EDSHFT option does not apply if REFWGT is
used. One purpose of using REFWGT is to try to
understand the nature of the intruder states.
*** Canonical Fock orbitals ***
IFORB = 0 skip canonicalization
(default when DIABAT=.TRUE.).
= 1 determine the canonical Fock orbitals.
(the usual default)
= 3 canonicalise the Fock orbitals averaged over
all $MCQDx input groups.
IFORB=3 option pertains only to RUNTYP=TRANSITN. It is
primarily meant to include spin-orbit coupling perturbation
into the energy perturbation, but could also be used in
conjunction with OPERAT=DM to calculate only the second
order energy perturbation. IFORB=3 means that WSTATE is
used as follows: In each $MCQDx group, the WSTATE weights
are divided by the total number of states (sum(i)
IROOTS(i)), so the sum over all WSTATE values in all $MCQDx
groups is normalized to sum to 1. Thus there is no
normalization to 1 within each $MCQDx group.
This option might be used to speed up an atomic MCQDPT,
e.g. if computing the 3-P ground state of carbon, one would
want to average over all three spatial components of the P
term, to be sure of spatial degeneracy, but then run the
perturbation using symmetry, separately on the B1g+B2g+B3g
subspecies (within D2h) of a P term. It is very important
to give weights appropriate for the symmetry, the input
requires care.
WSTATE = weight of each CAS-CI state in computing the
closed shell Fock matrix. You must enter 0.0
whenever the same element in KSTATE is 0.
In most cases setting the WSTATEs for states
to be included in the MCQDPT to equal weights
is the best, and this is the default.
Runs with DIABAT=.TRUE. default to the same
weights used during the DMO generation step.
*** Miscellaneous options ***
ISELCT is an option to select only the important CSFs
for inclusion into the CAS-CI reference states.
Set to 1 to select, or 0 to avoid selection of
CSFs (default = 0)
All CSFs in a preliminary complete active space
CI whose CI coefficients exceed the square root
of THRWGT are kept in a smaller CI to determine
the zero-th order states. Note that the CSFs
with smaller coefficients, while excluded from
the reference states, are still used during the
perturbation calculation, so most of their
energy contribution is still retained. This can
save appreciable computer time in cases with
large active spaces.
THRWGT = weight threshold for retaining CSFs in selected
configuration runs. In quantum mechanics, the
weight of a CSF is the square of its CI
coefficient. (default=1d-6)
THRGEN = threshold for one-, two-, and three-body
density matrix elements in the perturbation
calculation. The default gives about 5 decimal
place accuracy in energies. Increase to 1.0D-12
if you wish to obtain higher accuracy, for
example, in numerical gradients (default=1D-8).
Tightening THRGRN and perhaps CI diagonalization
should allow 7-8 decimal place agreement with
the determinant code.
THRENE = threshold for the energy convergence in the
Davidson's method CAS-CI. (default=-1.0D+00)
THRCON = threshold for the vector convergence in the
Davidson's method CAS-CI. (default=1.0D-06)
MDI = dimension of small Hamiltonian diagonalized to
prepare initial guess CI states. (default=50)
MXBASE = maximum number of expansion vectors in the
Davidson diagonalization subspace (e.g. MXXPAN).
(default=50)
NSOLUT = number of states to be solved for in the
Davidson's method, this might need to exceed
the number of states in the perturbation
treatment in order to "capture" the correct
roots.
NSTOP = maximum number of iterations to permit in
the Davidson's diagonalization.
LPOUT = print option, 0 gives normal printout, while
<0 gives debug print (e.g. -1, -5, -10, -100)
In particular, LPOUT=-1 gives more detailed
timing information. (default=0)
The next three parameters refer to parallel execution:
DOORD0 = a flag to select reordering of AO integrals
which speeds the integral transformations.
This reduces disk writes, but increases disk
reads, so you can try turning it off if your
machine has slow writes. (default=.TRUE.)
PARAIO = access 2e- integral file on every node, at
the same time. This affects only runs with
DOORD0 true, and it may be useful to turn
this off in the case of SMP nodes sharing
a common disk drive. (default=.TRUE.)
DELSCR = a flag to delete file 56 containing half-
transformed integrals after it has been
used. This reduces total disk requirements
if this file is big. (default=.FALSE.)
Note that parallel execution will be more effective if you
use distributed memory, MEMDDI in $SYSTEM. Using
AOINTS=DIST in $TRANS is likely to be helpful in situations
with relatively poor I/O rates compared to communication,
e.g. SMP enclosures forced to share a single scratch disk
system. See PROG.DOC for more information on parallel
execution.
Finally, there are additional very specialized options,
described in the source code routine MQREAD: IROT, LENGTH,
MAXCSF, MAXERI, MAXROW, MXTRFR, THRERI, MAINCS, NSTATE
305 lines are written.
Edited by Shiro KOSEKI on Tue May 17 15:19:38 2022.