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

Comparing trunk/oopsePaper/oopsePaper.tex (file contents):
Revision 1425 by gezelter, Wed Jul 28 15:44:21 2004 UTC vs.
Revision 1434 by chrisfen, Thu Jul 29 18:01:05 2004 UTC

# Line 3 | Line 3
3   \usepackage{amssymb}
4   \usepackage{endfloat}
5   \usepackage{listings}
6 < \usepackage{palatino}
6 > \usepackage{berkeley}
7   \usepackage{graphicx}
8   \usepackage[ref]{overcite}
9   \usepackage{setspace}
# Line 35 | Line 35 | Need an abstract.
35   \maketitle
36  
37   \begin{abstract}
38 < Need an abstract.
38 > {\sc oopse} is a new molecular dynamics simulation program which is
39 > capable of efficiently integrating equations of motion for atom types
40 > with orientational degrees of freedom (e.g. ``sticky'' atoms and point
41 > dipoles).  Transition metals can also be simulated using the embedded
42 > atom method ({\sc eam}) potential included in the code.  Parallel
43 > simulations are carried out using the force-based decomposition
44 > method.  Simulations are specified using a very simple C-based
45 > meta-data language.  A number of advanced integrators are included,
46 > and the base integrator for orientational dynamics provides
47 > substantial improvements over older quaternion-base schemes.  All
48 > source code is available under a very permissive (BSD-style) Open
49 > Source license.
50   \end{abstract}
51  
52   \section{\label{sec:intro}Introduction}
53  
54 < UNDERWAY
54 > There are a number of excellent molecular dynamics packages available
55 > to the chemical physics
56 > community.\cite{Brooks83,MacKerell98,pearlman:1995,Gromacs,Gromacs3,DL_POLY,Tinker,Paradyn}
57 > All of these packages are stable, polished programs which solve many
58 > problems of interest.  Most are now capable of performing molecular
59 > dynamics simulations on parallel computers.  Some have source code
60 > which is freely available to the entire scientific community.  Few,
61 > however, are capable of efficiently integrating the equations of
62 > motion for atom types with orientational degrees of freedom
63 > (e.g. point dipoles, and ``sticky'' atoms).  And only one of the
64 > programs referenced can handle transition metal force fields like the
65 > Embedded Atom Method ({\sc eam}).  The direction our research program
66 > has taken us now involves the use of atoms with orientational degrees
67 > of freedom and transition metals.  Since these simulation methods may
68 > be of some use to other researchers, we have decided to release our
69 > program to the scientific community with a permissive open source
70 > license.
71  
72 <
73 < We have structured this paper to first discuss the underlying concepts
74 < in this simulation package (Sec. \ref{oopseSec:IOfiles}).  The
75 < empirical energy functions implemented are discussed in
76 < Sec.~\ref{oopseSec:empiricalEnergy}.  Sec.~\ref{oopseSec:mechanics}
77 < describes the various Molecular Dynamics algorithms {\sc oopse}
78 < implements in the integration of the Newtonian equations of motion.
79 < Program design considerations for parallel computing are presented in
72 > This paper communicates the algorithmic details of our program, which
73 > we have been calling the Open source Object-oriented Parallel
74 > Simulation Engine (i.e. {\sc oopse}).  We have structured this paper
75 > to first discuss the underlying concepts in this simulation package
76 > (Sec. \ref{oopseSec:IOfiles}).  The empirical energy functions
77 > implemented are discussed in Sec.~\ref{oopseSec:empiricalEnergy}.
78 > Sec.~\ref{oopseSec:mechanics} describes the various Molecular Dynamics
79 > algorithms {\sc oopse} implements in the integration of Hamilton's
80 > equations of motion.  Program design considerations for parallel
81 > computing are presented in
82   Sec.~\ref{oopseSec:parallelization}. Concluding remarks are presented
83   in Sec.~\ref{oopseSec:conclusion}.
84  
# Line 337 | Line 366 | outlined in Sec.~\ref{oopseSec:empericalEnergy}. The f
366   Sec.~\ref{oopseSec:minimizer}. The {\tt forceField} statement is
367   important for the selection of which forces will be used in the course
368   of the simulation. {\sc oopse} supports several force fields, as
369 < outlined in Sec.~\ref{oopseSec:empericalEnergy}. The force fields are
369 > outlined in Sec.~\ref{oopseSec:empiricalEnergy}. The force fields are
370   interchangeable between simulations, with the only requirement being
371   that all atoms needed by the simulation are defined within the
372   selected force field.
# Line 1048 | Line 1077 | models can be found in reference~\citen{fennell04}.
1077   and the drawbacks and benefits of the different density corrected SSD
1078   models can be found in reference~\citen{fennell04}.
1079  
1080 + \subsection{\label{oopseSec:WATER}The {\sc water} Force Field}
1081 +
1082 + In addition to the {\sc duff} force field's solvent description, a
1083 + separate {\sc water} force field has been included for simulating many
1084 + of the common rigid-body water models. In addition to the simple or
1085 + dipolar models (SSD, SSD1, SSD/E, SSD/RF, and DPD water), the common
1086 + charge-based models were included (SPC, SPC/E, TIP3P, TIP4P, and
1087 + TIP5P).\cite{liu96:new_model,Ichiye03,fennell04,Marrink01,Berendsen81,Berendsen87,Jorgensen83,Mahoney00}
1088 + In order to handle these models, charge-charge interactions were
1089 + included in the force-loop:
1090 + \begin{equation}
1091 + V_{\text{charge}}(r_{ij}) = \sum_{ij}\frac{q_iq_je^2}{r_{ij}},
1092 + \end{equation}
1093 + where $q$ represents the charge on particle $i$ or $j$, and $e$ is the
1094 + charge of an electron in Coulombs. The charge-charge interaction
1095 + support is rudimentary in the current version of {\sc oopse}. As with
1096 + the other pair interactions, charges can be simulated with a pure
1097 + cutoff or a reaction field. The various methods for performing the
1098 + Ewald summation have not yet been included. Also, the charge-dipole
1099 + and charge-quadrupole (for interactions between SSD type water and
1100 + charges) are not yet available, so it is currently inadvisable to mix
1101 + dipolar and charge based molecules in the same system.
1102 +
1103 + The {\sc water} force field can be easily expanded through
1104 + modification of the {\sc water} force field file ({\tt WATER.frc}). By
1105 + adding atom types and inserting the appropriate parameters, it is
1106 + possible to extend the force field to handle rigid molecules other
1107 + than water.
1108 +
1109   \subsection{\label{oopseSec:eam}Embedded Atom Method}
1110  
1111   {\sc oopse} implements a potential that describes bonding in
# Line 1409 | Line 1467 | propagation. With the same time step, a 1000-molecule
1467  
1468   The matrix rotations used in the DLM method end up being more costly
1469   computationally than the simpler arithmetic quaternion
1470 < propagation. With the same time step, a 1000-molecule water simulation
1471 < shows an average 7\% increase in computation time using the DLM method
1472 < in place of quaternions. This cost is more than justified when
1473 < comparing the energy conservation of the two methods as illustrated in
1474 < Fig.~\ref{timestep}.
1470 > propagation. With the same time step, a 1024-molecule water simulation
1471 > shows an 12\% increase in computation time (averaged over several
1472 > different time steps) using the DLM method in place of
1473 > quaternions. This cost is more than justified when comparing the
1474 > energy conservation of the two methods. Figure ~\ref{quatdlm} provides
1475 > a comparative analysis of the {\sc dlm} method versus the simple
1476 > quaternion method that was originally implemented.
1477  
1478   \begin{figure}
1479   \centering
1480 < \includegraphics[width=\linewidth]{timeStep.eps}
1481 < \caption[Energy conservation for quaternion versus DLM dynamics]{Energy conservation using quaternion based integration versus
1482 < the method proposed by Dullweber \emph{et al.} with increasing time
1483 < step. For each time step, the dotted line is total energy using the
1484 < DLM integrator, and the solid line comes from the quaternion
1485 < integrator. The larger time step plots are shifted up from the true
1486 < energy baseline for clarity.}
1487 < \label{timestep}
1480 > \includegraphics[width=\linewidth]{quatvsdlm.eps}
1481 > \caption[Energy conservation analysis of the {\sc dlm} and quaternion
1482 > integration methods]{The logarithm of absolute value of the slope of
1483 > the energy drift (\delta E$_1$) and the standard deviation of the
1484 > energy fluctuations (\delta E$_0$) as a function of chosen time
1485 > step. All simulations were of a 1024-molecule simulation of SSD water
1486 > at 298 K starting from the same initial configuration. Note that the
1487 > {\sc dlm} method provides a greater-than order-of-magnitude
1488 > improvement in energy conservation and relative energy fluctuations
1489 > over the quaternion method at all the tested time steps. The energy
1490 > drift is quite steep for the larger time steps in both methods, and
1491 > results in discontinuous behavior as the systems compound their
1492 > anomolous energy accumulation.}
1493 > \label{quatdlm}
1494   \end{figure}
1495  
1496 < In Fig.~\ref{timestep}, the resulting energy drift at various time
1497 < steps for both the DLM and quaternion integration schemes is
1498 < compared. All of the 1000 molecule water simulations started with the
1499 < same configuration, and the only difference was the method for
1500 < handling rotational motion. At time steps of 0.1 and 0.5 fs, both
1501 < methods for propagating molecule rotation conserve energy fairly well,
1502 < with the quaternion method showing a slight energy drift over time in
1503 < the 0.5 fs time step simulation. At time steps of 1 and 2 fs, the
1504 < energy conservation benefits of the DLM method are clearly
1505 < demonstrated. Thus, while maintaining the same degree of energy
1506 < conservation, one can take considerably longer time steps, leading to
1507 < an overall reduction in computation time.
1496 > In Fig.~\ref{quatdlm}, \delta E$_1$ is a measure of the linear energy
1497 > drift in units of kcal/mol per particle over a nanosecond of
1498 > simulation time, and \delta E$_0$ is the standard deviation of the
1499 > energy fluctuations in units of kcal/mol per particle. In the top
1500 > plot, it is apparent that the energy drift is reduced by a significant
1501 > amount (2 to 3 orders-of-magnitude improvement at every tested time
1502 > step) by chosing the {\sc dlm} method over the simple non-symplectic
1503 > quaternion integration method. When the energy drift becomes very
1504 > small ($log_{10}[|\delta\text{E}_1|] < -3$), it is more difficult to
1505 > calculate a slope, resulting in the larger displayed error bars. In
1506 > addition to this improvement in energy drift, the fluctuation is the
1507 > total energy are also dampened out by 1 to 2 orders-of-magnitude by
1508 > utilizing the {\sc dlm} integration method.
1509  
1510 + It was stated previously that the {\sc dlm} method was the more
1511 + computationally expensive of the two implimented integration
1512 + methodologies. In order to incorporate this information into the
1513 + energy analysis a plot of energy drift versus computational cost was
1514 + generated (Fig.~\ref{cpuCost}). This figure provides an estimate of
1515 + the CPU time required under the two integration schemes for 1
1516 + nanosecond of simulation time for the model 1024-molecule system. The
1517 + plot is read by chosing a desired energy drift value and determining
1518 + where both the curves cross. If a \delta E$_1$ of 1E-3 kcal/mol per
1519 + particle is desired, a nanosecond of simulation time will require ~19
1520 + hours of CPU time with the {\sc dlm} integrator, while the same small
1521 + drift value will require ~154 hours of CPU time. This demonstrates the
1522 + computational advantage of the integration scheme utilized in {\sc
1523 + oopse}.
1524 +
1525 + \begin{figure}
1526 + \centering
1527 + \includegraphics[width=\linewidth]{compCost.eps}
1528 + \caption[Energy drift as a function of required simulation run
1529 + time]{The logarithm of absolute value of the slope of the energy drift
1530 + (\delta E$_1$) as a function of simulation run time. Simulations were
1531 + performed on a single 2.5 GHz Pentium IV processor. Simulation time
1532 + comparisons can be made by tracing horizontally from one curve to the
1533 + other. For example, a simulation that takes ~24 hours using the {\sc
1534 + dlm} method will take roughly 210 hours using the simple quaternion
1535 + method if the same degree of energy conservation is desired.}
1536 + \label{cpuCost}
1537 + \end{figure}
1538 +
1539   There is only one specific keyword relevant to the default integrator,
1540   and that is the time step for integrating the equations of motion.
1541  
# Line 2081 | Line 2177 | used by default\\
2177   \end{table}
2178  
2179  
2180 < \section{\label{sec:minimize}Energy Minimization}
2180 > \section{\label{oopseSec:minimizer}Energy Minimization}
2181  
2182   As one of the basic procedures of molecular modeling, energy
2183   minimization is used to identify local configurations that are stable

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines