NWChem

From Predictive Chemistry
Revision as of 10:02, 4 November 2013 by David M. Rogers (talk | contribs)

Jump to: navigation, search

When in doubt, check the Documentation, and test!

Energy Calculation

A simple SCF energy calculation on the input file start.xyz can be done with:

start en_scf
title "Pople SCF energy"

geometry units angstrom
  load start.xyz
end
basis
#   * library cc-pvdz
#   * library 6-31G*
   * library 3-21G
end

task scf energy

Geometry Optimization

Running a geometry optimization just requires replacing the task directive. Here, we've also added a block of parameters controlling the minimization algorithm.

start opt_scf
title "Pople SCF geometry optimization"

geometry units angstrom
  load start.xyz
end
basis
#   * library cc-pvdz
#   * library 6-31G*
   * library 3-21G
end

driver
   loose
   maxiter 150
   xyz opt
end
task scf optimize

DFT

You can also use DFT rather than HF (SCF) by changing the appropriate keywords and adding a DFT block to specify its functional:

start opt_dft

title "Pople DFT geometry optimization"

geometry units angstrom
  load start.xyz
end
basis
#  * library cc-pvdz
#  * library 6-31G*
  * library 3-21G
end
dft
  xc xpbe96 1.0 \
  pw91lda local 1.0 \
  cpbe96 nonlocal 1.0
  direct
  iterations 150
  grid fine
  disp vdw 2
end

driver
  loose
  maxiter 150
  xyz opt
end
task dft optimize

The "xyz opt" causes NWChem to write out coordinate files, e.g. opt-001.xyz, ... as the optimization is proceeding.

Specifying Charge and Spin

Of course, we need to be able to specify the charge and total spin for most systems as well. Here's an input example appropriate for Fe3+ (5 spin-up electrons making up a half-filled d-shell):

start en_scf
title "Pople SCF energy"

geometry start units angstrom
  load start.xyz
end
basis
#   Fe  library "Ahlrichs pVDZ" # better basis
    * library 3-21G
end

set geometry start
charge 3
scf
  sextet
end

task scf energy

Vibrational Frequencies

At a minimum, the second derivatives of the potential energy surface with respect to the nuclear coordinates make up a 3Nx3N matrix. The eigenvectors represent vibrational 'modes,' and the eigenvalues represent their force constants. Analyzing each mode as a harmonic oscillator leads to a set of vibrational frequencies, which give thermochemical information on the molecule as well as IR spectroscopic information.

From a minimized set of coordinates, all you should require is to add the appropriate task (and optionally a block of parameters)

task scf frequencies