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 2805 by tim, Tue Jun 6 20:33:28 2006 UTC vs.
Revision 2812 by tim, Wed Jun 7 02:40:32 2006 UTC

# Line 1 | Line 1
1   \appendix
2 < \chapter{\label{chapt:appendix}APPENDIX}
2 > \chapter{\label{chapt:oopse}Object-Oriented Parallel Simulation Engine (OOPSE)}
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{wilson}. For instance, in the
8 < last 20 years , there are quite a few MD packages that were
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
# Line 15 | Line 15 | documents which is crucial to the maintenance and exte
15   most MD programs also suffer from missing design and implement
16   documents which is crucial to the maintenance and extensibility.
17  
18 + \section{\label{appendixSection:architecture }Architecture}
19 +
20 + \begin{figure}
21 + \centering
22 + \includegraphics[width=3in]{architecture.eps}
23 + \caption[The architecture of {\sc oopse}-3.0] {The architecture
24 + of{\sc oopse}-3.0.} \label{appendixFig:architecture}
25 + \end{figure}
26 +
27   \section{\label{appendixSection:desginPattern}Design Pattern}
28  
29   Design patterns are optimal solutions to commonly-occurring problems
30   in software design. Although originated as an architectural concept
31 < for buildings and towns by Christopher Alexander \cite{alexander},
32 < software patterns first became popular with the wide acceptance of
33 < the book, Design Patterns: Elements of Reusable Object-Oriented
34 < Software \cite{gamma94}. Patterns reflect the experience, knowledge
35 < and insights of developers who have successfully used these patterns
36 < in their own work. Patterns are reusable. They provide a ready-made
37 < solution that can be adapted to different problems as necessary.
38 < Pattern are expressive. they provide a common vocabulary of
39 < solutions that can express large solutions succinctly.
31 > for buildings and towns by Christopher Alexander
32 > \cite{Alexander1987}, software patterns first became popular with
33 > the wide acceptance of the book, Design Patterns: Elements of
34 > Reusable Object-Oriented Software \cite{Gamma1994}. Patterns reflect
35 > the experience, knowledge and insights of developers who have
36 > successfully used these patterns in their own work. Patterns are
37 > reusable. They provide a ready-made solution that can be adapted to
38 > different problems as necessary. Pattern are expressive. they
39 > provide a common vocabulary of solutions that can express large
40 > solutions succinctly.
41  
42   Patterns are usually described using a format that includes the
43   following information:
# Line 75 | Line 85 | that you are operating on.
85  
86   \subsection{\label{appendixSection:templateMethod}Template Method}
87  
78 \section{\label{appendixSection:analysisFramework}Analysis Framework}
79
88   \section{\label{appendixSection:concepts}Concepts}
89  
90   OOPSE manipulates both traditional atoms as well as some objects
# Line 84 | Line 92 | freedom.  Here is a diagram of the class heirarchy:
92   collections of atoms or atoms which have orientational degrees of
93   freedom.  Here is a diagram of the class heirarchy:
94  
95 < \begin{figure}
96 < \centering
97 < \includegraphics[width=3in]{heirarchy.eps}
98 < \caption[Class heirarchy for StuntDoubles in {\sc oopse}-3.0]{ \\
99 < The class heirarchy of StuntDoubles in {\sc oopse}-3.0. The
100 < selection syntax allows the user to select any of the objects that
101 < are descended from a StuntDouble.} \label{oopseFig:heirarchy}
102 < \end{figure}
95 > %\begin{figure}
96 > %\centering
97 > %\includegraphics[width=3in]{heirarchy.eps}
98 > %\caption[Class heirarchy for StuntDoubles in {\sc oopse}-3.0]{ \\
99 > %The class heirarchy of StuntDoubles in {\sc oopse}-3.0. The
100 > %selection syntax allows the user to select any of the objects that
101 > %are descended from a StuntDouble.} \label{oopseFig:heirarchy}
102 > %\end{figure}
103  
104   \begin{itemize}
105   \item A {\bf StuntDouble} is {\it any} object that can be manipulated by the
# Line 242 | Line 250 | atoms.
250   select all StuntDoubles which are within 2.5 angstroms of PO4 or NC4
251   atoms.
252  
245 \section{\label{appendixSection:tools}Tools which use the selection command}
253  
254 < \subsection{\label{appendixSection:Dump2XYZ}Dump2XYZ}
248 <
249 < Dump2XYZ can transform an OOPSE dump file into a xyz file which can
250 < be opened by other molecular dynamics viewers such as Jmol and VMD.
251 < The options available for Dump2XYZ are as follows:
252 <
253 <
254 < \begin{longtable}[c]{|EFG|}
255 < \caption{Dump2XYZ Command-line Options}
256 < \\ \hline
257 < {\bf option} & {\bf verbose option} & {\bf behavior} \\ \hline
258 < \endhead
259 < \hline
260 < \endfoot
261 <  -h & {\tt -{}-help} &                        Print help and exit \\
262 <  -V & {\tt -{}-version} &                     Print version and exit \\
263 <  -i & {\tt -{}-input=filename}  &             input dump file \\
264 <  -o & {\tt -{}-output=filename} &             output file name \\
265 <  -n & {\tt -{}-frame=INT}   &                 print every n frame  (default=`1') \\
266 <  -w & {\tt -{}-water}       &                 skip the the waters  (default=off) \\
267 <  -m & {\tt -{}-periodicBox} &                 map to the periodic box  (default=off)\\
268 <  -z & {\tt -{}-zconstraint}  &                replace the atom types of zconstraint molecules  (default=off) \\
269 <  -r & {\tt -{}-rigidbody}  &                  add a pseudo COM atom to rigidbody  (default=off) \\
270 <  -t & {\tt -{}-watertype} &                   replace the atom type of water model (default=on) \\
271 <  -b & {\tt -{}-basetype}  &                   using base atom type  (default=off) \\
272 <     & {\tt -{}-repeatX=INT}  &                 The number of images to repeat in the x direction  (default=`0') \\
273 <     & {\tt -{}-repeatY=INT} &                 The number of images to repeat in the y direction  (default=`0') \\
274 <     &  {\tt -{}-repeatZ=INT}  &                The number of images to repeat in the z direction  (default=`0') \\
275 <  -s & {\tt -{}-selection=selection script} & By specifying {\tt -{}-selection}=``selection command'' with Dump2XYZ, the user can select an arbitrary set of StuntDoubles to be
276 < converted. \\
277 <     & {\tt -{}-originsele} & By specifying {\tt -{}-originsele}=``selection command'' with Dump2XYZ, the user can re-center the origin of the system around a specific StuntDouble \\
278 <     & {\tt -{}-refsele} &  In order to rotate the system, {\tt -{}-originsele} and {\tt -{}-refsele} must be given to define the new coordinate set. A StuntDouble which contains a dipole (the direction of the dipole is always (0, 0, 1) in body frame) is specified by {\tt -{}-originsele}. The new x-z plane is defined by the direction of the dipole and the StuntDouble is specified by {\tt -{}-refsele}.
279 < \end{longtable}
280 <
254 > \section{\label{appendixSection:analysisFramework}Analysis Framework}
255  
256   \subsection{\label{appendixSection:StaticProps}StaticProps}
257  
# Line 354 | Line 328 | The options available for {\tt StaticProps} are as fol
328   \endfoot
329    -h& {\tt -{}-help}                    &  Print help and exit \\
330    -V& {\tt -{}-version}                 &  Print version and exit \\
331 <  -i& {\tt -{}-input=filename}          &  input dump file \\
332 <  -o& {\tt -{}-output=filename}         &  output file name \\
333 <  -n& {\tt -{}-step=INT}                &  process every n frame  (default=`1') \\
334 <  -r& {\tt -{}-nrbins=INT}              &  number of bins for distance  (default=`100') \\
335 <  -a& {\tt -{}-nanglebins=INT}          &  number of bins for cos(angle)  (default= `50') \\
336 <  -l& {\tt -{}-length=DOUBLE}           &  maximum length (Defaults to 1/2 smallest length of first frame) \\
337 <    & {\tt -{}-sele1=selection script}   & select the first StuntDouble set \\
338 <    & {\tt -{}-sele2=selection script}   & select the second StuntDouble set \\
339 <    & {\tt -{}-sele3=selection script}   & select the third StuntDouble set \\
340 <    & {\tt -{}-refsele=selection script} & select reference (can only be used with {\tt -{}-gxyz}) \\
341 <    & {\tt -{}-molname=STRING}           & molecule name \\
342 <    & {\tt -{}-begin=INT}                & begin internal index \\
343 <    & {\tt -{}-end=INT}                  & end internal index \\
331 >  -i& {\tt -{}-input}          &  input dump file \\
332 >  -o& {\tt -{}-output}         &  output file name \\
333 >  -n& {\tt -{}-step}                &  process every n frame  (default=`1') \\
334 >  -r& {\tt -{}-nrbins}              &  number of bins for distance  (default=`100') \\
335 >  -a& {\tt -{}-nanglebins}          &  number of bins for cos(angle)  (default= `50') \\
336 >  -l& {\tt -{}-length}           &  maximum length (Defaults to 1/2 smallest length of first frame) \\
337 >    & {\tt -{}-sele1}   & select the first StuntDouble set \\
338 >    & {\tt -{}-sele2}   & select the second StuntDouble set \\
339 >    & {\tt -{}-sele3}   & select the third StuntDouble set \\
340 >    & {\tt -{}-refsele} & select reference (can only be used with {\tt -{}-gxyz}) \\
341 >    & {\tt -{}-molname}           & molecule name \\
342 >    & {\tt -{}-begin}                & begin internal index \\
343 >    & {\tt -{}-end}                  & end internal index \\
344   \hline
345   \multicolumn{3}{|l|}{One option from the following group of options is required:} \\
346   \hline
# Line 415 | Line 389 | The options available for DynamicProps are as follows:
389   \endfoot
390    -h& {\tt -{}-help}                   & Print help and exit \\
391    -V& {\tt -{}-version}                & Print version and exit \\
392 <  -i& {\tt -{}-input=filename}         & input dump file \\
393 <  -o& {\tt -{}-output=filename}        & output file name \\
394 <    & {\tt -{}-sele1=selection script} & select first StuntDouble set \\
395 <    & {\tt -{}-sele2=selection script} & select second StuntDouble set (if sele2 is not set, use script from sele1) \\
392 >  -i& {\tt -{}-input}         & input dump file \\
393 >  -o& {\tt -{}-output}        & output file name \\
394 >    & {\tt -{}-sele1} & select first StuntDouble set \\
395 >    & {\tt -{}-sele2} & select second StuntDouble set (if sele2 is not set, use script from sele1) \\
396   \hline
397   \multicolumn{3}{|l|}{One option from the following group of options is required:} \\
398   \hline
# Line 427 | Line 401 | The options available for DynamicProps are as follows:
401    -d& {\tt -{}-dcorr}                  & compute dipole correlation function
402   \end{longtable}
403  
404 + \section{\label{appendixSection:tools}Other Useful Utilities}
405 +
406 + \subsection{\label{appendixSection:Dump2XYZ}Dump2XYZ}
407 +
408 + Dump2XYZ can transform an OOPSE dump file into a xyz file which can
409 + be opened by other molecular dynamics viewers such as Jmol and VMD.
410 + The options available for Dump2XYZ are as follows:
411 +
412 +
413 + \begin{longtable}[c]{|EFG|}
414 + \caption{Dump2XYZ Command-line Options}
415 + \\ \hline
416 + {\bf option} & {\bf verbose option} & {\bf behavior} \\ \hline
417 + \endhead
418 + \hline
419 + \endfoot
420 +  -h & {\tt -{}-help} &                        Print help and exit \\
421 +  -V & {\tt -{}-version} &                     Print version and exit \\
422 +  -i & {\tt -{}-input}  &             input dump file \\
423 +  -o & {\tt -{}-output} &             output file name \\
424 +  -n & {\tt -{}-frame}   &                 print every n frame  (default=`1') \\
425 +  -w & {\tt -{}-water}       &                 skip the the waters  (default=off) \\
426 +  -m & {\tt -{}-periodicBox} &                 map to the periodic box  (default=off)\\
427 +  -z & {\tt -{}-zconstraint}  &                replace the atom types of zconstraint molecules  (default=off) \\
428 +  -r & {\tt -{}-rigidbody}  &                  add a pseudo COM atom to rigidbody  (default=off) \\
429 +  -t & {\tt -{}-watertype} &                   replace the atom type of water model (default=on) \\
430 +  -b & {\tt -{}-basetype}  &                   using base atom type  (default=off) \\
431 +     & {\tt -{}-repeatX}  &                 The number of images to repeat in the x direction  (default=`0') \\
432 +     & {\tt -{}-repeatY} &                 The number of images to repeat in the y direction  (default=`0') \\
433 +     &  {\tt -{}-repeatZ}  &                The number of images to repeat in the z direction  (default=`0') \\
434 +  -s & {\tt -{}-selection} & By specifying {\tt -{}-selection}=``selection command'' with Dump2XYZ, the user can select an arbitrary set of StuntDoubles to be
435 + converted. \\
436 +     & {\tt -{}-originsele} & By specifying {\tt -{}-originsele}=``selection command'' with Dump2XYZ, the user can re-center the origin of the system around a specific StuntDouble \\
437 +     & {\tt -{}-refsele} &  In order to rotate the system, {\tt -{}-originsele} and {\tt -{}-refsele} must be given to define the new coordinate set. A StuntDouble which contains a dipole (the direction of the dipole is always (0, 0, 1) in body frame) is specified by {\tt -{}-originsele}. The new x-z plane is defined by the direction of the dipole and the StuntDouble is specified by {\tt -{}-refsele}.
438 + \end{longtable}
439 +
440   \subsection{\label{appendixSection:hydrodynamics}Hydrodynamics}
441 +
442 + \begin{longtable}[c]{|EFG|}
443 + \caption{Hydrodynamics Command-line Options}
444 + \\ \hline
445 + {\bf option} & {\bf verbose option} & {\bf behavior} \\ \hline
446 + \endhead
447 + \hline
448 + \endfoot
449 +  -h & {\tt -{}-help} &                        Print help and exit \\
450 +  -V & {\tt -{}-version} &                     Print version and exit \\
451 +  -i & {\tt -{}-input}  &             input dump file \\
452 +  -o & {\tt -{}-output} &             output file prefix  (default=`hydro') \\
453 +  -b & {\tt -{}-beads}  &                   generate the beads only, hydrodynamics calculation will not be performed (default=off)\\
454 +     & {\tt -{}-model}  &                 hydrodynamics model (support ``AnalyticalModel'', ``RoughShell'' and ``BeadModel'') \\
455 + \end{longtable}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines