I wanted to use custom functionals with Gaussian and came up with some interesting definitions of the B3LYP functional within Gaussian, Orca and Turbomole, ...

$$\small\begin{array}{lcccccc} \hline & \text{Gaussian} & \text{ORCA} & \text{Turbomole} & \text{NWChem} & \text{Molpro} & \text{GAMESS(US)}\\ \hline \text{HF} & 0.2 & 0.2 & 0.2 & 0.2 & 0.2 & 0.2\\ \text{Slater} & 0.8 & 0.8 & 0.8 & 0.8 & \color{red}{0.08} & 0.8\\ \text{Becke} & 0.72 & 0.72 & 0.72 & 0.72 & 0.72 & 0.72\\ \text{VWN-x} & {\color{red}1} & {\color{red}{1}} & 0.19 & 0.19 & 0.19 & 0.19\\ \text{LYP} & 0.81 & 0.81 & 0.81 & 0.81 & 0.81 & 0.81\\ \hline \end{array}$$

It seems to be clear, that all programs define it somehow similar, but there are also some points that made me curious about the definitions. Let's start with the overall structure of this functional:

$$\text{XC-Functional}=a E_x^\text{local}+(1-a)E_x^\text{HF}+b E_x^\text{non-local}+c E_c^\text{non-local}+(1-c) E_c^\text{local}$$

The Gaussian documentation for DFT inputs specifies how one could change the amounts of each "sub-functional" by using the IOp-Statements through:

IOp(3/76=mmmmmnnnnn) IOp(3/77=mmmmmnnnnn) IOp(3/78=mmmmmnnnnn)

Where mmmmm and nnnnn will get divided by 10000 and 3/76=$P_1P_2$, 3/77=$P_3P_4$ and 3/88=$P_5P_6$. Those $P_{1,..,6}$ values are part of the following equation, which is a modified version of the equation above.

$$\text{XC-Functional}=P_2 E_X^\text{HF} + P_1 \left(P_4 E_X^\text{Slater} + P_3\Delta E_x^\text{non-local}\right) + P_6 E_C^\text{local} + P_5 \Delta E_C^\text{non-local}$$

Combining both, this yields: $P_1 = \{1,0\}$, $P_2 = 1-a$, $P_3 = b$, $P_4 = a$, $P_5 = c$ and $P_6 = 1-c$.

Now looking at Gaussian and ORCA, they both use 100% VWN and 81% of LYP, which should actually be combined to give 100% (instead of 181%) as is done by all other mentioned programs through using 19% VWN and 81% LYP.

It seems, that I am lacking some important information to understand that definitions in both, Gaussian and ORCA, and I hope seriously, that someone can enlighten me.

PS My discussion with Martin came up with the possibility, namely that there might be some missing brackets in the second equation, giving the following:

$$\text{XC-Functional}=P_2 E_X^\text{HF} + P_1 \left(P_4 E_X^\text{Slater} + P_3\Delta E_x^\text{non-local}\right) + P_6 \mathbf{{\color{red}(}}(1-P_5)E_C^\text{local} + P_5 \Delta E_C^\text{non-local}\mathbf{{\color{red})}}$$

Appendix: Information from the program output or the documentary

  • Gaussian 09 Rev. A.02 output

    IExCor=  402 DFT=T Ex=B+HF Corr=LYP ExCW=0 ScaHFX=  0.200000
    ScaDFX=  0.800000  0.720000  1.000000  0.810000
  • ORCA 3.0.3 output

    Fraction HF Exchange ScalHFX         ....  0.200000
    Scaling of DF-GGA-X  ScalDFX         ....  0.720000
    Scaling of DF-GGA-C  ScalDFC         ....  0.810000
    Scaling of DF-LDA-C  ScalLDAC        ....  1.000000
    Perturbative correction              ....  0.000000
    NL short-range parameter             ....  4.800000
  • Turbomole 7 define

     b3-lyp          | HYB  | 0.8S+0.72B88   | 0.19VWN(V)     | 1-3,5,6,10
                     |      | +0.2HF         | +0.81LYP       |
     b3-lyp_Gaussian | HYB  | 0.8S+0.72B88   | 0.19VWN(III)   | 1-3,5,6,10
                     |      | +0.2HF         | +0.81LYP       |
  • NWChem
  • Molpro

    B3LYP   EXACT:B88:DIRAC:LYP:VWN5    0.2:0.72:0.08:0.81:0.19

    the 0.08 is probably a typo

  • $\begingroup$ ORCA can perform both B3LYP and B3LYP/G, the first corresponding to the TurboMole implementation and the second corresponding to the Gaussian implementation. $\endgroup$ – Jonathon Oct 21 '15 at 15:07
  • $\begingroup$ @Jonathon In ORCA B3LYP vs B3LYP/G only changes the VWN from VWN-5 to VWN-3 and does not change sth about the amount of VWN, like what you can see from my appended Turbomole information. $\endgroup$ – pH13 - Yet another Philipp Oct 21 '15 at 15:20
  • $\begingroup$ I just checked the outputs and it looks like you are right, I guess the manual is wrong then. I will file a bug report for them to fix the wording. $\endgroup$ – Jonathon Oct 21 '15 at 15:25
  • $\begingroup$ Q-Chem has both B3LYP (corresponding to Gaussian) and B3LYP5, as noted in the Q-Chem manual $\endgroup$ – Geoff Hutchison Dec 25 '16 at 13:49
  • 1
    $\begingroup$ It's one of the real annoyances of B3LYP as a functional... $\endgroup$ – Geoff Hutchison Dec 25 '16 at 13:49

As a former contributor to Orca who had access to Turbomole sources before that, I can say with confidence that the internal definitions of B3LYP and B3LYP_gaussian are consistent among them and Gaussian (where available). So no calculations should go wrong.

While I cannot speak for Gaussian, for Orca I am certain that the ScalLDAC parameter is badly printed here (and not relevant for many of the newer functionals).

As to what you identified as a typo in Molpro -- It may be that B88 was shoe-horned into the more mainstream definition of GGAs, which can be loosely worded as "a multiplicative correction to the LDA energy" (the energy density, actually). Becke, on the other hand, described the B88 functional originally as an additive correction ($\Delta E$). NWChem makes the distinction explicit in the keyword nonlocal, see the manual section on exchange-correlation potentials. So for Molpro, the exchange accounting should read: $0.2+0.72+0.08=1$, whereas the others use: $0.2+0.8=1$ and keep the $0.72$ implicit.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.