The MP2D method is a version of MP2 with a dispersion correction that replaces the "bad" (uncoupled Hartree-Fock) dispersion present in MP2 with a "good" (coupled Kohn-Sham) one. The concept is similar to the MP2C method where these terms are explicitly calculated, but it is formulated as an empirical correction using precalculated atomic C6 coefficients so its computational cost is negligible. More details can be found in the recently published paper.[Řezáč, Chandler and Beran, JCTC 2018]
While MP2C is applicable only to intermolecular interaction energies, MP2D can be applied also to intramolecular cases. It has been shown to improve not only properties directly related to non-covalent interactions such as conformerenergies, but also thermochemistry. The availability of analytical gradients make it useful also for geometry optimizations.
Cuby was used as a platform for the reference implementation of MP2D. The correction can be added to any MP2 calculation performed in a software interfaced by Cuby. The current implementation is not completely straightforward to use, but we provide working examples below.
The UCHF C6 coefficients are distributed as a part of Cuby. They are available for the following elements: H, B, C, N, O, F, Ne, P, S, Cl, Ar, Br.
The following input file calculates MP2D/CBS interaction energy in ethene dimer (geometry from the A24 data set).
job: interaction
geometry: A24:14
# MP2/CBS calculation
interface: extrapolate_cbs
extrapolate_cbs_correction: no
calculation_common:
interface: psi4
method: mp2
charge: 0
calculation_mp2_small:
basisset: aug-cc-pVTZ
basisset_zeta: 3
calculation_mp2_large:
basisset: aug-cc-pVQZ
basisset_zeta: 4
# The MP2D correction:
# The mixer interface is used to remove the UCHF and add the CKS dispersion
modifiers: mixer
modifier_mixer:
mixer_weight_a: 1.0
mixer_weight_b: -1.0
calculation_common:
interface: dispersion3
d3_s6: 1.0
d3_damping: tt
d3_hybridization: grimme_mod
d3_3body: false
development:
d3_double_damping4: yes
d3_double_damping_r: 0.72
d3_double_damping_w: 0.20
d3_s8: 1.187
calculation_a: # CKS
d3_a1: 0.944
d3_a2: 0.480
calculation_b: # UCHF
d3_data_patch: mp2d_uchf_c6.yaml
d3_a1: 0.944
d3_a2: 0.480
job: optimize
geometry: A24:14
interface: psi4
method: mp2
# Rather small basis is used to make the example run faster, for high-quality
# results, it is recommended to use larger basis.
basisset: cc-pVTZ
# The MP2D correction
modifiers: mixer
modifier_mixer:
mixer_weight_a: 1.0
mixer_weight_b: -1.0
calculation_common:
interface: dispersion3
d3_s6: 1.0
d3_damping: tt
# Analytical gradient of the continuous valence is not implemented,
# using fixed integer valence introduces no appreciable error:
d3_hybridization: fixed
d3_3body: false
development:
d3_double_damping4: yes
d3_double_damping_r: 0.72
d3_double_damping_w: 0.20
d3_s8: 1.187
calculation_a: # CKS
d3_a1: 0.944
d3_a2: 0.480
calculation_b: # UCHF
d3_data_patch: mp2d_uchf_c6.yaml
d3_a1: 0.944
d3_a2: 0.480