$MRMP group (relevant if SCFTYP=MCSCF, MPLEVL=2)
(relevant if CITYP=SFDET and MPLVEL=2)
This group allows you to specify which second order
multi-reference perturbation theory program is executed.
See REFS.DOC for more details about multireference PT.
Results from these programs should never be referred to
as "CASPT2". That method is similar in spirit, but is a
different set of equations, whose numerical results will
not be identical to those used for MRMP/MCQDPT. When the
reference wavefunction is CAS-SCF, the perturbation
energies from either DETMRPT or MCQDPT programs should be
called MRMP when applied to a single state, and MCQDPT when
applied to more than one state. GMCPT is a different
method, also not "CASPT2".
Diabatic state generation is permitted only through the
CSF-based CAS-reference perturbation program (MCQDPT).
MRPT = DETMRPT requests a determinant program.
The MCSCF may use CISTEP=ALDET, using
a CAS-SCF reference, in which case the run
produces results equivalent to MCQDPT.
The MCSCF may also use CISTEP=ORMAS to use
more general references.
In either case, the reference must be given
by $DET (and possibly $ORMAS) inputs.
See $DETPT for perturbation specific input.
(default for most runs)
= MCQDPT requests a CSF (GUGA based) program. Its
advantages compared to DETMRPT are that it
can do spin-orbit MRPT, and find the weight
of the MCQDPT zeroth order state.
CISTEP can be ALDET or GUGA, your choice.
See $MCQDPT for related input.
(default for RUNTYP=TRANSITN)
(default for DIABAT=.TRUE. in $MCSCF)
= GMCPT requests a determinant based program that
can use non-CAS type reference functions,
including ORMAS or user defined lists.
See $GMCPT for related input and more info.
Both the DETMRPT and MCQDPT programs produce numerically
identical results, if you select a tight value of
THRGEN=1D-12 for the latter program (in some cases you may
also need to tighten their CI convergence criteria). Eight
or more decimal place energy agreement between the two
codes has been observed, when being careful about these
cutoffs. This is true whether the codes are running in
single state mode, which the literature calls MRMP, or in
multi-state mode, which the literature calls MCQDPT.
Generally speaking, the determinant code uses direct CI
technology to avoid disk I/O, and is much faster when used
with larger active spaces (particularly above 12 active
orbitals). The determinant code uses essentially no disk
space beyond that required by the MCSCF itself. The
determinant code uses native integral transformation codes,
including the distributed memory parallel transformation.
However, the determinant code is perhaps a bit slower when
there is a small active space and very many filled valence
orbitals included in the PT. Both codes exploit
distributed memory parallelization (MEMDDI).
The determinant program lacks complete control of orbital
canonicalization. Be careful to read in only canonicalized
core, active, and virtual MOs if you pick RDVECS=.TRUE.
with this program.
RDVECS = a flag controlling whether the orbitals should be
MCSCF optimized in this run. A value of .TRUE.
means that your converged MCSCF orbitals are being
given in $VEC, and the program will branch to the
perturbation treatement. (default=.FALSE.)
notes:
If you select RDVECS, and are not doing spin-orbit coupling
with the CSF program, $GUESS method GUESS=MOREAD is used to
process the orbitals. Its options such as NORB and PURIFY
will apply to reading the $VEC input, and as always, MOREAD
in $GUESS will orthogonalize.
If you are using the CSF program for spin-orbit coupling,
$GUESS is ignored, and the $VEC or $VECn group must contain
all virtuals. The orbitals will not be reorthogonalized
unless you select the MODVEC option.
In either case, if your orbitals are not orthogonal, you
are better off repeating MCSCF with RDVECS=.FALSE.!
MODVEC = 0 skip orthogonalization (default)
= 1 do orthogonalization in the SO-MCQDPT program.
96 lines are written.
Edited by Shiro KOSEKI on Tue May 17 15:19:38 2022.