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

Comparing trunk/tengDissertation/Appendix.tex (file contents):
Revision 2837 by tim, Fri Jun 9 02:20:39 2006 UTC vs.
Revision 2841 by tim, Fri Jun 9 03:19:29 2006 UTC

# Line 1 | Line 1
1   \appendix
2   \chapter{\label{chapt:oopse}Object-Oriented Parallel Simulation Engine}
3  
4 < Designing object-oriented software is hard, and designing reusable
5 < object-oriented scientific software is even harder. Absence of
6 < applying modern software development practices is the bottleneck of
7 < Scientific Computing community\cite{Wilson2006}. For instance, in
8 < the last 20 years , there are quite a few MD packages that were
9 < developed to solve common MD problems and perform robust simulations
10 < . However, many of the codes are legacy programs that are either
11 < poorly organized or extremely complex. Usually, these packages were
12 < contributed by scientists without official computer science
13 < training. The development of most MD applications are lack of strong
14 < coordination to enforce design and programming guidelines. Moreover,
15 < most MD programs also suffer from missing design and implement
16 < documents which is crucial to the maintenance and extensibility.
17 < Along the way of studying structural and dynamic processes in
18 < condensed phase systems like biological membranes and nanoparticles,
19 < we developed and maintained an Object-Oriented Parallel Simulation
20 < Engine ({\sc OOPSE}). This new molecular dynamics package has some
21 < unique features
4 > Absence of applying modern software development practices is the
5 > bottleneck of Scientific Computing community\cite{Wilson2006}. In
6 > the last 20 years , there are quite a few MD
7 > packages\cite{Brooks1983, Vincent1995, Kale1999} that were developed
8 > to solve common MD problems and perform robust simulations .
9 > Unfortunately, most of them are commercial programs that are either
10 > poorly written or extremely complicate. Consequently, it prevents
11 > the researchers to reuse or extend those packages to do cutting-edge
12 > research effectively. Along the way of studying structural and
13 > dynamic processes in condensed phase systems like biological
14 > membranes and nanoparticles, we developed an open source
15 > Object-Oriented Parallel Simulation Engine ({\sc OOPSE}). This new
16 > molecular dynamics package has some unique features
17   \begin{enumerate}
18    \item {\sc OOPSE} performs Molecular Dynamics (MD) simulations on non-standard
19   atom types (transition metals, point dipoles, sticky potentials,
# Line 64 | Line 59 | as \texttt{StatProps} (see Sec.~\ref{appendixSection:S
59   program of the package, \texttt{oopse} and it corresponding parallel
60   version \texttt{oopse\_MPI}, as well as other useful utilities, such
61   as \texttt{StatProps} (see Sec.~\ref{appendixSection:StaticProps}),
62 < \texttt{DynamicProps} (see
63 < Sec.~\ref{appendixSection:appendixSection:DynamicProps}),
64 < \texttt{Dump2XYZ} (see
70 < Sec.~\ref{appendixSection:appendixSection:Dump2XYZ}), \texttt{Hydro}
71 < (see Sec.~\ref{appendixSection:appendixSection:hydrodynamics})
62 > \texttt{DynamicProps} (see Sec.~\ref{appendixSection:DynamicProps}),
63 > \texttt{Dump2XYZ} (see Sec.~\ref{appendixSection:Dump2XYZ}),
64 > \texttt{Hydro} (see Sec.~\ref{appendixSection:hydrodynamics})
65   \textit{etc}.
66  
67   \begin{figure}
# Line 113 | Line 106 | OOPSE}\cite{Meineke05} and PROTOMOL\cite{Matthey05} \t
106   As one of the latest advanced techniques emerged from
107   object-oriented community, design patterns were applied in some of
108   the modern scientific software applications, such as JMol, {\sc
109 < OOPSE}\cite{Meineke05} and PROTOMOL\cite{Matthey05} \textit{etc}.
110 < The following sections enumerates some of the patterns used in {\sc
111 < OOPSE}.
109 > OOPSE}\cite{Meineke2005} and PROTOMOL\cite{Matthey2005}
110 > \textit{etc}. The following sections enumerates some of the patterns
111 > used in {\sc OOPSE}.
112  
113   \subsection{\label{appendixSection:singleton}Singleton}
114  
# Line 256 | Line 249 | diagram of Visitor patten.} \label{appendixFig:visitor
249   diagram of Visitor patten.} \label{appendixFig:visitorUML}
250   \end{figure}
251  
252 < %\begin{figure}
253 < %\centering
254 < %\includegraphics[width=\linewidth]{hierarchy.eps}
255 < %\caption[Class hierarchy for ojects in {\sc OOPSE}]{ A diagram of
256 < %the class hierarchy.
257 < %\begin{itemize}
265 < %\item A {\bf StuntDouble} is {\it any} object that can be manipulated by the
266 < %integrators and minimizers.
267 < %\item An {\bf Atom} is a fundamental point-particle that can be moved around during a simulation.
268 < %\item A {\bf DirectionalAtom} is an atom which has {\it orientational} as well as translational degrees of freedom.
269 < %\item A {\bf RigidBody} is a collection of {\bf Atom}s or {\bf
270 < %DirectionalAtom}s which behaves as a single unit.
271 < %\end{itemize}
272 < %} \label{oopseFig:hierarchy}
273 < %\end{figure}
252 > \begin{figure}
253 > \centering
254 > \includegraphics[width=\linewidth]{hierarchy.eps}
255 > \caption[Class hierarchy for ojects in {\sc OOPSE}]{ A diagram of
256 > the class hierarchy. } \label{oopseFig:hierarchy}
257 > \end{figure}
258  
259   \begin{lstlisting}[float,caption={[The implementation of Visitor pattern (II)]Source code of the element classes.},label={appendixScheme:element}]
260  
# Line 374 | Line 358 | body in a DMPC molecule is DMPC\_RB\_0.
358   on the specifics of the simulation). The names of rigid bodies are
359   generated automatically. For example, the name of the first rigid
360   body in a DMPC molecule is DMPC\_RB\_0.
361 + \begin{itemize}
362 + \item A {\bf StuntDouble} is {\it any} object that can be manipulated by the
363 + integrators and minimizers.
364 + \item An {\bf Atom} is a fundamental point-particle that can be moved around during a simulation.
365 + \item A {\bf DirectionalAtom} is an atom which has {\it orientational} as well as translational degrees of freedom.
366 + \item A {\bf RigidBody} is a collection of {\bf Atom}s or {\bf
367 + DirectionalAtom}s which behaves as a single unit.
368 + \end{itemize}
369  
370   \section{\label{appendixSection:syntax}Syntax of the Select Command}
371  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines