| 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} |
| 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 |
| 55 |
< |
|
| 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 |
< |
We have structured this paper to first discuss the underlying concepts |
| 73 |
< |
in this simulation package (Sec. \ref{oopseSec:IOfiles}). The |
| 74 |
< |
empirical energy functions implemented are discussed in |
| 75 |
< |
Sec.~\ref{oopseSec:empiricalEnergy}. Sec.~\ref{oopseSec:mechanics} |
| 76 |
< |
describes the various Molecular Dynamics algorithms {\sc oopse} |
| 77 |
< |
implements in the integration of the Newtonian equations of motion. |
| 78 |
< |
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 |
|
|
| 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. |
| 2110 |
|
\end{table} |
| 2111 |
|
|
| 2112 |
|
|
| 2113 |
< |
\section{\label{sec:minimize}Energy Minimization} |
| 2113 |
> |
\section{\label{oopseSec:minimizer}Energy Minimization} |
| 2114 |
|
|
| 2115 |
|
As one of the basic procedures of molecular modeling, energy |
| 2116 |
|
minimization is used to identify local configurations that are stable |