The closed-shell density fitting CC2 program for ground and excited states

The CC2 method is an approximate CCSD (coupled-cluster singles and doubles) method which retains the same singles equation as the CCSD model, but in which the doubles amplitude equation is approximated to first order in the $T_2$ amplitudes only. This has the major advantage that then storage of quantities that scale as $N^4$ with the system size either on disk or in memory can be avoided by the aid of density fitting. A corresonding density fitting implementation of CC2 has been derived by Hättig and Weigend and has the advantage that ground and excited state energies and properties can be computed for systems much large in size than are possible with standard CCSD and beyond wave function methods. Note that a separate local CC2 program is also available in Molpro which further reduces the $N^5$ scaling of DF-CC2 to linear scaling with the aid of localisation of orbitals, see section Local methods for excited states.

Bibliography:

O. Christiansen, H. Koch, and P. Jørgensen, Chem. Phys. Lett. 243, 409 (1995)

Christof Hättig and Florian Weigend, J. Chem. Phys. 113, 5154 (2000)

Christof Hättig and Andreas Köhn J. Chem. Phys. 117 6939 (2002)

To compute ground-state correlation energies using the DF-CC2 program the df-cc2 command needs to be added after a Hartree-Fock calculation:

hf
df-cc2

This saves the total CC2 energy in the standard variable ENERGY as usual. By default, it uses the MP2Fit auxiliary basis set which matches the correponding orbital basis if available. It is also possible to set the MP2Fit basis set explicitly in the input file by using, e.g.

basis={
set,orbital
default,avdz
set,mp2fit
default,avdz/mp2fit
}

In the corresponding basis block. See section Density fitting for more info on how to choose the auxiliary basis set for more special cases (usually orbital basis sets other than Dunning type ones).

In order to calculate excitation energies using the DF-CC2 program the STATES option needs to be added to the DF-CC2 command with a list of the required (lowest) excitations of a given symmetry, like

df-cc2, states=[5.1,3.4,4.6]

which will calculate $5$ states in symmetry $1$, $3$ states in symmetry $4$ and $4$ states in symmetry $6$, as an example. Of course, the number of states and symmetries need to be consistent with the current global settings in Molpro regarding symmetry and basis set sizes. Excitation energies are saved in the 1-rank array variable OMEGA.

Transition moments can also be computed for each excited state by adding the TRAMOM option

df-cc2, states=[...],tramom=1

which will also automatically compute the (unrelaxed) ground state CC2 dipole moment. The latter can also be obtained using either the option DIPOLE$=1$ or DM$=\langle record\rangle.\langle file \rangle$ where the latter also saves the density matrix in a dump record with the corresponding name $\langle record\rangle.\langle file \rangle$. Both options DIPOLE or DM do not require the calculation of excited states, of course.

The transition dipole moments are saved in the variables TM_L_X, TM_L_Y and TM_L_Z for the left vector densities and TM_R_X, TM_R_Y and TM_R_Z for the corresponding right vector densities, respectively. The values are ordered according to the excitations computed consecutively. The corresponding transition quadrupole moments (not traceless!) are being saved in the variables TMQ_L_XX, TMQ_L_YY, etc.

The following list summarises further options which can be set in the DF-CC2 program in order to finetune the convergence thresholds, among other things. Note that some options are only being used in very specific parts of the program and so do not globally change anything unless the code branches out to those parts.

  • CC2_VERSION:CC2_VERS:VERSION switch between two different CC2 program versions 1 and 2 (default '1')
  • MAXIT maximum number of macroiterations in first iteration (default '40')
  • MAXMIC1:MAXMIC maximum number of microiterations in first iteration (default '5')
  • MAXMIC2 maximum number of microiterations after first iteration (default '3')
  • EXTRASTATE:ADDCCS Number of additional states in CCS (default '0')
  • MAXDIIS:MAXDIS Max number if DIIS vectors (default '10')
  • USE_GA If true, use GA (default '0')
  • USE_BUFFERS:USE_BUF If true, buffer 3-index integrals in memory (default '1')
  • USE_XTRANS:XTRANS If true, transpose X in 3-ext part (default '0')
  • MAXDAV Maximum number of Davidson vectors per state (default '6'
  • NOPAIR If true, omit doubles, i.e. CCS (default '0')
  • USE_DPOT If true, use Cholesky in Davdison (default '0')
  • DO_CCS If true, use CCS start for excited states (default '1')
  • THRDIIS:THRDIS Energy threshold for starting DIIS (default '1d-3')
  • FACMIC Factor of energy threshold between macroiterations (default '0.01d0')
  • STATES:STATE Requested states
  • START Start record
  • SAVE Save record
  • SHIFTS:SHIFT Denominator shift (default '0d0')
  • THRCCS Threshold for CCs guess (default '1d-3')
  • TRIPLET If true do triplet excitations (default '0')
  • TRIANG If true use triangularity in pair loop (default '1')
  • DO_LEFT Compute left eigenvectors if true (default '0')
  • DFMODE Switch for different density fitting modes (default '0').
  • DIIS_LEFT If true, start optimisation of left eigenvectors with DIIS, so skip Davidson (default '0')
  • TRAMOM Compute transituon moments if true (default '0')
  • DIPOL Compute dipole moments (default '0')
  • DM Save density matrix the the record specified (default '0.0')
  • XF_FX Changes how the x.F+F.x amplitude contribution is computed when symmetry is being used (default '1')
  • DEGTHR:THRDEG Threshold to test uncoupled degenerate states before excitation energy calculation (default '1d-5')