CCL:G: Defining Becke's Half and Half hybrid functional
- From: "Gary Breton" <gbreton],[berry.edu>
- Subject: CCL:G: Defining Becke's Half and Half hybrid
functional
- Date: Wed, 2 Jan 2013 11:14:48 -0500
Sent to CCL by: "Gary Breton" [gbreton^^berry.edu]
Hello everyone and Happy New Year.
I am conducting some studies on some relative simple charge transfer complexes
using DFT methods within Gaussian 98 and 03. Several recent publications (e.g.,
Steinmann, S. N.; Piemontesi, C.; Delachat, A.; Corminbeouf, C. J. Chem. Theory.
Comput. 2012, 8, 1629) suggest that Becke's so-called "half and half
functional" (Becke, A. D. J. Chem. Phys. 1993, 98 (2), 1372) are best
employed.
The Gaussian 98 and 03 manuals discuss some hybrid functionals (BHandH and
BHandHLPY) but the manual explicitly states that these are NOT the same as the
half-and-half functionals proposed by Becke (the manual references the paper
above).
On the following page:
http://www.cup.uni-muenchen.de/ch/compchem/energy/dft1.html
I found a clear descriptor of this "half-and-half" method which seems
pretty straightforward:
Becke-Half-and-Half-LYP (BHandHLYP) uses a 1:1 mixture of DFT and exact exchange
energies:
EXC = 0.5*EX(HF) + 0.5*EX(B88) + EC(LYP)
The same page describes the well-known B3LYP functional as:
Becke-3-LYP (B3LYP) uses a different mixing scheme involving three mixing
parameters:
EXC = 0.2*EX(HF) + 0.8*EX(LSDA) + 0.72*DEX(B88) + 0.81*EC(LYP) + 0.19*EC(VWN)
So it is easy to implement the B3LYP functional from within Gaussian since it is
already integrated into the Gaussian program. In order for me to use the
"half-and-half" model I need to generate a "user defined
model".
In the Gaussian 09 users manual, user defined models can be created according to
the following format (the process is pretty much the same as for the G03 and G98
programs but I could easily copy/paste from the G09 website):
P2EX[HF] + P1(P4EX[Slater] + P3Ex[non-local]) + P6EC[local] + P5EC[non-local]
the six parameters (P1-P6) may be defined using:
IOp(3/76=mmmmmnnnnn) sets P1 to mmmmm/10000 and P2 to nnnnn/10000. P1 is usually
set to either 1.0 or 0.0, depending on whether an exchange functional is desired
or not, and any scaling is accomplished using P3 and P4.
IOp(3/77=mmmmmnnnnn) sets P3 to mmmmm/10000 and P4 to nnnnn/10000
IOp(3/78=mmmmmnnnnn) sets P5 to mmmmm/10000 and P6 to nnnnn/10000
The manual provides an example for defining the B3LYP functional (see above for
reference to the parameter values):
#P BLYP IOp(3/76=1000002000) IOp(3/77=0720008000) IOp(3/78=0810010000)
Finally, now my two questions:
First, for B3LYP example provided in the manual why is the last IOp defined as
IOp(3/78=0810010000) and not IOp(3/78=0810001900)? Is this just a silly mistake
in the manual? (which I believe it is)
Secondly, if I wanted to implement Becke's half and half functional according to
the definition provided above , would the following be correct?
#P BLYP IOp(3/76=1000005000) IOp(3/77=0500000000) IOp(3/78=1000000000)
My test on G98 (with appropriate modifications since the IOp assignments are
different) was successful (i.e., went to completion). Unfortunately, I really
don't have any good tests to make sure I am defining things correctly and want
to double check with the much-more knowledgeable members of CCL to make sure I'm
not doing something incredibly stupid.
Thanks,
Gary Breton
Berry College