1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447
|
% $Id$
\label{sec:interface}
NWChem has interfaces to several different packages which are listed below.
In general, the NWChem authors work with the authors of the other packages
to make sure that the interface works. However, any problems with the
interface should be reported to the
{\tt nwchem-users@emsl.pnl.gov} e-mail list.
\section{{\tt DIRDYVTST} --- DIRect Dynamics for Variational Transition State Theory}
\label{sec:dirdyvtst}
by Bruce C. Garrett,\\
Environmental Molecular Sciences Laboratory,\\
Pacific Northwest Laboratory, Richland, Washington\\
\\
Yao-Yuan Chuang and Donald G. Truhlar,\\
Department of Chemistry and Super Computer Institute,\\
University of Minnesota, MN 55455-0431\\
\\
and interfaced to NWChem by\\
\\
Ricky A. Kendall,\\
Scalable Computing Laboratory,\\
Ames Laboratory and Iowa State University, Ames, IA 50011\\
\\
Theresa L. Windus,\\
Environmental Molecular Sciences Laboratory,\\
Pacific Northwest Laboratory, Richland, Washington
If you use the DIRDYVTST portion of NWChem, please use following citation
in addition to the usual NWChem citation from Section \ref{sec:intro}:
\begin{quote}
DIRDYVTST, Yao-Yuan Chuang and Donald G. Truhlar,
Department of Chemistry and Super Computer Institute,
University of Minnesota; Ricky A. Kendall,Scalable Computing Laboratory,
Ames Laboratory and Iowa State University; Bruce C. Garrett and Theresa L.
Windus, Environmental Molecular Sciences Laboratory, Pacific Northwest
Laboratory.
\end{quote}
\subsection{Introduction}
By using DIRDYVTST, a user can carry out electronic structure calculations
with NWChem and use the resulting energies, gradients, and Hessians for
direct dynamics calculations with \htmladdnormallink{POLYRATE}
{http://comp.chem.umn.edu/polyrate/}.
This program prepares the file30 input for \htmladdnormallink{POLYRATE}
{http://comp.chem.umn.edu/polyrate/} from NWChem
electronic structure calculations of energies, gradients and Hessians at the
reactant, product, and saddle point geometries and along the minimum
energy path. Cartesian geometries for the reactants, products, and
saddle points need to be input to this program; optimization of
geometries is not performed in this program. Note that \verb+DIRDYVTST+ is
based on the \htmladdnormallink{DIRDYGAUSS program}
{http://comp.chem.umn.edu/dirdyg/}
and is similar to two other programs: \htmladdnormallink{DDUTILITIES}
{http://comp.chem.umn.edu/ddutil/} and \htmladdnormallink{GAUSSRATE}
{http://comp.chem.umn.edu/gaussrate/}. Users of this module are
encouraged to read the
\htmladdnormallink{POLYRATE}
{http://comp.chem.umn.edu/polyrate/} manual since they will need to
create the file fu5 input to run calculations with \htmladdnormallink{POLYRATE}
{http://comp.chem.umn.edu/polyrate/}.
Notes about the code:
Input. The code has been written to parallel, as much as possible,
the \verb+POLYRATE+ code.
Output. There is one default output file for each \verb+DIRDYVTST+ run - .file30.
Integrators for following the reaction path.
Currently the Euler and three Page-McIver (PM) methods
are implemented. The PM methods are the local quadratic approximation
(LQA), the corrected LQA (CLQA), and the cubic (CUBE) algorithm.
The PM methods are implemented so that the Hessian can be reused at
intermediate steps at which only the gradient is updated.
\subsection{Files}
Test runs are located in directories in \verb+$NWCHEM_TOP/QA/tests+. Test
runs are available for two systems: $H + H_2$ and $OH + H_2$.
The $H + H_2$ test uses the Euler integration method at the SCF/3-21G level
of theory to calculate points along the reaction path.
This test is located in the \verb+$NWCHEM_TOP/QA/tests/h3tr1+ directory.
The $OH + H_2$ test uses the Page-McIver CUBE algorithm to calculate points
on the SCF/3-21G surface and does additional single point calculations at
the SCF/6-31G* level of theory. This test is located in the
\verb+$NWCHEM_TOP/QA/tests/oh3tr3+ directory.
Note: These tests are set up with SCF, however, other levels of
theory can be used. The initial hessian calculations at the reactants,
products and saddle point can cause some problems when numerical hessians
are required (especially when there is symmetry breaking in the wavefunction).
\subsection{Detailed description of the input}
The input consists of keywords for NWChem and keywords related to \verb+POLYRATE+
input. The first set of inputs are for NWChem with the general input block
of the form:
\begin{verbatim}
DIRDYVTST [autosym [real tol default 1d-2] | noautosym]
[THEORY <string theory> [basis <string basis default "ao basis">] \
[ecp <string ecp>] [input <string input>]]
[SPTHEORY <string theory> [basis <string basis default "ao basis">] \
[ecp <string ecp>] [input <string input>]]
...
END
\end{verbatim}
\subsubsection{Use of symmetry}
The use of symmetry in the calculation is controlled by the keyword
\verb+autosym | noautosym+ which is used as described in the geometry
directive (see Section \ref{sec:geom}).
\verb+Autosym+ is on by default. A couple words of warning here.
The tolerance related to \verb+autosym+ can cause problems when taking the
initial step off of the transition state. If the tolerance is too large and
the initial step relatively small,
the resulting geometry will be close to a higher symmetry than is really
wanted and the molecule will be symmetrized into the higher symmetry.
To check this, the code prints out the symmetry at each geometry along the
path. It is up to the user to check the symmetry and make sure that
it is the required one. In preverse cases, the user may need to turn
\verb+autosym+ off (\verb+noautosym+) if changing the tolerance doesn't
produce the desired results. In the case that autosym is used, the
user does not need to worry about the different alignment of the molecule
between NWChem and POLYRATE, this is taken care of internally in the
DIRDYVTST module.
\subsubsection{Basis specification}
The basis name on the theory or sptheory directive is that
specified on a basis set directive (see Section \ref{sec:basis}) and
{\em not} the name of a standard basis in the library. If not
specified, the basis set for the sptheory defaults to the
theory basis which defaults to \verb+"ao basis"+.
\subsubsection{Effective core potentials}
If an effective core potential is specified in the usual fashion (see
Section \ref{sec:ecp}) outside of the \verb+DIRDYVTST+ input then this will be
used in all calculations. If an alternative ECP name (the name
specified on the ECP directive in the same manner as done for basis
sets) is specified on one of the theory directives, then this ECP will
be used in preference for that level of theory.
\subsubsection{General input strings}
For many purposes, the ability to specify the theory, basis and
effective core potential is adequate. All of the options for each
theory are determined from their independent input blocks. However,
if the same theory (e.g., DFT) is to be used with different options
for theory and sptheory, then the general input strings must
be used. These strings are processed as NWChem input each time the
theoretical calculation is invoked. The strings may contain any NWChem
input, except for options pertaining to \verb+DIRDYVTST+ and the task directive.
The intent is that the strings be used just to control the options
pertaining to the theory being used.
A word of caution. Be sure to check that the options are producing
the desired results. Since the NWChem database is persistent,
the input strings should fully define the calculation you wish to have happen.
For instance, if the theory model is DFT/LDA/3-21g and the
sptheory model is DFT/B3LYP/6-311g**, the \verb+DIRDYVTST+ input might look like this
\begin{verbatim}
dirdyvtst
theory dft basis 3-21g input "dft\; xc\; end"
sptheory dft basis 6-311g** input "dft\; xc b3lyp\; end"
....
end
\end{verbatim}
The empty \verb+XC+ directive restores the default LDA
exchange-correlation option (see Section \ref{sec:xc}). Note that
semi-colons and other quotation marks inside the input string must be
preceded by a backslash to avoid special interpretation.
\subsubsection{POLYRATE related options}
These keyword options are simlar to the \verb+POLYRATE+ input format, except there
are no ENERGETICS, OPTIMIZATION, SECOND, TUNNELING, and RATE sections.
\paragraph{GENERAL section}
The GENERAL section has the following format:
\begin{verbatim}
*GENERAL
[TITLE <string title>]
ATOMS
<integer num> <string tag> [<real mass>]
...
END
[SINGLEPOINT]
[SAVEFILE (vecs || hess || spc)
\end{verbatim}
Descriptions
TITLE is a keyword that allows the user to input a description of
the calculation. In this version, the user can only have a
single-line description.
For example:
TITLE Calculation of D + HCl reaction
ATOMS is a list keyword that is used to input a list of
the atoms. It is similar to \verb+POLYRATE+ in that the order of the
atom and the atomic symbol are required in a single line. If
isotope of the element is considered then the atomic mass is
required in units of amu.
For example:
\begin{verbatim}
ATOMS
1 H 2.014
2 H
3 Cl
END
\end{verbatim}
SINGLEPOINT is a keyword that specifies that a single
point calculation is to be performed at the reactants,
products and saddle point geometries. The type of
single point calculation is specified in the \verb+sptheory+
line.
SAVEFILE is a keyword that specifies that NWChem files
are to be saved. Allowed values of variable input to
SAVEFILE are vecs, hess, and spc for saving the files
base theory movecs, base theory hessian and singlepoint
calculation movecs.
\paragraph{REACT1, REACT2, PROD1, PROD2, and START sections}
These sections have the following format:
\begin{verbatim}
*(REACT1 || REACT2 || PROD1 || PROD2 || START)
GEOM
<integer num> <real x y z>
...
END
SPECIES (ATOMIC || LINRP || NONLINRP || LINTS || NONLINTS default NONLINRP)
\end{verbatim}
REACT1 and REACT2 are input for each of the reactants and PROD1 and PROD2
are input for each of the products. REACT1 and PROD1 are required. START
is the input for the transition state if one exists, or starting point to
follow downhill the MEP.
Descriptions
GEOM is a list keyword that indicates the geometry of the molecule
in Cartesian coordinates with atomic unit.
For example:
\begin{verbatim}
GEOM
1 0.0 0.0 0.0
2 0.0 0.0 1.5
END
\end{verbatim}
SPECIES is a variable keyword that indicates the type of the
molecule. Options are: ATOMIC (atomic reactant or product),
LINRP (linear reactant or product), NONLINRP
(nonlinear reactant or product), LINTS (linear transition
state), and NONLINTS (nonlinear transition state).
For example:
SPECIES atomic
\paragraph{PATH section}
The Path section has the format:
\begin{verbatim}
*PATH
[SCALEMASS <real scalemass default 1.0>]
[SSTEP <real sstep default 0.01>]
[SSAVE <real ssave default 0.1>]
[SHESS <real shess default SSAVE>]
[SLP <real slp default 1.0>]
[SLM <real slm default -1.0>]
[SIGN (REACTANT || PRODUCT default REACTANT)]
[INTEGRA (EULER || LQA || CLQA || CUBE default EULER)]
[PRINTFREQ (on || off default off)]
\end{verbatim}
Descriptions
SCALEMASS is a variable keyword that indicates the arbitrary
mass (in amu) used for mass-scaled Cartesian coordinates.
This is the variable called mu in published papers. Normally,
this is taken as either 1.0 amu or, for bimolecular reactions,
as the reduced mass of relative translation of the reactants.
SSTEP is a variable keyword that indicates the numerical step
size (in bohrs) for the gradient grid. This is the step
size for following the minimum energy path.
SSAVE is a variable keyword that indicates the numerical step
size (in bohrs) for saving the Hessian grid. At each
save point the potential and its first and second
derivatives are recalculated and written to the .file30
file. For example, if SSTEP=0.01 and SSAVE=0.1, then the
potential information is written to .file30 every 10
steps along the gradient grid.
SHESS is a variable keyword that indicates the numerical step
size (in bohrs) for recomputing the Hessian when using a
Page-McIver integrator (e.g., LQA, CLQA, or CUBE). For
Euler integration SHESS = SSAVE. For intermediate points
along the gradient grid, the Hessian matrix from the
last Hessian calculation is reused. For example, if
SSTEP=0.01 and SHESS=0.05, then the Hessian matrix is
recomputed every 5 steps along the gradient grid.
SLP is a variable keyword that indicates the positive limit of
the reaction coordinate (in bohrs).
SLM is a variable keyword that indicates the negative limit of
the reaction coordinate (in bohrs).
SIGN is a variable keyword used to ensure the conventional definition
of the sign of s, $s < 0$ for the reactant side and
$s > 0$ for the product side, is followed. \verb+PRODUCT+
should be used if the eigenvector at the saddle point points
toward the product side and \verb+REACTANT+ if the
eigenvector points toward the reactant side.
INTEGRA is a variable keyword that indicates the integration
method used to follow the reaction path. Options are: EULER,
LQA, CLQA, and CUBE.
PRINTFREQ is a variable keyword that indicates that projected
frequencies and eigenvectors will be printed along the MEP.
\subsubsection{Restart}
\verb+DIRDYVTST+ calculations should be restarted through the normal NWChem
mechanism (See Section \ref{sec:start}). The user needs to change the
\verb+start+ directive to a \verb+restart+ directive and get rid of any
information that will overwrite important information in the RTDB. The
\verb+file.db+ and \verb+file.file30+ need to be available for the
calculation to restart properly.
\subsubsection{Example}
This is an example that creates the file30 file for POLYRATE for $H + H_2$.
Note that the multiplicity is that of the entire supermolecule, a doublet.
In this example, the initial energies, gradients, and Hessians are calculated
at the UHF/3-21G level of theory and the singlepoint calculations are
calculated at the MP2/cc-pVDZ level of theory with a tighter convergence
threshold than the first SCF.
\begin{verbatim}
start h3test
basis
h library 3-21G
end
basis singlepoint
h library cc-pVDZ
end
scf
uhf
doublet
thresh 1.0e-6
end
dirdyvtst autosym 0.001
theory scf input "scf\; uhf\; doublet\; thresh 1.0e-06\; end"
sptheory mp2 basis singlepoint input \
"scf\; uhf\; doublet\; thresh 1.0e-07\; end"
*GENERAL
TITLE
Test run: H+H2 reaction, Page-McIver CLQA algorithm, no restart
ATOMS
1 H
2 H
3 H
END
SINGLEPOINT
*REACT1
GEOM
1 0.0 0.0 0.0
2 0.0 0.0 1.3886144
END
SPECIES LINRP
*REACT2
GEOM
3 0.0 0.0 190.3612132
END
SPECIES ATOMIC
*PROD2
GEOM
1 0.0 0.0 190.3612132
END
SPECIES ATOMIC
*PROD1
GEOM
2 0.0 0.0 1.3886144
3 0.0 0.0 0.0
END
SPECIES LINRP
*START
GEOM
1 0.0 0.0 -1.76531973
2 0.0 0.0 0.0
3 0.0 0.0 1.76531973
END
SPECIES LINTS
*PATH
SSTEP 0.05
SSAVE 0.05
SLP 0.50
SLM -0.50
SCALEMASS 0.6718993
INTEGRA CLQA
end
task dirdyvtst
\end{verbatim}
|