9 |
|
\usepackage{longtable} |
10 |
|
\pagestyle{plain} |
11 |
|
\pagenumbering{arabic} |
12 |
+ |
\usepackage{floatrow} |
13 |
+ |
\usepackage[margin=0.5cm,font=small,format=hang]{caption} |
14 |
+ |
|
15 |
|
\oddsidemargin 0.0cm |
16 |
|
\evensidemargin 0.0cm |
17 |
|
\topmargin -21pt |
23 |
|
\usepackage[square, comma, sort&compress]{natbib} |
24 |
|
\bibpunct{[}{]}{,}{n}{}{;} |
25 |
|
|
26 |
+ |
\DeclareFloatFont{tiny}{\scriptsize}% "scriptsize" is defined by floatrow, "tiny" not |
27 |
+ |
\floatsetup[table]{font=tiny} |
28 |
|
|
29 |
+ |
|
30 |
|
%\renewcommand\citemid{\ } % no comma in optional reference note |
31 |
< |
\lstset{language=C,frame=TB,basicstyle=\footnotesize,basicstyle=\ttfamily, % |
31 |
> |
\lstset{language=C,frame=TB,basicstyle=\footnotesize\ttfamily, % |
32 |
|
xleftmargin=0.25in, xrightmargin=0.25in,captionpos=b, % |
33 |
|
abovecaptionskip=0.5cm, belowcaptionskip=0.5cm, escapeinside={~}{~}} |
34 |
< |
\renewcommand{\lstlistingname}{Scheme} |
34 |
> |
\renewcommand{\lstlistingname}{Example} |
35 |
|
|
36 |
+ |
\lstnewenvironment{code}[1][]% |
37 |
+ |
{\noindent\minipage{\linewidth}\vspace{0.5\baselineskip} |
38 |
+ |
\lstset{language=C,basicstyle=\footnotesize\ttfamily,% |
39 |
+ |
captionpos=b,aboveskip=0.5cm,belowskip=0.5cm,abovecaptionskip=0.5cm,% |
40 |
+ |
belowcaptionskip=0.5cm,% |
41 |
+ |
escapeinside={~}{~},frame=single,#1}} |
42 |
+ |
{\endminipage} |
43 |
+ |
|
44 |
+ |
|
45 |
+ |
|
46 |
|
\begin{document} |
47 |
|
|
48 |
|
\newcolumntype{A}{p{1.5in}} |
63 |
|
\newcolumntype{M}{p{1.55in}} |
64 |
|
|
65 |
|
|
66 |
< |
\title{{\sc OpenMD-2.1}: Molecular Dynamics in the Open} |
66 |
> |
\title{{\sc OpenMD-2.3}: Molecular Dynamics in the Open} |
67 |
|
|
68 |
< |
\author{Joseph Michalka, James Marr, Kelsey Stocker, Madan Lamichhane, |
69 |
< |
Patrick Louden, \\ |
70 |
< |
Teng Lin, Charles F. Vardeman II, Christopher J. Fennell, Shenyu |
71 |
< |
Kuang, Xiuquan Sun, \\ |
72 |
< |
Chunlei Li, Kyle Daily, Yang Zheng, Matthew A. Meineke, and \\ |
73 |
< |
J. Daniel Gezelter \\ |
68 |
> |
\author{Madan Lamichhane, Patrick Louden, Joseph Michalka, Suzanne |
69 |
> |
Niedhart, \\ |
70 |
> |
Teng Lin, Charles F. Vardeman II, Christopher J. Fennell, Matthew |
71 |
> |
A. Meineke, \\ Shenyu Kuang, |
72 |
> |
Kelsey Stocker, James Marr, \\ Xiuquan Sun, |
73 |
> |
Chunlei Li, Kyle Daily, Yang Zheng, \\ and \\ |
74 |
> |
J. Daniel Gezelter \\ \\ |
75 |
|
Department of Chemistry and Biochemistry\\ |
76 |
|
University of Notre Dame\\ |
77 |
|
Notre Dame, Indiana 46556} |
78 |
|
|
79 |
|
\maketitle |
80 |
|
|
81 |
< |
\section*{Preface} |
82 |
< |
{\sc OpenMD} is an open source molecular dynamics engine which is capable of |
83 |
< |
efficiently simulating liquids, proteins, nanoparticles, interfaces, |
84 |
< |
and other complex systems using atom types with orientational degrees |
85 |
< |
of freedom (e.g. ``sticky'' atoms, point dipoles, and coarse-grained |
86 |
< |
assemblies). Proteins, zeolites, lipids, transition metals (bulk, flat |
87 |
< |
interfaces, and nanoparticles) have all been simulated using force |
88 |
< |
fields included with the code. {\sc OpenMD} works on parallel computers |
89 |
< |
using the Message Passing Interface (MPI), and comes with a number of |
81 |
> |
\section*{Preface} |
82 |
> |
|
83 |
> |
{\sc OpenMD} is an open source molecular dynamics engine which is |
84 |
> |
capable of efficiently simulating liquids, proteins, nanoparticles, |
85 |
> |
interfaces, and other complex systems using atom types with |
86 |
> |
orientational degrees of freedom (e.g. ``sticky'' atoms, point |
87 |
> |
multipoles, and coarse-grained assemblies). It is a test-bed for new |
88 |
> |
molecular simulation methodology, but is also efficient and easy to |
89 |
> |
use. Liquids, proteins, zeolites, lipids, inorganic nanomaterials, |
90 |
> |
transition metals (bulk, flat interfaces, and nanoparticles) and a |
91 |
> |
wide array of other systems have all been simulated using this |
92 |
> |
code. {\sc OpenMD} works on parallel computers using the Message |
93 |
> |
Passing Interface (MPI), and comes with a number of trajectory |
94 |
|
analysis and utility programs that are easy to use and modify. An |
95 |
|
OpenMD simulation is specified using a very simple meta-data language |
96 |
|
that is easy to learn. |
112 |
|
which is freely available to the entire scientific community. Few, |
113 |
|
however, are capable of efficiently integrating the equations of |
114 |
|
motion for atom types with orientational degrees of freedom |
115 |
< |
(e.g. point dipoles, and ``sticky'' atoms). And only one of the |
115 |
> |
(e.g. point multipoles, and ``sticky'' atoms). And only one of the |
116 |
|
programs referenced can handle transition metal force fields like the |
117 |
|
Embedded Atom Method ({\sc eam}). The direction our research program |
118 |
|
has taken us now involves the use of atoms with orientational degrees |
123 |
|
|
124 |
|
This document communicates the algorithmic details of our program, |
125 |
|
{\sc OpenMD}. We have structured this document to first discuss the |
126 |
< |
underlying concepts in this simulation package (Sec. |
126 |
> |
underlying concepts in this simulation package (Chapter |
127 |
|
\ref{section:IOfiles}). The empirical energy functions implemented |
128 |
< |
are discussed in Sec.~\ref{section:empiricalEnergy}. |
129 |
< |
Sec.~\ref{section:mechanics} describes the various Molecular Dynamics |
128 |
> |
are discussed in Chapter~\ref{chapter:forceFields}. |
129 |
> |
Section~\ref{section:mechanics} describes the various Molecular Dynamics |
130 |
|
algorithms {\sc OpenMD} implements in the integration of Hamilton's |
131 |
|
equations of motion. Program design considerations for parallel |
132 |
|
computing are presented in Sec.~\ref{section:parallelization}. |
135 |
|
\chapter{\label{section:IOfiles}Concepts \& Files} |
136 |
|
|
137 |
|
A simulation in {\sc OpenMD} is built using a few fundamental |
138 |
< |
conceptual building blocks most of which are chemically intuitive. |
138 |
> |
conceptual building blocks, most of which are chemically intuitive. |
139 |
|
The basic unit of a simulation is an {\tt atom}. The parameters |
140 |
|
describing an {\tt atom} have been generalized to make it as flexible |
141 |
|
as possible; this means that in addition to translational degrees of |
142 |
< |
freedom, {\tt Atoms} may also have {\it orientational} degrees of freedom. |
142 |
> |
freedom, {\tt atoms} may also have {\it orientational} degrees of |
143 |
> |
freedom. |
144 |
|
|
145 |
|
The fundamental (static) properties of {\tt atoms} are defined by the |
146 |
|
{\tt forceField} chosen for the simulation. The atomic properties |
203 |
|
$<$Snapshot$>$} block. Both the {\tt $<$MetaData$>$} and {\tt $<$Snapshot$>$} |
204 |
|
formats are described in the following sections. |
205 |
|
|
206 |
< |
\begin{lstlisting}[float,caption={[The structure of an {\sc OpenMD} file] |
206 |
> |
\begin{code}[caption={[The structure of an {\sc OpenMD} file] |
207 |
|
The basic structure of an {\sc OpenMD} file contains HTML-like tags to |
208 |
|
define simulation meta-data and subsequent instantaneous configuration |
209 |
< |
information. A well-formed {\sc OpenMD} file must contain one $<$MetaData$>$ |
210 |
< |
block and {\it at least one} $<$Snapshot$>$ block. Each |
211 |
< |
$<$Snapshot$>$ is further divided into $<$FrameData$>$ and |
212 |
< |
$<$StuntDoubles$>$ sections.}, |
191 |
< |
label=sch:mdFormat] |
209 |
> |
information. A well-formed {\sc OpenMD} file must contain one {\tt <MetaData>} |
210 |
> |
block and {\it at least one} {\tt <Snapshot>} block. Each |
211 |
> |
{\tt <Snapshot>} is further divided into {\tt <FrameData>} and |
212 |
> |
{\tt <StuntDoubles>} sections.},label={sch:mdFormat}] |
213 |
|
<OpenMD> |
214 |
|
<MetaData> |
215 |
|
// see section ~\ref{sec:miscConcepts}~ for details on the formatting |
235 |
|
<Snapshot> // Further information on <Snapshot> blocks |
236 |
|
</Snapshot> // can be found in section ~\ref{section:coordFiles}~. |
237 |
|
</OpenMD> |
238 |
< |
\end{lstlisting} |
238 |
> |
\end{code} |
239 |
|
|
240 |
|
|
241 |
|
\section{OpenMD Files and $<$MetaData$>$ blocks} |
242 |
|
|
243 |
< |
{\sc OpenMD} uses a HTML-like syntax to separate {\tt $<$MetaData$>$} and |
243 |
> |
{\sc OpenMD} uses HTML-like delimiters to separate {\tt $<$MetaData$>$} and |
244 |
|
{\tt $<$Snapshot$>$} blocks. A C-based syntax is used to parse the {\tt |
245 |
|
$<$MetaData$>$} blocks at run time. These blocks allow the user to |
246 |
|
completely describe the system they wish to simulate, as well as |
248 |
|
files are typically denoted with the extension {\tt .md} (which can |
249 |
|
stand for Meta-Data or Molecular Dynamics or Molecule Definition |
250 |
|
depending on the user's mood). An overview of an {\sc OpenMD} file is |
251 |
< |
shown in Scheme~\ref{sch:mdFormat} and example file is shown in |
252 |
< |
Scheme~\ref{sch:mdExample}. |
251 |
> |
shown in Example~\ref{sch:mdFormat} and example file is shown in |
252 |
> |
Example~\ref{sch:mdExample}. |
253 |
|
|
254 |
< |
\begin{lstlisting}[float,caption={[An example of a complete OpenMD |
254 |
> |
\begin{code}[caption={[An example of a complete OpenMD |
255 |
|
file] An example showing a complete OpenMD file.}, |
256 |
|
label={sch:mdExample}] |
257 |
|
<OpenMD> |
290 |
|
</StuntDoubles> |
291 |
|
</Snapshot> |
292 |
|
</OpenMD> |
293 |
< |
\end{lstlisting} |
293 |
> |
\end{code} |
294 |
|
|
295 |
< |
Within the {\tt $<$MetaData$>$} block it is necessary to provide a |
295 |
> |
In the {\tt $<$MetaData$>$} block, it is necessary to provide a |
296 |
|
complete description of the molecule before it is actually placed in |
297 |
< |
the simulation. {\sc OpenMD}'s meta-data syntax was originally |
298 |
< |
developed with this goal in mind, and allows for the use of {\it |
299 |
< |
include files} to specify all atoms in a molecular prototype, as well |
300 |
< |
as any bonds, bends, or torsions. Include files allow the user to |
301 |
< |
describe a molecular prototype once, then simply include it into each |
302 |
< |
simulation containing that molecule. Returning to the example in |
303 |
< |
Scheme~\ref{sch:mdExample}, the include file's contents would be |
304 |
< |
Scheme~\ref{sch:mdIncludeExample}, and the new {\sc OpenMD} file would |
284 |
< |
become Scheme~\ref{sch:mdExPrime}. |
297 |
> |
the simulation. {\sc OpenMD}'s meta-data syntax allows for the use of |
298 |
> |
{\it include files} to specify all atoms in a molecular prototype, as |
299 |
> |
well as any bonds, bends, torsions, or other structural groupings of |
300 |
> |
atoms. Include files allow the user to describe a molecular prototype |
301 |
> |
once, then simply include it into each simulation containing that |
302 |
> |
molecule. Returning to the example in Scheme~\ref{sch:mdExample}, the |
303 |
> |
include file's contents would be Scheme~\ref{sch:mdIncludeExample}, |
304 |
> |
and the new {\sc OpenMD} file would become Scheme~\ref{sch:mdExPrime}. |
305 |
|
|
306 |
< |
\begin{lstlisting}[float,caption={An example molecule definition in an |
306 |
> |
\begin{code}[caption={An example molecule definition in an |
307 |
|
include file.},label={sch:mdIncludeExample}] |
308 |
|
molecule{ |
309 |
|
name = "Ar"; |
312 |
|
position( 0.0, 0.0, 0.0 ); |
313 |
|
} |
314 |
|
} |
315 |
< |
\end{lstlisting} |
315 |
> |
\end{code} |
316 |
|
|
317 |
< |
\begin{lstlisting}[float,caption={Revised OpenMD input file |
317 |
> |
\begin{code}[caption={Revised OpenMD input file |
318 |
|
example.},label={sch:mdExPrime}] |
319 |
|
<OpenMD> |
320 |
|
<MetaData> |
347 |
|
</StuntDoubles> |
348 |
|
</Snapshot> |
349 |
|
</OpenMD> |
350 |
< |
\end{lstlisting} |
350 |
> |
\end{code} |
351 |
|
|
352 |
|
\section{\label{section:atomsMolecules}Atoms, Molecules, and other |
353 |
|
ways of grouping atoms} |
354 |
|
|
355 |
< |
As mentioned above, the fundamental unit for an {\sc OpenMD} simulation |
356 |
< |
is the {\tt atom}. Atoms can be collected into secondary structures |
357 |
< |
such as {\tt rigidBodies}, {\tt cutoffGroups}, or {\tt molecules}. The |
358 |
< |
{\tt molecule} is a way for {\sc OpenMD} to keep track of the atoms in |
359 |
< |
a simulation in logical manner. Molecular units store the identities |
360 |
< |
of all the atoms and rigid bodies associated with themselves, and they |
361 |
< |
are responsible for the evaluation of their own internal interactions |
362 |
< |
(\emph{i.e.}~bonds, bends, and torsions). Scheme |
363 |
< |
\ref{sch:mdIncludeExample} shows how one creates a molecule in an |
364 |
< |
included meta-data file. The positions of the atoms given in the |
365 |
< |
declaration are relative to the origin of the molecule, and the origin |
366 |
< |
is used when creating a system containing the molecule. |
355 |
> |
As mentioned above, the fundamental unit for an {\sc OpenMD} |
356 |
> |
simulation is the {\tt atom}. Atoms can be collected into secondary |
357 |
> |
structures such as {\tt rigidBodies}, {\tt cutoffGroups}, or {\tt |
358 |
> |
molecules}. The {\tt molecule} is a way for {\sc OpenMD} to keep |
359 |
> |
track of the atoms in a simulation in logical manner. Molecular units |
360 |
> |
store the identities of all the atoms and rigid bodies associated with |
361 |
> |
themselves, and they are responsible for the evaluation of their own |
362 |
> |
internal interactions (\emph{i.e.}~bonds, bends, torsions, and |
363 |
> |
inversions). Scheme \ref{sch:mdIncludeExample} shows how one creates a |
364 |
> |
molecule in an included meta-data file. The positions of the atoms |
365 |
> |
given in the declaration are relative to the origin of the molecule, |
366 |
> |
and the origin is used when creating a system containing the molecule. |
367 |
|
|
368 |
|
One of the features that sets {\sc OpenMD} apart from most of the |
369 |
|
current molecular simulation packages is the ability to handle rigid |
370 |
|
body dynamics. Rigid bodies are non-spherical particles or collections |
371 |
< |
of particles (e.g. $\mbox{C}_{60}$) that have a constant internal |
371 |
> |
of particles (e.g. a phenyl ring) that have a constant internal |
372 |
|
potential and move collectively.\cite{Goldstein01} They are not |
373 |
|
included in most simulation packages because of the algorithmic |
374 |
|
complexity involved in propagating orientational degrees of freedom. |
375 |
|
Integrators which propagate orientational motion with an acceptable |
376 |
< |
level of energy conservation for molecular dynamics are relatively |
377 |
< |
new inventions. |
376 |
> |
level of energy conservation for molecular dynamics are relatively new |
377 |
> |
inventions. |
378 |
|
|
379 |
|
Moving a rigid body involves determination of both the force and |
380 |
|
torque applied by the surroundings, which directly affect the |
418 |
|
rigid body can be seen in Scheme |
419 |
|
\ref{sch:rigidBody}. |
420 |
|
|
421 |
< |
\begin{lstlisting}[float,caption={[Defining rigid bodies]A sample |
421 |
> |
\begin{code}[caption={[Defining rigid bodies]A sample |
422 |
|
definition of a molecule containing a rigid body and a cutoff |
423 |
|
group},label={sch:rigidBody}] |
424 |
|
molecule{ |
444 |
|
members(0, 1, 2); |
445 |
|
} |
446 |
|
} |
447 |
< |
\end{lstlisting} |
447 |
> |
\end{code} |
448 |
|
|
449 |
|
\section{\label{sec:miscConcepts}Creating a $<$MetaData$>$ block} |
450 |
|
|
482 |
|
minimizer parameters can be found in |
483 |
|
Sec.~\ref{section:minimizer}. The {\tt forceField} statement is |
484 |
|
important for the selection of which forces will be used in the course |
485 |
< |
of the simulation. {\sc OpenMD} supports several force fields, as |
486 |
< |
outlined in Sec.~\ref{section:empiricalEnergy}. The force fields are |
485 |
> |
of the simulation. {\sc OpenMD} supports several force fields, and |
486 |
> |
allows the user to create their own using a range of pre-defined |
487 |
> |
empirical energy functions. The format of force field files is |
488 |
> |
outlined Chapter~\ref{chapter:forceFields}. The force fields are |
489 |
|
interchangeable between simulations, with the only requirement being |
490 |
|
that all atoms needed by the simulation are defined within the |
491 |
|
selected force field. |
564 |
|
box must be before we can use cheaper box calculations \\ |
565 |
|
{\tt cutoffRadius} & $\mbox{\AA}$ & Manually sets the cutoff radius & |
566 |
|
the default value is set by the {\tt cutoffPolicy} \\ |
545 |
– |
{\tt cutoffPolicy} & string & one of mix, max, or |
546 |
– |
traditional & the traditional cutoff policy is to set the cutoff |
547 |
– |
radius for all atoms in the system to the same value (governed by the |
548 |
– |
largest atom). mix and max are pair-dependent cutoff |
549 |
– |
methods. \\ |
567 |
|
{\tt skinThickness} & \AA & thickness of the skin for the Verlet |
568 |
|
neighbor lists & defaults to 1 \AA \\ |
569 |
|
{\tt switchingRadius} & $\mbox{\AA}$ & Manually sets the inner radius |
603 |
|
modulus \\ |
604 |
|
{\tt electrostaticSummationMethod} & & & \\ |
605 |
|
& string & shifted\_force, |
606 |
< |
shifted\_potential, shifted\_force, or reaction\_field & |
606 |
> |
shifted\_potential, hard, switched, taylor\_shifted, or reaction\_field & |
607 |
|
default is shifted\_force. \\ |
608 |
|
{\tt electrostaticScreeningMethod} & & & \\ |
609 |
|
& string & undamped or damped & default is damped \\ |
618 |
|
default is never \\ |
619 |
|
{\tt targetTemp} & K & sets the target temperature & no default value \\ |
620 |
|
{\tt tauThermostat} & fs & time constant for Nos\'{e}-Hoover |
621 |
< |
thermostat & times from 1000-10,000 fs are reasonable \\ |
621 |
> |
thermostat & times from 100-10,000 fs are reasonable \\ |
622 |
|
{\tt targetPressure} & atm & sets the target pressure & no default value\\ |
623 |
|
{\tt surfaceTension} & & sets the target surface tension in the x-y |
624 |
|
plane & no default value \\ |
625 |
|
{\tt tauBarostat} & fs & time constant for the |
626 |
< |
Nos\'{e}-Hoover-Andersen barostat & times from 10,000 to 100,000 fs |
626 |
> |
Nos\'{e}-Hoover-Andersen barostat & times from 1000 to 100,000 fs |
627 |
|
are reasonable \\ |
628 |
|
{\tt seed } & integer & Sets the seed value for the random number generator. & The seed needs to be at least 9 digits long. The default is to take the seed from the CPU clock. \\ |
629 |
|
\label{table:genParams} |
649 |
|
complete rotation matrix, directional entities are written out using |
650 |
|
quaternions to save space in the output files. |
651 |
|
|
652 |
< |
\begin{lstlisting}[float,caption={[The format of the {\tt $<$Snapshot$>$} block] |
652 |
> |
\begin{code}[caption={[The format of the {\tt $<$Snapshot$>$} block] |
653 |
|
An example of the format of the {\tt $<$Snapshot$>$} block. There is an |
654 |
|
initial sub-block called {\tt $<$FrameData$>$} which contains the time |
655 |
|
stamp, the three column vectors of $\mathsf{H}$, and optional extra |
658 |
|
configuration of each integrable object. For each integrable object, |
659 |
|
the global index is followed by a short string describing what |
660 |
|
additional information is present on the line. Atoms with only |
661 |
< |
position and velocity information use the ``pv'' string which must |
661 |
> |
position and velocity information use the {\tt pv} string which must |
662 |
|
then be followed by the position and velocity vectors for that atom. |
663 |
< |
Directional atoms and Rigid Bodies typically use the ``pvqj'' string |
663 |
> |
Directional atoms and Rigid Bodies typically use the {\tt pvqj} string |
664 |
|
which is followed by position, velocity, quaternions, and |
665 |
< |
lastly, body fixed angular momentum for that integrable object.}, |
649 |
< |
label=sch:dumpFormat] |
665 |
> |
lastly, body fixed angular momentum for that integrable object.},label={sch:dumpFormat}] |
666 |
|
<Snapshot> |
667 |
|
<FrameData> |
668 |
|
Time: 0 |
677 |
|
3 pvqj x y z vx vy vz qw qx qy qz jx jy jz |
678 |
|
</StuntDoubles> |
679 |
|
</Snapshot> |
680 |
< |
\end{lstlisting} |
680 |
> |
\end{code} |
681 |
|
|
682 |
|
There are three {\sc OpenMD} files that are written using the combined |
683 |
|
format. They are: the initial startup file (\texttt{.md}), the |
728 |
|
\end{enumerate} |
729 |
|
An example is given in the {\sc OpenMD} file in Scheme~\ref{sch:initEx1}. |
730 |
|
|
731 |
< |
\begin{lstlisting}[float,caption={Example declaration of the |
732 |
< |
$\text{I}_2$ molecule and the HCl molecule in $<$MetaData$>$ and |
733 |
< |
$<$Snapshot$>$ blocks. Note that even though $\text{I}_2$ is |
734 |
< |
declared before HCl, the $<$Snapshot$>$ block follows the order {\it in |
731 |
> |
\begin{code}[caption={Example declaration of the |
732 |
> |
$\text{I}_2$ molecule and the HCl molecule in {\tt <MetaData>} and |
733 |
> |
{\tt <Snapshot>} blocks. Note that even though $\text{I}_2$ is |
734 |
> |
declared before HCl, the {\tt <Snapshot>} block follows the order {\it in |
735 |
|
which the components were included}.}, label=sch:initEx1] |
736 |
|
<OpenMD> |
737 |
|
<MetaData> |
775 |
|
</StuntDoubles> |
776 |
|
</Snapshot> |
777 |
|
</OpenMD> |
778 |
< |
\end{lstlisting} |
778 |
> |
\end{code} |
779 |
|
|
780 |
|
\section{The Statistics File} |
781 |
|
|
791 |
|
allowing the user to gauge the stability of the integrator. The |
792 |
|
statistics file is denoted with the \texttt{.stat} file extension. |
793 |
|
|
794 |
< |
\chapter{\label{section:forceFields}Force Fields} |
794 |
> |
\chapter{\label{chapter:forceFields}Force Fields} |
795 |
|
|
796 |
|
Like many molecular simulation packages, {\sc OpenMD} splits the |
797 |
|
potential energy into the short-ranged (bonded) portion and a |
805 |
|
are defined by the force field which is selected in the MetaData |
806 |
|
section. |
807 |
|
|
808 |
< |
\section{\label{section:shortRange}The basic interactions} |
808 |
> |
\section{\label{section:divisionOfLabor}Separation into Internal and |
809 |
> |
Cross interactions} |
810 |
|
|
811 |
< |
The energy function for a system composed of $N$ molecules is |
812 |
< |
traditionally written |
811 |
> |
The classical potential energy function for a system composed of $N$ |
812 |
> |
molecules is traditionally written |
813 |
|
\begin{equation} |
814 |
|
V = \sum^{N}_{I=1} V^{I}_{\text{Internal}} |
815 |
|
+ \sum^{N-1}_{I=1} \sum_{J>I} V^{IJ}_{\text{Cross}}, |
816 |
|
\label{eq:totalPotential} |
817 |
|
\end{equation} |
818 |
< |
where $V^{IJ}_{\text{Cross}}$ contains all intermolecular interactions |
819 |
< |
between molecules $I$ and $J$, and $V^{I}_{\text{Internal}}$ is the |
820 |
< |
internal potential of molecule $I$: |
821 |
< |
\begin{align*} |
822 |
< |
V^{I}_{\text{Internal}} = & |
823 |
< |
\sum_{r_{ij} \in I} V_{\text{bond}}(r_{ij}) |
807 |
< |
+ \sum_{\theta_{ijk} \in I} V_{\text{bend}}(\theta_{ijk}) |
808 |
< |
+ \sum_{\phi_{ijkl} \in I} V_{\text{torsion}}(\phi_{ijkl}) |
809 |
< |
+ \sum_{\omega_{ijkl} \in I} V_{\text{inversion}}(\omega_{ijkl}) \\ |
810 |
< |
& + \sum_{i \in I} \sum_{(j>i+4) \in I} |
811 |
< |
\biggl[ V_{\text{dispersion}}(r_{ij}) + V_{\text{electrostatic}} |
812 |
< |
(\mathbf{r}_{ij},\boldsymbol{\Omega}_{i},\boldsymbol{\Omega}_{j}) |
813 |
< |
\biggr]. |
814 |
< |
\label{eq:internalPotential} |
815 |
< |
\end{align*} |
816 |
< |
Here $V_{\text{bond}}, V_{\text{bend}}, |
817 |
< |
V_{\text{torsion}},\mathrm{~and~} V_{\text{inversion}}$ represent the |
818 |
< |
bond, bend, torsion, and inversion potentials for all |
819 |
< |
topologically-connected sets of atoms within the molecule. Bonds are |
820 |
< |
the primary way of specifying how the atoms are connected together to |
821 |
< |
form the molecule (i.e. they define the molecular topology). The |
822 |
< |
other short-range interactions may be specified explicitly in the |
823 |
< |
molecule definition, or they may be deduced from bonding information. |
824 |
< |
For example, bends can be implicitly deduced from two bonds which |
825 |
< |
share an atom. Torsions can be deduced from two bends that share a |
826 |
< |
bond. Inversion potentials are utilized primarily to enforce |
827 |
< |
planarity around $sp^2$-hybridized sites, and these are specified with |
828 |
< |
central atoms and satellites (or an atom with bonds to exactly three |
829 |
< |
satellites). The pairwise portions of the non-bonded interactions are |
830 |
< |
usually excluded for atom pairs that are involved in the same bond, |
831 |
< |
bend, or torsion. All other atom pairs within a molecule are subject |
832 |
< |
to non-bonded pair potentials. |
818 |
> |
where $V^{I}_{\text{Internal}}$ contains all of the terms internal to |
819 |
> |
molecule $I$ (e.g. bonding, bending, torsional, and inversion terms) |
820 |
> |
and $V^{IJ}_{\text{Cross}}$ contains all intermolecular interactions |
821 |
> |
between molecules $I$ and $J$. For large molecules, the internal |
822 |
> |
potential may also include some non-bonded terms like electrostatic or |
823 |
> |
van der Waals interactions. |
824 |
|
|
825 |
|
The types of atoms being simulated, as well as the specific functional |
826 |
|
forms and parameters of the intra-molecular functions and the |
830 |
|
|
831 |
|
\section{\label{section:frcFile}Force Field Files} |
832 |
|
|
833 |
< |
Force field files have a number of ``Blocks'' to demarkate different |
833 |
> |
Force field files have a number of ``Blocks'' to delineate different |
834 |
|
types of information. The blocks contain AtomType data, which provide |
835 |
|
properties belonging to a single AtomType, as well as interaction |
836 |
|
information which provides information about bonded or non-bonded |
837 |
|
interactions that cannot be deduced from AtomType information alone. |
838 |
|
A simple example of a forceField file is shown in scheme |
839 |
< |
\ref{sch:frcExample}. |
839 |
> |
\ref{sch:frcExample}. |
840 |
|
|
841 |
< |
\begin{lstlisting}[float,caption={[An example of a complete OpenMD |
841 |
> |
\begin{code}[caption={[An example of a complete OpenMD |
842 |
|
force field file for straight-chain united-atom alkanes.] An example |
843 |
|
showing a complete OpenMD force field for straight-chain united-atom |
844 |
|
alkanes.}, label={sch:frcExample}] |
845 |
|
begin Options |
846 |
< |
Name = "alkane" end |
847 |
< |
Options |
846 |
> |
Name = "alkane" |
847 |
> |
end Options |
848 |
|
|
849 |
|
begin BaseAtomTypes |
850 |
|
//name mass |
885 |
|
CH3 CH2 CH2 CH2 Trappe 0.0 0.70544 -0.13549 1.5723 |
886 |
|
CH2 CH2 CH2 CH2 Trappe 0.0 0.70544 -0.13549 1.5723 |
887 |
|
end TorsionTypes |
888 |
< |
\end{lstlisting} |
888 |
> |
\end{code} |
889 |
|
|
890 |
< |
\subsection{\label{section:ffOptions}The Options block} |
890 |
> |
\section{\label{section:ffOptions}The Options block} |
891 |
|
|
892 |
|
The Options block defines properties governing how the force field |
893 |
|
interactions are carried out. This block is delineated with the text |
896 |
|
the various keywords and their possible values are given in Scheme |
897 |
|
\ref{sch:optionsBlock}. |
898 |
|
|
899 |
< |
\begin{lstlisting}[caption={[A force field Options block showing default values |
899 |
> |
\begin{code}[caption={[A force field Options block showing default values |
900 |
|
for many force field options.] A force field Options block showing default values |
901 |
|
for many force field options. Most of these options do not need to be |
902 |
|
specified if the default values are working.}, |
905 |
|
Name = "alkane" // any string |
906 |
|
vdWtype = "Lennard-Jones" |
907 |
|
DistanceMixingRule = "arithmetic" // can also be "geometric" or "cubic" |
908 |
< |
DistanceType = "sigma" // can also be Rmin |
908 |
> |
DistanceType = "sigma" // can also be "Rmin" |
909 |
|
EnergyMixingRule = "geometric" // can also be "arithmetic" or "hhg" |
910 |
|
EnergyUnitScaling = 1.0 |
911 |
|
MetallicEnergyUnitScaling = 1.0 |
922 |
|
GayBerneNu = 1.0 |
923 |
|
EAMMixingMethod = "Johnson" // can also be "Daw" |
924 |
|
end Options |
925 |
< |
\end{lstlisting} |
925 |
> |
\end{code} |
926 |
|
|
927 |
< |
\subsection{\label{section:ffBase}The BaseAtomTypes block} |
927 |
> |
\section{\label{section:ffBase}The BaseAtomTypes block} |
928 |
|
|
929 |
|
An AtomType the primary data structure that OpenMD uses to store |
930 |
|
static data about an atom. Things that belong to AtomType are |
950 |
|
ability to print out the names of the base atom types for displaying |
951 |
|
simulations in Jmol or VMD. |
952 |
|
|
953 |
< |
\begin{lstlisting}[caption={[A simple example of a BaseAtomType |
954 |
< |
block.] A simple example of a BaseAtomType block.}, |
953 |
> |
\begin{code}[caption={[A simple example of a BaseAtomTypes |
954 |
> |
block.] A simple example of a BaseAtomTypes block.}, |
955 |
|
label={sch:baseAtomTypesBlock}] |
956 |
|
begin BaseAtomTypes |
957 |
|
//Name mass (amu) |
970 |
|
Ba 137.327 |
971 |
|
Cl 35.453 |
972 |
|
end BaseAtomTypes |
973 |
< |
\end{lstlisting} |
973 |
> |
\end{code} |
974 |
|
|
975 |
< |
\subsection{\label{section:ffAtom}The AtomTypes block} |
975 |
> |
\section{\label{section:ffAtom}The AtomTypes block} |
976 |
|
|
977 |
|
AtomTypes inherit most properties from BaseAtomTypes, but can override |
978 |
|
their lower-level properties as well. Scheme \ref{sch:atomTypesBlock} |
979 |
|
shows an example where multiple types of oxygen atoms can inherit mass |
980 |
|
from the oxygen base type. |
981 |
|
|
982 |
< |
\begin{lstlisting}[caption={[An example of a AtomTypes block.] A |
983 |
< |
simple example of an AtomType block which |
982 |
> |
\begin{code}[caption={[An example of a AtomTypes block.] A |
983 |
> |
simple example of an AtomTypes block which |
984 |
|
shows how multiple types can inherit from the same base type.}, |
985 |
|
label={sch:atomTypesBlock}] |
986 |
|
begin AtomTypes |
1004 |
|
feo Fe |
1005 |
|
lio Li |
1006 |
|
end AtomTypes |
1007 |
< |
\end{lstlisting} |
1007 |
> |
\end{code} |
1008 |
|
|
1009 |
< |
\subsection{\label{section:ffDirectionalAtom}The DirectionalAtomTypes |
1009 |
> |
\section{\label{section:ffDirectionalAtom}The DirectionalAtomTypes |
1010 |
|
block} |
1011 |
|
DirectionalAtoms have orientational degrees of freedom as well as |
1012 |
< |
translation, so they have moment of inertia tensors. |
1012 |
> |
translation, so moving these atoms requires information about the |
1013 |
> |
moments of inertias in the same way that translational motion requires |
1014 |
> |
mass. For DirectionalAtoms, OpenMD treats the mass distribution with |
1015 |
> |
higher priority than electrostatic distributions; the moment of |
1016 |
> |
inertia tensor, $\overleftrightarrow{\mathsf I}$, should be |
1017 |
> |
diagonalized to obtain body-fixed axes, and the three diagonal moments |
1018 |
> |
should correspond to rotational motion \textit{around} each of these |
1019 |
> |
body-fixed axes. Charge distributions may then result in dipole |
1020 |
> |
vectors that are oriented along a linear combination of the body-axes, |
1021 |
> |
and in quadrupole tensors that are not necessarily diagonal in the |
1022 |
> |
body frame. |
1023 |
|
|
1024 |
< |
\begin{lstlisting}[caption={[An example of a DirectionalAtomTypes block.] A |
1024 |
> |
\begin{code}[caption={[An example of a DirectionalAtomTypes block.] A |
1025 |
|
simple example of a DirectionalAtomTypes block.}, |
1026 |
|
label={sch:datomTypesBlock}] |
1027 |
|
begin DirectionalAtomTypes |
1028 |
|
//Name I_xx I_yy I_zz (All moments in (amu*Ang^2) |
1029 |
|
SSD 1.7696 0.6145 1.1550 |
1029 |
– |
SSD_E 1.7696 0.6145 1.1550 |
1030 |
|
GBC6H6 88.781 88.781 177.561 |
1031 |
|
GBCH3OH 4.056 20.258 20.999 |
1032 |
|
GBH2O 1.777 0.581 1.196 |
1033 |
+ |
CO2 43.06 43.06 0.0 // single-site model for CO2 |
1034 |
|
end DirectionalAtomTypes |
1035 |
|
|
1036 |
< |
\end{lstlisting} |
1036 |
> |
\end{code} |
1037 |
|
|
1038 |
+ |
For a DirectionalAtom that represents a linear object, it is |
1039 |
+ |
appropriate for one of the moments of inertia to be zero. In this |
1040 |
+ |
case, OpenMD identifies that DirectionalAtom as having only 5 degrees |
1041 |
+ |
of freedom (three translations and two rotations), and will alter |
1042 |
+ |
calculation of temperatures to reflect this. |
1043 |
|
|
1044 |
< |
\subsection{\label{section::ffAtomProperties}AtomType properties} |
1045 |
< |
\subsubsection{\label{section:ffLJ}The LennardJonesAtomTypes block} |
1046 |
< |
The most basic interatomic interaction implemented in {\sc OpenMD} is |
1047 |
< |
the Lennard-Jones potential, which mimics the van der Waals |
1048 |
< |
interaction at long distances and uses an empirical repulsion at short |
1049 |
< |
distances. The Lennard-Jones potential is given by: |
1044 |
> |
\section{\label{section::ffAtomProperties}AtomType properties} |
1045 |
> |
\subsection{\label{section:ffLJ}The LennardJonesAtomTypes block} |
1046 |
> |
One of the most basic interatomic interactions implemented in {\sc |
1047 |
> |
OpenMD} is the Lennard-Jones potential, which mimics the van der |
1048 |
> |
Waals interaction at long distances and uses an empirical repulsion at |
1049 |
> |
short distances. The Lennard-Jones potential is given by: |
1050 |
|
\begin{equation} |
1051 |
|
V_{\text{LJ}}(r_{ij}) = |
1052 |
|
4\epsilon_{ij} \biggl[ |
1061 |
|
|
1062 |
|
Interactions between dissimilar particles requires the generation of |
1063 |
|
cross term parameters for $\sigma$ and $\epsilon$. These parameters |
1064 |
< |
are determined using the Lorentz-Berthelot mixing |
1064 |
> |
are usually determined using the Lorentz-Berthelot mixing |
1065 |
|
rules:\cite{Allen87} |
1066 |
|
\begin{equation} |
1067 |
|
\sigma_{ij} = \frac{1}{2}[\sigma_{ii} + \sigma_{jj}], |
1073 |
|
\label{eq:epsilonMix} |
1074 |
|
\end{equation} |
1075 |
|
|
1076 |
< |
\subsubsection{\label{section:ffCharge}The ChargeAtomTypes block} |
1077 |
< |
\subsubsection{\label{section:ffMultipole}The MultipoleAtomTypes block} |
1078 |
< |
The dipole-dipole potential has the following form: |
1076 |
> |
The values of $\sigma_{ii}$ and $\epsilon_{ii}$ are properties of atom |
1077 |
> |
type $i$, and must be specified in a section of the force field file |
1078 |
> |
called the {\tt LennardJonesAtomTypes} block (see listing |
1079 |
> |
\ref{sch:LJatomTypesBlock}). Separate Lennard-Jones interactions |
1080 |
> |
which are not determined by the mixing rules can also be specified in |
1081 |
> |
the {\tt NonbondedInteractionTypes} block (see section |
1082 |
> |
\ref{section:ffNBinteraction}). |
1083 |
> |
|
1084 |
> |
\begin{code}[caption={[An example of a LennardJonesAtomTypes block.] A |
1085 |
> |
simple example of a LennardJonesAtomTypee block. Units for |
1086 |
> |
$\epsilon$ are kcal / mol and for $\sigma$ are \AA\ .}, |
1087 |
> |
label={sch:LJatomTypesBlock}] |
1088 |
> |
begin LennardJonesAtomTypes |
1089 |
> |
//Name epsilon sigma |
1090 |
> |
O_TIP4P 0.1550 3.15365 |
1091 |
> |
O_TIP4P-Ew 0.16275 3.16435 |
1092 |
> |
O_TIP5P 0.16 3.12 |
1093 |
> |
O_TIP5P-E 0.178 3.097 |
1094 |
> |
O_SPCE 0.15532 3.16549 |
1095 |
> |
O_SPC 0.15532 3.16549 |
1096 |
> |
CH4 0.279 3.73 |
1097 |
> |
CH3 0.185 3.75 |
1098 |
> |
CH2 0.0866 3.95 |
1099 |
> |
CH 0.0189 4.68 |
1100 |
> |
end LennardJonesAtomTypes |
1101 |
> |
\end{code} |
1102 |
> |
|
1103 |
> |
\subsection{\label{section:ffCharge}The ChargeAtomTypes block} |
1104 |
> |
|
1105 |
> |
In molecular simulations, proper accumulation of the electrostatic |
1106 |
> |
interactions is essential and is one of the most |
1107 |
> |
computationally-demanding tasks. Most common molecular mechanics |
1108 |
> |
force fields represent atomic sites with full or partial charges |
1109 |
> |
protected by Lennard-Jones (short range) interactions. Partial charge |
1110 |
> |
values, $q_i$ are empirical representations of the distribution of |
1111 |
> |
electronic charge in a molecule. This means that nearly every pair |
1112 |
> |
interaction involves a calculation of charge-charge forces. Coupled |
1113 |
> |
with relatively long-ranged $r^{-1}$ decay, the monopole interactions |
1114 |
> |
quickly become the most expensive part of molecular simulations. The |
1115 |
> |
interactions between point charges can be handled via a number of |
1116 |
> |
different algorithms, but Coulomb's law is the fundamental physical |
1117 |
> |
principle governing these interactions, |
1118 |
|
\begin{equation} |
1119 |
+ |
V_{\text{charge}}(r_{ij}) = \sum_{ij}\frac{q_iq_je^2}{4 \pi \epsilon_0 |
1120 |
+ |
r_{ij}}, |
1121 |
+ |
\end{equation} |
1122 |
+ |
where $q$ represents the charge on particle $i$ or $j$, and $e$ is the |
1123 |
+ |
charge of an electron in Coulombs. $\epsilon_0$ is the permittivity |
1124 |
+ |
of free space. |
1125 |
+ |
|
1126 |
+ |
\begin{code}[caption={[An example of a ChargeAtomTypes block.] A |
1127 |
+ |
simple example of a ChargeAtomTypes block. Units for |
1128 |
+ |
charge are in multiples of electron charge.}, |
1129 |
+ |
label={sch:ChargeAtomTypesBlock}] |
1130 |
+ |
begin ChargeAtomTypes |
1131 |
+ |
// Name charge |
1132 |
+ |
O_TIP3P -0.834 |
1133 |
+ |
O_SPCE -0.8476 |
1134 |
+ |
H_TIP3P 0.417 |
1135 |
+ |
H_TIP4P 0.520 |
1136 |
+ |
H_SPCE 0.4238 |
1137 |
+ |
EP_TIP4P -1.040 |
1138 |
+ |
Na+ 1.0 |
1139 |
+ |
Cl- -1.0 |
1140 |
+ |
end ChargeAtomTypes |
1141 |
+ |
\end{code} |
1142 |
+ |
|
1143 |
+ |
\subsection{\label{section:ffMultipole}The MultipoleAtomTypes |
1144 |
+ |
block} |
1145 |
+ |
For complex charge distributions that are centered on single sites, it |
1146 |
+ |
is convenient to write the total electrostatic potential in terms of |
1147 |
+ |
multipole moments, |
1148 |
+ |
\begin{equation} |
1149 |
+ |
U_{\bf{ab}}(r)=\hat{M}_{\bf a} \hat{M}_{\bf b} \frac{1}{r} \label{kernel}. |
1150 |
+ |
\end{equation} |
1151 |
+ |
where the multipole operator on site $\bf a$, |
1152 |
+ |
\begin{equation} |
1153 |
+ |
\hat{M}_{\bf a} = C_{\bf a} - D_{{\bf a}\alpha} \frac{\partial}{\partial r_{\alpha}} |
1154 |
+ |
+ Q_{{\bf a}\alpha\beta} |
1155 |
+ |
\frac{\partial^2}{\partial r_{\alpha} \partial r_{\beta}} + \dots |
1156 |
+ |
\end{equation} |
1157 |
+ |
Here, the point charge, dipole, and quadrupole for site $\bf a$ are |
1158 |
+ |
given by $C_{\bf a}$, $D_{{\bf a}\alpha}$, and $Q_{{\bf |
1159 |
+ |
a}\alpha\beta}$, respectively. These are the {\it primitive} |
1160 |
+ |
multipoles. If the site is representing a distribution of charges, |
1161 |
+ |
these can be expressed as, |
1162 |
+ |
\begin{align} |
1163 |
+ |
C_{\bf a} =&\sum_{k \, \text{in \bf a}} q_k , \label{eq:charge} \\ |
1164 |
+ |
D_{{\bf a}\alpha} =&\sum_{k \, \text{in \bf a}} q_k r_{k\alpha}, \label{eq:dipole}\\ |
1165 |
+ |
Q_{{\bf a}\alpha\beta} =& \frac{1}{2} \sum_{k \, \text{in \bf a}} q_k |
1166 |
+ |
r_{k\alpha} r_{k\beta} . \label{eq:quadrupole} |
1167 |
+ |
\end{align} |
1168 |
+ |
Note that the definition of the primitive quadrupole here differs from |
1169 |
+ |
the standard traceless form, and contains an additional Taylor-series |
1170 |
+ |
based factor of $1/2$. |
1171 |
+ |
|
1172 |
+ |
The details of the multipolar interactions will be given later, but |
1173 |
+ |
many readers are familiar with the dipole-dipole potential: |
1174 |
+ |
\begin{equation} |
1175 |
|
V_{\text{dipole}}(\mathbf{r}_{ij},\boldsymbol{\Omega}_{i}, |
1176 |
< |
\boldsymbol{\Omega}_{j}) = \frac{|\mu_i||\mu_j|}{4\pi\epsilon_{0}r_{ij}^{3}} \biggl[ |
1176 |
> |
\boldsymbol{\Omega}_{j}) = \frac{|{\bf D}_i||{\bf D}_j|}{4\pi\epsilon_{0}r_{ij}^{3}} \biggl[ |
1177 |
|
\boldsymbol{\hat{u}}_{i} \cdot \boldsymbol{\hat{u}}_{j} |
1178 |
|
- |
1179 |
|
3(\boldsymbol{\hat{u}}_i \cdot \hat{\mathbf{r}}_{ij}) % |
1183 |
|
Here $\mathbf{r}_{ij}$ is the vector starting at atom $i$ pointing |
1184 |
|
towards $j$, and $\boldsymbol{\Omega}_i$ and $\boldsymbol{\Omega}_j$ |
1185 |
|
are the orientational degrees of freedom for atoms $i$ and $j$ |
1186 |
< |
respectively. The magnitude of the dipole moment of atom $i$ is |
1187 |
< |
$|\mu_i|$, $\boldsymbol{\hat{u}}_i$ is the standard unit orientation |
1186 |
> |
respectively. The magnitude of the dipole moment of atom $i$ is $|{\bf |
1187 |
> |
D}_i|$, $\boldsymbol{\hat{u}}_i$ is the standard unit orientation |
1188 |
|
vector of $\boldsymbol{\Omega}_i$, and $\boldsymbol{\hat{r}}_{ij}$ is |
1189 |
|
the unit vector pointing along $\mathbf{r}_{ij}$ |
1190 |
|
($\boldsymbol{\hat{r}}_{ij}=\mathbf{r}_{ij}/|\mathbf{r}_{ij}|$). |
1191 |
|
|
1091 |
– |
\subsubsection{\label{section:ffGB}The FluctuatingChargeAtomTypes block} |
1092 |
– |
\subsubsection{\label{section:ffPol}The PolarizableAtomTypes block} |
1093 |
– |
\subsubsection{\label{section:ffGB}The GayBerneAtomTypes block} |
1094 |
– |
\subsubsection{\label{section:ffSticky}The StickyAtomTypes block} |
1192 |
|
|
1193 |
< |
One of the solvents used by {\sc OpenMD} is the extended Soft Sticky |
1194 |
< |
Dipole (SSD/E) water model.\cite{fennell04} The original SSD was |
1195 |
< |
developed by Ichiye \emph{et al.}\cite{liu96:new_model} as a modified |
1196 |
< |
form of the hard-sphere water model proposed by Bratko, Blum, and |
1193 |
> |
\begin{code}[caption={[An example of a MultipoleAtomTypes block.] A |
1194 |
> |
simple example of a MultipoleAtomTypes block. Dipoles are given in |
1195 |
> |
units of Debyes, and Quadrupole moments are given in units of Debye |
1196 |
> |
\AA~(or $10^{-26} \mathrm{~esu~cm}^2$)}, |
1197 |
> |
label={sch:MultipoleAtomTypesBlock}] |
1198 |
> |
begin MultipoleAtomTypes |
1199 |
> |
// Euler angles are given in zxz convention in units of degrees. |
1200 |
> |
// |
1201 |
> |
// point dipoles: |
1202 |
> |
// name d phi theta psi dipole_moment |
1203 |
> |
DIP d 0.0 0.0 0.0 1.91 // dipole points along z-body axis |
1204 |
> |
// |
1205 |
> |
// point quadrupoles: |
1206 |
> |
// name q phi theta psi Qxx Qyy Qzz |
1207 |
> |
CO2 q 0.0 0.0 0.0 0.0 0.0 -0.430592 //quadrupole tensor has zz element |
1208 |
> |
// |
1209 |
> |
// Atoms with both dipole and quadrupole moments: |
1210 |
> |
// name dq phi theta psi dipole_moment Qxx Qyy Qzz |
1211 |
> |
SSD dq 0.0 0.0 0.0 2.35 -1.682 1.762 -0.08 |
1212 |
> |
end MultipoleAtomTypes |
1213 |
> |
\end{code} |
1214 |
> |
|
1215 |
> |
Specifying a MultipoleAtomType requires declaring how the |
1216 |
> |
electrostatic frame for the site is rotated relative to the body-fixed |
1217 |
> |
axes for that atom. The Euler angles $(\phi, \theta, \psi)$ for this |
1218 |
> |
rotation must be given, and then the dipole, quadrupole, or all of |
1219 |
> |
these moments are specified in the electrostatic frame. In OpenMD, |
1220 |
> |
the Euler angles are specified in the $zxz$ convention and are entered |
1221 |
> |
in units of degrees. Dipole moments are entered in units of Debye, |
1222 |
> |
and Quadrupole moments in units of Debye \AA. |
1223 |
> |
|
1224 |
> |
%\subsection{\label{section:ffGB}The FluctuatingChargeAtomTypes block} |
1225 |
> |
%\subsubsection{\label{section:ffPol}The PolarizableAtomTypes block} |
1226 |
> |
|
1227 |
> |
\subsection{\label{section:ffGB}The GayBerneAtomTypes block} |
1228 |
> |
|
1229 |
> |
The Gay-Berne potential has been widely used in the liquid crystal |
1230 |
> |
community to describe anisotropic phase |
1231 |
> |
behavior.~\cite{Gay:1981yu,Berne:1972pb,Kushick:1976xy,Luckhurst:1990fy,Cleaver:1996rt} |
1232 |
> |
The form of the Gay-Berne potential implemented in OpenMD was |
1233 |
> |
generalized by Cleaver {\it et al.} and is appropriate for dissimilar |
1234 |
> |
uniaxial ellipsoids.\cite{Cleaver:1996rt} The potential is constructed |
1235 |
> |
in the familiar form of the Lennard-Jones function using |
1236 |
> |
orientation-dependent $\sigma$ and $\epsilon$ parameters, |
1237 |
> |
\begin{equation*} |
1238 |
> |
V_{ij}({{\bf \hat u}_i}, {{\bf \hat u}_j}, {{\bf \hat |
1239 |
> |
r}_{ij}}) = 4\epsilon ({{\bf \hat u}_i}, {{\bf \hat u}_j}, |
1240 |
> |
{{\bf \hat r}_{ij}})\left[\left(\frac{\sigma_0}{r_{ij}-\sigma({{\bf \hat u |
1241 |
> |
}_i}, |
1242 |
> |
{{\bf \hat u}_j}, {{\bf \hat r}_{ij}})+\sigma_0}\right)^{12} |
1243 |
> |
-\left(\frac{\sigma_0}{r_{ij}-\sigma({{\bf \hat u}_i}, {{\bf \hat u}_j}, |
1244 |
> |
{{\bf \hat r}_{ij}})+\sigma_0}\right)^6\right] |
1245 |
> |
\label{eq:gb} |
1246 |
> |
\end{equation*} |
1247 |
> |
|
1248 |
> |
The range $(\sigma({\bf \hat{u}}_{i},{\bf \hat{u}}_{j},{\bf |
1249 |
> |
\hat{r}}_{ij}))$, and strength $(\epsilon({\bf \hat{u}}_{i},{\bf |
1250 |
> |
\hat{u}}_{j},{\bf \hat{r}}_{ij}))$ parameters |
1251 |
> |
are dependent on the relative orientations of the two ellipsoids (${\bf |
1252 |
> |
\hat{u}}_{i},{\bf \hat{u}}_{j}$) as well as the direction of the |
1253 |
> |
inter-ellipsoid separation (${\bf \hat{r}}_{ij}$). The shape and |
1254 |
> |
attractiveness of each ellipsoid is governed by a relatively small set |
1255 |
> |
of parameters: |
1256 |
> |
\begin{itemize} |
1257 |
> |
\item $d$: range parameter for the side-by-side (S) and cross (X) configurations |
1258 |
> |
\item $l$: range parameter for the end-to-end (E) configuration |
1259 |
> |
\item $\epsilon_X$: well-depth parameter for the cross (X) configuration |
1260 |
> |
\item $\epsilon_S$: well-depth parameter for the side-by-side (S) configuration |
1261 |
> |
\item $\epsilon_E$: well depth parameter for the end-to-end (E) configuration |
1262 |
> |
\item $dw$: The ``softness'' of the potential |
1263 |
> |
\end{itemize} |
1264 |
> |
Additionally, there are two universal paramters to govern the overall |
1265 |
> |
importance of the purely orientational ($\nu$) and the mixed |
1266 |
> |
orientational / translational ($\mu$) parts of strength of the |
1267 |
> |
interactions. These parameters have default or ``canonical'' values, |
1268 |
> |
but may be changed as a force field option: |
1269 |
> |
\begin{itemize} |
1270 |
> |
\item $\nu$: purely orientational part : defaults to 1 |
1271 |
> |
\item $\mu$: mixed orientational / translational part : defaults to |
1272 |
> |
2 |
1273 |
> |
\end{itemize} |
1274 |
> |
Further details of the potential are given |
1275 |
> |
elsewhere,\cite{Luckhurst:1990fy,Golubkov06,SunX._jp0762020} and an |
1276 |
> |
excellent overview of the computational methods that can be used to |
1277 |
> |
efficiently compute forces and torques for this potential can be found |
1278 |
> |
in Ref. \citealp{Golubkov06} |
1279 |
> |
|
1280 |
> |
\begin{code}[caption={[An example of a GayBerneAtomTypes block.] A |
1281 |
> |
simple example of a GayBerneAtomTypes block. Distances ($d$ and $l$) |
1282 |
> |
are given in \AA\ and energies ($\epsilon_X, \epsilon_S, \epsilon_E$) |
1283 |
> |
are in units of kcal/mol. $dw$ is unitless.}, |
1284 |
> |
label={sch:GayBerneAtomTypes}] |
1285 |
> |
begin GayBerneAtomTypes |
1286 |
> |
//Name d l eps_X eps_S eps_E dw |
1287 |
> |
GBlinear 2.8104 9.993 0.774729 0.774729 0.116839 1.0 |
1288 |
> |
GBC6H6 4.65 2.03 0.540 0.540 1.9818 0.6 |
1289 |
> |
GBCH3OH 2.55 3.18 0.542 0.542 0.55826 1.0 |
1290 |
> |
end GayBerneAtomTypes |
1291 |
> |
\end{code} |
1292 |
> |
|
1293 |
> |
\subsection{\label{section:ffSticky}The StickyAtomTypes block} |
1294 |
> |
|
1295 |
> |
One of the solvents that can be simulated by {\sc OpenMD} is the |
1296 |
> |
extended Soft Sticky Dipole (SSD/E) water model.\cite{fennell04} The |
1297 |
> |
original SSD was developed by Ichiye \emph{et |
1298 |
> |
al.}\cite{liu96:new_model} as a modified form of the hard-sphere |
1299 |
> |
water model proposed by Bratko, Blum, and |
1300 |
|
Luzar.\cite{Bratko85,Bratko95} It consists of a single point dipole |
1301 |
|
with a Lennard-Jones core and a sticky potential that directs the |
1302 |
|
particles to assume the proper hydrogen bond orientation in the first |
1379 |
|
|
1380 |
|
Recent constant pressure simulations revealed issues in the original |
1381 |
|
SSD model that led to lower than expected densities at all target |
1382 |
< |
pressures.\cite{Ichiye03,fennell04} The default model in {\sc OpenMD} |
1383 |
< |
is therefore SSD/E, a density corrected derivative of SSD that |
1384 |
< |
exhibits improved liquid structure and transport behavior. If the use |
1385 |
< |
of a reaction field long-range interaction correction is desired, it |
1386 |
< |
is recommended that the parameters be modified to those of the SSD/RF |
1387 |
< |
model (an SSD variant parameterized for reaction field). These solvent |
1188 |
< |
parameters are listed and can be easily modified in the {\sc duff} |
1189 |
< |
force field file ({\tt DUFF.frc}). A table of the parameter values |
1190 |
< |
and the drawbacks and benefits of the different density corrected SSD |
1191 |
< |
models can be found in reference~\cite{fennell04}. |
1382 |
> |
pressures,\cite{Ichiye03,fennell04} so variants on the sticky |
1383 |
> |
potential can be specified by using one of a number of substitute atom |
1384 |
> |
types (see listing \ref{sch:StickyAtomTypes}). A table of the |
1385 |
> |
parameter values and the drawbacks and benefits of the different |
1386 |
> |
density corrected SSD models can be found in |
1387 |
> |
reference~\citealp{fennell04}. |
1388 |
|
|
1389 |
< |
\subsection{\label{section::ffMetals}Metallic Atom Types} |
1390 |
< |
\subsubsection{\label{section:ffEAM}The EAMAtomTypes block} |
1391 |
< |
{\sc OpenMD} implements a potential that describes bonding in |
1392 |
< |
transition metal |
1393 |
< |
systems.~\cite{Finnis84,Ercolessi88,Chen90,Qi99,Ercolessi02} This |
1394 |
< |
potential has an attractive interaction which models ``Embedding'' a |
1395 |
< |
positively charged pseudo-atom core in the electron density due to the |
1396 |
< |
free valance ``sea'' of electrons created by the surrounding atoms in |
1397 |
< |
the system. A pairwise part of the potential (which is primarily |
1398 |
< |
repulsive) describes the interaction of the positively charged metal |
1399 |
< |
core ions with one another. The Embedded Atom Method ({\sc |
1400 |
< |
eam})~\cite{Daw84,FBD86,johnson89,Lu97} has been widely adopted in the |
1401 |
< |
materials science community and has been included in {\sc OpenMD}. A |
1206 |
< |
good review of {\sc eam} and other formulations of metallic potentials |
1207 |
< |
was given by Voter.\cite{Voter:95} |
1389 |
> |
\begin{code}[caption={[An example of a StickyAtomTypes block.] A |
1390 |
> |
simple example of a StickyAtomTypes block. Distances ($r_l$, $r_u$, |
1391 |
> |
$r_{l}'$ and $r_{u}'$) are given in \AA\ and energies ($v_0, v_{0}'$) |
1392 |
> |
are in units of kcal/mol. $w_0$ is unitless.}, |
1393 |
> |
label={sch:StickyAtomTypes}] |
1394 |
> |
begin StickyAtomTypes |
1395 |
> |
//name w0 v0 (kcal/mol) v0p rl (Ang) ru rlp rup |
1396 |
> |
SSD_E 0.07715 3.90 3.90 2.40 3.80 2.75 3.35 |
1397 |
> |
SSD_RF 0.07715 3.90 3.90 2.40 3.80 2.75 3.35 |
1398 |
> |
SSD 0.07715 3.7284 3.7284 2.75 3.35 2.75 4.0 |
1399 |
> |
SSD1 0.07715 3.6613 3.6613 2.75 3.35 2.75 4.0 |
1400 |
> |
end StickyAtomTypes |
1401 |
> |
\end{code} |
1402 |
|
|
1403 |
< |
The {\sc eam} potential has the form: |
1403 |
> |
\section{\label{section::ffMetals}Metallic Atom Types} |
1404 |
> |
|
1405 |
> |
{\sc OpenMD} implements a number of related potentials that describe |
1406 |
> |
bonding in transition metals. These potentials have an attractive |
1407 |
> |
interaction which models ``Embedding'' a positively charged |
1408 |
> |
pseudo-atom core in the electron density due to the free valance |
1409 |
> |
``sea'' of electrons created by the surrounding atoms in the system. |
1410 |
> |
A pairwise part of the potential (which is primarily repulsive) |
1411 |
> |
describes the interaction of the positively charged metal core ions |
1412 |
> |
with one another. These potentials have the form: |
1413 |
|
\begin{equation} |
1414 |
|
V = \sum_{i} F_{i}\left[\rho_{i}\right] + \sum_{i} \sum_{j \neq i} |
1415 |
|
\phi_{ij}({\bf r}_{ij}) |
1426 |
|
transition metal potentials require two loops through the atom pairs |
1427 |
|
to compute the inter-atomic forces. |
1428 |
|
|
1429 |
< |
The pairwise portion of the potential, $\phi_{ij}$, is a primarily |
1430 |
< |
repulsive interaction between atoms $i$ and $j$. In the original |
1228 |
< |
formulation of {\sc eam}\cite{Daw84}, $\phi_{ij}$ was an entirely |
1229 |
< |
repulsive term; however later refinements to {\sc eam} allowed for |
1230 |
< |
more general forms for $\phi$.\cite{Daw89} The effective cutoff |
1231 |
< |
distance, $r_{{\text cut}}$ is the distance at which the values of |
1232 |
< |
$f(r)$ and $\phi(r)$ drop to zero for all atoms present in the |
1233 |
< |
simulation. In practice, this distance is fairly small, limiting the |
1234 |
< |
summations in the {\sc eam} equation to the few dozen atoms |
1235 |
< |
surrounding atom $i$ for both the density $\rho$ and pairwise $\phi$ |
1236 |
< |
interactions. |
1429 |
> |
The pairwise portion of the potential, $\phi_{ij}$, is usually a |
1430 |
> |
repulsive interaction between atoms $i$ and $j$. |
1431 |
|
|
1432 |
< |
In computing forces for alloys, mixing rules as outlined by |
1433 |
< |
Johnson~\cite{johnson89} are used to compute the heterogenous pair |
1434 |
< |
potential, |
1432 |
> |
\subsection{\label{section:ffEAM}The EAMAtomTypes block} |
1433 |
> |
The Embedded Atom Method ({\sc eam}) is one of the most widely-used |
1434 |
> |
potentials for transition |
1435 |
> |
metals.~\cite{Finnis84,Ercolessi88,Chen90,Qi99,Ercolessi02,Daw84,FBD86,johnson89,Lu97} |
1436 |
> |
It has been widely adopted in the materials science community and a |
1437 |
> |
good review of {\sc eam} and other formulations of metallic potentials |
1438 |
> |
was given by Voter.\cite{Voter:95} |
1439 |
> |
|
1440 |
> |
In the original formulation of {\sc eam}\cite{Daw84}, the pair |
1441 |
> |
potential, $\phi_{ij}$ was an entirely repulsive term; however later |
1442 |
> |
refinements to {\sc eam} allowed for more general forms for |
1443 |
> |
$\phi$.\cite{Daw89} The effective cutoff distance, $r_{{\text cut}}$ |
1444 |
> |
is the distance at which the values of $f(r)$ and $\phi(r)$ drop to |
1445 |
> |
zero for all atoms present in the simulation. In practice, this |
1446 |
> |
distance is fairly small, limiting the summations in the {\sc eam} |
1447 |
> |
equation to the few dozen atoms surrounding atom $i$ for both the |
1448 |
> |
density $\rho$ and pairwise $\phi$ interactions. |
1449 |
> |
|
1450 |
> |
In computing forces for alloys, OpenMD uses mixing rules outlined by |
1451 |
> |
Johnson~\cite{johnson89} to compute the heterogenous pair potential, |
1452 |
|
\begin{equation} |
1453 |
|
\label{eq:johnson} |
1454 |
|
\phi_{ab}(r)=\frac{1}{2}\left( |
1480 |
|
$\mbox{kcal mol}^{-1}$ as in the rest of the {\sc OpenMD} force field |
1481 |
|
files. |
1482 |
|
|
1483 |
< |
\subsubsection{\label{section:ffSC}The SuttonChenAtomTypes block} |
1483 |
> |
\begin{code}[caption={[An example of a EAMAtomTypes block.] A |
1484 |
> |
simple example of a EAMAtomTypes block. Here the only data provided is |
1485 |
> |
the name of a {\tt funcfl} file which contains the raw data for spline |
1486 |
> |
interpolations for the density, functional, and pair potential.}, |
1487 |
> |
label={sch:EAMAtomTypes}] |
1488 |
> |
begin EAMAtomTypes |
1489 |
> |
Au Au.u3.funcfl |
1490 |
> |
Ag Ag.u3.funcfl |
1491 |
> |
Cu Cu.u3.funcfl |
1492 |
> |
Ni Ni.u3.funcfl |
1493 |
> |
Pd Pd.u3.funcfl |
1494 |
> |
Pt Pt.u3.funcfl |
1495 |
> |
end EAMAtomTypes |
1496 |
> |
\end{code} |
1497 |
|
|
1498 |
+ |
\subsection{\label{section:ffSC}The SuttonChenAtomTypes block} |
1499 |
+ |
|
1500 |
|
The Sutton-Chen ({\sc sc})~\cite{Chen90} potential has been used to |
1501 |
< |
study a wide range of phenomena in metals. Although it is similar in |
1502 |
< |
form to the {\sc eam} potential, the Sutton-Chen model takes on a |
1503 |
< |
simpler form, |
1501 |
> |
study a wide range of phenomena in metals. Although it has the same |
1502 |
> |
basic form as the {\sc eam} potential, the Sutton-Chen model requires |
1503 |
> |
a simpler set of parameters, |
1504 |
|
\begin{equation} |
1505 |
|
\label{eq:SCP1} |
1506 |
|
U_{tot}=\sum _{i}\left[ \frac{1}{2}\sum _{j\neq |
1507 |
< |
i}D_{ij}V^{pair}_{ij}(r_{ij})-c_{i}D_{ii}\sqrt{\rho_{i}}\right] , |
1507 |
> |
i}\epsilon_{ij}V^{pair}_{ij}(r_{ij})-c_{i}\epsilon_{ii}\sqrt{\rho_{i}}\right] , |
1508 |
|
\end{equation} |
1509 |
|
where $V^{pair}_{ij}$ and $\rho_{i}$ are given by |
1510 |
|
\begin{equation} |
1511 |
|
\label{eq:SCP2} |
1512 |
|
V^{pair}_{ij}(r)=\left( |
1513 |
< |
\frac{\alpha_{ij}}{r_{ij}}\right)^{n_{ij}}, \rho_{i}=\sum_{j\neq i}\left( |
1513 |
> |
\frac{\alpha_{ij}}{r_{ij}}\right)^{n_{ij}} \hspace{1in} \rho_{i}=\sum_{j\neq i}\left( |
1514 |
|
\frac{\alpha_{ij}}{r_{ij}}\right) ^{m_{ij}} |
1515 |
|
\end{equation} |
1516 |
|
|
1518 |
|
interactions of the pseudo-atom cores. The $\sqrt{\rho_i}$ term in |
1519 |
|
Eq. (\ref{eq:SCP1}) is an attractive many-body potential that models |
1520 |
|
the interactions between the valence electrons and the cores of the |
1521 |
< |
pseudo-atoms. $D_{ij}$, $D_{ii}$, $c_i$ and $\alpha_{ij}$ are |
1522 |
< |
parameters used to tune the potential for different transition |
1523 |
< |
metals. |
1521 |
> |
pseudo-atoms. $\epsilon_{ij}$, $\epsilon_{ii}$, $c_i$ and |
1522 |
> |
$\alpha_{ij}$ are parameters used to tune the potential for different |
1523 |
> |
transition metals. |
1524 |
|
|
1525 |
|
The {\sc sc} potential form has also been parameterized by Qi {\it et |
1526 |
|
al.}\cite{Qi99} These parameters were obtained via empirical and {\it |
1527 |
|
ab initio} calculations to match structural features of the FCC |
1528 |
< |
crystal. To specify the original Sutton-Chen variant of the {\sc sc} |
1529 |
< |
force field, the user would add the {\tt forceFieldVariant = "SC";} |
1304 |
< |
line to the meta-data file, while specification of the Qi {\it et al.} |
1305 |
< |
quantum-adapted variant of the {\sc sc} potential, the user would add |
1306 |
< |
the {\tt forceFieldVariant = "QSC";} line to the meta-data file. |
1528 |
> |
crystal. Interested readers are encouraged to consult reference |
1529 |
> |
\citealp{Qi99} for further details. |
1530 |
|
|
1531 |
< |
\subsection{\label{section::ffShortRange}Short Range Interactions} |
1532 |
< |
\subsubsection{\label{section:ffBond}The BondTypes block} |
1533 |
< |
\subsubsection{\label{section:ffBend}The BendTypes block} |
1534 |
< |
A harmonic bend potential is represented by the following function: |
1535 |
< |
\begin{equation} |
1536 |
< |
V_{\text{bend}}(\theta_{ijk}) = k_{\theta}( \theta_{ijk} - \theta_0 |
1537 |
< |
)^2, \label{eq:bendPot} |
1538 |
< |
\end{equation} |
1539 |
< |
where $\theta_{ijk}$ is the angle defined by atoms $i$, $j$, and $k$, |
1540 |
< |
$\theta_0$ is the equilibrium bond angle, and $k_{\theta}$ is the |
1541 |
< |
force constant which determines the strength of the harmonic bend. |
1531 |
> |
\begin{code}[caption={[An example of a SCAtomTypes block.] A |
1532 |
> |
simple example of a SCAtomTypes block. Distances ($\alpha$) |
1533 |
> |
are given in \AA\ and energies ($\epsilon$) are (by convention) given in |
1534 |
> |
units of eV. These units must be specified in the {\tt Options} block |
1535 |
> |
using the keyword {\tt MetallicEnergyUnitScaling}. Without this {\tt |
1536 |
> |
Options} keyword, the default units for $\epsilon$ are kcal/mol. The |
1537 |
> |
other parameters, $m$, $n$, and $c$ are unitless.}, |
1538 |
> |
label={sch:SCAtomTypes}] |
1539 |
> |
begin SCAtomTypes |
1540 |
> |
// Name epsilon(eV) c m n alpha(angstroms) |
1541 |
> |
Ni 0.0073767 84.745 5.0 10.0 3.5157 |
1542 |
> |
Cu 0.0057921 84.843 5.0 10.0 3.6030 |
1543 |
> |
Rh 0.0024612 305.499 5.0 13.0 3.7984 |
1544 |
> |
Pd 0.0032864 148.205 6.0 12.0 3.8813 |
1545 |
> |
Ag 0.0039450 96.524 6.0 11.0 4.0691 |
1546 |
> |
Ir 0.0037674 224.815 6.0 13.0 3.8344 |
1547 |
> |
Pt 0.0097894 71.336 7.0 11.0 3.9163 |
1548 |
> |
Au 0.0078052 53.581 8.0 11.0 4.0651 |
1549 |
> |
Au2 0.0078052 53.581 8.0 11.0 4.0651 |
1550 |
> |
end SCAtomTypes |
1551 |
> |
\end{code} |
1552 |
|
|
1553 |
< |
\subsubsection{\label{section:ffTorsion}The TorsionTypes block} |
1554 |
< |
The torsion potential is often represented as a cosine series of the |
1555 |
< |
form: |
1556 |
< |
\begin{equation} |
1324 |
< |
V_{\text{torsion}}(\phi) = c_1[1 + \cos \phi] |
1325 |
< |
+ c_2[1 + \cos(2\phi)] |
1326 |
< |
+ c_3[1 + \cos(3\phi)], |
1327 |
< |
\label{eq:origTorsionPot} |
1328 |
< |
\end{equation} |
1329 |
< |
where: |
1330 |
< |
\begin{equation} |
1331 |
< |
\cos\phi = (\hat{\mathbf{r}}_{ij} \times \hat{\mathbf{r}}_{jk}) \cdot |
1332 |
< |
(\hat{\mathbf{r}}_{jk} \times \hat{\mathbf{r}}_{kl}). |
1333 |
< |
\label{eq:torsPhi} |
1334 |
< |
\end{equation} |
1335 |
< |
Here, $\hat{\mathbf{r}}_{\alpha\beta}$ are the set of unit bond |
1336 |
< |
vectors between atoms $i$, $j$, $k$, and $l$. For computational |
1337 |
< |
efficiency, the torsion potential has been recast after the method of |
1338 |
< |
{\sc charmm},\cite{Brooks83} in which the angle series is converted to |
1339 |
< |
a power series of the form: |
1340 |
< |
\begin{equation} |
1341 |
< |
V_{\text{torsion}}(\phi) = |
1342 |
< |
k_3 \cos^3 \phi + k_2 \cos^2 \phi + k_1 \cos \phi + k_0, |
1343 |
< |
\label{eq:torsionPot} |
1344 |
< |
\end{equation} |
1345 |
< |
where: |
1553 |
> |
\section{\label{section::ffShortRange}Short Range Interactions} |
1554 |
> |
The internal structure of a molecule is usually specified in terms of |
1555 |
> |
a set of ``bonded'' terms in the potential energy function for |
1556 |
> |
molecule $I$, |
1557 |
|
\begin{align*} |
1558 |
< |
k_0 &= c_1 + c_3, \\ |
1559 |
< |
k_1 &= c_1 - 3c_3, \\ |
1560 |
< |
k_2 &= 2 c_2, \\ |
1561 |
< |
k_3 &= 4c_3. |
1558 |
> |
V^{I}_{\text{Internal}} = & |
1559 |
> |
\sum_{r_{ij} \in I} V_{\text{bond}}(r_{ij}) |
1560 |
> |
+ \sum_{\theta_{ijk} \in I} V_{\text{bend}}(\theta_{ijk}) |
1561 |
> |
+ \sum_{\phi_{ijkl} \in I} V_{\text{torsion}}(\phi_{ijkl}) |
1562 |
> |
+ \sum_{\omega_{ijkl} \in I} V_{\text{inversion}}(\omega_{ijkl}) \\ |
1563 |
> |
& + \sum_{i \in I} \sum_{(j>i+4) \in I} |
1564 |
> |
\biggl[ V_{\text{dispersion}}(r_{ij}) + V_{\text{electrostatic}} |
1565 |
> |
(\mathbf{r}_{ij},\boldsymbol{\Omega}_{i},\boldsymbol{\Omega}_{j}) |
1566 |
> |
\biggr]. |
1567 |
> |
\label{eq:internalPotential} |
1568 |
|
\end{align*} |
1569 |
< |
By recasting the potential as a power series, repeated trigonometric |
1570 |
< |
evaluations are avoided during the calculation of the potential |
1571 |
< |
energy. |
1569 |
> |
Here $V_{\text{bond}}, V_{\text{bend}}, |
1570 |
> |
V_{\text{torsion}},\mathrm{~and~} V_{\text{inversion}}$ represent the |
1571 |
> |
bond, bend, torsion, and inversion potentials for all |
1572 |
> |
topologically-connected sets of atoms within the molecule. Bonds are |
1573 |
> |
the primary way of specifying how the atoms are connected together to |
1574 |
> |
form the molecule (i.e. they define the molecular topology). The |
1575 |
> |
other short-range interactions may be specified explicitly in the |
1576 |
> |
molecule definition, or they may be deduced from bonding information. |
1577 |
> |
For example, bends can be implicitly deduced from two bonds which |
1578 |
> |
share an atom. Torsions can be deduced from two bends that share a |
1579 |
> |
bond. Inversion potentials are utilized primarily to enforce |
1580 |
> |
planarity around $sp^2$-hybridized sites, and these are specified with |
1581 |
> |
central atoms and satellites (or an atom with bonds to exactly three |
1582 |
> |
satellites). Non-bonded interactions are usually excluded for atom |
1583 |
> |
pairs that are involved in the same bond, bend, or torsion, but all |
1584 |
> |
other atom pairs are included in the standard non-bonded interactions. |
1585 |
|
|
1586 |
< |
\subsubsection{\label{section:ffInversion}The InversionTypes block} |
1587 |
< |
\subsection{\label{section::ffLongRange}Long Range Interactions} |
1588 |
< |
\subsubsection{\label{section:ffInversion}The NonBondedInteraction block} |
1586 |
> |
Bond lengths, angles, and torsions (dihedrals) are ``natural'' |
1587 |
> |
coordinates to treat molecular motion, as it is usually in these |
1588 |
> |
coordinates that most chemists understand the behavior of molecules. |
1589 |
> |
The bond lengths and angles are often considered ``hard'' degrees of |
1590 |
> |
freedom. That is, we can't deform them very much without a |
1591 |
> |
significant energetic penalty. On the other hand, dihedral angles or |
1592 |
> |
torsions are ``soft'' and typically undergo significant deformation |
1593 |
> |
under normal conditions. |
1594 |
|
|
1595 |
+ |
\subsection{\label{section:ffBond}The BondTypes block} |
1596 |
|
|
1597 |
< |
|
1598 |
< |
(see Fig.~\ref{fig:lipidModel}), The parameters for $k_{\theta}$ and |
1599 |
< |
$\theta_0$ are borrowed from those in TraPPE.\cite{Siepmann1998} |
1600 |
< |
|
1601 |
< |
Calculating the long-range (non-bonded) potential involves a sum over |
1602 |
< |
all pairs of atoms (except for those atoms which are involved in a |
1603 |
< |
bond, bend, or torsion with each other). If done poorly, calculating |
1604 |
< |
the the long-range interactions for $N$ atoms would involve $N(N-1)/2$ |
1605 |
< |
evaluations of atomic distances. To reduce the number of distance |
1606 |
< |
evaluations between pairs of atoms, {\sc OpenMD} allows the use of |
1607 |
< |
switched cutoffs with Verlet neighbor lists.\cite{Allen87} Neutral |
1608 |
< |
groups which contain charges will exhibit pathological forces unless |
1609 |
< |
the cutoff is applied to the neutral groups evenly instead of to the |
1374 |
< |
individual atoms.\cite{leach01:mm} {\sc OpenMD} allows users to |
1375 |
< |
specify cutoff groups which may contain an arbitrary number of atoms |
1376 |
< |
in the molecule. Atoms in a cutoff group are treated as a single unit |
1377 |
< |
for the evaluation of the switching function: |
1597 |
> |
Bonds are the primary way to specify how the atoms are connected |
1598 |
> |
together to form the molecule. In general, bonds exert strong |
1599 |
> |
restoring forces to keep the molecule compact. The bond energy |
1600 |
> |
functions are relatively simple functions of the distance between two |
1601 |
> |
atomic sites, |
1602 |
> |
\begin{equation} |
1603 |
> |
b = \left| \vec{r}_{ij} \right| = \sqrt{(x_j - x_i)^2 + (y_j - y_i)^2 |
1604 |
> |
+ (z_j - z_i)^2}. |
1605 |
> |
\end{equation} |
1606 |
> |
All BondTypes must specify two AtomType names ($i$ and $j$) that |
1607 |
> |
describe when that bond should be applied, as well as an equilibrium |
1608 |
> |
bond length, $b_{ij}^0$, in units of \AA. The most common forms for |
1609 |
> |
bonding potentials are {\tt Harmonic} bonds, |
1610 |
|
\begin{equation} |
1611 |
< |
V_{\mathrm{long-range}} = \sum_{a} \sum_{b>a} s(r_{ab}) \sum_{i \in a} \sum_{j \in b} V_{ij}(r_{ij}), |
1611 |
> |
V_{\text{bond}}(b) = \frac{k_{ij}}{2} \left(b - |
1612 |
> |
b_{ij}^0 \right)^2 |
1613 |
|
\end{equation} |
1614 |
< |
where $r_{ab}$ is the distance between the centers of mass of the two |
1382 |
< |
cutoff groups ($a$ and $b$). |
1383 |
< |
|
1384 |
< |
The sums over $a$ and $b$ are over the cutoff groups that are present |
1385 |
< |
in the simulation. Atoms which are not explicitly defined as members |
1386 |
< |
of a {\tt cutoffGroup} are treated as a group consisting of only one |
1387 |
< |
atom. The switching function, $s(r)$ is the standard cubic switching |
1388 |
< |
function, |
1614 |
> |
and {\tt Morse} bonds, |
1615 |
|
\begin{equation} |
1616 |
< |
S(r) = |
1391 |
< |
\begin{cases} |
1392 |
< |
1 & \text{if $r \le r_{\text{sw}}$},\\ |
1393 |
< |
\frac{(r_{\text{cut}} + 2r - 3r_{\text{sw}})(r_{\text{cut}} - r)^2} |
1394 |
< |
{(r_{\text{cut}} - r_{\text{sw}})^3} |
1395 |
< |
& \text{if $r_{\text{sw}} < r \le r_{\text{cut}}$}, \\ |
1396 |
< |
0 & \text{if $r > r_{\text{cut}}$.} |
1397 |
< |
\end{cases} |
1398 |
< |
\label{eq:dipoleSwitching} |
1616 |
> |
V_{\text{bond}}(b) = D_{ij} \left[ 1 - e^{-\beta_{ij} (b - b_{ij}^0)} \right]^2 |
1617 |
|
\end{equation} |
1400 |
– |
Here, $r_{\text{sw}}$ is the {\tt switchingRadius}, or the distance |
1401 |
– |
beyond which interactions are reduced, and $r_{\text{cut}}$ is the |
1402 |
– |
{\tt cutoffRadius}, or the distance at which interactions are |
1403 |
– |
truncated. |
1618 |
|
|
1619 |
< |
Users of {\sc OpenMD} do not need to specify the {\tt cutoffRadius} or |
1620 |
< |
{\tt switchingRadius}. In simulations containing only Lennard-Jones |
1621 |
< |
atoms, the cutoff radius has a default value of $2.5\sigma_{ii}$, |
1622 |
< |
where $\sigma_{ii}$ is the largest Lennard-Jones length parameter |
1623 |
< |
present in the simulation. In simulations containing charged or |
1624 |
< |
dipolar atoms, the default cutoff radius is $15 \mbox{\AA}$. |
1619 |
> |
\begin{figure}[h] |
1620 |
> |
\centering |
1621 |
> |
\includegraphics[width=2.5in]{bond.pdf} |
1622 |
> |
\caption[Bond coordinates]{The coordinate describing a |
1623 |
> |
a bond between atoms $i$ and $j$ is $|r_{ij}|$, the length of the |
1624 |
> |
$\vec{r}_{ij}$ vector. } |
1625 |
> |
\label{fig:bond} |
1626 |
> |
\end{figure} |
1627 |
|
|
1628 |
< |
The {\tt switchingRadius} is set to a default value of 95\% of the |
1629 |
< |
{\tt cutoffRadius}. In the special case of a simulation containing |
1630 |
< |
{\it only} Lennard-Jones atoms, the default switching radius takes the |
1631 |
< |
same value as the cutoff radius, and {\sc OpenMD} will use a shifted |
1632 |
< |
potential to remove discontinuities in the potential at the cutoff. |
1633 |
< |
Both radii may be specified in the meta-data file. |
1628 |
> |
OpenMD can also simulate some less common types of bond potentials, |
1629 |
> |
including {\tt Fixed} bonds (which are constrained to be at a |
1630 |
> |
specified bond length), |
1631 |
> |
\begin{equation} |
1632 |
> |
V_{\text{bond}}(b) = 0. |
1633 |
> |
\end{equation} |
1634 |
> |
{\tt Cubic} bonds include terms to model anharmonicity, |
1635 |
> |
\begin{equation} |
1636 |
> |
V_{\text{bond}}(b) = K_3 (b - b_{ij}^0)^3 + K_2 (b - b_{ij}^0)^2 + K_1 (b - b_{ij}^0) + K_0, |
1637 |
> |
\end{equation} |
1638 |
> |
and {\tt Quartic} bonds, include another term in the Taylor |
1639 |
> |
expansion around $b_{ij}^0$, |
1640 |
> |
\begin{equation} |
1641 |
> |
V_{\text{bond}}(b) = K_4 (b - b_{ij}^0)^4 + K_3 (b - b_{ij}^0)^3 + |
1642 |
> |
K_2 (b - b_{ij}^0)^2 + K_1 (b - b_{ij}^0) + K_0, |
1643 |
> |
\end{equation} |
1644 |
> |
can also be simulated. Note that the factor of $1/2$ that is included |
1645 |
> |
in the {\tt Harmonic} bond type force constant is {\it not} present in |
1646 |
> |
either the {\tt Cubic} or {\tt Quartic} bond types. |
1647 |
|
|
1648 |
< |
Force fields can be added to {\sc OpenMD}, although it comes with a few |
1649 |
< |
simple examples (Lennard-Jones, {\sc duff}, {\sc water}, and {\sc |
1650 |
< |
eam}) which are explained in the following sections. |
1648 |
> |
{\tt Polynomial} bonds which can have any number of terms, |
1649 |
> |
\begin{equation} |
1650 |
> |
V_{\text{bond}}(b) = \sum_n K_n (b - b_{ij}^0)^n. |
1651 |
> |
\end{equation} |
1652 |
> |
can also be specified by giving a sequence of integer ($n$) and force |
1653 |
> |
constant ($K_n$) pairs. |
1654 |
|
|
1655 |
< |
\section{\label{sec:LJPot}The Lennard Jones Force Field} |
1655 |
> |
The order of terms in the BondTypes block is: |
1656 |
> |
\begin{itemize} |
1657 |
> |
\item {\tt AtomType} 1 |
1658 |
> |
\item {\tt AtomType} 2 |
1659 |
> |
\item {\tt BondType} (one of {\tt Harmonic}, {\tt Morse}, {\tt Fixed}, {\tt |
1660 |
> |
Cubic}, {\tt Quartic}, or {\tt Polynomial}) |
1661 |
> |
\item $b_{ij}^0$, the equilibrium bond length in \AA |
1662 |
> |
\item any other parameters required by the {\tt BondType} |
1663 |
> |
\end{itemize} |
1664 |
|
|
1665 |
< |
Scheme |
1666 |
< |
\ref{sch:LJFF} gives an example meta-data file that |
1667 |
< |
sets up a system of 108 Ar particles to be simulated using the |
1668 |
< |
Lennard-Jones force field. |
1665 |
> |
\begin{code}[caption={[An example of a BondTypes block.] A |
1666 |
> |
simple example of a BondTypes block. Distances ($b_0$) |
1667 |
> |
are given in \AA\ and force constants are given in |
1668 |
> |
units so that when multiplied by the correct power of distance they |
1669 |
> |
return energies in kcal/mol. For example $k$ for a Harmonic bond is |
1670 |
> |
in units of kcal/mol/\AA$^2$.}, |
1671 |
> |
label={sch:BondTypes}] |
1672 |
> |
begin BondTypes |
1673 |
> |
//Atom1 Atom2 Harmonic b0 k (kcal/mol/A^2) |
1674 |
> |
CH2 CH2 Harmonic 1.526 260 |
1675 |
> |
//Atom1 Atom2 Morse b0 D beta (A^-1) |
1676 |
> |
CN NC Morse 1.157437 212.95 2.5802 |
1677 |
> |
//Atom1 Atom2 Fixed b0 |
1678 |
> |
CT HC Fixed 1.09 |
1679 |
> |
//Atom1 Atom2 Cubic b0 K3 K2 K1 K0 |
1680 |
> |
//Atom1 Atom2 Quartic b0 K4 K3 K2 K1 K0 |
1681 |
> |
//Atom1 Atom2 Polynomial b0 n Kn [m Km] |
1682 |
> |
end BondTypes |
1683 |
> |
\end{code} |
1684 |
|
|
1685 |
< |
\begin{lstlisting}[float,caption={[Invocation of the Lennard-Jones |
1686 |
< |
force field] A sample startup file for a small Lennard-Jones |
1687 |
< |
simulation.},label={sch:LJFF}] |
1433 |
< |
<OpenMD> |
1434 |
< |
<MetaData> |
1435 |
< |
#include "argon.md" |
1685 |
> |
There are advantages and disadvantages of all of the different types |
1686 |
> |
of bonds, but specific simulation tasks may call for specific |
1687 |
> |
behaviors. |
1688 |
|
|
1689 |
< |
component{ |
1690 |
< |
type = "Ar"; |
1691 |
< |
nMol = 108; |
1692 |
< |
} |
1689 |
> |
\subsection{\label{section:ffBend}The BendTypes block} |
1690 |
> |
The equilibrium geometries and energy functions for bending motions in |
1691 |
> |
a molecule are strongly dependent on the bonding environment of the |
1692 |
> |
central atomic site. For example, different types of hybridized |
1693 |
> |
carbon centers require different bending angles and force constants to |
1694 |
> |
describe the local geometry. |
1695 |
|
|
1696 |
< |
forceField = "LJ"; |
1697 |
< |
</MetaData> |
1698 |
< |
<Snapshot> // not shown in this scheme |
1699 |
< |
</Snapshot> |
1700 |
< |
</OpenMD> |
1701 |
< |
\end{lstlisting} |
1696 |
> |
The bending potential energy functions used in most force fields are |
1697 |
> |
often simple functions of the angle between two bonds, |
1698 |
> |
\begin{equation} |
1699 |
> |
\theta_{ijk} = \cos^{-1} \left(\frac{\vec{r}_{ji} \cdot |
1700 |
> |
\vec{r}_{jk}}{\left| \vec{r}_{ji} \right| \left| \vec{r}_{jk} |
1701 |
> |
\right|} \right) |
1702 |
> |
\end{equation} |
1703 |
> |
Here atom $j$ is the central atom that is bonded to two partners $i$ |
1704 |
> |
and $k$. |
1705 |
|
|
1706 |
+ |
\begin{figure}[h] |
1707 |
+ |
\centering |
1708 |
+ |
\includegraphics[width=3.5in]{bend.pdf} |
1709 |
+ |
\caption[Bend angle coordinates]{The coordinate describing a bend |
1710 |
+ |
between atoms $i$, $j$, and $k$ is the angle $\theta_{ijk} = |
1711 |
+ |
\cos^{-1} \left(\hat{r}_{ji} \cdot \hat{r}_{jk}\right)$ where $\hat{r}_{ji}$ is |
1712 |
+ |
the unit vector between atoms $j$ and $i$. } |
1713 |
+ |
\label{fig:bend} |
1714 |
+ |
\end{figure} |
1715 |
|
|
1450 |
– |
\section{\label{section:DUFF}Dipolar Unified-Atom Force Field} |
1716 |
|
|
1717 |
< |
The dipolar unified-atom force field ({\sc duff}) was developed to |
1718 |
< |
simulate lipid bilayers. These types of simulations require a model |
1719 |
< |
capable of forming bilayers, while still being sufficiently |
1720 |
< |
computationally efficient to allow large systems ($\sim$100's of |
1721 |
< |
phospholipids, $\sim$1000's of waters) to be simulated for long times |
1722 |
< |
($\sim$10's of nanoseconds). With this goal in mind, {\sc duff} has no |
1723 |
< |
point charges. Charge-neutral distributions are replaced with dipoles, |
1724 |
< |
while most atoms and groups of atoms are reduced to Lennard-Jones |
1725 |
< |
interaction sites. This simplification reduces the length scale of |
1726 |
< |
long range interactions from $\frac{1}{r}$ to $\frac{1}{r^3}$, |
1727 |
< |
removing the need for the computationally expensive Ewald |
1728 |
< |
sum. Instead, Verlet neighbor-lists and cutoff radii are used for the |
1729 |
< |
dipolar interactions, and, if desired, a reaction field may be added |
1730 |
< |
to mimic longer range interactions. |
1717 |
> |
All BendTypes must specify three AtomType names ($i$, $j$ and $k$) |
1718 |
> |
that describe when that bend potential should be applied, as well as |
1719 |
> |
an equilibrium bending angle, $\theta_{ijk}^0$, in units of |
1720 |
> |
degrees. The most common forms for bending potentials are {\tt |
1721 |
> |
Harmonic} bends, |
1722 |
> |
\begin{equation} |
1723 |
> |
V_{\text{bend}}(\theta_{ijk}) = \frac{k_{ijk}}{2}( \theta_{ijk} - \theta_{ijk}^0 |
1724 |
> |
)^2, \label{eq:bendPot} |
1725 |
> |
\end{equation} |
1726 |
> |
where $k_{ijk}$ is the force constant which determines the strength of |
1727 |
> |
the harmonic bend. {\tt UreyBradley} bends utilize an additional 1-3 |
1728 |
> |
bond-type interaction in addition to the harmonic bending potential: |
1729 |
> |
\begin{equation} |
1730 |
> |
V_{\text{bend}}(\vec{r}_i , \vec{r}_j, \vec{r}_k) |
1731 |
> |
=\frac{k_{ijk}}{2}( \theta_{ijk} - \theta_{ijk}^0)^2 |
1732 |
> |
+ \frac{k_{ub}}{2}( r_{ik} - s_0 )^2. \label{eq:ubBend} |
1733 |
> |
\end{equation} |
1734 |
|
|
1735 |
< |
As an example, lipid head-groups in {\sc duff} are represented as |
1736 |
< |
point dipole interaction sites. Placing a dipole at the head group's |
1737 |
< |
center of mass mimics the charge separation found in common |
1738 |
< |
phospholipid head groups such as phosphatidylcholine.\cite{Cevc87} |
1739 |
< |
Additionally, a large Lennard-Jones site is located at the |
1740 |
< |
pseudoatom's center of mass. The model is illustrated by the red atom |
1473 |
< |
in Fig.~\ref{fig:lipidModel}. The water model we use to |
1474 |
< |
complement the dipoles of the lipids is a |
1475 |
< |
reparameterization\cite{fennell04} of the soft sticky dipole (SSD) |
1476 |
< |
model of Ichiye |
1477 |
< |
\emph{et al.}\cite{liu96:new_model} |
1735 |
> |
A {\tt Cosine} bend is a variant on the harmonic bend which utilizes |
1736 |
> |
the cosine of the angle instead of the angle itself, |
1737 |
> |
\begin{equation} |
1738 |
> |
V_{\text{bend}}(\theta_{ijk}) = \frac{k_{ijk}}{2}( \cos\theta_{ijk} - |
1739 |
> |
\cos \theta_{ijk}^0 )^2. \label{eq:cosBend} |
1740 |
> |
\end{equation} |
1741 |
|
|
1742 |
< |
\begin{figure} |
1743 |
< |
\centering |
1744 |
< |
\includegraphics[width=\linewidth]{lipidModel.pdf} |
1745 |
< |
\caption[A representation of a lipid model in {\sc duff}]{A |
1746 |
< |
representation of the lipid model. $\phi$ is the torsion angle, |
1747 |
< |
$\theta$ is the bend angle, and $\mu$ is the dipole moment of the head |
1748 |
< |
group.} |
1749 |
< |
\label{fig:lipidModel} |
1750 |
< |
\end{figure} |
1742 |
> |
OpenMD can also simulate some less common types of bend potentials, |
1743 |
> |
including {\tt Cubic} bends, which include terms to model anharmonicity, |
1744 |
> |
\begin{equation} |
1745 |
> |
V_{\text{bend}}(\theta_{ijk}) = K_3 (\theta_{ijk} - \theta_{ijk}^0)^3 + K_2 (\theta_{ijk} - \theta_{ijk}^0)^2 + K_1 (\theta_{ijk} - \theta_{ijk}^0) + K_0, |
1746 |
> |
\end{equation} |
1747 |
> |
and {\tt Quartic} bends, which include another term in the Taylor |
1748 |
> |
expansion around $\theta_{ijk}^0$, |
1749 |
> |
\begin{equation} |
1750 |
> |
V_{\text{bend}}(\theta_{ijk}) = K_4 (\theta_{ijk} - \theta_{ijk}^0)^4 + K_3 (\theta_{ijk} - \theta_{ijk}^0)^3 + |
1751 |
> |
K_2 (\theta_{ijk} - \theta_{ijk}^0)^2 + K_1 (\theta_{ijk} - |
1752 |
> |
\theta_{ijk}^0) + K_0, |
1753 |
> |
\end{equation} |
1754 |
> |
can also be simulated. Note that the factor of $1/2$ that is included |
1755 |
> |
in the {\tt Harmonic} bend type force constant is {\it not} present in |
1756 |
> |
either the {\tt Cubic} or {\tt Quartic} bend types. |
1757 |
|
|
1758 |
< |
A set of scalable parameters has been used to model the alkyl groups |
1759 |
< |
with Lennard-Jones sites. For this, parameters from the TraPPE force |
1760 |
< |
field of Siepmann \emph{et al.}\cite{Siepmann1998} have been |
1761 |
< |
utilized. TraPPE is a unified-atom representation of n-alkanes which |
1762 |
< |
is parametrized against phase equilibria using Gibbs ensemble Monte |
1763 |
< |
Carlo simulation techniques.\cite{Siepmann1998} One of the advantages |
1495 |
< |
of TraPPE is that it generalizes the types of atoms in an alkyl chain |
1496 |
< |
to keep the number of pseudoatoms to a minimum; thus, the parameters |
1497 |
< |
for a unified atom such as $\text{CH}_2$ do not change depending on |
1498 |
< |
what species are bonded to it. |
1758 |
> |
{\tt Polynomial} bends which can have any number of terms, |
1759 |
> |
\begin{equation} |
1760 |
> |
V_{\text{bend}}(\theta_{ijk}) = \sum_n K_n (\theta_{ijk} - \theta_{ijk}^0)^n. |
1761 |
> |
\end{equation} |
1762 |
> |
can also be specified by giving a sequence of integer ($n$) and force |
1763 |
> |
constant ($K_n$) pairs. |
1764 |
|
|
1765 |
< |
As is required by TraPPE, {\sc duff} also constrains all bonds to be |
1766 |
< |
of fixed length. Typically, bond vibrations are the fastest motions in |
1767 |
< |
a molecular dynamic simulation. With these vibrations present, small |
1768 |
< |
time steps between force evaluations must be used to ensure adequate |
1769 |
< |
energy conservation in the bond degrees of freedom. By constraining |
1770 |
< |
the bond lengths, larger time steps may be used when integrating the |
1771 |
< |
equations of motion. A simulation using {\sc duff} is illustrated in |
1772 |
< |
Scheme \ref{sch:DUFF}. |
1765 |
> |
The order of terms in the BendTypes block is: |
1766 |
> |
\begin{itemize} |
1767 |
> |
\item {\tt AtomType} 1 |
1768 |
> |
\item {\tt AtomType} 2 (this is the central atom) |
1769 |
> |
\item {\tt AtomType} 3 |
1770 |
> |
\item {\tt BendType} (one of {\tt Harmonic}, {\tt UreyBradley}, {\tt |
1771 |
> |
Cosine}, {\tt Cubic}, {\tt Quartic}, or {\tt Polynomial}) |
1772 |
> |
\item $\theta_{ijk}^0$, the equilibrium bending angle in degrees. |
1773 |
> |
\item any other parameters required by the {\tt BendType} |
1774 |
> |
\end{itemize} |
1775 |
|
|
1776 |
< |
\begin{lstlisting}[float,caption={[Invocation of {\sc duff}]A portion |
1777 |
< |
of a startup file showing a simulation utilizing {\sc |
1778 |
< |
duff}},label={sch:DUFF}] |
1779 |
< |
<OpenMD> |
1780 |
< |
<MetaData> |
1781 |
< |
#include "water.md" |
1782 |
< |
#include "lipid.md" |
1776 |
> |
\begin{code}[caption={[An example of a BendTypes block.] A |
1777 |
> |
simple example of a BendTypes block. By convention, equilibrium angles |
1778 |
> |
($\theta_0$) are given in degrees but force constants are given in |
1779 |
> |
units so that when multiplied by the correct power of angle (in |
1780 |
> |
radians) they return energies in kcal/mol. For example $k$ for a |
1781 |
> |
Harmonic bend is in units of kcal/mol/radians$^2$.}, |
1782 |
> |
label={sch:BendTypes}] |
1783 |
> |
begin BendTypes |
1784 |
> |
//Atom1 Atom2 Atom3 Harmonic theta0(deg) Ktheta(kcal/mol/radians^2) |
1785 |
> |
CT CT CT Harmonic 109.5 80.000000 |
1786 |
> |
CH2 CH CH2 Harmonic 112.0 117.68 |
1787 |
> |
CH3 CH2 SH Harmonic 96.0 67.220 |
1788 |
> |
//UreyBradley |
1789 |
> |
//Atom1 Atom2 Atom3 UreyBradley theta0 Ktheta s0 Kub |
1790 |
> |
//Cosine |
1791 |
> |
//Atom1 Atom2 Atom3 Cosine theta0 Ktheta(kcal/mol) |
1792 |
> |
//Cubic |
1793 |
> |
//Atom1 Atom2 Atom3 Cubic theta0 K3 K2 K1 K0 |
1794 |
> |
//Quartic |
1795 |
> |
//Atom1 Atom2 Atom3 Quartic theta0 K4 K3 K2 K1 K0 |
1796 |
> |
//Polynomial |
1797 |
> |
//Atom1 Atom2 Atom3 Polynomial theta0 n Kn [m Km] |
1798 |
> |
end BendTypes |
1799 |
> |
\end{code} |
1800 |
|
|
1801 |
< |
component{ |
1802 |
< |
type = "simpleLipid_16"; |
1803 |
< |
nMol = 60; |
1804 |
< |
} |
1801 |
> |
Note that the parameters for a particular bend type are the same for |
1802 |
> |
any bending triplet of the same atomic types (in the same or reversed |
1803 |
> |
order). Changing the AtomType in the Atom2 position will change the |
1804 |
> |
matched bend types in the force field. |
1805 |
|
|
1806 |
< |
component{ |
1807 |
< |
type = "SSD_water"; |
1808 |
< |
nMol = 1936; |
1809 |
< |
} |
1806 |
> |
\subsection{\label{section:ffTorsion}The TorsionTypes block} |
1807 |
> |
The torsion potential for rotation of groups around a central bond can |
1808 |
> |
often be represented with various cosine functions. For two |
1809 |
> |
tetrahedral ($sp^3$) carbons connected by a single bond, the torsion |
1810 |
> |
potential might be |
1811 |
> |
\begin{equation*} |
1812 |
> |
V_{\text{torsion}} = \frac{v}{2} \left[ 1 + \cos( 3 \phi ) \right] |
1813 |
> |
\end{equation*} |
1814 |
> |
where $v$ is the barrier for going from {\em staggered} $\rightarrow$ |
1815 |
> |
{\em eclipsed} conformations, while for $sp^2$ carbons connected by a |
1816 |
> |
double bond, the potential might be |
1817 |
> |
\begin{equation*} |
1818 |
> |
V_{\text{torsion}} = \frac{w}{2} \left[ 1 - \cos( 2 \phi ) \right] |
1819 |
> |
\end{equation*} |
1820 |
> |
where $w$ is the barrier for going from {\em cis} $\rightarrow$ {\em |
1821 |
> |
trans} conformations. |
1822 |
|
|
1823 |
< |
forceField = "DUFF"; |
1824 |
< |
</MetaData> |
1529 |
< |
<Snapshot> // not shown in this scheme |
1530 |
< |
</Snapshot> |
1531 |
< |
</OpenMD> |
1532 |
< |
\end{lstlisting} |
1533 |
< |
|
1534 |
< |
|
1535 |
< |
|
1536 |
< |
The cross potential between molecules $I$ and $J$, |
1537 |
< |
$V^{IJ}_{\text{Cross}}$, is as follows: |
1823 |
> |
A general torsion potentials can be represented as a cosine series of |
1824 |
> |
the form: |
1825 |
|
\begin{equation} |
1826 |
< |
V^{IJ}_{\text{Cross}} = |
1827 |
< |
\sum_{i \in I} \sum_{j \in J} |
1828 |
< |
\biggl[ V_{\text{LJ}}(r_{ij}) + V_{\text{dipole}} |
1829 |
< |
(\mathbf{r}_{ij},\boldsymbol{\Omega}_{i},\boldsymbol{\Omega}_{j}) |
1543 |
< |
+ V_{\text{sticky}} |
1544 |
< |
(\mathbf{r}_{ij},\boldsymbol{\Omega}_{i},\boldsymbol{\Omega}_{j}) |
1545 |
< |
\biggr], |
1546 |
< |
\label{eq:crossPotentail} |
1826 |
> |
V_{\text{torsion}}(\phi_{ijkl}) = c_1[1 + \cos \phi_{ijkl}] |
1827 |
> |
+ c_2[1 - \cos(2\phi_{ijkl})] |
1828 |
> |
+ c_3[1 + \cos(3\phi_{ijkl})], |
1829 |
> |
\label{eq:origTorsionPot} |
1830 |
|
\end{equation} |
1831 |
< |
where $V_{\text{LJ}}$ is the Lennard Jones potential, |
1832 |
< |
$V_{\text{dipole}}$ is the dipole dipole potential, and |
1833 |
< |
$V_{\text{sticky}}$ is the sticky potential defined by the SSD model |
1834 |
< |
(Sec.~\ref{section:SSD}). Note that not all atom types include all |
1835 |
< |
interactions. |
1831 |
> |
where the angle $\phi_{ijkl}$ is defined |
1832 |
> |
\begin{equation} |
1833 |
> |
\cos\phi_{ijkl} = (\hat{\mathbf{r}}_{ij} \times \hat{\mathbf{r}}_{jk}) \cdot |
1834 |
> |
(\hat{\mathbf{r}}_{jk} \times \hat{\mathbf{r}}_{kl}). |
1835 |
> |
\label{eq:torsPhi} |
1836 |
> |
\end{equation} |
1837 |
> |
Here, $\hat{\mathbf{r}}_{\alpha\beta}$ are the set of unit bond |
1838 |
> |
vectors between atoms $i$, $j$, $k$, and $l$. Note that some force |
1839 |
> |
fields define the zero of the $\phi_{ijkl}$ angle when atoms $i$ and |
1840 |
> |
$l$ are in the {\em trans} configuration, while most define the zero |
1841 |
> |
angle for when $i$ and $l$ are in the fully eclipsed orientation. The |
1842 |
> |
behavior of the torsion parser can be altered with the {\tt |
1843 |
> |
TorsionAngleConvention} keyword in the Options block. The default |
1844 |
> |
behavior is {\tt "180\_is\_trans"} while the opposite behavior can be |
1845 |
> |
invoked by setting this keyword to {\tt "0\_is\_trans"}. |
1846 |
|
|
1847 |
+ |
\begin{figure}[h] |
1848 |
+ |
\centering |
1849 |
+ |
\includegraphics[width=4.5in]{torsion.pdf} |
1850 |
+ |
\caption[Torsion or dihedral angle coordinates]{The coordinate |
1851 |
+ |
describing a torsion between atoms $i$, $j$, $k$, and $l$ is the |
1852 |
+ |
dihedral angle $\phi_{ijkl}$ which measures the relative rotation of |
1853 |
+ |
the two terminal atoms around the axis defined by the middle bond. } |
1854 |
+ |
\label{fig:torsion} |
1855 |
+ |
\end{figure} |
1856 |
|
|
1857 |
< |
\section{\label{section:WATER}The {\sc water} Force Field} |
1858 |
< |
|
1859 |
< |
In addition to the {\sc duff} force field's solvent description, a |
1558 |
< |
separate {\sc water} force field has been included for simulating most |
1559 |
< |
of the common rigid-body water models. This force field includes the |
1560 |
< |
simple and point-dipolar models (SSD, SSD1, SSD/E, SSD/RF, and DPD |
1561 |
< |
water), as well as the common charge-based models (SPC, SPC/E, TIP3P, |
1562 |
< |
TIP4P, and |
1563 |
< |
TIP5P).\cite{liu96:new_model,Ichiye03,fennell04,Marrink01,Berendsen81,Berendsen87,Jorgensen83,Mahoney00} |
1564 |
< |
In order to handle these models, charge-charge interactions were |
1565 |
< |
included in the force-loop: |
1857 |
> |
For computational efficiency, OpenMD recasts torsion potential in the |
1858 |
> |
method of {\sc charmm},\cite{Brooks83} in which the angle series is |
1859 |
> |
converted to a power series of the form: |
1860 |
|
\begin{equation} |
1861 |
< |
V_{\text{charge}}(r_{ij}) = \sum_{ij}\frac{q_iq_je^2}{r_{ij}}, |
1861 |
> |
V_{\text{torsion}}(\phi_{ijkl}) = |
1862 |
> |
k_3 \cos^3 \phi_{ijkl} + k_2 \cos^2 \phi_{ijkl} + k_1 \cos \phi_{ijkl} + k_0, |
1863 |
> |
\label{eq:torsionPot} |
1864 |
|
\end{equation} |
1865 |
< |
where $q$ represents the charge on particle $i$ or $j$, and $e$ is the |
1866 |
< |
charge of an electron in Coulombs. The charge-charge interaction |
1867 |
< |
support is rudimentary in the current version of {\sc OpenMD}. As with |
1868 |
< |
the other pair interactions, charges can be simulated with a pure |
1869 |
< |
cutoff or a reaction field. The various methods for performing the |
1870 |
< |
Ewald summation have not yet been included. The {\sc water} force |
1871 |
< |
field can be easily expanded through modification of the {\sc water} |
1872 |
< |
force field file ({\tt WATER.frc}). By adding atom types and inserting |
1873 |
< |
the appropriate parameters, it is possible to extend the force field |
1874 |
< |
to handle rigid molecules other than water. |
1865 |
> |
where: |
1866 |
> |
\begin{align*} |
1867 |
> |
k_0 &= c_1 + 2 c_2 + c_3, \\ |
1868 |
> |
k_1 &= c_1 - 3c_3, \\ |
1869 |
> |
k_2 &= - 2 c_2, \\ |
1870 |
> |
k_3 &= 4 c_3. |
1871 |
> |
\end{align*} |
1872 |
> |
By recasting the potential as a power series, repeated trigonometric |
1873 |
> |
evaluations are avoided during the calculation of the potential |
1874 |
> |
energy. |
1875 |
|
|
1876 |
+ |
Using this framework, OpenMD implements a variety of different |
1877 |
+ |
potential energy functions for torsions: |
1878 |
+ |
\begin{itemize} |
1879 |
+ |
\item {\tt Cubic}: |
1880 |
+ |
\begin{equation*} |
1881 |
+ |
V_{\text{torsion}}(\phi) = |
1882 |
+ |
k_3 \cos^3 \phi + k_2 \cos^2 \phi + k_1 \cos \phi + k_0, |
1883 |
+ |
\end{equation*} |
1884 |
+ |
\item {\tt Quartic}: |
1885 |
+ |
\begin{equation*} |
1886 |
+ |
V_{\text{torsion}}(\phi) = k_4 \cos^4 \phi + |
1887 |
+ |
k_3 \cos^3 \phi + k_2 \cos^2 \phi + k_1 \cos \phi + k_0, |
1888 |
+ |
\end{equation*} |
1889 |
+ |
\item {\tt Polynomial}: |
1890 |
+ |
\begin{equation*} |
1891 |
+ |
V_{\text{torsion}}(\phi) = \sum_n k_n \cos^n \phi , |
1892 |
+ |
\end{equation*} |
1893 |
+ |
\item {\tt Charmm}: |
1894 |
+ |
\begin{equation*} |
1895 |
+ |
V_{\text{torsion}}(\phi) = \sum_n K_n \left( 1 + cos(n |
1896 |
+ |
\phi - \delta_n) \right), |
1897 |
+ |
\end{equation*} |
1898 |
+ |
\item {\tt Opls}: |
1899 |
+ |
\begin{equation*} |
1900 |
+ |
V_{\text{torsion}}(\phi) = \frac{1}{2} \left(v_1 (1 + \cos \phi) \right) |
1901 |
+ |
+ v_2 (1 - \cos 2 \phi) + v_3 (1 + \cos 3 \phi), |
1902 |
+ |
\end{equation*} |
1903 |
+ |
\item {\tt Trappe}:\cite{Siepmann1998} |
1904 |
+ |
\begin{equation*} |
1905 |
+ |
V_{\text{torsion}}(\phi) = c_0 + c_1 (1 + \cos \phi) + c_2 (1 - \cos 2 \phi) + |
1906 |
+ |
c_3 (1 + \cos 3 \phi), |
1907 |
+ |
\end{equation*} |
1908 |
+ |
\item {\tt Harmonic}: |
1909 |
+ |
\begin{equation*} |
1910 |
+ |
V_{\text{torsion}}(\phi) = \frac{d_0}{2} \left(\phi - \phi^0\right). |
1911 |
+ |
\end{equation*} |
1912 |
+ |
\end{itemize} |
1913 |
|
|
1914 |
< |
\section{\label{section:sc}The Sutton-Chen Force Field} |
1914 |
> |
Most torsion types don't require specific angle information in the |
1915 |
> |
parameters since they are typically expressed in cosine polynomials. |
1916 |
> |
{\tt Charmm} and {\tt Harmonic} torsions are a bit different. {\tt |
1917 |
> |
Charmm} torsion types require a set of phase angles, $\delta_n$ that |
1918 |
> |
are expressed in degrees, and associated periodicity numbers, $n$. |
1919 |
> |
{\tt Harmonic} torsions have an equilibrium torsion angle, $\phi_0$ |
1920 |
> |
that is measured in degrees, while $d_0$ has units of |
1921 |
> |
kcal/mol/degrees$^2$. All other torsion parameters are measured in |
1922 |
> |
units of kcal/mol. |
1923 |
|
|
1924 |
+ |
\begin{code}[caption={[An example of a TorsionTypes block.] A |
1925 |
+ |
simple example of a TorsionTypes block. Energy constants are given in |
1926 |
+ |
kcal / mol, and when required by the form, $\delta$ angles are given |
1927 |
+ |
in degrees.}, |
1928 |
+ |
label={sch:TorsionTypes}] |
1929 |
+ |
begin TorsionTypes |
1930 |
+ |
//Cubic |
1931 |
+ |
//Atom1 Atom2 Atom3 Atom4 Cubic k3 k2 k1 k0 |
1932 |
+ |
CH2 CH2 CH2 CH2 Cubic 5.9602 -0.2568 -3.802 2.1586 |
1933 |
+ |
CH2 CH CH CH2 Cubic 3.3254 -0.4215 -1.686 1.1661 |
1934 |
+ |
//Trappe |
1935 |
+ |
//Atom1 Atom2 Atom3 Atom4 Trappe c0 c1 c2 c3 |
1936 |
+ |
CH3 CH2 CH2 SH Trappe 0.10507 -0.10342 0.03668 0.60874 |
1937 |
+ |
//Charmm |
1938 |
+ |
//Atom1 Atom2 Atom3 Atom4 Charmm Kchi n delta [Kchi n delta] |
1939 |
+ |
CT CT CT C Charmm 0.156 3 0.00 |
1940 |
+ |
OH CT CT OH Charmm 0.144 3 0.00 1.175 2 0 |
1941 |
+ |
HC CT CM CM Charmm 1.150 1 0.00 0.38 3 180 |
1942 |
+ |
//Quartic |
1943 |
+ |
//Atom1 Atom2 Atom3 Atom4 Quartic k4 k3 k2 k1 k0 |
1944 |
+ |
//Polynomial |
1945 |
+ |
//Atom1 Atom2 Atom3 Atom4 Polynomial n Kn [m Km] |
1946 |
+ |
S CH2 CH2 C Polynomial 0 2.218 1 2.905 2 -3.136 3 -0.7313 4 6.272 5 -7.528 |
1947 |
+ |
end TorsionTypes |
1948 |
+ |
\end{code} |
1949 |
|
|
1950 |
< |
\section{\label{section:clay}The CLAY force field} |
1950 |
> |
Note that the parameters for a particular torsion type are the same |
1951 |
> |
for any torsional quartet of the same atomic types (in the same or |
1952 |
> |
reversed order). |
1953 |
|
|
1954 |
< |
The {\sc clay} force field is based on an ionic (nonbonded) |
1955 |
< |
description of the metal-oxygen interactions associated with hydrated |
1956 |
< |
phases. All atoms are represented as point charges and are allowed |
1957 |
< |
complete translational freedom. Metal-oxygen interactions are based on |
1958 |
< |
a simple Lennard-Jones potential combined with electrostatics. The |
1959 |
< |
empirical parameters were optimized by Cygan {\it et |
1960 |
< |
al.}\cite{Cygan04} on the basis of known mineral structures, and |
1961 |
< |
partial atomic charges were derived from periodic DFT quantum chemical |
1962 |
< |
calculations of simple oxide, hydroxide, and oxyhydroxide model |
1963 |
< |
compounds with well-defined structures. |
1954 |
> |
\subsection{\label{section:ffInversion}The InversionTypes block} |
1955 |
> |
|
1956 |
> |
Inversion potentials are often added to force fields to enforce |
1957 |
> |
planarity around $sp^2$-hybridized carbons or to correct vibrational |
1958 |
> |
frequencies for umbrella-like vibrational modes for central atoms |
1959 |
> |
bonded to exactly three satellite groups. |
1960 |
> |
|
1961 |
> |
In OpenMD's version of an inversion, the central atom is entered {\it |
1962 |
> |
first} in each line in the {\tt InversionTypes} block. Note that |
1963 |
> |
this is quite different than how other codes treat Improper torsional |
1964 |
> |
potentials to mimic inversion behavior. In some other widely-used |
1965 |
> |
simulation packages, the central atom is treated as atom 3 in a |
1966 |
> |
standard torsion form: |
1967 |
> |
\begin{itemize} |
1968 |
> |
\item OpenMD: I - (J - K - L) (e.g. I is $sp^2$ hybridized carbon) |
1969 |
> |
\item AMBER: I - J - K - L (e.g. K is $sp^2$ hybridized carbon) |
1970 |
> |
\end{itemize} |
1971 |
> |
|
1972 |
> |
The inversion angle itself is defined as: |
1973 |
> |
\begin{equation} |
1974 |
> |
\cos\omega_{i-jkl} = \left(\hat{\mathbf{r}}_{il} \times |
1975 |
> |
\hat{\mathbf{r}}_{ij}\right)\cdot\left( \hat{\mathbf{r}}_{il} \times |
1976 |
> |
\hat{\mathbf{r}}_{ik}\right) |
1977 |
> |
\end{equation} |
1978 |
> |
Here, $\hat{\mathbf{r}}_{\alpha\beta}$ are the set of unit bond |
1979 |
> |
vectors between the central atoms $i$, and the satellite atoms $j$, |
1980 |
> |
$k$, and $l$. Note that other definitions of inversion angles are |
1981 |
> |
possible, so users are encouraged to be particularly careful when |
1982 |
> |
converting other force field files for use with OpenMD. |
1983 |
> |
|
1984 |
> |
There are many common ways to create planarity or umbrella behavior in |
1985 |
> |
a potential energy function, and OpenMD implements a number of the |
1986 |
> |
more common functions: |
1987 |
> |
\begin{itemize} |
1988 |
> |
\item {\tt ImproperCosine}: |
1989 |
> |
\begin{equation*} |
1990 |
> |
V_{\text{torsion}}(\omega) = \sum_n \frac{K_n}{2} \left( 1 + cos(n |
1991 |
> |
\omega - \delta_n) \right), |
1992 |
> |
\end{equation*} |
1993 |
> |
\item {\tt AmberImproper}: |
1994 |
> |
\begin{equation*} |
1995 |
> |
V_{\text{torsion}}(\omega) = \frac{v}{2} (1 - \cos\left(2 \left(\omega - \omega_0\right)\right), |
1996 |
> |
\end{equation*} |
1997 |
> |
\item {\tt Harmonic}: |
1998 |
> |
\begin{equation*} |
1999 |
> |
V_{\text{torsion}}(\omega) = \frac{d}{2} \left(\omega - \omega_0\right). |
2000 |
> |
\end{equation*} |
2001 |
> |
\end{itemize} |
2002 |
> |
\begin{code}[caption={[An example of an InversionTypes block.] A |
2003 |
> |
simple example of a InversionTypes block. Angles ($\delta_n$ and |
2004 |
> |
$\omega_0$) angles are given in degrees, while energy parameters ($v, |
2005 |
> |
K_n$) are given in kcal / mol. The Harmonic Inversion type has a |
2006 |
> |
force constant that must be given in kcal/mol/degrees$^2$.}, |
2007 |
> |
label={sch:InversionTypes}] |
2008 |
> |
begin InversionTypes |
2009 |
> |
//Harmonic |
2010 |
> |
//Atom1 Atom2 Atom3 Atom4 Harmonic d(kcal/mol/deg^2) omega0 |
2011 |
> |
RCHar3 X X X Harmonic 1.21876e-2 180.0 |
2012 |
> |
//AmberImproper |
2013 |
> |
//Atom1 Atom2 Atom3 Atom4 AmberImproper v(kcal/mol) |
2014 |
> |
C CT N O AmberImproper 10.500000 |
2015 |
> |
CA CA CA CT AmberImproper 1.100000 |
2016 |
> |
//ImproperCosine |
2017 |
> |
//Atom1 Atom2 Atom3 Atom4 ImproperCosine Kn n delta_n [Kn n delta_n] |
2018 |
> |
end InversionTypes |
2019 |
> |
\end{code} |
2020 |
> |
|
2021 |
> |
\section{\label{section::ffLongRange}Long Range Interactions} |
2022 |
> |
|
2023 |
> |
Calculating the long-range (non-bonded) potential involves a sum over |
2024 |
> |
all pairs of atoms (except for those atoms which are involved in a |
2025 |
> |
bond, bend, or torsion with each other). Many of these interactions |
2026 |
> |
can be inferred from the AtomTypes, |
2027 |
> |
|
2028 |
> |
\subsection{\label{section:ffNBinteraction}The NonBondedInteractions |
2029 |
> |
block} |
2030 |
> |
|
2031 |
> |
The user might want like to specify explicit or special interactions |
2032 |
> |
that override the default non-bodned interactions that are inferred |
2033 |
> |
from the AtomTypes. To do this, OpenMD implements a |
2034 |
> |
NonBondedInteractions block to allow the user to specify the following |
2035 |
> |
(pair-wise) non-bonded interactions: |
2036 |
> |
|
2037 |
> |
\begin{itemize} |
2038 |
> |
\item {\tt LennardJones}: |
2039 |
> |
\begin{equation*} |
2040 |
> |
V_{\text{NB}}(r) = 4 \epsilon_{ij} \left( |
2041 |
> |
\left(\frac{\sigma_{ij}}{r} \right)^{12} - |
2042 |
> |
\left(\frac{\sigma_{ij}}{r} \right)^{6} \right), |
2043 |
> |
\end{equation*} |
2044 |
> |
\item {\tt ShiftedMorse}: |
2045 |
> |
\begin{equation*} |
2046 |
> |
V_{\text{NB}}(r) = D_{ij} \left( e^{-2 \beta_{ij} (r - |
2047 |
> |
r^0)} - 2 e^{- \beta_{ij} (r - |
2048 |
> |
r^0)} \right), |
2049 |
> |
\end{equation*} |
2050 |
> |
\item {\tt RepulsiveMorse}: |
2051 |
> |
\begin{equation*} |
2052 |
> |
V_{\text{NB}}(r) = D_{ij} \left( e^{-2 \beta_{ij} (r - |
2053 |
> |
r^0)} \right), |
2054 |
> |
\end{equation*} |
2055 |
> |
\item {\tt RepulsivePower}: |
2056 |
> |
\begin{equation*} |
2057 |
> |
V_{\text{NB}}(r) = \epsilon_{ij} |
2058 |
> |
\left(\frac{\sigma_{ij}}{r} \right)^{n_{ij}}. |
2059 |
> |
\end{equation*} |
2060 |
> |
\end{itemize} |
2061 |
|
|
2062 |
+ |
\begin{code}[caption={[An example of a NonBondedInteractions block.] A |
2063 |
+ |
simple example of a NonBondedInteractions block. Distances ($\sigma, |
2064 |
+ |
r_0$) are given in \AA, while energies ($\epsilon, D0$) are in |
2065 |
+ |
kcal/mol. The Morse potentials have an additional parameter $\beta_0$ |
2066 |
+ |
which is in units of \AA$^{-1}$.}, |
2067 |
+ |
label={sch:NonBondedInteractionTypes}] |
2068 |
+ |
begin NonBondedInteractions |
2069 |
|
|
2070 |
+ |
//Lennard-Jones |
2071 |
+ |
//Atom1 Atom2 LennardJones sigma epsilon |
2072 |
+ |
Au CH3 LennardJones 3.54 0.2146 |
2073 |
+ |
Au CH2 LennardJones 3.54 0.1749 |
2074 |
+ |
Au CH LennardJones 3.54 0.1749 |
2075 |
+ |
Au S LennardJones 2.40 8.465 |
2076 |
+ |
|
2077 |
+ |
//Shifted Morse |
2078 |
+ |
//Atom1 Atom2 ShiftedMorse r0 D0 beta0 |
2079 |
+ |
Au O_SPCE ShiftedMorse 3.70 0.0424 0.769 |
2080 |
+ |
|
2081 |
+ |
//Repulsive Morse |
2082 |
+ |
//Atom1 Atom2 RepulsiveMorse r0 D0 beta0 |
2083 |
+ |
Au H_SPCE RepulsiveMorse -1.00 0.00850 0.769 |
2084 |
+ |
|
2085 |
+ |
//Repulsive Power |
2086 |
+ |
//Atom1 Atom2 RepulsivePower sigma epsilon n |
2087 |
+ |
Au ON RepulsivePower 3.47005 0.186208 11 |
2088 |
+ |
Au NO RepulsivePower 3.53955 0.168629 11 |
2089 |
+ |
end NonBondedInteractions |
2090 |
+ |
\end{code} |
2091 |
+ |
|
2092 |
|
\section{\label{section:electrostatics}Electrostatics} |
2093 |
|
|
2094 |
< |
To aid in performing simulations in more traditional force fields, we |
2095 |
< |
have added routines to carry out electrostatic interactions using a |
2096 |
< |
number of different electrostatic summation methods. These methods |
2097 |
< |
are extended from the damped and cutoff-neutralized Coulombic sum |
2098 |
< |
originally proposed by Wolf, {\it et al.}\cite{Wolf99} One of these, |
2099 |
< |
the damped shifted force method, shows a remarkable ability to |
2100 |
< |
reproduce the energetic and dynamic characteristics exhibited by |
2101 |
< |
simulations employing lattice summation techniques. The basic idea is |
2102 |
< |
to construct well-behaved real-space summation methods using two tricks: |
2094 |
> |
Because nearly all force fields involve electrostatic interactions in |
2095 |
> |
one form or another, OpenMD implements a number of different |
2096 |
> |
electrostatic summation methods. These methods are extended from the |
2097 |
> |
damped and cutoff-neutralized Coulombic sum originally proposed by |
2098 |
> |
Wolf, {\it et al.}\cite{Wolf99} One of these, the damped shifted force |
2099 |
> |
method, shows a remarkable ability to reproduce the energetic and |
2100 |
> |
dynamic characteristics exhibited by simulations employing lattice |
2101 |
> |
summation techniques. The basic idea is to construct well-behaved |
2102 |
> |
real-space summation methods using two tricks: |
2103 |
|
\begin{enumerate} |
2104 |
|
\item shifting through the use of image charges, and |
2105 |
|
\item damping the electrostatic interaction. |
2218 |
|
\end{equation} |
2219 |
|
the shifted potential (eq. (\ref{eq:SPPot})) becomes |
2220 |
|
\begin{equation} |
2221 |
< |
V_{\textrm{DSP}}(r) = q_iq_j\left(\frac{\textrm{erfc}\left(\alpha r\right)}{r}-\ |
1728 |
< |
frac{\textrm{erfc}\left(\alpha R_\textrm{c}\right)}{R_\textrm{c}}\right) \quad r |
2221 |
> |
V_{\textrm{DSP}}(r) = q_iq_j\left(\frac{\textrm{erfc}\left(\alpha r\right)}{r}-\frac{\textrm{erfc}\left(\alpha R_\textrm{c}\right)}{R_\textrm{c}}\right) \quad r |
2222 |
|
\leqslant R_\textrm{c}, |
2223 |
|
\label{eq:DSPPot} |
2224 |
|
\end{equation} |
2262 |
|
this reason, the default electrostatic summation method utilized by |
2263 |
|
{\sc OpenMD} is the DSF (Eq. \ref{eq:DSFPot}) with a damping parameter |
2264 |
|
($\alpha$) that is set algorithmically from the cutoff radius. |
2265 |
+ |
|
2266 |
+ |
|
2267 |
+ |
\section{\label{section:cutoffGroups}Switching Functions} |
2268 |
+ |
|
2269 |
+ |
Calculating the the long-range interactions for $N$ atoms involves |
2270 |
+ |
$N(N-1)/2$ evaluations of atomic distances if it is done in a brute |
2271 |
+ |
force manner. To reduce the number of distance evaluations between |
2272 |
+ |
pairs of atoms, {\sc OpenMD} allows the use of hard or switched |
2273 |
+ |
cutoffs with Verlet neighbor lists.\cite{Allen87} Neutral groups which |
2274 |
+ |
contain charges can exhibit pathological forces unless the cutoff is |
2275 |
+ |
applied to the neutral groups evenly instead of to the individual |
2276 |
+ |
atoms.\cite{leach01:mm} {\sc OpenMD} allows users to specify cutoff |
2277 |
+ |
groups which may contain an arbitrary number of atoms in the molecule. |
2278 |
+ |
Atoms in a cutoff group are treated as a single unit for the |
2279 |
+ |
evaluation of the switching function: |
2280 |
+ |
\begin{equation} |
2281 |
+ |
V_{\mathrm{long-range}} = \sum_{a} \sum_{b>a} s(r_{ab}) \sum_{i \in a} \sum_{j \in b} V_{ij}(r_{ij}), |
2282 |
+ |
\end{equation} |
2283 |
+ |
where $r_{ab}$ is the distance between the centers of mass of the two |
2284 |
+ |
cutoff groups ($a$ and $b$). |
2285 |
+ |
|
2286 |
+ |
The sums over $a$ and $b$ are over the cutoff groups that are present |
2287 |
+ |
in the simulation. Atoms which are not explicitly defined as members |
2288 |
+ |
of a {\tt cutoffGroup} are treated as a group consisting of only one |
2289 |
+ |
atom. The switching function, $s(r)$ is the standard cubic switching |
2290 |
+ |
function, |
2291 |
+ |
\begin{equation} |
2292 |
+ |
S(r) = |
2293 |
+ |
\begin{cases} |
2294 |
+ |
1 & \text{if $r \le r_{\text{sw}}$},\\ |
2295 |
+ |
\frac{(r_{\text{cut}} + 2r - 3r_{\text{sw}})(r_{\text{cut}} - r)^2} |
2296 |
+ |
{(r_{\text{cut}} - r_{\text{sw}})^3} |
2297 |
+ |
& \text{if $r_{\text{sw}} < r \le r_{\text{cut}}$}, \\ |
2298 |
+ |
0 & \text{if $r > r_{\text{cut}}$.} |
2299 |
+ |
\end{cases} |
2300 |
+ |
\label{eq:dipoleSwitching} |
2301 |
+ |
\end{equation} |
2302 |
+ |
Here, $r_{\text{sw}}$ is the {\tt switchingRadius}, or the distance |
2303 |
+ |
beyond which interactions are reduced, and $r_{\text{cut}}$ is the |
2304 |
+ |
{\tt cutoffRadius}, or the distance at which interactions are |
2305 |
+ |
truncated. |
2306 |
+ |
|
2307 |
+ |
Users of {\sc OpenMD} do not need to specify the {\tt cutoffRadius} or |
2308 |
+ |
{\tt switchingRadius}. |
2309 |
+ |
If the {\tt cutoffRadius} was not explicitly set, OpenMD will attempt |
2310 |
+ |
to guess an appropriate choice. If the system contains electrostatic |
2311 |
+ |
atoms, the default cutoff radius is 12 \AA. In systems without |
2312 |
+ |
electrostatic (charge or multipolar) atoms, the atom types present in the simulation will be |
2313 |
+ |
polled for suggested cutoff values (e.g. $2.5 max(\left\{ \sigma |
2314 |
+ |
\right\})$ for Lennard-Jones atoms. The largest suggested value |
2315 |
+ |
that was found will be used. |
2316 |
+ |
|
2317 |
+ |
By default, OpenMD uses shifted force potentials to force the |
2318 |
+ |
potential energy and forces to smoothly approach zero at the cutoff |
2319 |
+ |
radius. If the user would like to use another cutoff method |
2320 |
+ |
they may do so by setting the {\tt cutoffMethod} parameter to: |
2321 |
+ |
\begin{itemize} |
2322 |
+ |
\item {\tt HARD} |
2323 |
+ |
\item {\tt SWITCHED} |
2324 |
+ |
\item {\tt SHIFTED\_FORCE} (default): |
2325 |
+ |
\item {\tt TAYLOR\_SHIFTED} |
2326 |
+ |
\item {\tt SHIFTED\_POTENTIAL} |
2327 |
+ |
\end{itemize} |
2328 |
+ |
|
2329 |
+ |
The {\tt switchingRadius} is set to a default value of 95\% of the |
2330 |
+ |
{\tt cutoffRadius}. In the special case of a simulation containing |
2331 |
+ |
{\it only} Lennard-Jones atoms, the default switching radius takes the |
2332 |
+ |
same value as the cutoff radius, and {\sc OpenMD} will use a shifted |
2333 |
+ |
potential to remove discontinuities in the potential at the cutoff. |
2334 |
+ |
Both radii may be specified in the meta-data file. |
2335 |
|
|
2336 |
|
\section{\label{section:pbc}Periodic Boundary Conditions} |
2337 |
|
|
2712 |
|
& (with changes to box shape) & \\ |
2713 |
|
NPTxyz & approximate isobaric-isothermal & {\tt ensemble = NPTxyz;} \\ |
2714 |
|
& (with separate barostats on each box dimension) & \\ |
2715 |
+ |
N$\gamma$T & constant lateral surface tension & {\tt ensemble = NgammaT;} \\ |
2716 |
+ |
& (must specify a surfaceTension) & \\ |
2717 |
+ |
NP$\gamma$T & constant normal pressure and lateral surface tension & {\tt ensemble = NPrT;} \\ |
2718 |
+ |
& (must specify a targetPressure and surfaceTension) & \\ |
2719 |
|
LD & Langevin Dynamics & {\tt ensemble = LD;} \\ |
2720 |
|
& (approximates the effects of an implicit solvent) & \\ |
2721 |
|
LangevinHull & Non-periodic Langevin Dynamics & {\tt ensemble = LangevinHull;} \\ |
2756 |
|
default value} \\ |
2757 |
|
$T_{\mathrm{target}}$ & {\tt targetTemperature = 300;} & K & none \\ |
2758 |
|
$P_{\mathrm{target}}$ & {\tt targetPressure = 1;} & atm & none \\ |
2759 |
+ |
$\gamma$ & {\tt surfaceTension = 0.015;} & Newtons / meter & none \\ |
2760 |
+ |
$\eta$ & {\tt viscosity = 0.0089;} & Poise & none \\ |
2761 |
|
$\tau_T$ & {\tt tauThermostat = 1e3;} & fs & none \\ |
2762 |
|
$\tau_B$ & {\tt tauBarostat = 5e3;} & fs & none \\ |
2763 |
|
& {\tt resetTime = 200;} & fs & none \\ |
3758 |
|
\label{table:zconParams} |
3759 |
|
\end{longtable} |
3760 |
|
|
3761 |
< |
% \chapter{\label{section:restraints}Restraints} |
3762 |
< |
% Restraints are external potentials that are added to a system to |
3763 |
< |
% keep particular molecules or collections of particles close to some |
3764 |
< |
% reference structure. A restraint can be a collective |
3761 |
> |
\chapter{\label{chapter:restraints}Restraints} |
3762 |
> |
Restraints are external potential energy functions that are added to a |
3763 |
> |
system to keep particular molecules or collections of particles close |
3764 |
> |
to a reference structure. A \textbf{Molecular} restraint is a |
3765 |
> |
collective force applied to all atoms in a molecule, while an |
3766 |
> |
\textbf{Object} restraint is a simple harmonic spring connecting the |
3767 |
> |
position of a StuntDouble (or its orientation) close to a fixed |
3768 |
> |
reference geometry. |
3769 |
> |
|
3770 |
> |
Restraints require the specification of a reference geometry in the |
3771 |
> |
{\tt Restraint\_file} parameter. These files are standard OpenMD {\tt |
3772 |
> |
md} or {\tt eor} files which must have the same component |
3773 |
> |
specification and StuntDouble indices as the simulation itself. |
3774 |
> |
|
3775 |
> |
Restraint potentials in OpenMD are harmonic, |
3776 |
> |
\begin{equation} |
3777 |
> |
V_\mathrm{trans} = \frac{k_\mathrm{trans}}{2} \left( \mathbf{i} - \mathbf{r} |
3778 |
> |
\right)^2 |
3779 |
> |
\end{equation} |
3780 |
> |
where $k_\mathrm{trans}$ is a spring constant for translational |
3781 |
> |
motion, $\mathbf{i}$ is the instantaneous position of the object, and |
3782 |
> |
$\mathbf{r}$ is the position of the same object in the reference |
3783 |
> |
structure. Alternatively, one might restrain the orientations of an object, |
3784 |
> |
\begin{equation} |
3785 |
> |
V_\mathrm{swing} = \frac{k_\mathrm{swing}}{2} \left( \theta - \theta_0 \right)^2 |
3786 |
> |
\end{equation} |
3787 |
> |
where $k_\mathrm{swing}$ is the force constant for swing motion of the |
3788 |
> |
long axis of a molecule, $\theta$ is the instantaneous swing angle |
3789 |
> |
relative to the reference structure, and $\theta_0$ is an optional |
3790 |
> |
angle that the user can specify that is also measured relative to the |
3791 |
> |
orientation of the reference structure. |
3792 |
> |
|
3793 |
> |
\begin{code}[caption={[Specifying restraints for all objects matching a |
3794 |
> |
selection] Sample keywords defining object restraints (here the |
3795 |
> |
object is the first rigid body associated with SPCE molecules},label={sch:restObj}] |
3796 |
> |
restraint{ |
3797 |
> |
restraintType = "object"; |
3798 |
> |
objectSelection = "select SPCE_RB_0"; |
3799 |
> |
displacementSpringConstant = 4.3; |
3800 |
> |
twistSpringConstant = 750; |
3801 |
> |
swingXSpringConstant = 700; |
3802 |
> |
swingYSpringConstant = 700; |
3803 |
> |
print = "false"; |
3804 |
> |
} |
3805 |
> |
|
3806 |
> |
useRestraints = "true"; |
3807 |
> |
Restraint_file = "idealStructure.in"; |
3808 |
> |
\end{code} |
3809 |
> |
|
3810 |
> |
When the restraint is added to an entire molecule, the forces and |
3811 |
> |
torques must be applied atom-by-atom. Translational restraints are |
3812 |
> |
simple to apply, but torques for angular restraints require some |
3813 |
> |
care. |
3814 |
> |
|
3815 |
> |
Defining the rotation angles for an instantaneous geometry of a |
3816 |
> |
molecule relative to a reference structure is a difficult problem |
3817 |
> |
because there are multiple combinations of three-angle rotations can |
3818 |
> |
lead to the same structure. To tackle this problem, OpenMD combines |
3819 |
> |
two methods, singular value decomposition (SVD) and twist-swing |
3820 |
> |
decomposition. |
3821 |
> |
|
3822 |
> |
The core of the difficulty is in identifying the rotation matrix |
3823 |
> |
($\mathsf{A}$) that relates the instantaneous geometry to the |
3824 |
> |
reference structure. Because molecules generally are not rigid, the |
3825 |
> |
internal dynamics makes this computationally demanding. Fortunately a |
3826 |
> |
method that is widely used for protein alignment provides a reasonable |
3827 |
> |
characterization of this rotation matrix. |
3828 |
> |
|
3829 |
> |
The molecule is represented as a $N \times 3$ matrix of coordinates. |
3830 |
> |
The difference between the instantaneous and reference conformations |
3831 |
> |
is encoded in the transformation between two of these matrices. The |
3832 |
> |
transformation consists of a ``best fit'' translation vector and |
3833 |
> |
rotation matrix such that after translation and rotation, the two |
3834 |
> |
configurations will have the highest degree of overlap with each |
3835 |
> |
other. I.e., the translation vector and rotation matrix minimize the |
3836 |
> |
root mean-square distance (RMSD) between the two structures, |
3837 |
> |
\begin{equation} |
3838 |
> |
\mathrm{RMSD} = \sqrt{\frac{1}{N} \sum_n \left(i_n - r_n\right)^2 }, |
3839 |
> |
\end{equation} |
3840 |
> |
where $\left\{i_n\right\}$ and $\left\{r_n\right\}$ are the sets of |
3841 |
> |
coordinates for the instantaneous and reference structures, and $N$ is |
3842 |
> |
the total number of atoms in the molecule. A singular value |
3843 |
> |
decomposition (SVD) is carried out in order to minimize the RMSD. |
3844 |
> |
This operation provides the best-fitting translation vector $\vec{v}$ |
3845 |
> |
and rotation matrix $\mathsf{A}$ that align the instantaneous and |
3846 |
> |
reference structures. |
3847 |
> |
|
3848 |
> |
Twist-swing decomposition, a technique that has been widely used in |
3849 |
> |
computer animation of articulated figures, is then employed to |
3850 |
> |
calculate the relative rotational angles between the instantaneous and |
3851 |
> |
reference structures. This decomposition regards the motion as a |
3852 |
> |
``twist'' about one axis followed by a ``swing'' about another axis, |
3853 |
> |
where the second axis is perpendicular to the |
3854 |
> |
first.\cite{Kallmann:2008fk,Shoemake:1994uq} This model of rotation |
3855 |
> |
provides a convenient way to define a unique relative rotational |
3856 |
> |
angle. A simple example helps clarify: Suppose a cylinder moves from |
3857 |
> |
original position $\mathbf{O}$ to end position $\mathbf{E}$ (Figure |
3858 |
> |
\ref{fig:twistSwing}). Although there are many paths that can |
3859 |
> |
accomplish this movement, the simplest path is to rotate the reference |
3860 |
> |
configuration by $\theta$ (i.e. the swing angle) in the plane |
3861 |
> |
$\mathbf{O} \times \mathbf{E}$ (the cross product of the two |
3862 |
> |
orientation vectors). Then the reference structure is rotated by |
3863 |
> |
$\phi$ (the twist angle) around the central axis. |
3864 |
> |
|
3865 |
> |
\begin{figure} |
3866 |
> |
\includegraphics[width=3.5in]{twistSwing} |
3867 |
> |
\caption[The twist-swing decomposition used in orientational |
3868 |
> |
restraints] {The twist-swing decomposition defines relative rotational |
3869 |
> |
angles using the simplest path to rotate the reference |
3870 |
> |
configuration. The reference is rotated by a ``swing'' angle |
3871 |
> |
$\theta$ in the plane of $\mathbf{O} \times \mathbf{E}$, then |
3872 |
> |
rotated by a ``twist'' angle $\phi$ around the swing axis.} |
3873 |
> |
\label{fig:twistSwing} |
3874 |
> |
\end{figure} |
3875 |
> |
|
3876 |
> |
This illustrates the basic idea of the twist-swing decomposition, |
3877 |
> |
which is a general operation that can be performed on the best-fitting |
3878 |
> |
relative rotation matrix ($\mathsf{A}$) between the instantaneous and |
3879 |
> |
reference structures. For objects that are not cylindrically |
3880 |
> |
symmetric, there are two swing angles (one in X and one in Y) in |
3881 |
> |
addition to the twist angle. |
3882 |
> |
|
3883 |
> |
\begin{code}[caption={[Specifying Restraints for a Molecule] Sample |
3884 |
> |
keywords defining a molecular restraint and the associated force constants},label={sch:restMol}] |
3885 |
> |
restraint{ |
3886 |
> |
restraintType = "Molecular"; |
3887 |
> |
molIndex = 0; |
3888 |
> |
twistSpringConstant = 0.25; |
3889 |
> |
swingXSpringConstant = 0.02; |
3890 |
> |
restrainedSwingXAngle = -90.0; |
3891 |
> |
swingYSpringConstant = 0.02; |
3892 |
> |
print = "true"; |
3893 |
> |
} |
3894 |
> |
|
3895 |
> |
useRestraints = "true"; |
3896 |
> |
Restraint_file = "prism_ref.inc"; |
3897 |
> |
\end{code} |
3898 |
> |
|
3899 |
> |
To specify a molecular restraint, it is necessary to give an exact |
3900 |
> |
index of this molecule in the {\tt molIndex} parameter. In the |
3901 |
> |
example in schem \ref{sch:restMol}, the restrained SwingX angle is -90 |
3902 |
> |
degrees offset from the reference structure, so the molecule will be |
3903 |
> |
restrained in a different orientation from the reference geometry. |
3904 |
> |
|
3905 |
> |
\begin{longtable}[c]{ABCD} |
3906 |
> |
\caption{Meta-data Keywords: Restraint Parameters} |
3907 |
> |
\\ |
3908 |
> |
{\bf keyword} & {\bf units} & {\bf use} & {\bf remarks} \\ \hline |
3909 |
> |
\endhead |
3910 |
> |
\hline |
3911 |
> |
\endfoot |
3912 |
> |
{\tt restraintType} & string & What kind of restraint is this? & |
3913 |
> |
choose either ``Object'' or ``Molecular'' \\ |
3914 |
> |
{\tt molIndex} & integer & Which molecule to restrain & \\ |
3915 |
> |
{\tt objectSelection} & string & Selection script for Object |
3916 |
> |
restraints & \\ |
3917 |
> |
{\tt displacementSpringConstant} & kcal/mol/\AA$^2$ & $k_\mathrm{trans}$ & \\ |
3918 |
> |
{\tt twistSpringConstant} & kcal/mol/radian$^2$ & $k_\mathrm{twist}$ & \\ |
3919 |
> |
{\tt swingXSpringConstant} & kcal/mol/radian$^2$ & $k_\mathrm{swingX}$ & \\ |
3920 |
> |
{\tt swingYSpringConstant} & kcal/mol/radian$^2$ & $k_\mathrm{swingY}$ & \\ |
3921 |
> |
{\tt restrainedTwistAngle} & degrees & $\omega_0$ (optional) & |
3922 |
> |
defaults to 0\\ |
3923 |
> |
{\tt restrainedSwingXAngle} & degrees & $\theta_0^x$ (optional) & defaults to 0 \\ |
3924 |
> |
{\tt restrainedSwingYAngle} & degrees & $\theta_0^y$ (optional) & defaults to 0\\ |
3925 |
> |
{\tt print} & logical & whether or not to print restraint value and energy & |
3926 |
> |
defaults to true |
3927 |
> |
\label{table:restraintParams} |
3928 |
> |
\end{longtable} |
3929 |
> |
|
3930 |
> |
The various parameters for a {\tt restraint} are shown in table |
3931 |
> |
\ref{table:restraintParams}. Because restraints have a large number of |
3932 |
> |
parameters, these must be enclosed in a {\it separate} {\tt |
3933 |
> |
restraint\{...\}} block. |
3934 |
> |
|
3935 |
> |
\chapter{\label{chapter:perturbations}Perturbations} |
3936 |
> |
OpenMD allows the user to specify two external perturbations that |
3937 |
> |
interact with the electrostatic properties of the atoms. |
3938 |
> |
|
3939 |
> |
\section{\label{sec:UniformField}Uniform Fields} |
3940 |
> |
To apply a uniform |
3941 |
> |
(vector) electric field to the system, the user adds the {\tt |
3942 |
> |
uniformField} parameter to the MetaData section of the .md file. |
3943 |
> |
|
3944 |
> |
\begin{code}[caption={Specifying a uniform electric field.},label={sch:uniformField}] |
3945 |
> |
uniformField = (a, b, c); |
3946 |
> |
\end{code} |
3947 |
> |
|
3948 |
> |
The values of $a$, $b$, and $c$ are in units of V~/~\AA. The |
3949 |
> |
electrostatic potential corresponding to this uniform field is |
3950 |
> |
\begin{equation} |
3951 |
> |
\phi(\mathbf{r}) = - a x - b y - c z |
3952 |
> |
\end{equation} |
3953 |
> |
which grows unbounded and is not periodic. For these reasons, care |
3954 |
> |
should be taken in using a uniform field with point charges. |
3955 |
> |
The field itself is |
3956 |
> |
\begin{equation} |
3957 |
> |
\mathbf{E} = \left( \begin{array}{c} a \\ b \\ c \end{array} \right). |
3958 |
> |
\end{equation} |
3959 |
> |
The uniform field applies a force on charged atoms, $ \mathbf{F} = C |
3960 |
> |
\mathbf{E}$. For dipolar atoms, the uniform field applies both a |
3961 |
> |
potential, $ U = - \mathbf{D} \cdot \mathbf{E}$ and a torque, $ |
3962 |
> |
\mathbf{\tau} = \mathbf{D} \times \mathbf{E}$ that depends on the |
3963 |
> |
instantaneous dipole ($\mathbf{D}$) of that atom. |
3964 |
> |
|
3965 |
> |
\section{\label{sec:UniformGradient}Uniform Field Gradients} |
3966 |
> |
To apply a uniform electric field gradient to the system, the user |
3967 |
> |
adds three parameters to the MetaData section |
3968 |
> |
|
3969 |
> |
\begin{code}[caption={Specifying a uniform electric field gradient.},label={sch:uniformFieldGradient}] |
3970 |
> |
uniformGradientStrength = g; |
3971 |
> |
uniformGradientDirection1 = (a1, a2, a3) |
3972 |
> |
uniformGradientDirection2 = (b1, b2, b3); |
3973 |
> |
\end{code} |
3974 |
|
|
3975 |
+ |
The two direction vectors, $\mathbf{a}$ and $\mathbf{b}$ are unit |
3976 |
+ |
vectors, and the value of $g$ is in units of |
3977 |
+ |
V~/~\AA\textsuperscript{2}. The electrostatic potential corresponding |
3978 |
+ |
to this uniform gradient is |
3979 |
+ |
\begin{align} |
3980 |
+ |
\phi(\mathbf{r}) = - \frac{g}{2} \Big[& |
3981 |
+ |
\left(a_1 b_1 - \frac{\cos\psi}{3}\right) x^2 |
3982 |
+ |
+ (a_1 b_2 + a_2 b_1) x y + (a_1 b_3 + a_3 b_1) x z \\ |
3983 |
+ |
& + (a_2 b_1 + a_1 b_2) y x |
3984 |
+ |
+ \left(a_2 b_2 - \frac{\cos\psi}{3}\right) y^2 |
3985 |
+ |
+ (a_2 b_3 + a_3 b_2) y z \\ |
3986 |
+ |
& \left. + (a_3 b_1 + a_1 b_3) z x |
3987 |
+ |
+ (a_3 b_2 + a_2 b_3) z y |
3988 |
+ |
+ \left(a_3 b_3 - \frac{\cos\psi}{3}\right) z^2 \right]. \\ |
3989 |
+ |
\end{align} |
3990 |
+ |
where $\cos \psi = \mathbf{a} \cdot \mathbf{b}$. Note that this |
3991 |
+ |
potential grows unbounded and is not periodic. For these reasons, |
3992 |
+ |
care should be taken in using a Uniform Gradient with point |
3993 |
+ |
charges. The corresponding field for this potential is: |
3994 |
+ |
\begin{equation} |
3995 |
+ |
\mathbf{E} = \frac{g}{2} \left( \begin{array}{c} |
3996 |
+ |
2\left(a_1 b_1 - \frac{\cos\psi}{3}\right) x + (a_1 b_2 + a_2 b_1) y |
3997 |
+ |
+ (a_1 b_3 + a_3 b_1) z \\ |
3998 |
+ |
(a_2 b_1 + a_1 b_2) x + 2 \left(a_2 b_2 - \frac{\cos\psi}{3}\right) y |
3999 |
+ |
+ (a_2 b_3 + a_3 b_2) z \\ |
4000 |
+ |
(a_3 b_1 + a_1 b_3) x + (a_3 b_2 + a_2 b_3) y |
4001 |
+ |
+ 2 \left(a_3 b_3 - \frac{\cos\psi}{3}\right) z \end{array} |
4002 |
+ |
\right). |
4003 |
+ |
\end{equation} |
4004 |
+ |
The field also grows unbounded and is not periodic. For these reasons, |
4005 |
+ |
care should be taken in using a Uniform Gradient with point dipoles. |
4006 |
+ |
|
4007 |
+ |
The corresponding field gradient, |
4008 |
+ |
\begin{equation} |
4009 |
+ |
\nabla \mathbf{E} = \frac{g}{2} \left( \begin{array}{ccc} |
4010 |
+ |
2\left(a_1 b_1 - \frac{\cos\psi}{3}\right) & |
4011 |
+ |
(a_1 b_2 + a_2 b_1) & (a_1 b_3 + a_3 b_1) \\ |
4012 |
+ |
(a_2 b_1 + a_1 b_2) & 2 \left(a_2 b_2 - \frac{\cos\psi}{3}\right) & |
4013 |
+ |
(a_2 b_3 + a_3 b_2) \\ |
4014 |
+ |
(a_3 b_1 + a_1 b_3) & (a_3 b_2 + a_2 b_3) & |
4015 |
+ |
2 \left(a_3 b_3 - \frac{\cos\psi}{3}\right) \end{array} \right) |
4016 |
+ |
\end{equation} |
4017 |
+ |
is uniform everywhere. The uniform field gradient applies a force on |
4018 |
+ |
charged atoms, $\mathbf{F} = C~\mathbf{E}(\mathbf{r})$. For dipolar |
4019 |
+ |
atoms, the gradient applies a potential, $U = -\mathbf{D} \cdot |
4020 |
+ |
\mathbf{E}(\mathbf{r})$, force, $\mathbf{F} = \mathbf{D} \cdot |
4021 |
+ |
\nabla \mathbf{E}$, and torque, $ \mathbf{\tau} = \mathbf{D} \times |
4022 |
+ |
\mathbf{E}(\mathbf{r})$. For quadrupolar atoms, the uniform field |
4023 |
+ |
gradient exerts a potential, $U = - \mathsf{Q}:\nabla \mathbf{E}$, and |
4024 |
+ |
a torque $ \mathbf{F} = 2 \mathsf{Q} \times \nabla \mathbf{E}$. |
4025 |
+ |
|
4026 |
+ |
Here, the $:$ indicates a tensor contraction (double dot product) of |
4027 |
+ |
two matrices, and the $\times$ for the quadrupole indicates a vector |
4028 |
+ |
(cross) product of two matrices, defined as |
4029 |
+ |
\begin{equation} |
4030 |
+ |
\left[\mathsf{A} \times \mathsf{B}\right]_\alpha = \sum_\beta |
4031 |
+ |
\left[\mathsf{A}_{\alpha+1,\beta} \mathsf{B}_{\alpha+2,\beta} |
4032 |
+ |
-\mathsf{A}_{\alpha+2,\beta} \mathsf{B}_{\alpha+1,\beta} |
4033 |
+ |
\right] |
4034 |
+ |
\label{eq:matrixCross} |
4035 |
+ |
\end{equation} |
4036 |
+ |
where $\alpha+1$ and $\alpha+2$ are regarded as cyclic |
4037 |
+ |
permuations of the matrix indices. |
4038 |
+ |
|
4039 |
|
\chapter{\label{section:thermInt}Thermodynamic Integration} |
4040 |
|
|
4041 |
|
Thermodynamic integration is an established technique that has been |
4070 |
|
\end{equation} |
4071 |
|
where $K_\mathrm{v}$, $K_\mathrm{\theta}$, and $K_\mathrm{\omega}$ are |
4072 |
|
the spring constants restraining translational motion and deflection |
4073 |
< |
of and rotation around the principle axis of the molecule |
4074 |
< |
respectively. The values of $\theta$ range from $0$ to $\pi$, while |
4075 |
< |
$\omega$ ranges from $-\pi$ to $\pi$. |
4073 |
> |
of (swing) and rotation around (twist) the principle axis of the |
4074 |
> |
molecule respectively. The values of $\theta$ range from $0$ to |
4075 |
> |
$\pi$, while $\omega$ ranges from $-\pi$ to $\pi$. |
4076 |
|
|
4077 |
|
The partition function for a molecular crystal restrained in this |
4078 |
|
fashion can be evaluated analytically, and the Helmholtz Free Energy |
4108 |
|
molecular centers of mass, and two for displacements from the ideal |
4109 |
|
orientations of the molecules. |
4110 |
|
|
4111 |
+ |
\begin{code}[caption={[Specifying Restraints for Thermodynamic |
4112 |
+ |
Integration to an Einstein Crystal]Sample keywords defining restraints |
4113 |
+ |
and their force constants for use in Thermodynamic |
4114 |
+ |
Integration to an Einstein Crystal},label={sch:tiSolid}] |
4115 |
+ |
useThermodynamicIntegration = "true"; |
4116 |
+ |
thermodynamicIntegrationLambda = 0.0; |
4117 |
+ |
thermodynamicIntegrationK = 1.0; |
4118 |
+ |
|
4119 |
+ |
restraint{ |
4120 |
+ |
restraintType = "object"; |
4121 |
+ |
objectSelection = "select SSD_E"; |
4122 |
+ |
displacementSpringConstant = 4.3; |
4123 |
+ |
twistSpringConstant = 750; |
4124 |
+ |
swingXSpringConstant = 700; |
4125 |
+ |
swingYSpringConstant = 700; |
4126 |
+ |
print = "false"; |
4127 |
+ |
} |
4128 |
+ |
|
4129 |
+ |
useRestraints = "true"; |
4130 |
+ |
Restraint_file = "idealCrystal.in"; |
4131 |
+ |
\end{code} |
4132 |
+ |
|
4133 |
|
To construct a thermodynamic integration path, the user would run a |
4134 |
< |
sequence of $N$ simulations, each with a different value of lambda |
4135 |
< |
between $0$ and $1$. When {\tt useSolidThermInt} is set to {\tt true} |
4136 |
< |
in the meta-data file, two additional energy columns are reported in |
4137 |
< |
the {\tt .stat} file for the simulation. The first, {\tt vRaw}, is |
4138 |
< |
the unperturbed energy for the configuration, and the second, {\tt |
4139 |
< |
vHarm}, is the energy of the harmonic (Einstein) system in an |
4140 |
< |
identical configuration. The total potential energy of the |
4141 |
< |
configuration is a linear combination of {\tt vRaw} and {\tt vHarm} |
4142 |
< |
weighted by the value of $\lambda$. |
4134 |
> |
sequence of $N$ simulations, each with a different value of $\lambda$ |
4135 |
> |
between $0$ and $1$. When {\tt useThermodynamicIntegration} is set to |
4136 |
> |
{\tt true} in the meta-data file and restraints are present, two |
4137 |
> |
additional energy columns are reported in the {\tt .stat} file for the |
4138 |
> |
simulation. The first, {\tt vRaw}, is the unperturbed energy for the |
4139 |
> |
configuration, and the second, {\tt vHarm}, is the energy of the |
4140 |
> |
harmonic (Einstein) system in an identical configuration. The total |
4141 |
> |
potential energy of the configuration is a linear combination of {\tt |
4142 |
> |
vRaw} and {\tt vHarm} weighted by the value of $\lambda$. |
4143 |
|
|
4144 |
|
From a running average of the difference between {\tt vRaw} and {\tt |
4145 |
|
vHarm}, the user can obtain the integrand in Eq. (\ref{eq:thermInt}) |
4146 |
|
for fixed value of $\lambda$. |
4147 |
|
|
3284 |
– |
There are two additional files with the suffixes {\tt .zang0} and {\tt |
3285 |
– |
.zang} generated by {\sc OpenMD} during the first run of a solid |
3286 |
– |
thermodynamic integration. These files contain the initial ({\tt |
3287 |
– |
.zang0}) and final ({\tt .zang}) values of the angular displacement |
3288 |
– |
coordinates for each of the molecules. These are particularly useful |
3289 |
– |
when chaining a number of simulations (with successive values of |
3290 |
– |
$\lambda$) together. |
3291 |
– |
|
4148 |
|
For {\it liquid} thermodynamic integrations, the reference system is |
4149 |
|
the ideal gas (with a potential exactly equal to 0), so the {\tt |
4150 |
|
.stat} file contains only the standard columns. The potential energy |
4153 |
|
potential energy directly as the $\Delta V$ in the integrand of |
4154 |
|
Eq. (\ref{eq:thermInt}). |
4155 |
|
|
4156 |
+ |
\begin{code}[caption={[Specifying Restraints for Thermodynamic |
4157 |
+ |
Integration to an Ideal Gas]Sample keywords for use in Thermodynamic |
4158 |
+ |
Integration to an Ideal Gas},label={sch:tiLiquid}] |
4159 |
+ |
useThermodynamicIntegration = "true"; |
4160 |
+ |
thermodynamicIntegrationLambda = 1.0; |
4161 |
+ |
thermodynamicIntegrationK = 1.0; |
4162 |
+ |
\end{code} |
4163 |
+ |
|
4164 |
|
Meta-data parameters concerning thermodynamic integrations are given in |
4165 |
|
Table~\ref{table:thermIntParams} |
4166 |
|
|
4171 |
|
\endhead |
4172 |
|
\hline |
4173 |
|
\endfoot |
4174 |
< |
{\tt useSolidThermInt} & logical & perform thermodynamic integration |
3311 |
< |
to an Einstein crystal? & default is ``false'' \\ |
3312 |
< |
{\tt useLiquidThermInt} & logical & perform thermodynamic integration |
3313 |
< |
to an ideal gas? & default is ``false'' \\ |
4174 |
> |
{\tt useThermodynamicIntegration} & logical & perform thermodynamic integration? & default is ``false'' \\ |
4175 |
|
{\tt thermodynamicIntegrationLambda} & & & \\ |
4176 |
|
& double & transformation |
4177 |
|
parameter & Sets how far along the thermodynamic integration path the |
4179 |
|
{\tt thermodynamicIntegrationK} & & & \\ |
4180 |
|
& double & & power of $\lambda$ |
4181 |
|
governing shape of integration pathway \\ |
3321 |
– |
{\tt thermIntDistSpringConst} & & & \\ |
3322 |
– |
& $\mbox{kcal~mol}^{-1} \mbox{\AA}^{-2}$ |
3323 |
– |
& & spring constant for translations in Einstein crystal \\ |
3324 |
– |
{\tt thermIntThetaSpringConst} & & & \\ |
3325 |
– |
& $\mbox{kcal~mol}^{-1} |
3326 |
– |
\mbox{rad}^{-2}$ & & spring constant for deflection away from z-axis |
3327 |
– |
in Einstein crystal \\ |
3328 |
– |
{\tt thermIntOmegaSpringConst} & & & \\ |
3329 |
– |
& $\mbox{kcal~mol}^{-1} |
3330 |
– |
\mbox{rad}^{-2}$ & & spring constant for rotation around z-axis in |
3331 |
– |
Einstein crystal |
4182 |
|
\label{table:thermIntParams} |
4183 |
|
\end{longtable} |
4184 |
|
|
4208 |
|
|
4209 |
|
\begin{figure} |
4210 |
|
\includegraphics[width=\linewidth]{rnemdDemo} |
4211 |
< |
\caption{The (VSS) RNEMD approach imposes unphysical transfer of both |
4211 |
> |
\caption[Illustration of energy exchange in the VSS RNEMD method]{The (VSS) RNEMD approach imposes unphysical transfer of both |
4212 |
|
linear momentum and kinetic energy between a ``hot'' slab and a |
4213 |
|
``cold'' slab in the simulation box. The system responds to this |
4214 |
|
imposed flux by generating both momentum and temperature gradients. |
4417 |
|
the steepest descent method can be superior to the conjugate gradient |
4418 |
|
method. Hence, the steepest descent method is often used for the first |
4419 |
|
10-100 steps of minimization. Another useful feature of minimization |
4420 |
< |
methods in {\sc OpenMD} is that a modified {\sc shake} algorithm can be |
4421 |
< |
applied during the minimization to constraint the bond lengths if this |
4422 |
< |
is required by the force field. Meta-data parameters concerning the |
4423 |
< |
minimizer are given in Table~\ref{table:minimizeParams} |
4420 |
> |
methods in {\sc OpenMD} is that a modified {\sc shake} algorithm can |
4421 |
> |
be applied during the minimization to constraint the bond lengths if |
4422 |
> |
this is required by the force field. Meta-data parameters concerning |
4423 |
> |
the minimizer are given in Table~\ref{table:minimizeParams} Because |
4424 |
> |
the minimizer methods have a large number of parameters, these must be |
4425 |
> |
enclosed in a {\it separate} {\tt minimizer\{...\}} block. |
4426 |
|
|
4427 |
|
\begin{longtable}[c]{ABCD} |
4428 |
|
\caption{Meta-data Keywords: Energy Minimizer Parameters} |
4460 |
|
|
4461 |
|
\begin{description} |
4462 |
|
\item[{\bf Dump2XYZ}] Converts an {\sc OpenMD} dump file into a file |
4463 |
< |
suitable for viewing in a molecular dynamics viewer like Jmol |
4463 |
> |
suitable for viewing in a molecular dynamics viewer like Jmol or VMD |
4464 |
|
\item[{\bf StaticProps}] Computes static properties like the pair |
4465 |
|
distribution function, $g(r)$. |
4466 |
+ |
\item[{\bf SequentialProps}] Computes a time history of static |
4467 |
+ |
properties from a dump file. |
4468 |
|
\item[{\bf DynamicProps}] Computes time correlation functions like the |
4469 |
|
velocity autocorrelation function, $\langle v(t) \cdot v(0)\rangle$, |
4470 |
|
or the mean square displacement $\langle |r(t) - r(0)|^{2} \rangle$. |
4514 |
|
DirectionalAtom}s which behaves as a single unit. |
4515 |
|
\end{itemize} |
4516 |
|
|
4517 |
< |
Every Molecule, Atom and DirectionalAtom in {\sc OpenMD} have their own names |
4518 |
< |
which are specified in the {\tt .md} file. In contrast, RigidBodies are |
4519 |
< |
denoted by their membership and index inside a particular molecule: |
4520 |
< |
[MoleculeName]\_RB\_[index] (the contents inside the brackets |
4521 |
< |
depend on the specifics of the simulation). The names of rigid bodies are |
4517 |
> |
Every Molecule, Atom and DirectionalAtom in {\sc OpenMD} have their |
4518 |
> |
own names which are specified in the {\tt .md} file. In contrast, |
4519 |
> |
other groupings of atoms are denoted by their membership and index |
4520 |
> |
inside a particular molecule. For example, RigidBodies are denoted |
4521 |
> |
[MoleculeName]\_RB\_[index] (the contents inside the brackets depend |
4522 |
> |
on the specifics of the simulation). The names of rigid bodies are |
4523 |
|
generated automatically. For example, the name of the first rigid body |
4524 |
< |
in a DMPC molecule is DMPC\_RB\_0. |
4524 |
> |
in a DMPC molecule is DMPC\_RB\_0. Similarly, bonds can be denoted |
4525 |
> |
as: [MoleculeName]\_Bond\_[index], bends as |
4526 |
> |
[MoleculeName]\_Bend\_[index], torsions as |
4527 |
> |
[MoleculeName]\_Torsion\_[index], and inversions as |
4528 |
> |
[MoleculeName]\_Inversion\_[index]. These selection names will select |
4529 |
> |
all of the atoms involved in that group, as well as the grouping |
4530 |
> |
itself. |
4531 |
|
|
4532 |
|
\section{\label{section:syntax}Syntax of the Select Command} |
4533 |
|
|
4638 |
|
\begin{center} |
4639 |
|
\begin{tabular}{|l|l|} |
4640 |
|
\hline |
4641 |
< |
{\bf property} & mass, charge \\ |
4641 |
> |
{\bf property} & mass, charge, x, y, z, r, wrappedx, wrappedy, wrappedz \\ |
4642 |
|
{\bf comparison operator} & ``$>$'', ``$<$'', ``$=$'', ``$>=$'', |
4643 |
|
``$<=$'', ``$!=$'' \\ |
4644 |
|
\hline |
4902 |
|
|
4903 |
|
\chapter{\label{section:PreparingInput} Preparing Input Configurations} |
4904 |
|
|
4905 |
< |
{\sc OpenMD} version 4 comes with a few utility programs to aid in |
4906 |
< |
setting up initial configuration and meta-data files. Usually, a user |
4907 |
< |
is interested in either importing a structure from some other format |
4905 |
> |
{\sc OpenMD} comes with a few utility programs to aid in setting up |
4906 |
> |
initial configuration and meta-data files. Usually, a user is |
4907 |
> |
interested in either importing a structure from some other format |
4908 |
|
(usually XYZ or PDB), or in building an initial configuration in some |
4909 |
< |
perfect crystalline lattice. The programs bundled with {\sc OpenMD} |
4910 |
< |
which import coordinate files are {\tt atom2md}, {\tt xyz2md}, and |
4911 |
< |
{\tt pdb2md}. The programs which generate perfect crystals are called |
4912 |
< |
{\tt SimpleBuilder} and {\tt RandomBuilder} |
4909 |
> |
perfect crystalline lattice or nanoparticle geometry. The program |
4910 |
> |
bundled with {\sc OpenMD} that imports coordinate files is {\tt |
4911 |
> |
atom2md}, which is built if the initial CMake configuration can find |
4912 |
> |
the openbabel libraries. The programs which generate perfect crystals |
4913 |
> |
are called {\tt SimpleBuilder} and {\tt RandomBuilder}. There are |
4914 |
> |
programs to construct nanoparticles of various sizes and geometries |
4915 |
> |
also. These are {\tt nanoparticleBuilder}, {\tt icosahedralBuilder}, |
4916 |
> |
and {\tt nanorodBuilder}. |
4917 |
|
|
4918 |
< |
\section{\label{section:atom2md}atom2md, xyz2md, and pdb2md} |
4918 |
> |
\section{\label{section:atom2md}atom2md} |
4919 |
|
|
4920 |
< |
{\tt atom2md}, {\tt xyz2md}, and {\tt pdb2md} attempt to construct |
4921 |
< |
{\tt .md} files from a single file containing only atomic coordinate |
4922 |
< |
information. To do this task, they make reasonable guesses about |
4923 |
< |
bonding from the distance between atoms in the coordinate, and attempt |
4924 |
< |
to identify other terms in the potential energy from the topology of |
4925 |
< |
the graph of discovered bonds. This procedure is not perfect, and the |
4926 |
< |
user should check the discovered bonding topology that is contained in |
4927 |
< |
the {\tt $<$MetaData$>$} block in the file that is generated. |
4920 |
> |
{\tt atom2md} attempts to construct {\tt .md} files from a single file |
4921 |
> |
containing only atomic coordinate information. To do this task, they |
4922 |
> |
make reasonable guesses about bonding from the distance between atoms |
4923 |
> |
in the coordinate, and attempt to identify other terms in the |
4924 |
> |
potential energy from the topology of the graph of discovered bonds. |
4925 |
> |
This procedure is not perfect, and the user should check the |
4926 |
> |
discovered bonding topology that is contained in the {\tt |
4927 |
> |
$<$MetaData$>$} block in the file that is generated. |
4928 |
|
|
4929 |
|
Typically, the user would run: |
4930 |
|
|
4964 |
|
using -H$<$format-type$>$, e.g. -Hpdb} |
4965 |
|
\end{longtable} |
4966 |
|
|
4102 |
– |
The specific programs {\tt xyz2md} and {\tt pdb2md} are identical |
4103 |
– |
to {\tt atom2md}, but they use a specific input format and do not |
4104 |
– |
expect the the input specifier on the command line. |
4105 |
– |
|
4106 |
– |
|
4967 |
|
\section{\label{section:SimpleBuilder}SimpleBuilder} |
4968 |
|
|
4969 |
|
{\tt SimpleBuilder} creates simple lattice structures. It requires an |
5063 |
|
\end{longtable} |
5064 |
|
|
5065 |
|
|
4206 |
– |
|
4207 |
– |
|
4208 |
– |
|
5066 |
|
\chapter{\label{section:parallelization} Parallel Simulation Implementation} |
5067 |
|
|
5068 |
|
Although processor power is continually improving, it is still |
5135 |
|
encourage other researchers to contribute their own code and make it a |
5136 |
|
more powerful package for everyone in the molecular dynamics community |
5137 |
|
to use. All source code for {\sc OpenMD} is available for download at |
5138 |
< |
{\tt http://openmd.net}. |
5138 |
> |
{\tt http://openmd.org}. |
5139 |
|
|
5140 |
|
\chapter{Acknowledgments} |
5141 |
|
|
5142 |
|
Development of {\sc OpenMD} was funded by a New Faculty Award from the |
5143 |
|
Camille and Henry Dreyfus Foundation and by the National Science |
5144 |
< |
Foundation under grant CHE-0134881. Computation time was provided by |
5145 |
< |
the Notre Dame Bunch-of-Boxes (B.o.B) computer cluster under NSF grant |
5146 |
< |
DMR-0079647. |
5144 |
> |
Foundation under grants CHE-0134881, CHE-0848243, and |
5145 |
> |
CHE-1362211. Computation time was provided by the Notre Dame |
5146 |
> |
Bunch-of-Boxes (B.o.B) computer cluster under NSF grant DMR-0079647. |
5147 |
|
|
4291 |
– |
|
5148 |
|
\bibliographystyle{aip} |
5149 |
|
\bibliography{openmdDoc} |
5150 |
|
|