top of page
How to run the revDSD-PBEP86-D3BJ double hybrid functional

 

This newly reparametrized version was fitted against the very large and diverse GMTKN55 benchmark of Goerigk, Grimme, and coworkers. Details are given in Paper 287; it is clearly superior in performance to the original functional (which, for want of computational resources, was fit against about 1/10th the sample size) and in fact, its accuracy approaches composite wavefunction methods like G4 theory. 

 

Sample inputs for revDSD-PBEP86-D3BJ:

Gaussian 16

$rungauss

%mem=8GB

%nproc=8

#p dsdpbep86/def2TZVPP iop(3/125=0079905785,3/78=0429604296,3/76=0310006900,3/74=1004)

# empiricaldispersion=gd3bj iop(3/174=0437700,3/175=-1,3/176=0,3/177=-1,3/178=5500000)

 

0 1

C 0.000000 0.000000 0.000000

O 0.000000 0.000000 1.131400

 

Orca 4 and later

This Gaussian version includes an implementation of Grimme's DFT-D3 empirical dispersion correction. Unfortunately,

custom parameters for it cannot be set via the command line or IOps: instead, the parameters can be set via environment variables. For example, if your command shell is csh or tcsh, then the prologue should execute the following commands:

!PAL8

%MaxCore 2500

 

! RKS def2-TZVPP def2-tzvpp/c def2/j tightscf rijcosx GRID6 GRIDX9 NoPOP d3bj

 

%method

Exchange X_PBE

Correlation C_P86

 ScalHFX 0.69

 ScalDFX 0.31

 ScalGGAC 0.4296

 ScalLDAC 0.4296

 ScalMP2C 1.0

  D3S6 0.4377

  D3A2 5.5

  D3S8 0.0

  D3A1 0.0

end

 

%mp2

 DoSCS true

  PS 0.5785

  PT 0.0799

end

 

*xyz 0 1

C 0.000000 0.000000 0.000000

O 0.000000 0.000000 1.131400

*

Q-CHEM 5.1 and later

 

$comment

revDSD-PBEP86-D3BJ with frozen cores

$end

 

$rem

SYMMETRY              false

BASIS              def2-TZVPP

exchange             GEN

correlation          rimp2

DH                   TRUE

SSS_FACTOR           079900

SOS_FACTOR           578500

DFT_D                D3_BJ

DFT_D3_S6            43770

DFT_D3_S8            0

DFT_D3_A2           550000

DFT_D3_A1            0

XC_GRID               3

ECP                  def2-ECP

N_FROZEN_CORE        FC

AUX_BASIS_CORR       rimp2-def2-TZVPPD

MAX_SCF_CYCLES        1000

SCF_CONVERGENCE       7

THRESH              12

MEM_STATIC            2000

SET_ITER              100

MOLDEN_FORMAT         false

PRINT_ORBITALS        10

SCF_FINAL_PRINT       1

$end

 

$xc_functional

C P86  1

X HF  0.6900

X PBE 0.3100

$end

 

$molecule

0 1

C 0.000000 0.000000 0.000000

O 0.000000 0.000000 1.131400

$end

MOLPRO, late patch levels of 2015 and more recent versions

 

The following ought to work:

 

gthresh,energy=1d-10

geomtyp=xyz

geom={

    2

carbon monoxide

c 0.0 0.0 0.0

o 0.0 0.0 1.1314

}

basis,avtz

{ks,pbex,p86;dh,0.69,0.5704;} 

mp2,scsfacs=0.5785/0.5704,scsfact=0.0799/0.5704;

dispcorr3,version=4,s6=0.4377,rs6=0.0000,s18=0.0000,rs18=5.5

show,emp2_scs,edisp

energy=emp2_scs+edisp

---

MRCC (recent versions)

 

The following ought to work:

basis=def2-TZVPP

symm=0

mem=14GB

ecp=auto

agrid=LD0110-LD0590

grtol=12

verbosity=3

calc=scf

dft=user

5

0.3100 PBEx

0.4296 P86

0.6900 HFx

0.5785 MP2s

0.0799 MP2t

edisp=-bj

charge= 0

mult= 1

geom=xyz

   2

Charge is  0  Multiplicity is  1

C 0.000000 0.000000 0.000000

O 0.000000 0.000000 1.131400

 

Use the following .dftd3par.$HOST file for adding the D3BJ correction:

0. 4377 0.0 0.0 5.5 14.0 4

s6   a1     s8   a2     alpha   4

#with s6=1.0 except for double hybrids

#and alpha is ignored except when 3-body terms enabled using -#abc (default then 14.0)


           

revDSD-PBEP86-D4

The above electronic structure codes can do everything except the final D4 correction, which can be computed using Grimme's DFTD4 external program. ORCA 5 has the latter built in, however:

ORCA (recent versions):

!PAL8

 

%MaxCore 2500

 

! RKS D4 def2-TZVPP def2-TZVPP/c def2/j tightscf DEFGRID3 NoPOP rijcosx

 

%method

   Exchange X_PBE

   Correlation C_P86

   ScalHFX 0.69

   ScalDFX 0.31

   ScalGGAC 0.4210

   ScalLDAC 0.4210

   ScalMP2C 1.0

   LDAOpt C_VWN5

   D3S6 0.5132

   D3S8 0.0

   D3A1 0.44

   D3A2 3.60

end

 

%mp2

   DoSCS true

   PS 0.5922

   PT 0.0636

end

 

 

*xyz 0 1

C 0.000000 0.000000 0.000000

O 0.000000 0.000000 1.131400

*

For additional variations, consult Paper 287 or its ESI, or contact us.

MOLPRO 2022 or later (now also works for open shell):

gthresh,energy=1d-10

geomtyp=xyz

geom={

    2

carbon monoxide

c 0.0 0.0 0.0

o 0.0 0.0 1.1314

}

basis,avtz

cDFTc=0.4210
cXHF=0.69
c2ab=0.5922
c2ss=0.0636

{DF-ks,pbex,p86,gridthr=1d-6,gridthr=3d-7;dh,cXHF,1.00-cDFTc}
EKS=ENERGY;
DF-mp2,scsfacs=c2ab/(1.00-cDFTc),scsfact=c2ss/(1.00-cDFTc)
PT2=(EMP2_SCS - ENERGR)*(1.00-cDFTc)
!For normal MP2-F12, we need not to multiply SCSMP2DZ with 0.5790
TOTAL_ENERGY=EKS+PT2

 

MOLPRO 2022.3, 2023, or later (note ksfock keyword now required for KS->MP2):

gthresh,energy=1d-10

geomtyp=xyz

geom={

    2

carbon monoxide

c 0.0 0.0 0.0

o 0.0 0.0 1.1314

}

basis,avtz

cDFTc=0.4210
cXHF=0.69
c2ab=0.5922
c2ss=0.0636

{DF-ks,pbex,p86,gridthr=1d-6,gridthr=3d-7;dh,cXHF,1.00-cDFTc}
EKS=ENERGY;
DF-mp2,
ksfock,scsfacs=c2ab/(1.00-cDFTc),scsfact=c2ss/(1.00-cDFTc)
PT2=(EMP2_SCS - ENERGR)*(1.00-cDFTc)
!For normal MP2-F12, we need not to multiply SCSMP2DZ with 0.5790
TOTAL_ENERGY=EKS+PT2

bottom of page