1% $Id$
2\label{sec:vib}
3
4The nuclear hessian which is used to compute the vibrational
5frequencies can be computed by finite difference for any ab initio
6wave-function that has analytic gradients or by analytic methods
7for SCF and DFT (see Section \ref{sec:hess} for details).  The appropriate
8nuclear hessian generation algorithm is chosen based on the user input
9when \verb+TASK <theory> frequencies+ is the task directive.
10
11The vibrational package was integrated from the Utah Messkit and can
12use any nuclear hessian generated from the driver routines, finite
13difference routines or any analytic hessian modules.  There is no required
14input for the ``VIB'' package.  VIB computes the Infra Red frequencies
15and intensities\footnote{Intensities are only computed if the dipole
16derivatives are available; these are computed by default for most
17methods that use the finite difference driver routines} for the
18computed nuclear hessian and the ``projected'' nuclear hessian.  The
19VIB module projects out the translations and rotations of the nuclear
20hessian using the standard Eckart projection algorithm.
21It also computes the zero point energy for the molecular system
22based on the frequencies obtained from the projected hessian.
23
24The default mass of each atom is used unless an alternative mass is
25provided via the geometry input, (c.f., \ref{sec:geom}) or redefined
26using the vibrational module input.  The default mass is the mass of
27the most abundant isotope of each element.\footnote{c.f., "The
28Elements" by John Emsley, Oxford University Press, (C) 1989, ISBN
290-19-855237-8.} If the abundance was roughly equal, the mass of the
30isotope with the longest half life was used.
31
32In addition, the vibrational analysis is given at the default standard
33temperature of 298.15 degrees.
34
35\section{Vibrational Module Input}
36
37All input for the Vibrational Module is optional since the default
38definitions will compute the frequencies and IR
39intensities\footnote{The geometry specification at the point where the
40hessian is computed must be the default ``geometry'' on the current
41run-time-data-base for the projection to work properly.}.  The generic
42module input can begin with \verb+vib+, \verb+freq+, \verb+frequency+
43and has the form:
44\begin{verbatim}
45  {freq || vib || frequency}
46    [reuse [<string hessian_filename>]]
47    [mass <integer lexical_index> <real new_mass>]
48    [mass <string tag_identifier> <real new_mass>]
49    [{temp || temperature} <integer number_of_temperatures> \
50          <real temperature1 temperature2 ...>]
51    [animate [<real step_size_for_animation>]]
52  end
53\end{verbatim}
54
55\subsection{Hessian File Reuse}
56By default the \verb+task <theory> frequencies+ directive will
57recompute the hessian.  To reuse the previously computed hessian you
58need only specify \verb+reuse+ in the module input block.  If you
59have stored the hessian in an alternate place you may redirect the
60reuse directive to that file by specifying the path to that file.
61\begin{verbatim}
62  reuse /path_to_hessian_file
63\end{verbatim}
64This will reuse your saved Hessian data but one caveat is that the
65geometry specification at the point where the hessian is computed must
66be the default ``geometry'' on the current run-time-data-base for the
67projection to work properly.
68
69\subsection{Redefining Masses of Elements}
70You may also modify the mass of a specific center or a group of
71centers via the input.
72
73To modify the mass of a specific center you can simply use:
74\begin{verbatim}
75  mass 3 4.00260324
76\end{verbatim}
77which will set the mass of center 3 to 4.00260324 AMUs.  The lexical
78index of centers is determined by the geometry object.
79
80To modify all Hydrogen atoms in a molecule you may use the tag based
81mechanism:
82\begin{verbatim}
83  mass hydrogen 2.014101779
84\end{verbatim}
85
86The mass redefinitions always start with the default masses and
87change the masses in the order given in the input.  Care must be taken to change
88the masses properly.  For example, if you want all hydrogens to have
89the mass of Deuterium and the third hydrogen (which is the 6th atomic
90center) to have the mass of Tritium you must set the Deuterium masses
91first with the tag based mechanism and then set the 6th center's mass
92to that of Tritium using the lexical center index mechanism.
93
94The mass redefinitions are not fully persistent on the
95run-time-data-base.  Each input block that redefines masses will
96invalidate the mass definitions of the previous input block.
97For example,
98\begin{verbatim}
99freq
100  reuse
101  mass hydrogen 2.014101779
102end
103task scf frequencies
104freq
105  reuse
106  mass oxygen 17.9991603
107end
108task scf frequencies
109\end{verbatim}
110will use the new mass for all hydrogens in the first frequency
111analysis.  The mass of the oxygen atoms will be redefined in the second
112frequency analysis but the hydrogen atoms will use the default mass.
113To get a modified oxygen and hydrogen analysis you would have to use:
114\begin{verbatim}
115freq
116  reuse
117  mass hydrogen 2.014101779
118end
119task scf frequencies
120freq
121  reuse
122  mass hydrogen 2.014101779
123  mass oxygen 17.9991603
124end
125task scf frequencies
126\end{verbatim}
127
128\subsection{Temp or Temperature}
129The ``VIB'' module can generate the vibrational analysis at various
130temperatures other than at standard room temperature.  Either
131temp or temperature can be used to initiate this command.
132
133To modify the temperature of the computation you can simply use:
134\begin{verbatim}
135  temp 4 298.15 300.0 350.0 400.0
136\end{verbatim}
137
138At this point, the temperatures are persistant and so the user
139must "reset" the temperature if the standard behavior is required
140after setting the temperatures in a previous ``VIB'' command, i.e.
141\begin{verbatim}
142  temp 1 298.15
143\end{verbatim}
144
145\subsection{Animation}
146The ``VIB'' module also can generate mode animation input files in the
147standard xyz file format for graphics packages like
148RasMol or XMol {There are scripts to automate this for RasMol in
149{\verb+$NWCHEM_TOP/contrib/rasmolmovie+}.  Each mode will have 20 xyz
150files generated that cycle from the equilibrium geometry to 5 steps in
151the positive direction of the mode vector, back to 5 steps in the
152negative direction of the mode vector, and finally back to the
153equilibrium geometry.  By default these files are {\bf not} generated.
154To activate this mechanism simply use the following input directive
155\begin{verbatim}
156  animate
157\end{verbatim}
158anywhere in the frequency/vib input block.
159\subsubsection{Controlling the Step Size Along the Mode Vector}
160By default, the step size used is 0.15 a.u. which will give reliable
161animations for most systems.  This can be changed via the input directive
162\begin{verbatim}
163  animate real <step_size>
164\end{verbatim}
165where \verb+<step_size>+ is the real number that is the magnitude of
166each step along the eigenvector of each nuclear hessian mode in atomic
167units.
168
169\newpage
170
171\subsection{An Example Input Deck}
172This example input deck will optimize the geometry for the given basis
173set, compute the frequencies for H$_2$O, H$_2$O at different temperatures,
174D$_2$O, HDO, and TDO.
175\begin{verbatim}
176start  h2o
177title Water
178geometry units au autosym
179  O      0.00000000    0.00000000    0.00000000
180  H      0.00000000    1.93042809   -1.10715266
181  H      0.00000000   -1.93042809   -1.10715266
182end
183basis noprint
184  H library sto-3g
185  O library sto-3g
186end
187scf; thresh 1e-6; end
188driver; tight; end
189task scf optimize
190
191scf; thresh 1e-8; print none; end
192task scf freq
193
194freq
195 reuse; temp 4 298.15 300.0 350.0 400.0
196end
197task scf freq
198
199freq
200 reuse; mass H 2.014101779
201 temp 1 298.15
202end
203task scf freq
204
205freq
206 reuse; mass 2 2.014101779
207end
208task scf freq
209
210freq
211 reuse; mass 2 2.014101779 ; mass 3 3.01604927
212end
213task scf freq
214\end{verbatim}
215