$GMCPT group (relevant if CISTEP=GMCCI in $MCSCF)
(relevant if MRPT=GMCPT in $MRMP)
This group specifies the determinants to be used in a
general MCSCF wavefunction. Additional inputs give the
necessary information to compute a 2nd order perturbation
energy correction to the MCSCF energy of such a MCSCF
reference, by choosing MPLEVL=2 in $CONTRL and MRPT=GMCPT.
The PT is of quasidegenerate type, in which several
MCSCF states can be perturbed simultaneously. After 2nd
order correction to both its diagonal and off-diagonal
matrix elements, this model Hamiltonian is diagonalized to
give the GMC-QDPT energies. The diagonalization also
yields some information about the remixing of the reference
states at 2nd order. Of course, the program can also be
used to obtain the 2nd order correction to the energy of
just one state.
GMC-QDPT is therefore analogous to the two equivalent
MCQDPT programs (MRPT=MCQDPT or DETMRPT) for CAS-type
references, but allows more general types of MCSCF
reference. Compared to those programs, there are also
choices for the 0-th order states, for the orbital
energies, and for the treatment of external excitations.
The letters GMCPT should be understood as standing for
GMC-QDPT, and have been shortened only because of the
constraints on input group names to 6 or fewer letters.
At the present time, this program does not support
EXETYP=CHECK. It is enabled for parallel execution.
1. data to specify active space and electronic state:
NMOFZC: number of frozen core orbitals, during the PT
the shape of these orbitals will be optimized in
the MCSCF stage, so they are "frozen" in the sense
of not being correlated in the PT. The default
is the number of chemical core orbitals.
NMODOC: number of orbitals restricted to double occupancy
during MCSCF, but which are correlated in the PT
calculation. In other words, the filled valence
orbitals. (no default). (It is possible to enter a
different keyword NMOCOR which is the total number
of doubly occupied orbitals, and NMOFZC. In this
case the program will obtain NMODOC by subtraction,
namely NMODOC = NMOCOR - NMOFZC).
NMOACT: number of active orbitals in the MCSCF (no default)
NMOFZV: number of virtual orbitals to be omitted from the
PT step. The default is 0, retaining all virtuals.
NELACT: number of active electrons. Since the default is
computed from the total number of electrons given
in $DATA and $CONTRL's ICHARG, minus 2*NMOFZC minus
2*NMODOC, there is little reason to input this.
MULT: multiplicity of the state, with the default being
taken from MULT in $CONTRL.
SZ: spin projection quantum number for determinants,
default is (MULT-1)/2
STSYM: The symmetry of the electronic state. See $DET for
possible values: use AP/APP in Cs, not primes.
Default is the totally symmetric representation.
If you are treating a system with degenerate states in an
appropriate Abelian subgroup of the true group, up to three
STSYM values can be given, to specify all components of
that originally degenerate state. For example,
STSYM(1)=b1u,b2u,b3u
generates all P states for an atom running in the Abelian
subgroup D2h.
2. data to specify the MCSCF CI (and PT's reference CI):
The type of general MCSCF reference is specified by REFTYP,
which can be MRX, ORMAS, or RAS:
REFTYP= MRX means multi-reference determinant list, plus
excitations (default). The determinants will be
given by $PDET input, and the keywords NPDET and
NEXCIT defined below are required.
REFTYP= RAS means the active space is divided into three
subspaces, known as RAS1, RAS2, and RAS3. Keywords
MSTART and NEXCIT defined below are required. For
example, MSTART(1)=4,6,9 defines a RAS with three
orbitals in the NMOFZC/NMODOC spaces, while the
RAS1, RAS2, and RAS3 subspaces contain 2, 3, and
NMOACT-5 orbitals. It remains only to specify the
excitation level NEXCIT between these spaces.
REFTYP= ORMAS defines even more general subspaces than RAS,
and requires inputs NSPACE, MSTART, MINE, and MAXE.
These have the same meaning as the $ORMAS keywords.
NPDET is the number of parent determinants, to be given
as NPDET lines in the $PDET input. A value is
required for REFTYP=MRX.
NEXCIT is an excitation level. A value is required for
REFTYP=MRX or REFTYP=RAS.
NSPACE is the number of subspaces into which the active
space is divided. Required for REFTYP=ORMAS.
MSTART is an array telling the starting MO of each orbital
space. It is required for REFTYP=RAS and ORMAS.
MINE is an array giving the minimum number of electrons
occupying each subspace. Required for REFTYP=ORMAS.
MAXE is an array giving the maximum number of electrons
occupying each subspace. Required for REFTYP=ORMAS.
NSPACE, MSTART, MINE, and MAXE have the same meaning as in
the $ORMAS input. See the 'how to do MCSCF/CI' section of
REFS.DOC, for help in understanding the power of the ORMAS
type of reference determinant list.
3. data to define the reference CI states:
KSTATE is an array of states to be used. As an example,
KSTATE(1)=0,1,0,1 means use states 2 and 4. The
default is the ground state, KSTATE(1)=1,0,0...
WSTATE is a set of weights for each state. The default
is equal weight assigned to every state selected
by KSTATE (WSTATE(1)=1.0, 1.0, 1.0, ...)
IROOT specifies which state's energy should be saved for
use in numerical gradient evaluation. IROOT
counts only for those states included by KSTATE, so
KSTATE(1)=0,1,0,1 and IROOT=2 refers to the second
root computed (4th overall). Default: IROOT=1.
ISPINA spin adaptation (default=0)
0 means off, 1 means on (strictly), -1 means on
(loosely). Proper spin states are picked up
automatically so this input is usually skipped.
See NSOLUT in this context.
KNOSYM a flag to turn off space symmetry use, i.e. STSYM.
.FALSE. will ignore symmetry (default=.TRUE.)
KNOSPN a flag to ignore spin symmetry, i.e. MULT. Give
as .FALSE. to ignore the spin (default=.TRUE.)
The next few influence the Davidson CI diagonalization, and
are quite similar to $MCQDPT keywords, so the description
here is terse.
NSOLUT is the number of roots to be obtained. If there
are not enough states of the correct spin found in
the first NSOLUT states to satisfy KSTATE/WSTATE,
increase this parameter to find enough.
MXITER is the maximum number of Davidson iterations to
find the states (default=200)
THRCON is the convergence criterion on the CI coefficient
convergence (default= 1.0d-6)
THRENE is a convergence criterion on the total energy of
the states. This is ignored if given as a negative
number. (default = -1.0d-12 Hartree)
MAXBAS maximum expansion space size in the Davidson
diagonalization subspace (default=100)
MDI dimension of the initial guess subspace used to
initiate the Davidson iterative CI solver. See
NHGSS in $DET for more information (default=300).
4. data to define perturbation theory computation:
KXGMC a flag to choose the 0-th order Hamiltonian used,
when more than one state is included by KSTATE and
WSTATE. KXGMC 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 .TRUE.
IWGT selects wavefunction analysis (default=1)
0 means off, 1 means on (external), -1 means on
(internal orbitals). This will compute the
approximate weight of the MCSCF reference CI in
the first order wavefunction. It is therefore
a very useful diagnostic for the quality of the
calculation, as the MCSCF state should be a high
percentage. The formula for the decomposition is
changed from the original CAS-type MCQDPT (REFWGT
in $MCQDPT), see Miyajima, Watanabe, and Nakano's
reference cited below.
Select IWGT=0 if the fastest speed is desired.
KFORB flag to request canonicalization (default=.TRUE.)
Canonicalization within the core, virtual, and any
rotationally invariant active subspaces yields a
well defined theoretical model. You would not
normally turn this option off.
KROT flag for treating (ij)->(ab) excitations
.TRUE. means treating this type of term by the
traditional MCQDPT formulae
.FALSE. uses a MP2-type formula when this type of
term arises between two identical determinants,
while using zero otherwise. This is thought to be
better in terms of size-consistency. (default)
KROT has an impact on run times and on the
numerical result. See the paper cited below by
Ebisuzaki, Watanabe, and Nakano for details.
THRWGT threshold weight on the square of CI coefficients,
for determinant selection. Any determinants that
are excluded from the reference list due to THRWGT
are treated in the outer space of the perturbation.
Give as a negative number to retain all of the
determinants, even those of very little importance,
in the reference of the perturbation treatment.
The default is 1.0d-8.
KSZDOE flag to use spin (Sz) dependent orbital energies.
This variable is ignored for singlet state(s), or
if SZ is chosen as 0.
If .TRUE., alpha and beta orbital energies are not
the same,
Ealp(i) = h(i,i) + sum_kl { Dalp(k,l)[(ii|kl)-(il|ki)]
+Dbet(k,l) (ii|kl)}
Ebet(i) = h(i,i) + sum_kl { Dbet(k,l)[(ii|kl)-(il|ki)]
+Dalp(k,l) (ii|kl)}
If .FALSE. both sets use the energies
E(i) = h(i,i) + sum_kl D(k,l)[(ii|kl)-1/2*(il|ki)]
= [Ealp(i)+Ebet(i)]/2
from the total density D(k,l)=Dalp(k,l)+Dbet(k,l)
Default=.TRUE.
THRGEN threshold on generator constants. Default=1.0d-9
Raising lowers accuracy but produces speedups.
Lowering to 1.0d-12 should give full accuracy for
benchmarking purposes.
THRHDE threshold to ignore |/dE|, which is not a
very effective screening, and its use is thus not
recommended. Default is 1.0 which should not
screen anything. Possible values are 0.05-0.10,
since many |/dE| are around 0.02-0.03.
The next two deal with the so-called "intruder state
avoidance". There are theoretical difficulties with either
one. THRDE just drops terms, so the potential surface may
have small discontinuities. EDSHFT always shifts results a
little bit, even if no small denominators (aka intruder
states) are actually present. Clearly both are "band-
aids"! Note that the first ISA technique is turned on, by
default.
THRDE is a threshold to simply drop out any term whose
energy denominator is too small. The default for
this is 0.005 Hartree. Change to zero to turn this
option off.
EDSHFT is the same as the same keyword in $MCQDPT. The
denominators D are changed to D + EDSHFT/D. Turn
off THRDE if you select this option. A reasonable
value to try is 0.02, the default is 0.0.
5. miscellaneous data
CEXCEN = string defining the units for the excitation
energy. Choose from these 4 strings (any case):
eV (default), cm-1, Kcal/mol, KJ/mol
DDTFPT = a flag requesting the distributed data integral
transformation be used, if the run is parallel.
This option requires MEMDDI in $SYSTEM. If there
is not enough memory to allow this, turn this
option off to use an alternate parallel
transformation (DEFAULT=.TRUE.).
Note: There are additional technical parameters for $GMCPT,
documented only in the source code file gmcpt.src.
----
In case it is desirable for the GMC-QDPT program to
reproduce results obtained by the DETMRPT/MCQDPT programs:
a) use a CAS-SCF reference in the MCSCF step
b) select REFTYP=ORMAS here, and enter NSPACE=1, giving
only one value for MSTART, MINE, MAXE
c) retain the entire CAS reference in the internal
determinant's perturbation space, THRWGT=-1.0
d) select the original external determinant space's
perturbation treatment, KROT=.FALSE.
e) use equal alpha/beta orbital energies, KSZDOE=.FALSE.
f) in multi-state mode, select KXGMC off, to reproduce
those program's 0-th order reference states
g) ensure ISA is turned off, THRDE= -1.0
h) perhaps adjust numerical parameters to full accuracy, to
increase the no. of decimals: THRGEN=1D-12, THRHDE=1D+10.
References for GMC-QDPT:
a) H.Nakano, R.Uchiyama, K.Hirao
J.Comput.Chem. 23, 1166-1175(2002)
b) M.Miyajima, Y.Watanabe, H.Nakano
J.Chem.Phys. 124, 044101/1-9(2006)
c) R.Ebisuzaki, Y.Watanabe, H.Nakano
Chem.Phys.Lett. 442, 164-169(2007)
The first paper introduced the theory, with further
developments including reference state weights given in the
second. The present computer code is based on the
efficient formulation involving ionized intermediate
determinants, as described in the third paper.
==========================================================
==========================================================
337 lines are written.
Edited by Shiro KOSEKI on Thu Mar 5 10:25:38 2020.