The nuclear hessian which is used to compute the vibrational
frequencies can be computed by finite difference for any ab initio
wave-function that has analytic gradients. The appropriate
nuclear hessian generation algorithm is chosen based on the user input
when TASK <theory> frequencies
is the task directive.
The vibrational package was integrated from the Utah Messkit and can use any nuclear hessian generated from the driver routines, finite difference routines or any analytic hessian modules. There is no required input for the ``VIB'' package. VIB computes the Infra Red frequencies and intensities22.1 for the computed nuclear hessian and the ``projected'' nuclear hessian. The VIB module projects out the translations and rotations of the nuclear hessian using the standard Eckart projection algorithm. It also computes the zero point energy for the molecular system based on the frequencies obtained from the projected hessian.
The default mass of each atom is used unless an alternative mass is provided via the geometry input, (c.f., 6) or redefined using the vibrational module input. The default mass is the mass of the most abundant isotope of each element.22.2 If the abundance was roughly equal, the mass of the isotope with the longest half life was used.
All input for the Vibrational Module is optional since the default
definitions will compute the frequencies and IR
intensities22.3. The generic
module input can begin with vib
, freq
, frequency
and has the form:
{freq || vib || frequency} reuse [<string> hessian_filename] mass <integer> lexical_index <real> new_mass mass <string> tag_identifier <real> new_mass animate [<real> step_size_for_animation] end
task <theory> frequencies
directive will
recompute the hessian. To reuse the previously computed hessian you
need only specify reuse
in the module input block. If you
have stored the hessian in an alternate place you may redirect the
reuse directive to that file by specifying the path to that file.
reuse /path_to_hessian_fileThis will reuse your saved Hessian data but one caveat is that the geometry specification at the point where the hessian is computed must be the default ``geometry'' on the current run-time-data-base for the projection to work properly.
To modify the mass of a specific center you can simply use:
mass 3 4.00260324which will set the mass of center 3 to 4.00260324 AMUs. The lexical index of centers is determined by the geometry object.
To modify all Hydrogen atoms in a molecule you may use the tag based mechanism:
mass hydrogen 2.014101779
The mass redefinitions always start with the default masses and change the masses in the order given in the input. Care must be taken to change the masses properly. For example, if you want all hydrogens to have the mass of Deuterium and the third hydrogen (which is the 6th atomic center) to have the mass of Tritium you must set the Deuterium masses first with the tag based mechanism and then set the 6th center's mass to that of Tritium using the lexical center index mechanism.
The mass redefinitions are not fully persistent on the run-time-data-base. Each input block that redefines masses will invalidate the mass definitions of the previous input block. For example,
freq reuse mass hydrogen 2.014101779 end task scf frequencies freq reuse mass oxygen 17.9991603 end task scf frequencieswill use the new mass for all hydrogens in the first frequency analysis. The mass of the oxygen atoms will be redefined in the second frequency analysis but the hydrogen atoms will use the default mass. To get a modified oxygen and hydrogen analysis you would have to use:
freq reuse mass hydrogen 2.014101779 end task scf frequencies freq reuse mass hydrogen 2.014101779 mass oxygen 17.9991603 end task scf frequencies
animateanywhere in the frequency/vib input block.
animate real <step_size>where
<step_size>
is the real number that is the magnitude of
each step along the eigenvector of each nuclear hessian mode in atomic
units.
start h2o title Water geometry units au autosym O 0.00000000 0.00000000 0.00000000 H 0.00000000 1.93042809 -1.10715266 H 0.00000000 -1.93042809 -1.10715266 end basis noprint H library sto-3g O library sto-3g end scf; thresh 1e-6; end driver; tight; end task scf optimize scf; thresh 1e-8; print none; end task scf freq freq reuse; mass H 2.014101779 end task scf freq freq reuse; mass 2 2.014101779 end task scf freq freq reuse; mass 2 2.014101779 ; mass 3 3.01604927 end task scf freq