12.3. The Configuration Interaction Module on top of pCCD
If you use this module, please cite [nowak2023].
12.3.1. Summary of keyword arguments
The RpCCDCID
and RpCCDCISD
modules support various keyword
arguments that allow the user to steer the process of
the RCID/RCISD Hamiltonian diagonalization. In the following, all supported keyword
arguments are listed together with their default values. Please note that
the default values should be sufficient to reach convergence in simple systems.
- nroot:
(int) the number of states (default: 1; ground state for RCID/RCISD)
- nguessv:
(int) total number of guess vectors (default: (nroot-1)*4+1)
- tolerance:
(float) tolerance for energies (default: 1e-6)
- tolerancev:
(float) tolerance for eigenvectors (default: 1e-5)
- maxiter:
(int) maximum number of iterations (default: 200).
- threshold:
(float) printing tolerance for contributions of RCI wave function (default: 0.1).
- maxvectors:
(int) the maximum number of Davidson vectors (default: nroot*10)
- scc:
(boolean) determines whether a size-consistency correction is to be calculated (default: True)
- threshold_c_0:
a threshold that helps to verify the accuracy of Davidson-type corrections
12.3.2. Spin-free representation of the Slater Determinants
The current implementations of CI corrections on top of pCCD do only support a spin-free representation. That is, all equations are spin-summed and written in terms of singlet excitation operators. The resulting corrected (ground and excited state) wave functions are thus pure singlet states. In contrast to the CI code on top of an RHF reference function, no Configuration State Function or conventional Slater determinants (SD) are used. Below, we illustrate the exact relations between a spin-free and spin-dependent representation for singly- and doubly-excited configurations. To distinguish between both representations, the spin-free SD will be denoted with capital letters, while small letters are used for spin-dependent SDs.
The relation for single excitations is as follows
while the relation for double excitations is more complicated and can be expressed using singlet excitation operators
The corresponding CI-type wave function has the following form
Note
By default, electron-pair excitations are excluded. Thus, the second sum in the above equations does not consider electron-pair excitations and thus excludes terms with \(I=J\) and \(A=B\).
12.3.3. Frozen core RpCCDCI
By default, all (occupied and virtual) orbitals are active.
To freeze some (occupied) orbitals, the number of frozen core orbitals has to be specified during
the initialization of some occupation module class.
The code snippet below shows how to freeze the first (occupied) orbital in a
RpCCDCID
and RpCCDCISD
calculation by specifying the ncore
argument during the initialization of
the chosen occupation model
# Select one frozen core orbital
#-------------------------------
occ_model = AufbauOccModel(gobasis, ncore=1)
# Perform CI calculation, ncore is stored in occ_model
#-----------------------------------------------------
rcid = RpCCDCID(lf, occ_model)
rcid_out = rcid(kin, ne, er, pccd_out)
rcisd = RpCCDCISD(lf, occ_model)
rcisd_out = rcisd(kin, ne, er, pccd_out)
12.3.4. Size-consistency Corrections
Similar to the RHF-CI module, you can calculate Davidson-type corrections for the ground state. The same variants of Davidson-type corrections are supported as for the RCI module on top of an RHF reference function (see also Size-consistency Corrections).
Note
The size-consistency corrections are calculated directly by setting the scc
keyword argument to True (see also Summary of keyword arguments).
By default, all size-consistency corrections are calculated.