$RICC group
(optional, for SCFTYP=RHF and CCTYP=CCSD/CCSD(T) in $CONTRL
and essential if CCERI=RI in $CCINP)
This group controls the calculation of ground state
energies for closed-shell molecules (SCFTYP=RHF) using the
coupled-cluster method within the singles and doubles (CCSD)
truncation scheme or CCSD augmented with an approximate
triples correction: CCSD(T). These calculations run in parellel
using a hybrid MPI/OpenMP parallelization model and employ
the resolution-of-the-identity (RI) approximation for two-
electron repulsion integrals (2ERIs).
The following three paremeters are related to the definition
of the auxiliary basis set to be used for the RI approximation
to 2ERIs.
IAUXBF = 0 uses Cartesian Gaussians
= 1 uses spherical harmonics
for the auxiliary basis set. The default is
inherited from ISPHER.
CABNAM specifies built-in auxiliary basis sets:
= SVP Ahlrich's SVP basis, available H-Kr
= TZVP Ahlrich's TZVP basis, available H-Ar
= TZVPP Ahlrich's TZVPP basis, available H-Ar
= CCD cc-pVDZ basis, available H-Ar
= ACCD aug-cc-pVDZ basis, available H-Ar
= CCT cc-pVTZ basis, available H-Ar
= ACCT aug-cc-pVTZ basis, available H-Ar
= XXXXX externally defined: see EXTCAB.
CABNAM has no default, this is a required input!
EXTCAB = flag to read the basis from an external file.
(default is .FALSE.)
This is analogous to EXTBAS in $BASIS: no external files
are provided with GAMESS. The value for CABNAM=XXXX must
be 8 or fewer letters: avoid the name of any built in
auxiliary basis. Your XXXX bases will be read from a file
defined by environment variable EXTCAB, in the execution
script. Every atom present in your molecule must be
defined in the external file by a line giving its chemical
symbol and then XXXX. Following this header, give the basis
in free format $DATA style, containing only S, P, D, F, and
G shells, terminating each atom by the usual blank line.
*** Please note that the current RI integral evaluation
module in GAMESS can only deal with up to G shells.
Therefore, remember to discard basis functions with
higher angular momenta if they are present in your
external auxiliary basis.
*** The auxiliary basis sets optimized for RIMP2 calculations
(extension -RI) introduce smaller errors to the RI-CCSD
or RI-CCSD(T) energies compared to the RI-JK basis sets.
*** The common practice is to use the same class of auxiliary
basis set as the AO basis set, e.g., cc-pVDZ (AO) and
cc-pVDZ-RI (i.e., GBASIS=CCD in $BASIS and CABNAM=CCD in
$RICC). Please note that the chosen auxiliary basis set
controls the accuracy of the RI approximation. If a higher
accuracy is desired, we recommend using a larger auxiliary
basis set, e.g., if GBASIS=CCD in $BASIS, then CABNAM in
$RICC may be set to CCT or ACCT. Importantly, increasing
the size of the auxiliary basis set only marginally increases
the computational cost of CC calculations, as long as the
AO basis remains the same.
The following five paremeters are related to the evaluation and
storage of the three-center RI integrals.
OTHAUX = flag to orthogonalize the auxiliary basis set by
diagonalization of the overlap matrix. If there
is reason to suspect linear dependence may exist
in the auxiliary basis, set OTHAUX to .TRUE. to have
a more numerically stable result. Larger auxiliary
basis sets such as CCT and ACCT, in particular, may
benefit from selecting this. Since the CCn/ACCn
auxiliary basis sets are very commonly used for
coupled-cluster calculations, and they often entail
linear dependence, the default is set to .TRUE.
STOL = threshold at which to remove small overlap matrix
eigenvectors, ignored if OTHAUX=.FALSE. This
keyword is analogous to QMTTOL in $CONTRL for the
true AO basis. (default= 1.0d-6)
IVMTD = selects the procedure for removing redundancies
when inverting the two-center, two-e- matrix.
= 0 use Cholesky decomposition (default)
= 2 use diagonalization
VTOL = threshold at which to remove redundancies. This
is ignored unless IVMTD=2 (default= 1.0d-6)
USEDM3 = flag to control the storage of the three-center RI
integrals in distributed memory or in the shared
memory of each MPI/DDI process.
= .FALSE. if stored in the shared memory of each MPI/
DDI process (default).
= .TRUE. if stored in distributed memory. For this
choice, the MEMDDI parameter in $SYSTEM is a
mandatory input.
The three-center RI integrals do not consume a lot of memory
and do not present the true memory bottleneck for RI-CC calculations.
This makes their storage in the shared memory of each MPI/DDI
process feasible. This is also a good choice, as this reduces
communication between the MPI/DDI processes. Hence, the default
value of USEDM3 is set to .FALSE.
For large molecules, however, choosing USEDM3=.TRUE. might be a
good option for making calculations feasible. For example,
if the shared memory requirement per MPI/DDI processor is nearly
equal to the available memory on a single node of your computer
cluster, choosing USEDM3=.TRUE. would reduce the shared memory
need per MPI/DDI process to some extent. Note that this helps
only a little and not a lot, since the real memory bottleneck
of RI-CC calculations do not come from the three-center RI
integrals.
The following paremeter is related to the choice of an algorithm
for RI-CCSD iterations.
USEDM4 = flag to control whether or not to temporarily store
blocks of preassembled four-center 2ERIs in the shared
memory of the MPI/DDI proccesses during CCSD iterations.
= .TRUE., needs larger memory per MPI/DDI process but the
algorithm is faster (default).
= .FALSE. a memory-economic algorithm but takes a longer
wall time/CCSD iteration. This algorithm completely avoids
the storage of four-center 2ERIs and assembles them from
the 3-center RI integrals on the fly.
Choosing USEDM4=.FALSE. is useful if the computational resources
are limited, e.g., for computer clusters with a small number
of compute nodes. In this case, selecting USEDM4=.FALSE. would
allow you to perform your desired calculation at the expense of
some additional wall time.
*** We strongly recommend running an EXETYP=CHECK job always
prior to submitting a real RI-CC calculation. This provides
a detailed information on the memory requirements for the
various options described above and a guideline to set
the parameters MWORDS and MEMDDI in the $SYSTEM input group.
The RI-CC program is OpenMP threaded. Hence, to use this program
you must build GAMESS with GMS_OPENMP set to true in the following
files:
- $GMS_DIR/install.info
- $GMS_DIR/Makefile
154 lines are written.
Edited by Shiro KOSEKI on Tue May 17 15:19:38 2022.