PC GAMESS DFT MODULE DOCUMENTATION.
I. Limitations. The present implementation does not support SMP mode.
Analytical energy and energy gradients (and hence numerical hessians)
are supported for both R-DFT and RO/U-DFT. Parallel mode is supported
both for DFT energy and gradients. The molecular symmetry is only partially
used during calculation of the DFT contributions to the Fock matrix, namely
the so-called octant symmetry is not used at present.
II. Compatibility. The grid-based DFT code in PC GAMESS is completely
different from that of GAMESS (US). This includes both implementation
and input specification. As to implementation details, in PC GAMESS,
angular integration is based on Lebedev quadratures, radial integration
is based on Mura-Knowles quadratures, while the partitioning function used
is the modification of SSF. The default implementation of B3LYP functional
differs from that of GAMESS (US) as well.
III. Performance. The main goal of the PC GAMESS DFT module is to allow
(hopefully fast) B3LYP type (and other implemented hybrid functionals)
calculations for medium and large-size molecules. Thus, the Resolution of
Identity / Coulomb fitting techniques are not implemented at present.
One might expect that other DFT programs that exploit these techniques
for pure DFT functionals (e.g., TURBOMOLE) will outperform PC GAMESS on that
kind of calculations. The RODFT energy/gradient code is routed through
the generic UDFT code, thus the RODFT performance is identical to that of UDFT.
This situation will be changed in the future by adding separate RODFT driver
routines, leading to speedup of approx. 15-20% for small and medium size
molecules.
IV. Scaling. For large molecules, the time for pure DFT part of calculations
depends approximately quadratically on the number of atoms in molecule.
Only in the worst cases of the very compact molecules this dependence can become
cubic. Thus, while for small molecular systems the pure DFT part of the
calculations is usually the time-limiting step, for large systems, the costs
of standard Coulomb (and possible exchange for hybrid functionals) contributions
to the Fock matrix due to two-electron integrals become the dominant part of the
calculations. This shortcoming will be solved in the future PC GAMESS versions
by adding faster 2-e integral routine, as well as implementing Coulomb fitting
and QFMM for these stages.
V. Input description.
To activate PC GAMESS DFT module, you should specify the valid value
for the DFTTYP variable found in the $CONTRL group (not in the $DFT group!).
At present, the supported functionals are as follows:
DFTTYP Functional
pure exchange functionals (no correlation)
SLATER Slater exchange, no correlation
LSDA the same as SLATER
B88 Becke 1988 exchange, no correlation
GILL96 Gill 1996 exchange, no correlation
XPBE96 Perdew-Burke-Ernzerhof 1996 exchange, no correlation
pure correlation functionals (Hartree-Fock exchange)
LYP Hartree-Fock exchange, Lee-Yang-Parr 1988 correlation
VWN1RPA Hartree-Fock exchange, VWN formula 1 RPA LDA correlation
VWN5 Hartree-Fock exchange, VWN formula 5 LDA correlation
PW91LDA Hartree-Fock exchange, Perdew-Wang 1991 LDA correlation
CPBE96 Hartree-Fock exchange, Perdew-Burke-Ernzerhof 1996 nonlocal +
Perdew-Wang 1991 LDA correlation
CPW91 Hartree-Fock exchange, Perdew 1991 nonlocal +
Perdew-Wang 1991 LDA correlation
exchange-correlation functionals
SLYP Slater exchange, Lee-Yang-Parr 1988 correlation
BLYP Becke 1988 exchange, Lee-Yang-Parr 1988 correlation
GLYP Gill 1996 exchange, Lee-Yang-Parr 1988 correlation
SVWN1RPA Slater exchange, VWN formula 1 RPA correlation
BVWN1RPA Becke 1988 exchange, VWN formula 1 RPA correlation
SVWN5 Slater exchange, VWN formula 5 correlation
BVWN5 Becke 1988 exchange, VWN formula 5 correlation
PBE96 Perdew-Burke-Ernzerhof 1996 exchange,
Perdew-Burke-Ernzerhof 1996 nonlocal +
Perdew-Wang 1991 LDA correlation
PBEPW91 Perdew-Burke-Ernzerhof 1996 exchange,
Perdew 1991 nonlocal + Perdew-Wang 1991 LDA correlation
hybrid functionals
B3LYP1 B3LYP as implemented in NWCHEM and GAUSSIAN 98,
using VWN formula 1 RPA correlation
B3LYP5 B3LYP as implemented in GAMESS (US),
using VWN formula 5 correlation
B3LYP either B3LYP1 or B3LYP5 depending on the value of B3LYP keyword
in the $DFT group, see later.
BHHLYP Becke 1988 + Hartree-Fock exchange, Lee-Yang-Parr 1988 correlation
PBE0 Perdew-Burke-Ernzerhof 1996 + Hartree-Fock exchange,
Perdew-Burke-Ernzerhof 1996 nonlocal +
Perdew-Wang 1991 LDA correlation
PBE1PW91 Perdew-Burke-Ernzerhof 1996 + Hartree-Fock exchange,
Perdew 1991 nonlocal + Perdew-Wang 1991 LDA correlation
B3PW91 Slater + Becke 1988 + Hartree-Fock exchange,
Perdew 1991 nonlocal + Perdew-Wang 1991 LDA correlation
Additional options can be specified in the $DFT group. The keywords are as
follows:
NRAD (integer) the default number of radial points per atom used.
Default value is 63.
NRDATM (integer array, dimension 128) An array to change the actual
value of NRAD on per element number basis. For example, setting
NRDATM(6)=128 will apply the radial grid of 128 points to all
carbon atoms. The entry NRDATM(128) is used for dummy atoms
with no charge. The default values are all equal to NRAD.
LMAX (integer) the default order of Lebedev angular grid to be used.
The default value is 29. Valid values are:
LMAX Number of points per radial shell
3 6
5 14
7 26
9 38
11 50
13 74
15 86
17 110
19 146
21 170
23 194
25 230
27 266
29 302
31 350
35 434
41 590
47 770
53 974
59 1202
65 1454
71 1730
77 2030
83 2354
89 2702
95 3074
101 3470
107 3890
113 4334
119 4802
125 5294
131 5810
LMXATM (integer array, dimension 128) An array to change the actual
value of LMAX on per element number basis. For example, setting
NRDATM(1)=25 will apply the angular grid of 25th order to all
hydrogen atoms. The entry LMXATM(128) is used for dummy atoms
with no charge. The default values are all equal to LMAX.
ANGPRN (logical) flag to activate the angular grid pruning as function
of radius, uses the scheme similar to proposed by Murray, Handy
and Laming (MHL).
Default is .true. Setting it to false will slow down the
calculations but will result to the more accurate results.
KAP (double precision) The parameter Ktheta used for angular
pruning. The default value is 5.0 as recommended by MHL.
Increasing this value to, say, 10.0 will improve precision
by the cost of performance. This parameter has no effect if
angular pruning is not used.
RADPRN (logical) flag to activate the radial grid pruning.
Default is .true. Setting it to false will slow down
calculations to some degree but may improve precision.
RMXATM (integer array, dimension 128). An array to change the atomic
cutoff radii used during radial pruning on per element number
basis. For example, setting RMXATM(8)=6 will set the effective
radius of all oxygen atoms to 6 Angstrom. The entry RMXATM(128)
is used for dummy atoms with no charge. The default values
are probably much larger than is actually necessary and depend
on the basis set used.
CUTOFF (double precision). Contributions to the DFT Fock matrix due to
batch of angular points, which are smaller than CUTOFF, are
ignored. The default value is 1.0d-10.
CUTAO (double precision). If the absolute numerical value of AO is
smaller than CUTAO, it will be set to zero during calculations.
The default value is 1.0d-10.
CUTWGT (double precision). If the absolute value of weight associated
with grid point is less than CUTWGT, this point will not be
taken into account during DFT calculations. The default value
is 1.0d-20.
CUTORB (double precision). Contributions to the DFT Fock matrix due to
batch of orbitals, which are smaller than CUTORB, are ignored.
The default value is 1.0d-15.
CUTGG1,
CUTGG2,
CUTGG3,
CUTGG4 (double precision). Various cutoffs used during calculation
of grid weights derivatives contributions to the molecular
gradients. The default values are 1.0d-13, 1.0d-13, 1.0d-13,
and 1.0d-30 correspondingly and are probably too strict.
B3LYP (symbolic). Selects the default implementation of B3LYP
functional. The default value is NWCHEM which makes B3LYP
to be synonym of B3LYP1. Setting this value to GAMESS will
change B3LYP to be the same as B3LYP5.
Below is the sample input file.
! GAMESS (US) STYLE B3LYP OPTIMIZATION+HESSIAN CALCULATION OF WATER MOLECULE
$CONTRL SCFTYP=RHF DFTTYP=B3LYP5 runtyp=optimize $END
$SYSTEM TIMLIM=3000 MEMORY=3000000 $END
$BASIS GBASIS=n31 ngauss=6 NDFUNC=1 $END
$statpt hssend=.t. nprt=-2 $end
$force nvib=2 $end
$DATA
H2O
CNV 2
O 8.0 0.0000000000 0.0000000000 0.7205815395
H 1.0 0.0000000000 0.7565140024 0.1397092302
$END