Q-Chem 4.3 User’s Manual

5.3 Exact MP2 Methods

5.3.1 Algorithm

Second order Møller-Plesset theory (MP2) [128] probably the simplest useful wavefunction-based electron correlation method. Revived in the mid-1970s, it remains highly popular today, because it offers systematic improvement in optimized geometries and other molecular properties relative to Hartree-Fock (HF) theory [8]. Indeed, in a recent comparative study of small closed-shell molecules [231], MP2 outperformed much more expensive singles and doubles coupled-cluster theory for such properties! Relative to state-of-the-art Kohn-Sham density functional theory (DFT) methods, which are the most economical methods to account for electron correlation effects, MP2 has the advantage of properly incorporating long-range dispersion forces. The principal weaknesses of MP2 theory are for open shell systems, and other cases where the HF determinant is a poor starting point.

Q-Chem contains an efficient conventional semi-direct method to evaluate the MP2 energy and gradient [232]. These methods require $OVN$ memory ($O$, $V$, $N$ are the numbers of occupied, virtual and total orbitals, respectively), and disk space which is bounded from above by $OVN^{2}/2$. The latter can be reduced to $IVN^2/2$ by treating the occupied orbitals in batches of size $I$, and re-evaluating the two-electron integrals $O/I$ times. This approach is tractable on modern workstations for energy and gradient calculations of at least 500 basis functions or so, or molecules of between 15 and 30 first row atoms, depending on the basis set size. The computational cost increases between the 3rd and 5th power of the size of the molecule, depending on which part of the calculation is time-dominant.

The algorithm and implementation in Q-Chem is improved over earlier methods [233, 234], particularly in the following areas:

The implementation offers the user the following alternatives:

The semi-direct algorithm is the only choice for gradient calculations. It is also normally the most efficient choice for energy calculations. There are two classes of exceptions:

There are three important options that should be wisely chosen by the user in order to exploit the full efficiency of Q-Chem’s direct and semi-direct MP2 methods (as discussed above, the LOCAL_OCCUPIED method has different requirements).

5.3.2 The Definition of Core Electron

The number of core electrons in an atom is relatively well defined, and consists of certain atomic shells, (note that ECPs are available in ‘small-core’ and ‘large-core’ varieties, see Chapter 8 for further details). For example, in phosphorus the core consists of 1$s$, 2$s$, and 2$p$ shells, for a total of ten electrons. In molecular systems, the core electrons are usually chosen as those occupying the $n/2$ lowest energy orbitals, where $n$ is the number of core electrons in the constituent atoms. In some cases, particularly in the lower parts of the periodic table, this definition is inappropriate and can lead to significant errors in the correlation energy. Vitaly Rassolov has implemented an alternative definition of core electrons within Q-Chem which is based on a Mulliken population analysis, and which addresses this problem [235].

The current implementation is restricted to n-kl type basis sets such as 3-21 or 6-31, and related bases such as 6-31+G(d). There are essentially two cases to consider, the outermost 6G functions (or 3G in the case of the 3-21G basis set) for Na, Mg, K and Ca, and the 3d functions for the elements Ga—Kr. Whether or not these are treated as core or valence is determined by the CORE_CHARACTER $rem, as summarized in Table 5.3.2.

CORE_CHARACTER

Outermost 6G (3G)

3d (Ga–Kr)

 

for Na, Mg, K, Ca

 

1

valence

valence

2

valence

core

3

core

core

4

core

valence

Table 5.1: A summary of the effects of different core definitions

5.3.3 Algorithm Control and Customization

The direct and semi-direct integral transformation algorithms used by Q-Chem (e.g., MP2, CIS(D)) are limited by available disk space, $D$, and memory, $C$, the number of basis functions, $N$, the number of virtual orbitals, $V$ and the number of occupied orbitals, $O$, as discussed above. The generic description of the key $rem variables are:

MEM_STATIC

Sets the memory for Fortran AO integral calculation and transformation modules.


TYPE:

INTEGER


DEFAULT:

64

corresponding to 64 Mb.


OPTIONS:

$n$

User-defined number of megabytes.


RECOMMENDATION:

For direct and semi-direct MP2 calculations, this must exceed OVN + requirements for AO integral evaluation (32–160 Mb), as discussed above.


MEM_TOTAL

Sets the total memory available to Q-Chem, in megabytes.


TYPE:

INTEGER


DEFAULT:

2000

(2 Gb)


OPTIONS:

$n$

User-defined number of megabytes.


RECOMMENDATION:

Use default, or set to the physical memory of your machine. Note that if more than 1GB is specified for a CCMAN job, the memory is allocated as follows

12%

MEM_STATIC

50%

CC_MEMORY

35%

Other memory requirements:


AO2MO_DISK

Sets the amount of disk space (in megabytes) available for MP2 calculations.


TYPE:

INTEGER


DEFAULT:

2000

Corresponding to 2000 Mb.


OPTIONS:

$n$

User-defined number of megabytes.


RECOMMENDATION:

Should be set as large as possible, discussed in Section 5.3.1.


CD_ALGORITHM

Determines the algorithm for MP2 integral transformations.


TYPE:

STRING


DEFAULT:

Program determined.


OPTIONS:

DIRECT

Uses fully direct algorithm (energies only).

SEMI_DIRECT

Uses disk-based semi-direct algorithm.

LOCAL_OCCUPIED

Alternative energy algorithm (see 5.3.1).


RECOMMENDATION:

Semi-direct is usually most efficient, and will normally be chosen by default.


N_FROZEN_CORE

Sets the number of frozen core orbitals in a post-Hartree–Fock calculation.


TYPE:

INTEGER


DEFAULT:

0


OPTIONS:

FC

Frozen Core approximation (all core orbitals frozen).

$n$

Freeze $n$ core orbitals.


RECOMMENDATION:

While the default is not to freeze orbitals, MP2 calculations are more efficient with frozen core orbitals. Use FC if possible.


N_FROZEN_VIRTUAL

Sets the number of frozen virtual orbitals in a post-Hartree–Fock calculation.


TYPE:

INTEGER


DEFAULT:

0


OPTIONS:

$n$

Freeze $n$ virtual orbitals.


RECOMMENDATION:

None


CORE_CHARACTER

Selects how the core orbitals are determined in the frozen-core approximation.


TYPE:

INTEGER


DEFAULT:

0


OPTIONS:

0

Use energy-based definition.

1-4

Use Mulliken-based definition (see Table 5.3.2 for details).


RECOMMENDATION:

Use default, unless performing calculations on molecules with heavy elements.


PRINT_CORE_CHARACTER

Determines the print level for the CORE_CHARACTER option.


TYPE:

INTEGER


DEFAULT:

0


OPTIONS:

0

No additional output is printed.

1

Prints core characters of occupied MOs.

2

Print level 1, plus prints the core character of AOs.


RECOMMENDATION:

Use default, unless you are uncertain about what the core character is.


5.3.4 Example

Example 5.77  Example of an MP2/6-31G* calculation employing the frozen core approximation. Note that the EXCHANGE $rem variable will default to HF

$molecule
   0 1
   O
   H1  O  oh
   H2  O  oh  H1  hoh

   oh  = 1.01
   hoh = 105
$end

$rem
   METHOD          mp2
   BASIS           6-31g*
   N_FROZEN_CORE   fc
$end