PC GAMESS/Firefly DFT MODULE DOCUMENTATION.

I. Limitations. The present implementation does not support multithreading.
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. Starting from the
PC GAMESS v. 7.0 build # 3448, DFT code allows calculation of static and
dynamic polarizabilities using runtyp=tdhf. Visit this link
for TDDFT-related information.

II. Compatibility. The grid-based DFT code in PC GAMESS/Firefly is completely
different from that of GAMESS (US). This includes both implementation
and input specification. As to implementation details, in PC GAMESS/Firefly,
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 current PC GAMESS/Firefly 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/Firefly on pure DFT 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 linearly on the number of atoms in molecule. 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/Firefly versions by
implementing Coulomb fitting. For related information, see fastints
and qfmm specific sections of documentation.

V.  Input description.
        To activate PC GAMESS/Firefly DFT module, you should specify the valid
value of the DFTTYP variable found in the  $CONTRL group (note not in the $DFT
group!). At present, supported functionals are as follows:

DFTTYP   Functional
  pure exchange functionals (no correlation)
  LDA exchange:
SLATER   Slater exchange, no correlation
LSDA     the same as SLATER
  GGA exchange:
B88      Becke 1988 exchange, no correlation
XPW91    Perdew-Wang 1991 exchange, no correlation
GILL96   Gill 1996 exchange, no correlation
XPBE96   Perdew-Burke-Ernzerhof 1996 exchange, no correlation
OPTX     Handy-Cohen 2001 OPTX exchange, no correlation (available since the
PC GAMESS v. 7.0.3)

  pure correlation functionals (Hartree-Fock exchange)
  LDA 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
  GGA correlation:
LYP      Hartree-Fock exchange, Lee-Yang-Parr 1988 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
XLYP     Extended exchange functional (a combination of Slater, Becke 88,
         and Perdew-Wang 91 exchange functionals) of Xu and Goddard III,
         Lee-Yang-Parr 1988 correlation
OLYP     OPTX exchange, Lee-Yang-Parr 1988 correlation (available since the
         PC GAMESS v. 7.0.3)
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
PW91     Perdew-Wang 1991 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.
X3LYP    Extended exchange functional (a combination of Slater, Becke 88,
         and Perdew-Wang 91 exchange functionals) of Xu and Goddard III +
         Hartree-Fock exchange,
O3LYP1   Slater + OPTX + Hartree-Fock exchange,
         VWN formula 1 RPA + Lee-Yang-Parr 1988 correlation
O3LYP5   Slater + OPTX + Hartree-Fock exchange,
         VWN formula 5 + Lee-Yang-Parr 1988 correlation
O3LYP    The synonym of O3LYP5
         NOTE: FOR ALL O3LYP FAMILY FUNCTIONALS,
               SEE THE DESCRIPTION OF THE O3LYP OPTION BELOW!
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.
                Note that to get correct results you must explicitly
                disable radial pruning if your system has any basisless atoms!

        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.

        O3LYP   (symbolic). Setting it to GAUSSIAN changes the weight of
                non-local exchange in all O3LYP functionals so that the
                resulting functional will be identical to one used in
                Gaussian 03 Rev D.01 and above. The default value is DEFAULT
                which makes code compatible with O3LYP implementations in other
                programs. Note there are some ambiguities in O3LYP-related
                papers which do not allow to decide which implementation
                (default or Gaussian) is correct. These two implementations
                should be considered as just two different xc functionals.



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



See also:



Last updated: March 18, 2009