1% 2% $Id$ 3% 4\label{sec:basis} 5 6NWChem currently supports basis sets consisting of generally 7contracted\footnote{Generally contracted meaning that the same 8 primitive, Gaussian functions are contracted into multiple 9 contracted functions using different contraction coefficients. 10 Reuse of the radial functions increases the efficiency of integral 11 generation.} Cartesian Gaussian functions up to a maximum angular 12 momentum of six ($h$ functions), and also $sp$ (or L) 13functions\footnote{An $sp$ shell is two-component general contraction. 14 However, the first component specifies an $s$ shell and the second a 15 $p$ shell. Again, reuse of the radial functions increases the efficiency 16 of integral generation.} . The {\tt BASIS} directive is used to 17define these, and also to specify use of an effective core potential 18(ECP) that is associated with a basis set; see Section \ref{sec:ecp}. 19 20The basis functions to be used for a given calculation can be drawn 21from a standard set in the EMSL basis set library that is included in 22the release of NWChem (See Appendix \ref{sec:knownbasis} for a list 23of the standard basis sets currently supplied with the release of the 24code). Alternatively, the user can specify particular functions 25explicitly in the input, to define a particular basis set. 26 27The general form of the \verb+BASIS+ directive is as follows: 28 29\begin{verbatim} 30 BASIS [<string name default "ao basis">] \ 31 [(spherical || cartesian) default cartesian] \ 32 [(segment || nosegment) default segment] \ 33 [(print || noprint) default print] 34 [rel] 35 36 <string tag> library [<string tag_in_lib>] \ 37 <string standard_set> [file <filename>] \ 38 [except <string tag list>] [rel] 39 40 ... 41 42 <string tag> <string shell_type> [rel] 43 <real exponent> <real list_of_coefficients> 44 ... 45 46 END 47\end{verbatim} 48 49Examining the keywords on the first line of the \verb+BASIS+ directive: 50 51 52\begin{itemize} 53\item {\tt name} 54 55 By default, the basis set is stored in the database with the name 56 \verb+"ao basis"+. Another name may be specified in the \verb+BASIS+ 57 directive, thus, multiple basis sets may be stored simultaneously in the 58 database. Also, the DFT (Section \ref{sec:dft}) 59 and RI-MP2 (Section \ref{sec:rimp2}) modules and the 60 Dyall-modified-Dirac relativistic method (Section \ref{sec:dyall-mod-dir}) 61 require multiple basis sets with specific names. 62 63The user can associate the \verb+"ao basis"+ with another named basis 64using the \verb+SET+ directive (see Section \ref{sec:set}). 65 66\item {{\tt SPHERICAL} or {\tt CARTESIAN}} 67 68The keywords \verb+spherical+ and \verb+cartesian+ offer the option of 69using either spherical-harmonic (5 d, 7 f, 9 g, \ldots) or Cartesian 70(6 d, 10 f, 15 g, \ldots) angular functions. The default is 71Cartesian. 72 73Note that the correlation-consistent basis sets were designed using 74spherical harmonics and to use these, the \verb+spherical+ keyword 75should be present in the \verb+BASIS+ directive. The use of spherical 76functions also helps eliminate problems with linear dependence. 77 78 79\item {{\tt SEGMENT} or {\tt NOSEGMENT}} 80 81By default, NWChem forces all basis sets to be segmented, 82even if they are input with general contractions or $L$ or sp 83shells. This is because the current derivative integral program cannot 84handle general contractions. If a calculation is 85computing energies only, a 86performance gain can result from exploiting generally contracted basis 87sets, in which case {\tt NOSEGMENT} should be specified. 88 89\item {{\tt PRINT} or {\tt NOPRINT}} 90 91The default is for the input module to print all basis sets encountered. 92Specifying the keyword \verb+noprint+ allows the user to suppress this output. 93 94\item {{\tt REL}} 95 96This keyword marks the entire basis as a relativistic basis for the purposes 97of the Dyall-modified-Dirac relativistic integral code. The marking of the 98basis set is necessary for the code to make the proper association between 99the relativistic shells in the ao basis and the shells in the large and/or 100small component basis. This is only necessary for basis sets which are to be 101used as the ao basis. The user is referred to Section \ref{sec:dyall-mod-dir} 102for more details. 103 104\end{itemize} 105 106Basis sets are associated with centers by using the tag of a center in 107a geometry that has either been input by the user (Section 108\ref{sec:geom}) or is available elsewhere. Each atom or center with 109the same \verb+tag+ will have the same basis set. All atoms must have 110basis functions assigned to them --- only dummy centers (X or Bq) may have no 111basis functions. To facilitate the specification of the geometry and 112the basis set for any chemical system, the matching process of a basis 113set tag to a geometry tag first looks for an exact match. If no match 114is found, NWChem will attempt to match, ignoring case, the name or 115symbol of the element. E.g., all hydrogen atoms in a system could be 116labeled ``H1'', ``H2'', \ldots, in the geometry but only 117one basis set specification for ``H'' or ``hydrogen'' is necessary. 118If desired, a special basis may be added to one or more centers (e.g., 119``H1'') by providing a basis for that tag. 120If the matching mechanism fails then NWChem stops with an appropriate 121error message. 122 123A special set of tags, ``*'' and tags ending with a ``*'' (E.g. ``H*'') 124can be used in combination with the keyword \verb+library+ (see section 125below). These tags facilitate the definition of a certain type of basis 126set of all atoms, or a group of atoms, in a geometry using only a single 127%<<<<<<< basis.tex 128or very few basis set entries. The ``*'' tag will not place basis sets 129on dummy atoms, Bq* can be used for that if necessary. 130%======= 131%or very few basis set entries. The ``*'' tag will not place basis sets 132%on dummy atoms, Bq* can be used for that if necessary. 133%>>>>>>> 1.25 134 135Examined next is how to reference standard basis sets in the basis set 136library, and finally, how to define a basis set using exponents and 137coefficients. 138 139\section{Basis set library} 140 141The keyword \verb+library+ associated with each specific \verb+tag+ 142entry specifies that the calculation will use the standard basis set 143in NWChem for that center. The variable \verb+<standard_set>+ is the 144name that identifies the functions in the library. The names of 145standard basis sets are not case sensitive. See Appendix 146\ref{sec:knownbasis} for a complete list of the basis sets in the 147NWChem library and their specifications. 148 149The general form of the input line requesting basis sets from the NWChem 150basis set library is: 151\begin{verbatim} 152 <string tag> library [<string tag_in_lib>] \ 153 <string standard set> [file < filename> \ 154 [except <string tag list>] [rel] 155 ... 156\end{verbatim} 157 158For example, the NWChem basis set library contains the Dunning cc-pvdz 159basis set. These may be used as follows 160\begin{verbatim} 161 basis 162 oxygen library cc-pvdz 163 hydrogen library cc-pvdz 164 end 165\end{verbatim} 166 167A default path of the NWChem basis set libraries is provided on installation 168of the code, but a different path can be defined by specifying the keyword 169\verb+file+, and one can explicitly name the file to be accessed 170for the basis functions. For example, 171\begin{verbatim} 172 basis 173 o library 3-21g file /usr/d3g681/nwchem/library 174 si library 6-31g file /usr/d3g681/nwchem/libraries/ 175 end 176\end{verbatim} 177This directive tells the code to use the basis set \verb+3-21g+ in 178the file {\tt /usr/\-d3g681/\-nwchem/\-library} for atom \verb+o+ and 179to use the basis set \verb+6-31g+ in the directory 180{\tt /usr/\-d3g681/\-nwchem/\-libraries/} for atom \verb+si+, rather 181than look for them in the default libraries. When a directory is defined 182the code will search for the basis set in a file with the name {\tt 6-31g}. 183 184The ``*'' tag can be used to efficiently define basis set input directives 185for large numbers of atoms. An example is: 186\begin{verbatim} 187 basis 188 * library 3-21g 189 end 190\end{verbatim} 191This directive tells the code to assign the basis sets \verb+3-21g+ to 192all the atom tags defined in the geometry. If one wants to place a 193different basis set on one of the atoms defined in the geometry, the 194following directive can be used: 195\begin{verbatim} 196 basis 197 * library 3-21g except H 198 end 199\end{verbatim} 200This directive tells the code to assign the basis sets \verb+3-21g+ to 201all the atoms in the geometry, except the hydrogen atoms. Remember that 202the user will have to explicitly define the hydrogen basis set in this 203directive! One may also define tags that end with a ``*'': 204\begin{verbatim} 205 basis 206 oxy* library 3-21g 207 end 208\end{verbatim} 209This directive tells the code to assign the basis sets \verb+3-21g+ to 210all atom tags in the geometry that start with ``oxy''. 211 212If standard basis sets are to be placed upon a dummy center, the 213variable \verb+<tag_in_lib>+ must also be entered on this line, to 214identify the correct atom type to use from the basis function library 215(see the ghost atom example in Section \ref{sec:set} and below). For 216example: To specify the cc-pvdz basis for a calculation on the water 217monomer in the dimer basis, where the dummy oxygen and dummy hydrogen 218centers have been identified as \verb+bqo+ and \verb+bqh+ 219respectively, the \verb+BASIS+ directive is as follows: 220 221\begin{verbatim} 222 basis 223 o library cc-pvdz 224 h library cc-pvdz 225 bqo library o cc-pvdz 226 bqh library h cc-pvdz 227 end 228\end{verbatim} 229A special dummy center tag is \verb+bq*+, which will assign the same basis 230set to all bq centers in the geometry. Just as with the ``*'' tag, the 231\verb+except+ list can be used to assign basis sets to unique dummy centers. 232 233The library basis sets can also be marked as relativistic by adding the 234\verb+rel+ keyword to the tag line. See Section \ref{sec:dyall-mod-dir} for 235more details. The correlation consistent basis sets have been contracted for 236relativistic effects and are included in the standard library. 237 238There are also contractions in the standard library for both a point nucleus 239and a finite nucleus of Gaussian shape. These are usually distinguished by 240the suffixex {\tt \_pt} and {\tt \_fi}. It is the user's responsibility to 241ensure that the contraction matches the nuclear type specified in the 242geometry object. The specification of a finite nucleus basis set does NOT 243automatically set the nuclear type for that atom to be finite. See 244Section \ref{sec:geom} for information. 245 246\section{Explicit basis set definition} 247 248If the basis sets in the library or available in other external files 249are not suitable for a given calculation, 250the basis set may be explicitly defined. 251A generally contracted Gaussian basis function is associated with a 252center using an input line of the following form: 253\begin{verbatim} 254 <string tag> <string shell_type> [rel] 255 <real exponent> <real list_of_coefficients> 256 ... 257\end{verbatim} 258 259The variable \verb+<shell_type>+ identifies the angular momentum of the 260shell, $s$, $p$, $d$, \ldots. NWChem is configured to handle up to $h$ 261shells. The keyword \verb+rel+ marks the shell as relativistic --- see 262Section \ref{sec:dyall-mod-dir} for more details. Subsequent lines define 263the primitive function exponents and contraction coefficients. General 264contractions are specified by including multiple columns of coefficients. 265 266The following example defines basis sets for the water molecule: 267\begin{verbatim} 268 basis spherical nosegment 269 oxygen s 270 11720.0000 0.000710 -0.000160 271 1759.0000 0.005470 -0.001263 272 400.8000 0.027837 -0.006267 273 113.7000 0.104800 -0.025716 274 37.0300 0.283062 -0.070924 275 13.2700 0.448719 -0.165411 276 5.0250 0.270952 -0.116955 277 1.0130 0.015458 0.557368 278 0.3023 -0.002585 0.572759 279 oxygen s 280 0.3023 1.000000 281 oxygen p 282 17.7000 0.043018 283 3.8540 0.228913 284 1.0460 0.508728 285 0.2753 0.460531 286 oxygen p 287 0.2753 1.000000 288 oxygen d 289 1.1850 1.000000 290 hydrogen s 291 13.0100 0.019685 292 1.9620 0.137977 293 0.4446 0.478148 294 0.1220 0.501240 295 hydrogen s 296 0.1220 1.000000 297 hydrogen p 298 0.7270 1.000000 299 oxygen s 300 0.01 1.0 301 hydrogen s 302 0.02974 1.0 303 hydrogen p 304 0.141 1.0 305 end 306\end{verbatim} 307 308 309\section{Combinations of library and explicit basis set input} 310The user can use a mixture of library basis and explicit basis set 311input to define the basis sets used on the various atoms. 312 313For example, the following \verb+BASIS+ directive augments the Dunning 314cc-pvdz basis set for the water molecule with a diffuse s-shell on 315oxygen and adds the aug-cc-pVDZ diffuse functions onto the hydrogen. 316\begin{verbatim} 317 basis spherical nosegment 318 oxygen library cc-pvdz 319 hydrogen library cc-pvdz 320 oxygen s 321 0.01 1.0 322 hydrogen library "aug-cc-pVDZ Diffuse" 323 end 324\end{verbatim} 325 326The resulting basis set defined is identical to the one defined above 327in the explicit basis set input. 328 329