ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/openmdDocs/openmdDoc.tex
(Generate patch)

Comparing trunk/openmdDocs/openmdDoc.tex (file contents):
Revision 4102 by gezelter, Fri Apr 18 18:39:38 2014 UTC vs.
Revision 4322 by gezelter, Wed Mar 25 17:23:48 2015 UTC

# Line 10 | Line 10
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
# Line 29 | Line 31
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}}
# Line 51 | Line 63
63   \newcolumntype{M}{p{1.55in}}
64  
65  
66 < \title{{\sc OpenMD-2.2}: 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.
# Line 95 | Line 112 | motion for atom types with orientational degrees of fr
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
# Line 106 | Line 123 | This document communicates the algorithmic details of
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}.
# Line 118 | Line 135 | A simulation in {\sc OpenMD} is built using a few fund
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
# Line 185 | Line 203 | formats are described in the following sections.
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.},
195 < 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
# Line 218 | Line 235 | label=sch:mdFormat]
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
# Line 231 | Line 248 | depending on the user's mood). An overview of an {\sc
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>
# Line 273 | Line 290 | statusTime = 50;  // statistics file frequency
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
288 < 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";
# Line 296 | Line 312 | molecule{
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>
# Line 331 | Line 347 | statusTime = 50;
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
# Line 402 | Line 418 | rigid body can be seen in Scheme
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{
# Line 428 | Line 444 | 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  
# Line 466 | Line 482 | important for the selection of which forces will be us
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.
# Line 546 | Line 564 | the default value is set by the {\tt cutoffPolicy} \\
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} \\
549 {\tt cutoffPolicy} & string & one of mix, max, or
550 traditional &  the traditional cutoff policy is to set the cutoff
551 radius for all atoms in the system to the same value (governed by the
552 largest atom).  mix and max are pair-dependent cutoff
553 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
# Line 590 | Line 603 | modulus \\
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 \\
# Line 605 | Line 618 | default is never \\
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}
# Line 636 | Line 649 | quaternions to save space in the output files.
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
# Line 645 | Line 658 | additional information is present on the line.  Atoms
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.},
653 < label=sch:dumpFormat]
665 > lastly, body fixed angular momentum for that integrable object.},label={sch:dumpFormat}]
666    <Snapshot>
667      <FrameData>
668          Time: 0
# Line 665 | Line 677 | label=sch:dumpFormat]
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
# Line 716 | Line 728 | An example is given in the {\sc OpenMD} file in Scheme
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>
# Line 763 | Line 775 | component{
775      </StuntDoubles>
776    </Snapshot>
777   </OpenMD>
778 < \end{lstlisting}
778 > \end{code}
779  
780   \section{The Statistics File}
781  
# Line 779 | Line 791 | statistics file is denoted with the \texttt{.stat} fil
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
# Line 793 | Line 805 | section.
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})
811 < + \sum_{\theta_{ijk} \in I} V_{\text{bend}}(\theta_{ijk})
812 < + \sum_{\phi_{ijkl} \in I} V_{\text{torsion}}(\phi_{ijkl})
813 < + \sum_{\omega_{ijkl} \in I} V_{\text{inversion}}(\omega_{ijkl}) \\
814 < & + \sum_{i \in I} \sum_{(j>i+4) \in I}
815 < \biggl[ V_{\text{dispersion}}(r_{ij}) +  V_{\text{electrostatic}}
816 < (\mathbf{r}_{ij},\boldsymbol{\Omega}_{i},\boldsymbol{\Omega}_{j})
817 < \biggr].
818 < \label{eq:internalPotential}
819 < \end{align*}
820 < Here $V_{\text{bond}}, V_{\text{bend}},
821 < V_{\text{torsion}},\mathrm{~and~} V_{\text{inversion}}$ represent the
822 < bond, bend, torsion, and inversion potentials for all
823 < topologically-connected sets of atoms within the molecule.  Bonds are
824 < the primary way of specifying how the atoms are connected together to
825 < form the molecule (i.e. they define the molecular topology).  The
826 < other short-range interactions may be specified explicitly in the
827 < molecule definition, or they may be deduced from bonding information.
828 < For example, bends can be implicitly deduced from two bonds which
829 < share an atom.  Torsions can be deduced from two bends that share a
830 < bond.  Inversion potentials are utilized primarily to enforce
831 < planarity around $sp^2$-hybridized sites, and these are specified with
832 < central atoms and satellites (or an atom with bonds to exactly three
833 < satellites).  The pairwise portions of the non-bonded interactions are
834 < usually excluded for atom pairs that are involved in the same bond,
835 < bend, or torsion. All other atom pairs within a molecule are subject
836 < 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
# Line 851 | Line 838 | A simple example of a forceField file is shown in sche
838   A simple example of a forceField file is shown in scheme
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}]
# Line 898 | Line 885 | end TorsionTypes
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
# Line 909 | Line 896 | the various keywords and their possible values are giv
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.},
# Line 918 | Line 905 | begin Options
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
# Line 935 | Line 922 | end Options
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
# Line 963 | Line 950 | simulations in Jmol or VMD.
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 BaseAtomTypes
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
# Line 983 | Line 970 | end BaseAtomTypes
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
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}]
# Line 1017 | Line 1004 | end 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 moving these atoms requires information about the
# Line 1034 | Line 1021 | body frame.
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
# Line 1046 | Line 1033 | end DirectionalAtomTypes                    
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
# Line 1054 | Line 1041 | calculation of temperatures to reflect this.
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}
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
# Line 1094 | Line 1081 | the {\tt NonbondedInteractionTypes} block (see section
1081   the {\tt NonbondedInteractionTypes} block (see section
1082   \ref{section:ffNBinteraction}).
1083  
1084 < \begin{lstlisting}[caption={[An example of a LennardJonesAtomTypes block.] A
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}]
# Line 1111 | Line 1098 | end LennardJonesAtomTypes
1098   CH2             0.0866          3.95
1099   CH              0.0189          4.68
1100   end LennardJonesAtomTypes
1101 < \end{lstlisting}
1101 > \end{code}
1102  
1103 < \subsubsection{\label{section:ffCharge}The ChargeAtomTypes block}
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
# Line 1136 | Line 1123 | of free space.
1123   charge of an electron in Coulombs.  $\epsilon_0$ is the permittivity
1124   of free space.
1125  
1126 < \begin{lstlisting}[caption={[An example of a ChargeAtomTypes block.] A
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}]
# Line 1151 | Line 1138 | end ChargeAtomTypes
1138   Na+             1.0
1139   Cl-            -1.0
1140   end ChargeAtomTypes
1141 < \end{lstlisting}
1141 > \end{code}
1142  
1143 < \subsubsection{\label{section:ffMultipole}The MultipoleAtomTypes
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
# Line 1169 | Line 1156 | given by $C_{\bf a}$, $D_{{\bf a}\alpha}$, and $Q_{{\b
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 primitive
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}
# Line 1203 | Line 1190 | the unit vector pointing along $\mathbf{r}_{ij}$
1190   ($\boldsymbol{\hat{r}}_{ij}=\mathbf{r}_{ij}/|\mathbf{r}_{ij}|$).
1191  
1192  
1193 < \begin{lstlisting}[caption={[An example of a MultipoleAtomTypes block.] A
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$)},
# Line 1223 | Line 1210 | end MultipoleAtomTypes
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{lstlisting}
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
# Line 1234 | Line 1221 | and Quadrupole moments in units of Debye \AA.
1221   in units of degrees.  Dipole moments are entered in units of Debye,
1222   and Quadrupole moments in units of Debye \AA.
1223  
1224 < \subsubsection{\label{section:ffGB}The FluctuatingChargeAtomTypes  block}
1225 < \subsubsection{\label{section:ffPol}The PolarizableAtomTypes block}
1239 < \subsubsection{\label{section:ffGB}The GayBerneAtomTypes block}
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 this anisotropic phase
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 in the
1235 < familiar form of the Lennard-Jones function using
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
# Line 1289 | Line 1277 | in Ref. \citealp{Golubkov06}
1277   efficiently compute forces and torques for this potential can be found
1278   in Ref. \citealp{Golubkov06}
1279  
1280 < \begin{lstlisting}[caption={[An example of a GayBerneAtomTypes block.] A
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.},
# Line 1300 | Line 1288 | end GayBerneAtomTypes                  
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{lstlisting}
1291 > \end{code}
1292  
1293 < \subsubsection{\label{section:ffSticky}The StickyAtomTypes block}
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
# Line 1398 | Line 1386 | reference~\citealp{fennell04}.
1386   density corrected SSD models can be found in
1387   reference~\citealp{fennell04}.
1388  
1389 < \begin{lstlisting}[caption={[An example of a StickyAtomTypes block.] A
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.},
# Line 1410 | Line 1398 | end StickyAtomTypes
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{lstlisting}
1401 > \end{code}
1402  
1403 < \subsection{\label{section::ffMetals}Metallic Atom Types}
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
# Line 1441 | Line 1429 | repulsive interaction between atoms $i$ and $j$.
1429   The pairwise portion of the potential, $\phi_{ij}$, is usually a
1430   repulsive interaction between atoms $i$ and $j$.
1431  
1432 < \subsubsection{\label{section:ffEAM}The EAMAtomTypes block}
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}
# Line 1492 | Line 1480 | files.  
1480   $\mbox{kcal mol}^{-1}$ as in the rest of the {\sc OpenMD} force field
1481   files.  
1482  
1483 < \begin{lstlisting}[caption={[An example of a EAMAtomTypes block.] A
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.},
# Line 1505 | Line 1493 | end EAMAtomTypes
1493   Pd      Pd.u3.funcfl
1494   Pt      Pt.u3.funcfl
1495   end EAMAtomTypes
1496 < \end{lstlisting}
1509 <
1496 > \end{code}
1497  
1498 < \subsubsection{\label{section:ffSC}The SuttonChenAtomTypes block}
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 has the same
1502 < basic form as the {\sc eam} potential, the Sutton-Chen model takes on
1503 < a simpler form,
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
# Line 1541 | Line 1528 | crystal.  Interested readers are encouraged to consult
1528   crystal.  Interested readers are encouraged to consult reference
1529   \citealp{Qi99} for further details.
1530  
1531 < \begin{lstlisting}[caption={[An example of a SCAtomTypes block.] A
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
# Line 1561 | Line 1548 | end SCAtomTypes
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{lstlisting}
1551 > \end{code}
1552  
1553 < \subsection{\label{section::ffShortRange}Short Range Interactions}
1554 < \subsubsection{\label{section:ffBond}The BondTypes block}
1555 < \subsubsection{\label{section:ffBend}The BendTypes block}
1556 < A harmonic bend potential is represented by the following function:
1557 < \begin{equation}
1558 < V_{\text{bend}}(\theta_{ijk}) = k_{\theta}( \theta_{ijk} - \theta_0
1559 < )^2, \label{eq:bendPot}
1560 < \end{equation}
1561 < where $\theta_{ijk}$ is the angle defined by atoms $i$, $j$, and $k$,
1562 < $\theta_0$ is the equilibrium bond angle, and $k_{\theta}$ is the
1563 < force constant which determines the strength of the harmonic bend.
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 > 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 > 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:ffTorsion}The TorsionTypes block}
1587 < The torsion potential is often represented as a cosine series of the
1588 < form:
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 > 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 < V_{\text{torsion}}(\phi) = c_1[1 + \cos \phi]
1604 <        + c_2[1 + \cos(2\phi)]
1605 <        + c_3[1 + \cos(3\phi)],
1606 < \label{eq:origTorsionPot}
1607 < \end{equation}
1608 < where:
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 < \cos\phi = (\hat{\mathbf{r}}_{ij} \times \hat{\mathbf{r}}_{jk}) \cdot
1612 <        (\hat{\mathbf{r}}_{jk} \times \hat{\mathbf{r}}_{kl}).
1591 < \label{eq:torsPhi}
1611 > V_{\text{bond}}(b) = \frac{k_{ij}}{2} \left(b -
1612 >  b_{ij}^0 \right)^2
1613   \end{equation}
1614 < Here, $\hat{\mathbf{r}}_{\alpha\beta}$ are the set of unit bond
1594 < vectors between atoms $i$, $j$, $k$, and $l$. For computational
1595 < efficiency, the torsion potential has been recast after the method of
1596 < {\sc charmm},\cite{Brooks83} in which the angle series is converted to
1597 < a power series of the form:
1614 > and {\tt Morse} bonds,
1615   \begin{equation}
1616 < V_{\text{torsion}}(\phi) =  
1600 <        k_3 \cos^3 \phi + k_2 \cos^2 \phi + k_1 \cos \phi + k_0,
1601 < \label{eq:torsionPot}
1616 > V_{\text{bond}}(b) = D_{ij} \left[ 1 - e^{-\beta_{ij} (b - b_{ij}^0)} \right]^2
1617   \end{equation}
1603 where:
1604 \begin{align*}
1605 k_0 &= c_1 + c_3, \\
1606 k_1 &= c_1 - 3c_3, \\
1607 k_2 &= 2 c_2, \\
1608 k_3 &= 4c_3.
1609 \end{align*}
1610 By recasting the potential as a power series, repeated trigonometric
1611 evaluations are avoided during the calculation of the potential
1612 energy.
1618  
1619 < \subsubsection{\label{section:ffInversion}The InversionTypes block}
1620 < \subsection{\label{section::ffLongRange}Long Range Interactions}
1621 < \subsubsection{\label{section:ffNBinteraction}The NonBondedInteraction block}
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 <
1629 <
1630 < (see Fig.~\ref{fig:lipidModel}), The parameters for $k_{\theta}$ and
1621 < $\theta_0$ are borrowed from those in TraPPE.\cite{Siepmann1998}
1622 <
1623 < Calculating the long-range (non-bonded) potential involves a sum over
1624 < all pairs of atoms (except for those atoms which are involved in a
1625 < bond, bend, or torsion with each other).  If done poorly, calculating
1626 < the the long-range interactions for $N$ atoms would involve $N(N-1)/2$
1627 < evaluations of atomic distances.  To reduce the number of distance
1628 < evaluations between pairs of atoms, {\sc OpenMD} allows the use of
1629 < switched cutoffs with Verlet neighbor lists.\cite{Allen87} Neutral
1630 < groups which contain charges will exhibit pathological forces unless
1631 < the cutoff is applied to the neutral groups evenly instead of to the
1632 < individual atoms.\cite{leach01:mm}  {\sc OpenMD} allows users to
1633 < specify cutoff groups which may contain an arbitrary number of atoms
1634 < in the molecule.  Atoms in a cutoff group are treated as a single unit
1635 < for the evaluation of the switching function:
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_{\mathrm{long-range}} = \sum_{a} \sum_{b>a} s(r_{ab}) \sum_{i \in a} \sum_{j \in b} V_{ij}(r_{ij}),
1632 > V_{\text{bond}}(b) = 0.
1633   \end{equation}
1634 < where $r_{ab}$ is the distance between the centers of mass of the two
1635 < cutoff groups ($a$ and $b$).
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 < The sums over $a$ and $b$ are over the cutoff groups that are present
1643 < in the simulation.  Atoms which are not explicitly defined as members
1644 < of a {\tt cutoffGroup} are treated as a group consisting of only one
1645 < atom.  The switching function, $s(r)$ is the standard cubic switching
1646 < function,
1648 > {\tt Polynomial} bonds which can have any number of terms,
1649   \begin{equation}
1650 < S(r) =
1649 <        \begin{cases}
1650 <        1 & \text{if $r \le r_{\text{sw}}$},\\
1651 <        \frac{(r_{\text{cut}} + 2r - 3r_{\text{sw}})(r_{\text{cut}} - r)^2}
1652 <        {(r_{\text{cut}} - r_{\text{sw}})^3}
1653 <        & \text{if $r_{\text{sw}} < r \le r_{\text{cut}}$}, \\
1654 <        0 & \text{if $r > r_{\text{cut}}$.}
1655 <        \end{cases}
1656 < \label{eq:dipoleSwitching}
1650 > V_{\text{bond}}(b) = \sum_n K_n (b -  b_{ij}^0)^n.
1651   \end{equation}
1652 < Here, $r_{\text{sw}}$ is the {\tt switchingRadius}, or the distance
1653 < beyond which interactions are reduced, and $r_{\text{cut}}$ is the
1660 < {\tt cutoffRadius}, or the distance at which interactions are
1661 < truncated.
1652 > can also be specified by giving a sequence of integer ($n$) and force
1653 > constant ($K_n$) pairs.
1654  
1655 < Users of {\sc OpenMD} do not need to specify the {\tt cutoffRadius} or
1656 < {\tt switchingRadius}.  In simulations containing only Lennard-Jones
1657 < atoms, the cutoff radius has a default value of $2.5\sigma_{ii}$,
1658 < where $\sigma_{ii}$ is the largest Lennard-Jones length parameter
1659 < present in the simulation.  In simulations containing charged or
1660 < dipolar atoms, the default cutoff radius is $15 \mbox{\AA}$.  
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 < The {\tt switchingRadius} is set to a default value of 95\% of the
1666 < {\tt cutoffRadius}.  In the special case of a simulation containing
1667 < {\it only} Lennard-Jones atoms, the default switching radius takes the
1668 < same value as the cutoff radius, and {\sc OpenMD} will use a shifted
1669 < potential to remove discontinuities in the potential at the cutoff.
1670 < Both radii may be specified in the meta-data file.
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 < Force fields can be added to {\sc OpenMD}, although it comes with a few
1686 < simple examples (Lennard-Jones, {\sc duff}, {\sc water}, and {\sc
1687 < eam}) which are explained in the following sections.
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 < \section{\label{sec:LJPot}The Lennard Jones Force Field}
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 < Scheme
1697 < \ref{sch:LJFF} gives an example meta-data file that
1698 < sets up a system of 108 Ar particles to be simulated using the
1699 < Lennard-Jones force field.
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{lstlisting}[float,caption={[Invocation of the Lennard-Jones
1689 < force field] A sample startup file for a small Lennard-Jones
1690 < simulation.},label={sch:LJFF}]
1691 < <OpenMD>
1692 <  <MetaData>
1693 < #include "argon.md"
1694 <
1695 < component{
1696 <  type = "Ar";
1697 <  nMol = 108;
1698 < }
1699 <
1700 < forceField = "LJ";
1701 <  </MetaData>
1702 <  <Snapshot>     // not shown in this scheme
1703 <  </Snapshot>
1704 < </OpenMD>
1705 < \end{lstlisting}
1706 <
1707 <
1708 < \section{\label{section:DUFF}Dipolar Unified-Atom Force Field}
1709 <
1710 < The dipolar unified-atom force field ({\sc duff}) was developed to
1711 < simulate lipid bilayers. These types of simulations require a model
1712 < capable of forming bilayers, while still being sufficiently
1713 < computationally efficient to allow large systems ($\sim$100's of
1714 < phospholipids, $\sim$1000's of waters) to be simulated for long times
1715 < ($\sim$10's of nanoseconds). With this goal in mind, {\sc duff} has no
1716 < point charges. Charge-neutral distributions are replaced with dipoles,
1717 < while most atoms and groups of atoms are reduced to Lennard-Jones
1718 < interaction sites. This simplification reduces the length scale of
1719 < long range interactions from $\frac{1}{r}$ to $\frac{1}{r^3}$,
1720 < removing the need for the computationally expensive Ewald
1721 < sum. Instead, Verlet neighbor-lists and cutoff radii are used for the
1722 < dipolar interactions, and, if desired, a reaction field may be added
1723 < to mimic longer range interactions.
1724 <
1725 < As an example, lipid head-groups in {\sc duff} are represented as
1726 < point dipole interaction sites.  Placing a dipole at the head group's
1727 < center of mass mimics the charge separation found in common
1728 < phospholipid head groups such as phosphatidylcholine.\cite{Cevc87}
1729 < Additionally, a large Lennard-Jones site is located at the
1730 < pseudoatom's center of mass. The model is illustrated by the red atom
1731 < in Fig.~\ref{fig:lipidModel}. The water model we use to
1732 < complement the dipoles of the lipids is a
1733 < reparameterization\cite{fennell04} of the soft sticky dipole (SSD)
1734 < model of Ichiye
1735 < \emph{et al.}\cite{liu96:new_model}
1736 <
1737 < \begin{figure}
1706 > \begin{figure}[h]
1707   \centering
1708 < \includegraphics[width=\linewidth]{lipidModel.pdf}
1709 < \caption[A representation of a lipid model in {\sc duff}]{A
1710 < representation of the lipid model. $\phi$ is the torsion angle,
1711 < $\theta$ is the bend angle, and $\mu$ is the dipole moment of the head
1712 < group.}
1713 < \label{fig:lipidModel}
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  
1747 A set of scalable parameters has been used to model the alkyl groups
1748 with Lennard-Jones sites. For this, parameters from the TraPPE force
1749 field of Siepmann \emph{et al.}\cite{Siepmann1998} have been
1750 utilized. TraPPE is a unified-atom representation of n-alkanes which
1751 is parametrized against phase equilibria using Gibbs ensemble Monte
1752 Carlo simulation techniques.\cite{Siepmann1998} One of the advantages
1753 of TraPPE is that it generalizes the types of atoms in an alkyl chain
1754 to keep the number of pseudoatoms to a minimum; thus, the parameters
1755 for a unified atom such as $\text{CH}_2$ do not change depending on
1756 what species are bonded to it.
1716  
1717 < As is required by TraPPE, {\sc duff} also constrains all bonds to be
1718 < of fixed length. Typically, bond vibrations are the fastest motions in
1719 < a molecular dynamic simulation.  With these vibrations present, small
1720 < time steps between force evaluations must be used to ensure adequate
1721 < energy conservation in the bond degrees of freedom. By constraining
1722 < the bond lengths, larger time steps may be used when integrating the
1723 < equations of motion. A simulation using {\sc duff} is illustrated in
1724 < Scheme \ref{sch:DUFF}.
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 < \begin{lstlisting}[float,caption={[Invocation of {\sc duff}]A portion
1736 < of a startup file showing a simulation utilizing {\sc
1737 < duff}},label={sch:DUFF}]  
1738 < <OpenMD>
1739 <  <MetaData>
1740 < #include "water.md"
1773 < #include "lipid.md"
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 < component{
1743 <  type = "simpleLipid_16";
1777 <  nMol = 60;
1778 < }
1779 <
1780 < component{
1781 <  type = "SSD_water";
1782 <  nMol = 1936;
1783 < }
1784 <
1785 < forceField = "DUFF";
1786 <  </MetaData>
1787 <  <Snapshot>     // not shown in this scheme
1788 <  </Snapshot>
1789 < </OpenMD>
1790 < \end{lstlisting}
1791 <
1792 <
1793 <
1794 < The cross potential between molecules $I$ and $J$,
1795 < $V^{IJ}_{\text{Cross}}$, is as follows:
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^{IJ}_{\text{Cross}} =
1798 <        \sum_{i \in I} \sum_{j \in J}
1799 <        \biggl[ V_{\text{LJ}}(r_{ij}) +  V_{\text{dipole}}
1800 <        (\mathbf{r}_{ij},\boldsymbol{\Omega}_{i},\boldsymbol{\Omega}_{j})
1801 <        + V_{\text{sticky}}
1802 <        (\mathbf{r}_{ij},\boldsymbol{\Omega}_{i},\boldsymbol{\Omega}_{j})
1803 <        \biggr],
1804 < \label{eq:crossPotentail}
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 < where $V_{\text{LJ}}$ is the Lennard Jones potential,
1748 < $V_{\text{dipole}}$ is the dipole dipole potential, and
1749 < $V_{\text{sticky}}$ is the sticky potential defined by the SSD model
1750 < (Sec.~\ref{section:SSD}). Note that not all atom types include all
1751 < interactions.
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 <
1813 < \section{\label{section:WATER}The {\sc water} Force Field}
1814 <
1815 < In addition to the {\sc duff} force field's solvent description, a
1816 < separate {\sc water} force field has been included for simulating most
1817 < of the common rigid-body water models. This force field includes the
1818 < simple and point-dipolar models (SSD, SSD1, SSD/E, SSD/RF, and DPD
1819 < water), as well as the common charge-based models (SPC, SPC/E, TIP3P,
1820 < TIP4P, and
1821 < TIP5P).\cite{liu96:new_model,Ichiye03,fennell04,Marrink01,Berendsen81,Berendsen87,Jorgensen83,Mahoney00}
1822 < In order to handle these models, charge-charge interactions were
1823 < included in the force-loop:
1758 > {\tt Polynomial} bends which can have any number of terms,
1759   \begin{equation}
1760 < V_{\text{charge}}(r_{ij}) = \sum_{ij}\frac{q_iq_je^2}{r_{ij}},
1760 > V_{\text{bend}}(\theta_{ijk}) = \sum_n K_n (\theta_{ijk} -  \theta_{ijk}^0)^n.
1761   \end{equation}
1762 < where $q$ represents the charge on particle $i$ or $j$, and $e$ is the
1763 < charge of an electron in Coulombs. The charge-charge interaction
1829 < support is rudimentary in the current version of {\sc OpenMD}.  As with
1830 < the other pair interactions, charges can be simulated with a pure
1831 < cutoff or a reaction field.  The various methods for performing the
1832 < Ewald summation have not yet been included.  The {\sc water} force
1833 < field can be easily expanded through modification of the {\sc water}
1834 < force field file ({\tt WATER.frc}). By adding atom types and inserting
1835 < the appropriate parameters, it is possible to extend the force field
1836 < to handle rigid molecules other than water.
1762 > can also be specified by giving a sequence of integer ($n$) and force
1763 > constant ($K_n$) pairs.
1764  
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 < \section{\label{section:sc}The Sutton-Chen Force Field}
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 + 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 < \section{\label{section:clay}The CLAY force field}
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 < The {\sc clay} force field is based on an ionic (nonbonded)
1824 < description of the metal-oxygen interactions associated with hydrated
1825 < phases. All atoms are represented as point charges and are allowed
1826 < complete translational freedom. Metal-oxygen interactions are based on
1827 < a simple Lennard-Jones potential combined with electrostatics. The
1828 < empirical parameters were optimized by Cygan {\it et
1829 < al.}\cite{Cygan04} on the basis of known mineral structures, and
1830 < partial atomic charges were derived from periodic DFT quantum chemical
1831 < calculations of simple oxide, hydroxide, and oxyhydroxide model
1832 < compounds with well-defined structures.
1823 > A general torsion potentials can be represented as a cosine series of
1824 > the form:
1825 > \begin{equation}
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 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 > 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{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:
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 > 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 > 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 > \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.
# Line 1982 | Line 2218 | the shifted potential (eq. (\ref{eq:SPPot})) becomes
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}-\
1986 < 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}
# Line 2028 | Line 2263 | this reason, the default electrostatic summation metho
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  
2338   \newcommand{\roundme}{\operatorname{round}}
# Line 2407 | Line 2712 | NPTxyz & approximate isobaric-isothermal & {\tt ensemb
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;} \\
# Line 2447 | Line 2756 | $P_{\mathrm{target}}$ & {\tt targetPressure = 1;} & at
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 \\
# Line 3447 | Line 3758 | Harmonic Forces are used by default
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
# Line 3486 | Line 4070 | the spring constants restraining translational motion
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
# Line 3524 | Line 4108 | orientations of the molecules.  
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  
3542 There are two additional files with the suffixes {\tt .zang0} and {\tt
3543 .zang} generated by {\sc OpenMD} during the first run of a solid
3544 thermodynamic integration.  These files contain the initial ({\tt
3545 .zang0}) and  final ({\tt .zang}) values of the angular displacement
3546 coordinates for each of the molecules.  These are particularly useful
3547 when chaining a number of simulations (with successive values of
3548 $\lambda$) together.  
3549
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
# Line 3555 | Line 4153 | Eq. (\ref{eq:thermInt}).
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  
# Line 3565 | Line 4171 | Table~\ref{table:thermIntParams}
4171   \endhead
4172   \hline
4173   \endfoot
4174 < {\tt useSolidThermInt} & logical & perform thermodynamic integration
3569 < to an Einstein crystal? & default is ``false'' \\
3570 < {\tt useLiquidThermInt} & logical & perform thermodynamic integration
3571 < 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
# Line 3576 | Line 4179 | governing shape of integration pathway \\
4179   {\tt thermodynamicIntegrationK} & & & \\
4180   & double & & power of $\lambda$
4181   governing shape of integration pathway \\
3579 {\tt thermIntDistSpringConst} & & & \\
3580 & $\mbox{kcal~mol}^{-1} \mbox{\AA}^{-2}$
3581 & & spring constant for translations in Einstein crystal \\
3582 {\tt thermIntThetaSpringConst} & & & \\
3583 & $\mbox{kcal~mol}^{-1}
3584 \mbox{rad}^{-2}$ & & spring constant for deflection away from z-axis
3585 in Einstein crystal \\
3586 {\tt thermIntOmegaSpringConst} & & &  \\
3587 & $\mbox{kcal~mol}^{-1}
3588 \mbox{rad}^{-2}$ & & spring constant for rotation around z-axis in
3589 Einstein crystal
4182   \label{table:thermIntParams}
4183   \end{longtable}
4184  
# Line 3616 | Line 4208 | simulation times to obtain converged results for trans
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.
# Line 3825 | Line 4417 | method. Hence, the steepest descent method is often us
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}
# Line 3866 | Line 4460 | simulation.  These programs are:
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$.
# Line 3918 | Line 4514 | DirectionalAtom}s which behaves as a single unit.
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  
# Line 4035 | Line 4638 | name, followed by a comparision operator and then a nu
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
# Line 4299 | Line 4902 | The options available for DynamicProps are as follows:
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
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}
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 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  
# Line 4357 | Line 4964 | using -H$<$format-type$>$, e.g. -Hpdb}
4964   using -H$<$format-type$>$, e.g. -Hpdb}
4965   \end{longtable}
4966  
4360 The specific programs {\tt xyz2md} and {\tt pdb2md} are identical
4361 to {\tt atom2md}, but they use a specific input format and do not
4362 expect the the input specifier on the command line.
4363
4364
4967   \section{\label{section:SimpleBuilder}SimpleBuilder}
4968  
4969   {\tt SimpleBuilder} creates simple lattice structures.  It requires an
# Line 4461 | Line 5063 | hydrodynamic calculations will not be performed (defau
5063   \end{longtable}
5064  
5065  
4464
4465
4466
5066   \chapter{\label{section:parallelization} Parallel Simulation Implementation}
5067  
5068   Although processor power is continually improving, it is still
# Line 4536 | Line 5135 | to use.  All source code for {\sc OpenMD} is available
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  
4549
5148   \bibliographystyle{aip}
5149   \bibliography{openmdDoc}
5150  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines