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