| 1 |
< |
\documentclass[11pt]{article} |
| 2 |
< |
\usepackage{amsmath} |
| 3 |
< |
\usepackage{amssymb} |
| 4 |
< |
\usepackage{endfloat} |
| 5 |
< |
\usepackage{berkeley} |
| 6 |
< |
\usepackage{listings} |
| 7 |
< |
\usepackage{epsf} |
| 8 |
< |
\usepackage[ref]{overcite} |
| 9 |
< |
\usepackage{setspace} |
| 10 |
< |
\usepackage{tabularx} |
| 11 |
< |
\pagestyle{plain} |
| 12 |
< |
\pagenumbering{arabic} |
| 13 |
< |
\oddsidemargin 0.0cm \evensidemargin 0.0cm |
| 14 |
< |
\topmargin -21pt \headsep 10pt |
| 15 |
< |
\textheight 9.0in \textwidth 6.5in |
| 16 |
< |
\brokenpenalty=10000 |
| 17 |
< |
\renewcommand{\baselinestretch}{1.2} |
| 18 |
< |
\renewcommand\citemid{\ } % no comma in optional reference note |
| 1 |
> |
\chapter{\label{chapt:oopse}OOPSE: AN OPEN SOURCE OBJECT-ORIENTED PARALLEL SIMULATION ENGINE FOR MOLECULAR DYNAMICS} |
| 2 |
|
|
| 20 |
– |
\begin{document} |
| 21 |
– |
\lstset{language=C,float,frame=tblr,frameround=tttt} |
| 22 |
– |
\renewcommand{\lstlistingname}{Scheme} |
| 23 |
– |
\title{{\sc oopse}: An Open Source Object-Oriented Parallel Simulation |
| 24 |
– |
Engine for Molecular Dynamics} |
| 3 |
|
|
| 26 |
– |
\author{Matthew A. Meineke, Charles F. Vardeman II, Teng Lin, Christopher J. Fennell and J. Daniel Gezelter\\ |
| 27 |
– |
Department of Chemistry and Biochemistry\\ |
| 28 |
– |
University of Notre Dame\\ |
| 29 |
– |
Notre Dame, Indiana 46556} |
| 4 |
|
|
| 5 |
< |
\date{\today} |
| 6 |
< |
\maketitle |
| 7 |
< |
|
| 8 |
< |
\begin{abstract} |
| 9 |
< |
We detail the capabilities of a new open-source parallel simulation |
| 10 |
< |
package ({\sc oopse}) that can perform molecular dynamics simulations |
| 11 |
< |
on atom types that are missing from other popular packages. In |
| 12 |
< |
particular, {\sc oopse} is capable of performing orientational |
| 39 |
< |
dynamics on dipolar systems, and it can handle simulations of metallic |
| 40 |
< |
systems using the embedded atom method ({\sc eam}). |
| 41 |
< |
\end{abstract} |
| 42 |
< |
|
| 43 |
< |
\newpage |
| 5 |
> |
%% \begin{abstract} |
| 6 |
> |
%% We detail the capabilities of a new open-source parallel simulation |
| 7 |
> |
%% package ({\sc oopse}) that can perform molecular dynamics simulations |
| 8 |
> |
%% on atom types that are missing from other popular packages. In |
| 9 |
> |
%% particular, {\sc oopse} is capable of performing orientational |
| 10 |
> |
%% dynamics on dipolar systems, and it can handle simulations of metallic |
| 11 |
> |
%% systems using the embedded atom method ({\sc eam}). |
| 12 |
> |
%% \end{abstract} |
| 13 |
|
|
| 14 |
+ |
\lstset{language=C,frame=TB,basicstyle=\small,basicstyle=\ttfamily, % |
| 15 |
+ |
xleftmargin=0.5in, xrightmargin=0.5in,captionpos=b, % |
| 16 |
+ |
abovecaptionskip=0.5cm, belowcaptionskip=0.5cm} |
| 17 |
|
\section{\label{sec:intro}Introduction} |
| 18 |
|
|
| 19 |
|
\begin{itemize} |
| 40 |
|
directional components associated with them (\emph{e.g.}~permanent |
| 41 |
|
dipoles). Charges on atoms are not currently supported by {\sc oopse}. |
| 42 |
|
|
| 43 |
< |
\begin{lstlisting}[caption={[Specifier for molecules and atoms] A sample specification of the simple Ar molecule},label=sch:AtmMole] |
| 43 |
> |
\begin{lstlisting}[float,caption={[Specifier for molecules and atoms] A sample specification of the simple Ar molecule},label=sch:AtmMole] |
| 44 |
|
molecule{ |
| 45 |
|
name = "Ar"; |
| 46 |
|
nAtoms = 1; |
| 51 |
|
} |
| 52 |
|
\end{lstlisting} |
| 53 |
|
|
| 54 |
+ |
|
| 55 |
|
Atoms can be collected into secondary srtructures such as rigid bodies |
| 56 |
|
or molecules. The molecule is a way for {\sc oopse} to keep track of |
| 57 |
|
the atoms in a simulation in logical manner. Molecular units store the |
| 115 |
|
placements of the atoms relative to the origin of the rigid body, |
| 116 |
|
which itself has a position relative to the origin of the molecule. |
| 117 |
|
|
| 118 |
< |
\begin{lstlisting}[caption={[Defining rigid bodies]A sample definition of a rigid body},label={sch:rigidBody}] |
| 118 |
> |
\begin{lstlisting}[float,caption={[Defining rigid bodies]A sample definition of a rigid body},label={sch:rigidBody}] |
| 119 |
|
molecule{ |
| 120 |
|
name = "TIP3P_water"; |
| 121 |
|
nRigidBodies = 1; |
| 160 |
|
shows a system of 108 Ar particles simulated with the Lennard-Jones |
| 161 |
|
force field. |
| 162 |
|
|
| 163 |
< |
\begin{lstlisting}[caption={[Invocation of the Lennard-Jones force field] A sample system using the Lennard-Jones force field.},label={sch:LJFF}] |
| 163 |
> |
\begin{lstlisting}[float,caption={[Invocation of the Lennard-Jones force field] A sample system using the Lennard-Jones force field.},label={sch:LJFF}] |
| 164 |
|
|
| 165 |
|
/* |
| 166 |
|
* The Ar molecule is specified |
| 241 |
|
\emph{et al.}\cite{liu96:new_model} |
| 242 |
|
|
| 243 |
|
\begin{figure} |
| 244 |
< |
\epsfxsize=\linewidth |
| 245 |
< |
\epsfbox{lipidModel.eps} |
| 244 |
> |
\centering |
| 245 |
> |
\includegraphics[width=\linewidth]{lipidModel.eps} |
| 246 |
|
\caption{A representation of the lipid model. $\phi$ is the torsion angle, $\theta$ % |
| 247 |
|
is the bend angle, $\mu$ is the dipole moment of the head group, and n |
| 248 |
|
is the chain length.} |
| 249 |
< |
\label{fig:lipidModel} |
| 249 |
> |
\label{oopseFig:lipidModel} |
| 250 |
|
\end{figure} |
| 251 |
|
|
| 252 |
|
We have used a set of scalable parameters to model the alkyl groups |
| 269 |
|
used when integrating the equations of motion. A simulation using {\sc |
| 270 |
|
duff} is illustrated in Scheme \ref{sch:DUFF}. |
| 271 |
|
|
| 272 |
< |
\begin{lstlisting}[caption={[Invocation of {\sc duff}]Sample \texttt{.bass} file showing a simulation utilizing {\sc duff}},label={sch:DUFF}] |
| 272 |
> |
\begin{lstlisting}[float,caption={[Invocation of {\sc duff}]Sample \texttt{.bass} file showing a simulation utilizing {\sc duff}},label={sch:DUFF}] |
| 273 |
|
|
| 274 |
|
#include "water.mdl" |
| 275 |
|
#include "lipid.mdl" |
| 484 |
|
density corrected SSD models can be found in reference |
| 485 |
|
\ref{Gezelter04}. |
| 486 |
|
|
| 487 |
< |
\begin{lstlisting}[caption={[A simulation of {\sc ssd} water]An example file showing a simulation including {\sc ssd} water.},label={sch:ssd}] |
| 487 |
> |
\begin{lstlisting}[float,caption={[A simulation of {\sc ssd} water]An example file showing a simulation including {\sc ssd} water.},label={sch:ssd}] |
| 488 |
|
|
| 489 |
|
#include "water.mdl" |
| 490 |
|
|
| 601 |
|
\begin{equation} |
| 602 |
|
\roundme(x)=\left\{ |
| 603 |
|
\begin{array}{cc}% |
| 604 |
< |
\lfloor{x+0.5}\rfloor & \text{if \ }x\geqslant0\\ |
| 604 |
> |
\lfloor{x+0.5}\rfloor & \text{if \ }x\geqslant 0 \\ |
| 605 |
|
\lceil{x-0.5}\rceil & \text{otherwise}% |
| 606 |
|
\end{array} |
| 607 |
|
\right. |
| 632 |
|
Fig.~\ref{fig:bassExample}. |
| 633 |
|
|
| 634 |
|
\begin{figure} |
| 662 |
– |
|
| 635 |
|
\centering |
| 636 |
|
\framebox[\linewidth]{\rule{0cm}{0.75\linewidth}I'm a {\sc bass} file!} |
| 637 |
|
\caption{Here is an example \texttt{.bass} file} |
| 745 |
|
\ref{timestep}. |
| 746 |
|
|
| 747 |
|
\begin{figure} |
| 748 |
< |
\epsfxsize=6in |
| 749 |
< |
\epsfbox{timeStep.epsi} |
| 748 |
> |
\centering |
| 749 |
> |
\includegraphics[width=\linewidth]{timeStep.eps} |
| 750 |
|
\caption{Energy conservation using quaternion based integration versus |
| 751 |
|
the symplectic step method proposed by Dullweber \emph{et al.} with |
| 752 |
|
increasing time step. For each time step, the dotted line is total |
| 1015 |
|
multiple reads on the same file. |
| 1016 |
|
|
| 1017 |
|
\begin{figure} |
| 1018 |
< |
\epsfxsize=6in |
| 1019 |
< |
\epsfbox{dynamicPropsMem.eps} |
| 1018 |
> |
\centering |
| 1019 |
> |
\includegraphics[width=\linewidth]{dynamicPropsMem.eps} |
| 1020 |
|
\caption{This diagram illustrates the dynamic memory allocation used by \texttt{dynamicProps}, which follows the scheme: $\sum^{N_{\text{memory blocks}}}_{i=1}[ \operatorname{self}(i) + \sum^{N_{\text{memory blocks}}}_{j>i} \operatorname{cross}(i,j)]$. The shaded region represents the self correlation of the memory block, and the open blocks are read one at a time and the cross correlations between blocks are calculated.} |
| 1021 |
|
\label{fig:dynamicPropsMemory} |
| 1022 |
|
\end{figure} |
| 1106 |
|
\item How well does it meet the primary goal |
| 1107 |
|
|
| 1108 |
|
\end{itemize} |
| 1137 |
– |
\section{Acknowledgments} |
| 1138 |
– |
The authors would like to thank espresso for fueling this work, and |
| 1139 |
– |
would also like to send a special acknowledgement to single malt |
| 1140 |
– |
scotch for its wonderful calming effects and its ability to make the |
| 1141 |
– |
troubles of the world float away. |
| 1142 |
– |
\bibliographystyle{achemso} |
| 1143 |
– |
|
| 1144 |
– |
\bibliography{oopse} |
| 1145 |
– |
|
| 1146 |
– |
\end{document} |