9.3 How to Prepare and Perform MP2 Calculations
Prerequisites
Calculations with mpgrad, ricc2 or pnoccsd require
a converged SCF calculation with the one-electron density convergence threshold set to
$denconv1.d-6or lessthe maximum core memory the program is allowed to allocate should be defined in the data group
$maxcor(in MB); the recommended value is ca. 3/4 of the available (physical) core memory at most.orbitals to be excluded from the correlation treatment have to be specified in the data group
$freezefor
mpgradthe calculation of gradients is omitted by adding the flag$mp2energyto thecontrolfile; in this case only the MP2 energy is calculated.
Calculations with ricc2 and pnoccsd moreover use
an auxiliary basis defined in the data groups
$atomsand$cbas. If not specified before the start ofricc2orpnoccsdthe programs will assign the default auxiliary basis sets which have the same names as the one-electron basis sets and will try to extract them from the TURBOMOLE basis set library. If this succeeds the assignment and auxiliary basis sets are stored in thecontrolfile else the programs will stop.
This is not needed for mpgrad, but here one needs
a specification for scratch files and their size in data group
$mointunit(see Section 25.2.22)and the number of passes for integral evaluations and transformations in data group
$traloop
For explicitly-correlated MP2-F12 calculations one needs—depending the details of the applied approximations—additionally a so-called complementary auxiliary basis set (CABS, defined in $cabs) and a RI-SCF auxiliary basis set defined in $jkbas.
Calculations with ricc2 and pnoccsd
RI-MP2 calculations require the specification of auxiliary basis sets (
$cbas) and a converged SCF calculation with the one-electron density convergence threshold set to$denconv1.d-6or less. In addition, the options$freeze(frozen core approximation) and$maxcor(maximum core memory usage) should be set. All these settings can be done during the input generation with the programdefineunder the entriesmp2/ccorpnoccof the last main menu.The
ricc2program requires the data group:
$ricc2
mp2
geoopt model=mp2
(Where the last line should only be included if the calculation of gradients is needed e.g. in geometry optimizations.) This can be prepared withdefinein the menucc.The
pnoccsdprogram does not require any special input for a MP2 calculation with default thresholds but it is recommended to specify the PNO truncation threshold explicitly in the data group:
$pnoccsd
mp2
tolpno= 1.0E-7
This can be prepared withdefinein the menupnocc.For explicitly-correlated MP2-F12 calculations with
ricc2orpnoccsdalso the data groups$rir12and$lcgare needed.Start a single
ricc2andpnoccsdcalculations respectively with the commandsricc2andpnoccsd.For optimisation of structure parameters at the RI-MP2 level with
ricc2use the commandjobex -level cc2. For geometry optimizations with RI-JK-SCF as reference for RI-MP2 with theridftandricc2binaries the additional option-rijkhas to be given.The combination of RI-MP2 with RI-JK-SCF can lead to significant computational savings in particular for geometry optimizations for small and medium sized molecules with large basis sets (quadruple-\(\zeta\) and beyond) or basis sets with diffuse functions (e.g. the aug-cc-pVXZ basis set families). For large molecules with TZVPP or similar basis sets, conventional direct SCF calculations are usually more efficient.
With
ricc2andpnoccsdspin-component scaled SCS- or SOS-RI-MP2 calculations can be carried out by adding in the$ricc2(forricc2) or$pnoccsd(forpnoccsddata group the linescs cos=1.2d0 css=0.3333d0where the two parameters are the scaling factors for, respectively, the opposite- and same-spin contribution. The specification of the scaling factors is optional; the default values are cos=6/5 and css=1/3 as recommended by S. Grimme in J. Chem. Phys. 118 (2003) 9095. The abbreviation
soscan be used for SOS-MP2 calculations with cos=1.3 and css=0.0 (Y., Jung, R.C. Lochan, A.D. Dutoi, and M. Head-Gordon, J. Chem. Phys. 121 (2004) 9793.). SOS-MP2 is inricc2implemented with \({\cal O}({\cal N}^4)\) scaling costs. For such calculations the data group$laplacehas to be added.For technical recommendations and additional options for parallel RI-MP2 and PNO-MP2 calculations with the
ricc2andpnoccsdprograms see Secs. 3.4 and 10.7 and 12.
MP2 calculations with a ROHF reference state
With the program ricc2 it is possible to compute MP2 (and spin-component scaled) MP2 energies with single-determinant restricted open-shell reference wavefunctions. No additional input is required apart from the usual ROHF input for the dscf and ridft programs and a standard MP2 input for ricc2.
TURBOMOLEs Hartree-Fock codes can handle within the ROHF framework many cases, which include beside common high- and low-spin configuration state functions also weighted averages of high-spin CSFs (see Sec. 6.4 for further details). The Møller-Plesset perturbation theory and coupled cluster functionalities implemented in ricc2 require a single-determinant reference state and can thus only deal with high-spin open-shell cases (not averaged):
The spins of all \(n_{open}\) unpaired electrons are parallel (\(\alpha\) spin will be assumed) so that the ROHF reference state has the spin multiplicity \(n_{open} +1\).
There must be only one type of open shells and all orbitals in this shell must have the occupation number 1.
For the single electron case (i.e. doublets) the Roothaan parameters are \(a=b=0\), for high-spin cases with more than one unpaired electron the Roothaan parameters must be set to \(a=1\) and \(b=2\).
For non-Abelian points groups this implies that shells with degenerate orbitals (as e.g. \(t_1\) in point group \(I\)) must be half-filled. An average over the different (symmetry-equivalent or inequivalent) high-spin determinants that are obtained when a shell of degenerate orbitals is less than or more than half-filled is not possible with single-point ricc2 calculations.
For states with less than or more than half-filled shells of degenerate orbitals the calculations half to be done in a point group that lifts the degeneracy such that it becomes possible to assign integer occupation numbers. A symmetry-breaking of the orbitals can be avoided by doing the Hartree-Fock calculation in the full point group. The input (and MO coefficients) can then be transformed to a lower point group using define only for the ricc2 calculation.
When using an ROHF reference, two definitions of the frozen core orbitals are possible: The frozen core orbitals can either be spin restricted, or spin unrestricted. In the first case the alpha and beta core orbitals are those on the mos file generated by the ROHF dscf calculation and are the same, but the Fock matrix elements between core and valence orbitals are non-zero. In the second case, the alpha and beta orbitals semi-canonicalised prior to selecting the frozen orbitals with lowest orbital eigenvalues. Here the frozen alpha and beta orbitals differ (slightly), but the core-valence Fock matrix elements are zero. Both options are available in ricc2 calculations by specified restricted res or (semi-)canonical can $ricc2
core res/can
Calculations with mpgrad
Add
$denconv1.d-6or less to thecontrolfile and perform adscfrun.If any orbitals are decided to be excluded from MP2 treatment, add data group
$freezemanually to thecontrolfile, see also Section 25.2.22.For preparation of an
mpgradrun use the scriptMp2prep:
mp2prep -e/g -mmemory-pdiscspace [scratch file directory]
As an example, with the command
mp2prep -e -m 100 -p 1000 /work
an MP2-energy calculation is prepared, the amount of available core memory is restricted to 100 MB, the MOs are blocked, so that integral scratch files—located in the directory /work—do not need more than 1000 Mb. The number of blocks, i.e. the number of passes with repeated integral evaluations, is written to thecontrolfile ($traloop) as well as the specification of scratch files ($mointunit, see Section 25.2.22). Note: less disc space means more passes and thus lower efficiency ofmpgrad, but due the technical limitations discspace should be limited to values \(<\) 16Gb to avoid integer overflow errors. Settings obtained bymp2prepmay be changed manually. You may change the number of passes in$traloopby editing thecontrolfile (e.g. if the originally intended disc space is not available). To adapt the size of scratch files add$statistics mpgradtocontrolfile and start anmpgradstatistics run with the commandmpgrad.Start a single
mpgradcalculation with the commandmpgrad.For optimisation of structure parameters at the (non-RI-) MP2 level use the command
jobex -level mp2. Note, that the frozen core approximation is ignored in this case.