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
Last updated: March 18, 2009