ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-2.0/doc/SelectionExpression.html
(Generate patch)

Comparing trunk/OOPSE-2.0/doc/SelectionExpression.html (file contents):
Revision 2111 by gezelter, Thu Mar 10 21:51:06 2005 UTC vs.
Revision 2116 by tim, Fri Mar 11 15:00:20 2005 UTC

# Line 1 | Line 1
1 < <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 < <html>
3 < <head>
4 <  <title>Selection syntax for OOPSE utility programs</title>
5 < </head>
6 < <body style="background-color: white;">
7 < <basefont size="3">
8 < <div align="center">
9 < <p><font size="+2"><b>Selection syntax for OOPSE utility programs</b></font><span
10 < style="font-weight: bold;"></span><br>
11 < </p>
12 < <h2 align="left"><a name="introduction" id="introduction"> Introduction
13 < </a></h2>
14 < <p style="text-align: left;">The OOPSE utility programs compute
15 < properties from the <span
16 < style="font-family: monospace; font-weight: bold;">dump</span><span
17 < style="font-weight: bold;">
18 < </span>files that are generated during a molecular dynamics
19 < simulation.&nbsp;
20 < These programs are:<br>
21 < </p>
22 < <ul style="text-align: left;">
23 <  <li><span style="font-family: monospace; font-weight: bold;">Dump2XYZ</span><span
24 < style="font-weight: bold;"> </span>- Converts an OOPSE dump file into
25 < a file suitable
26 < for viewing in a molecular dynamics viewer like <a
27 < href="http://www.jmol.org">Jmol</a><br>
28 <  </li>
29 <  <li><span style="font-family: monospace; font-weight: bold;">StaticProps</span><span
30 < style="font-weight: bold;"> </span>- Computes static properties like
31 < the pair distribution function, <span style="font-style: italic;">g(r)</span>.<br>
32 <  </li>
33 <  <li><span style="font-family: monospace; font-weight: bold;">DynamicProps</span><span
34 < style="font-weight: bold;"> </span>- Computes time correlation
35 < functions like the
36 < velocity autocorrelation function, <span style="font-style: italic;">&lt;<span
37 < style="font-weight: bold;">v</span>(t)<span style="font-weight: bold;">v</span>(0)&gt;</span>,
38 < or the mean square displacement <span style="font-style: italic;">&lt;|<span
39 < style="font-weight: bold;">r</span>(t) - <span
40 < style="font-weight: bold;">r</span>(0)|<sup>2</sup>&gt;.</span></li>
41 < </ul>
42 < <div style="text-align: left;">These programs often need to operate on
43 < a subset of the data contained within a dump file.&nbsp; For example,
44 < if you want only the <span style="font-style: italic;">oxygen-oxygen</span>
45 < pair distribution from a water simulation, or if you want to make a
46 < movie including only the water molecules within a 6 angstrom radius of
47 < lipid head groups, you need a way to specify your selection to these
48 < utility programs.&nbsp;&nbsp; OOPSE has a selection syntax which allows
49 < you to specify the selection in a compact form in order to generate
50 < only the data you want.&nbsp; For example a common use of the
51 < StaticProps command would be:<br>
52 < <br>
53 < <div style="margin-left: 80px;"><span
54 < style="font-family: monospace; font-weight: bold;">StaticProps -i
55 < tp4.dump --gofr --sele1="select O*" --sele2="select O*"</span><br>
56 < </div>
57 < <br>
58 < This command computes the oxygen-oxygen pair distribution function, <span
59 < style="font-style: italic;">g<sub>OO</sub>(r)</span>, from a file
60 < named <span style="font-family: monospace;">tp4.dump</span>.&nbsp; In
61 < order to understand this selection syntax and to make full use of the
62 < selection capabilities of the analysis programs, it is necessary to
63 < understand a few of the core concepts that are used to perform
64 < simulations.<br>
65 < <h2><a name="Concepts"></a>Concepts</h2>
66 < OOPSE manipulates both traditional atoms as well as some objects that <span
67 < style="font-style: italic;">behave like atoms</span>.&nbsp; These
68 < objects can be rigid collections of atoms or atoms which have
69 < orientational degrees of freedom.&nbsp; Here is a diagram of the class
70 < heirarchy:<br>
71 < <span style="font-style: italic;"></span></div>
72 < <p align="center"><img src="classoopse_1_1StuntDouble.png" height="136"
73 < width="292"><br>
74 < </p>
75 < <ul style="text-align: left;">
76 <  <li>A <span style="font-family: monospace; font-weight: bold;">StuntDouble</span>
77 < is <span style="font-style: italic;">any</span> object that can be
78 < manipulated by the integrators and minimizers.</li>
79 <  <li>An <span style="font-family: monospace; font-weight: bold;">Atom</span>
80 < is a fundamental point-particle that can be moved around during a
81 < simulation.</li>
82 <  <li>A <span style="font-family: monospace; font-weight: bold;">DirectionalAtom</span>
83 < is an atom which has <span style="font-style: italic;">orientational</span>
84 < as well as translational degrees of freedom.</li>
85 <  <li>A <span style="font-family: monospace; font-weight: bold;">RigidBody</span>
86 < is a collection of <span
87 < style="font-family: monospace; font-weight: bold;">Atom</span>s or <span
88 < style="font-family: monospace; font-weight: bold;">DirectionalAtom</span>s
89 < which behaves as a <span style="font-style: italic;">single unit.</span></li>
90 < </ul>
91 < <p align="left"> Every Molecule, Atom and DirectionalAtom in OOPSE
92 < have their own names which are specified in the <span
93 < style="font-family: monospace; font-weight: bold;">.md</span> file. In
94 < contrast, RigidBodies are denoted by their membership and index inside
95 < a particular molecule: <span style="font-family: monospace;">[MoleculeName]_RB_[index]</span>
96 < (the contents inside
97 < the brackets depend on the specifics of the simulation). The names of
98 < rigid bodies are generated automatically. For
99 < example, the name of the first rigid body in a DMPC molecule is
100 < DMPC_RB_0.<br>
101 < </p>
102 < </div>
103 < <h2><a name="select"></a>Syntax of the Select Command</h2>
104 < The most general form of the select command is: <b>select <i>expression</i>
105 < </b>
106 < <p>This expression represents an arbitrary set of StuntDoubles (Atoms
107 < or
108 < RigidBodies) in OOPSE. Expressions are composed of either name
109 < expressions, index expression, predefined sets, user-defined
110 < expression,
111 < comparison operators, within expressions, or logical combinations of
112 < the above expression types. Expression can be combined using
113 < parentheses
114 < and the Boolean operators</p>
115 < <p><b><a name="logic"></a> Logical expression. </b> </p>
116 < <p>The logical operators allow complex queries to be constructed out of
117 < simpler ones using the standard boolean connectives <b>and, or, not</b>.
118 < Parentheses can be used to alter the precedence of the operators.
119 < </p>
120 < <ul>
121 <  <table bgcolor="#ffffff" border="1" cellpadding="5" width="441">
122 <    <tbody>
123 <      <tr bgcolor="#ffccff">
124 <        <td width="174">
125 <        <div align="left">logical operator </div>
126 <        </td>
127 <        <td width="241">
128 <        <div align="left">equivalent operator</div>
129 <        </td>
130 <      </tr>
131 <      <tr bgcolor="#ffccff">
132 <        <td>
133 <        <div align="left">and</div>
134 <        </td>
135 <        <td>
136 <        <div align="left">"&amp;", "&amp;&amp;" </div>
137 <        </td>
138 <      </tr>
139 <      <tr bgcolor="#ffccff">
140 <        <td>
141 <        <div align="left">or</div>
142 <        </td>
143 <        <td>
144 <        <div align="left">"|", "||", "," </div>
145 <        </td>
146 <      </tr>
147 <      <tr bgcolor="#ffccff">
148 <        <td>
149 <        <div align="left">not</div>
150 <        </td>
151 <        <td>
152 <        <div align="left">"!"</div>
153 <        </td>
154 <      </tr>
155 <    </tbody>
156 <  </table>
157 <  <p>&nbsp;</p>
158 < </ul>
159 < <p><a name="name"><b> Name expression.
160 < </b></a> </p>
161 < <ul>
162 <  <table bgcolor="#ffffcc" border="1" bordercolor="#6b7683" width="886">
163 <    <tbody>
164 <      <tr>
165 <        <td colspan="2">
166 <        <div align="center">expression</div>
167 <        </td>
168 <        <td width="434">
169 <        <div align="center">description</div>
170 <        </td>
171 <      </tr>
172 <      <tr>
173 <        <td rowspan="3" width="183">expression without "." </td>
174 <        <td width="247">
175 <        <div align="left">select DMPC</div>
176 <        </td>
177 <        <td>select all StuntDoubles belonging to all DMPC molecules </td>
178 <      </tr>
179 <      <tr>
180 <        <td>
181 <        <div align="left">select C*</div>
182 <        </td>
183 <        <td>select all atoms which have atom types beginning with C<br>
184 <        </td>
185 <      </tr>
186 <      <tr>
187 <        <td>
188 <        <div align="left">select DMPC_RB_*</div>
189 <        </td>
190 <        <td>select all RigidBodies in DMPC molecules (only select
191 < rigid-bodies, but not
192 < include the atoms belong to them)</td>
193 <      </tr>
194 <      <tr>
195 <        <td rowspan="3">expression has one "." </td>
196 <        <td>select TIP3P.O_TIP3P</td>
197 <        <td>select the O_TIP3P Atoms belong to TIP3P molecules </td>
198 <      </tr>
199 <      <tr>
200 <        <td>select DMPC_RB_0.PO4</td>
201 <        <td>select the PO4 Atoms belonging to first RigidBody in each
202 < DMPC molecule<br>
203 <        </td>
204 <      </tr>
205 <      <tr>
206 <        <td>select DMPC.20</td>
207 <        <td>select the 20th StuntDouble in each DMPC molecule<br>
208 <        </td>
209 <      </tr>
210 <      <tr>
211 <        <td>expression has two "."</td>
212 <        <td>select DMPC.DMPC_RB_?.*</td>
213 <        <td>select all Atoms belonging to all rigid-bodies within all
214 < DMPC molecules</td>
215 <      </tr>
216 <    </tbody>
217 <  </table>
218 <  <p>&nbsp;</p>
219 < </ul>
220 < <p><a name="index" id="index"><b> Index expression </b></a></p>
221 < <ul>
222 <  <table bgcolor="#ffffff" border="1" cellpadding="5" width="894">
223 <    <tbody>
224 <      <tr bgcolor="#ffffcc">
225 <        <td width="113">select 20 </td>
226 <        <td width="520">select all of the StuntDoubles belonging to
227 < Molecule 20</td>
228 <      </tr>
229 <      <tr bgcolor="#ffffcc">
230 <        <td>select 20 to 30 </td>
231 <        <td>select all of the StuntDoules belonging to molecules which
232 < have global
233 < indices between 20 (inclusive) and 30 (exclusive) </td>
234 <      </tr>
235 <    </tbody>
236 <  </table>
237 < </ul>
238 < <p>&nbsp; </p>
239 < <p><a name="predefine" id="predefine"><b> Predefined sets </b></a></p>
240 < <ul>
241 <  <table bgcolor="#ffffff" border="1" cellpadding="5" width="449">
242 <    <tbody>
243 <      <tr bgcolor="#ffccff">
244 <        <td width="91">
245 <        <div align="left">keyword</div>
246 <        </td>
247 <        <td width="332">
248 <        <div align="left">description</div>
249 <        </td>
250 <      </tr>
251 <      <tr bgcolor="#ffccff">
252 <        <td>
253 <        <div align="left">all</div>
254 <        </td>
255 <        <td>
256 <        <div align="left">select all StuntDoubles</div>
257 <        </td>
258 <      </tr>
259 <      <tr bgcolor="#ffccff">
260 <        <td>
261 <        <div align="left">none</div>
262 <        </td>
263 <        <td>
264 <        <div align="left">select none of the StuntDoubles </div>
265 <        </td>
266 <      </tr>
267 <    </tbody>
268 <  </table>
269 < </ul>
270 < <p>&nbsp;</p>
271 < <p><a name="user" id="user"><b> User defined expressions</b></a></p>
272 < <p> Users can define arbitrary terms to represent groups of
273 < StuntDoubles, and then use the define terms in select
274 < commands. The general form for the define command is: <strong>define <em>term
275 < expression</em></strong></p>
276 < <p> Once defined, the user can specify such terms in boolean
277 < expressions </p>
278 < <ul>
279 <  <table bgcolor="#ffffff" border="1" cellpadding="5" width="659">
280 <    <tbody>
281 <      <tr bgcolor="#ffffcc">
282 <        <td>
283 <        <p>define SSDWATER SSD or SSD1 or SSDRF</p>
284 <        <p>select SSDWATER </p>
285 <        </td>
286 <      </tr>
287 <    </tbody>
288 <  </table>
289 < </ul>
290 < <p><a name="comparison" id="comparison"> <b>Comparison expression.</b></a></p>
291 < <p>StuntDoubles can be selected by using comparision operators on
292 < their properties. The general form for the comparison command is: a
293 < property name, followed by a comparision operator and then a number.</p>
294 < <ul>
295 <  <table bgcolor="#ffffff" border="1" cellpadding="5" width="668">
296 <    <tbody>
297 <      <tr bgcolor="#ffccff">
298 <        <td width="305">
299 <        <div align="left">property</div>
300 <        </td>
301 <        <td width="331">
302 <        <div align="left">mass, dipole, charge </div>
303 <        </td>
304 <      </tr>
305 <      <tr bgcolor="#ffccff">
306 <        <td>
307 <        <div align="left">comparision operator</div>
308 <        </td>
309 <        <td>
310 <        <div align="left">"&gt;", "&lt;", "=", "&gt;=", "&lt;=", "!=" </div>
311 <        </td>
312 <      </tr>
313 <    </tbody>
314 <  </table>
315 < </ul>
316 < <ul>
317 <  <table bgcolor="#ffffff" border="1" cellpadding="5" width="672">
318 <    <tbody>
319 <      <tr bgcolor="#ffffcc">
320 <        <td width="302">select mass &gt; 16.0 and charge &lt; -2 </td>
321 <        <td width="338">select StuntDoubles which have mass greater
322 < than
323 < 16.0 and charges less than -2 </td>
324 <      </tr>
325 <    </tbody>
326 <  </table>
327 < </ul>
328 < <p>&nbsp;</p>
329 < <p><b> <a name="within"></a> Within expression.</b>
330 < </p>
331 < <p> The "within" selection allows the user to select all StuntDoubles
332 < within the specified
333 < distance (in Angstroms) from a selection, including the selected atom
334 < itself. The
335 < general form for within selection is: <b>select within(<i>distance,
336 < expression</i>) </b>
337 < </p>
338 < <ul>
339 <  <table bgcolor="#ffffff" border="1" cellpadding="5" width="681">
340 <    <tbody>
341 <      <tr bgcolor="#ffffcc">
342 <        <td width="306">select within(2.5, PO4 or NC4) </td>
343 <        <td width="343">
344 <        <blockquote>select all StuntDoubles which are within 2.5
345 < angstroms of PO4 or NC4 atoms<br>
346 <        </blockquote>
347 <        </td>
348 <      </tr>
349 <    </tbody>
350 <  </table>
351 < </ul>
352 < <p>
353 < </p>
354 < <h2><a name="syntax" id="syntax"> Tools which use the selection command
355 < </a></h2>
356 < <p><b><a name="within"></a> Dump2XYZ</b>
357 < </p>
358 < <p>Dump2XYZ can transform an OOPSE dump file into a xyz file which
359 < could be opened by other molecular viewers, such as Jmol and VMD. </p>
360 < <ul>
361 <  <table bgcolor="#ffffff" border="1" cellpadding="5" width="890">
362 <    <tbody>
363 <      <tr bgcolor="#6699ff">
364 <        <td width="191">
365 <        <blockquote>
366 <          <p>--selection</p>
367 <        </blockquote>
368 <        </td>
369 <        <td width="667">Specifying --selection="selection command" with
370 < Dump2XYZ, user can select an arbitrary set of stuntdoubles to be
371 < converted. </td>
372 <      </tr>
373 <      <tr bgcolor="#ccff99">
374 <        <td>
375 <        <blockquote>
376 <          <p>--originsele</p>
377 <        </blockquote>
378 <        </td>
379 <        <td rowspan="2">In order to rotate the system, --originsele and
380 < --refselec must be given to define the new coordinate set. A
381 < stuntdouble with a dipole, which direction is always (0, 0, 1) in body
382 < frame, is specified by --originsele. The new x-z plane is defined by
383 < the direction of dipole and the StuntDouble is specified by --refsele. </td>
384 <      </tr>
385 <      <tr bgcolor="#ccff99">
386 <        <td>
387 <        <blockquote>
388 <          <p>--refsele</p>
389 <        </blockquote>
390 <        </td>
391 <      </tr>
392 <    </tbody>
393 <  </table>
394 < </ul>
395 < <p>
396 < </p>
397 < <p><b><a name="within"></a> StaticProps<br>
398 < </b></p>
399 < StaticProps can compute properties which are averaged over the
400 < configurations that are contained within a dump file.&nbsp;&nbsp; The
401 < most common example of a static property that can be computed is the
402 < pair distribution function between atoms of type A and other atoms of
403 < type B, <span style="font-style: italic;">g<sub>AB</sub>(r)</span>.&nbsp;
404 < StaticProps can also be used to compute the density distributions of
405 < other molecules in a reference frame <span style="font-style: italic;">fixed
406 < to the body-fixed reference frame</span> of a selected atom or rigid
407 < body.<b><br>
408 < </b>
409 < <p> </p>
410 < <p align="center"><img src="definition.jpg" height="540" width="720"></p>
411 < <p align="left">There are five seperate radial distribution functions
412 < availiable in OOPSE. Since every radial distrbution function invlove
413 < the calculation between a pair, --sele1 and --sele2 must be given.
414 < </p>
415 < <ul>
416 <  <table bgcolor="#ffffff" border="1" cellpadding="5" width="890">
417 <    <tbody>
418 <      <tr bgcolor="#ccffcc">
419 <        <td width="191">
420 <        <blockquote>
421 <          <p>option</p>
422 <        </blockquote>
423 <        </td>
424 <        <td width="667">
425 <        <blockquote>
426 <          <div align="center">description</div>
427 <        </blockquote>
428 <        </td>
429 <      </tr>
430 <      <tr bgcolor="#ccffcc">
431 <        <td>
432 <        <blockquote>
433 <          <p>--gofr</p>
434 <        </blockquote>
435 <        </td>
436 <        <td>Computes the pair distribution function.</td>
437 <      </tr>
438 <      <tr bgcolor="#ccffcc">
439 <        <td>
440 <        <blockquote>
441 <          <p>--r_theta</p>
442 <        </blockquote>
443 <        </td>
444 <        <td>Computes the angle-dependent pair distribution function.
445 < The
446 < angle is defined by the intermolecular vector r and z-axis of
447 < DirectionalAtom A.<br>
448 <        </td>
449 <      </tr>
450 <      <tr bgcolor="#ccffcc">
451 <        <td>
452 <        <blockquote>
453 <          <p>--r_omega</p>
454 <        </blockquote>
455 <        </td>
456 <        <td>Computes an angle-dependent pair distribution function. The
457 < angle is defined by the z-axes of the two DirectionalAtoms A and B.<br>
458 <        </td>
459 <      </tr>
460 <      <tr bgcolor="#ccffcc">
461 <        <td>
462 <        <blockquote>
463 <          <p>--theta_omega</p>
464 <        </blockquote>
465 <        </td>
466 <        <td>Calculate the pair distribution of the two angles.</td>
467 <      </tr>
468 <      <tr bgcolor="#ccffcc">
469 <        <td>
470 <        <blockquote>
471 <          <p>--gxyz</p>
472 <        </blockquote>
473 <        </td>
474 <        <td>Calculate the density distribution of particles
475 < of type B in the body frame of particle A. Therefore, --originsele and
476 < --refsele must be given to define A's internal coordinate set. </td>
477 <      </tr>
478 <    </tbody>
479 <  </table>
480 < </ul>
481 < <p>&nbsp; </p>
482 < <p><b><a name="within"></a> DynamicProps<br>
483 < <span style="font-weight: bold;"><br>
484 < </span></b>DynamicProps computes time correlation functions from the
485 < configurations stored in a dump file.&nbsp; Typical examples of time
486 < correlation functions are the mean square displacement and the velocity
487 < autocorrelation functions. <b><span style="font-weight: bold;"><br>
488 < </span> </b></p>
489 < <ul>
490 <  <table bgcolor="#ffffff" border="1" cellpadding="5" width="890">
491 <    <tbody>
492 <      <tr bgcolor="#ccffcc">
493 <        <td width="191">
494 <        <p align="center">option</p>
495 <        </td>
496 <        <td width="667">
497 <        <blockquote>
498 <          <div align="center">description</div>
499 <        </blockquote>
500 <        </td>
501 <      </tr>
502 <      <tr bgcolor="#ccffcc">
503 <        <td>
504 <        <p align="center">--rcorr</p>
505 <        </td>
506 <        <td>mean square displacement </td>
507 <      </tr>
508 <      <tr bgcolor="#ccffcc">
509 <        <td>
510 <        <p align="center">--vcorr</p>
511 <        </td>
512 <        <td>velocity autocorrelation function</td>
513 <      </tr>
514 <      <tr bgcolor="#ccffcc">
515 <        <td>
516 <        <p align="center">--dcorr</p>
517 <        </td>
518 <        <td>dipole correlation function </td>
519 <      </tr>
520 <    </tbody>
521 <  </table>
522 < </ul>
523 < <p>
524 < </p>
525 < </body>
526 < </html>
1 > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 > <html>
3 > <head>
4 >  <title>Selection syntax for OOPSE utility programs</title>
5 > </head>
6 > <body style="background-color: white;">
7 > <basefont size="3">
8 > <div align="center">
9 > <p><font size="+2"><b>Selection syntax for OOPSE utility programs</b></font><span
10 > style="font-weight: bold;"></span><br>
11 > </p>
12 > <h2 align="left"><a name="introduction" id="introduction"> Introduction
13 > </a></h2>
14 > <p style="text-align: left;">The OOPSE utility programs compute
15 > properties from the <span
16 > style="font-family: monospace; font-weight: bold;">dump</span><span
17 > style="font-weight: bold;">
18 > </span>files that are generated during a molecular dynamics
19 > simulation.&nbsp;
20 > These programs are:<br>
21 > </p>
22 > <ul style="text-align: left;">
23 >  <li><span style="font-family: monospace; font-weight: bold;">Dump2XYZ</span><span
24 > style="font-weight: bold;"> </span>- Converts an OOPSE dump file into
25 > a file suitable
26 > for viewing in a molecular dynamics viewer like <a
27 > href="http://www.jmol.org">Jmol</a><br>
28 >  </li>
29 >  <li><span style="font-family: monospace; font-weight: bold;">StaticProps</span><span
30 > style="font-weight: bold;"> </span>- Computes static properties like
31 > the pair distribution function, <span style="font-style: italic;">g(r)</span>.<br>
32 >  </li>
33 >  <li><span style="font-family: monospace; font-weight: bold;">DynamicProps</span><span
34 > style="font-weight: bold;"> </span>- Computes time correlation
35 > functions like the
36 > velocity autocorrelation function, <span style="font-style: italic;">&lt;<span
37 > style="font-weight: bold;">v</span>(t)<span style="font-weight: bold;">v</span>(0)&gt;</span>,
38 > or the mean square displacement <span style="font-style: italic;">&lt;|<span
39 > style="font-weight: bold;">r</span>(t) - <span
40 > style="font-weight: bold;">r</span>(0)|<sup>2</sup>&gt;.</span></li>
41 > </ul>
42 > <div style="text-align: left;">These programs often need to operate on
43 > a subset of the data contained within a dump file.&nbsp; For example,
44 > if you want only the <span style="font-style: italic;">oxygen-oxygen</span>
45 > pair distribution from a water simulation, or if you want to make a
46 > movie including only the water molecules within a 6 angstrom radius of
47 > lipid head groups, you need a way to specify your selection to these
48 > utility programs.&nbsp;&nbsp; OOPSE has a selection syntax which allows
49 > you to specify the selection in a compact form in order to generate
50 > only the data you want.&nbsp; For example a common use of the
51 > StaticProps command would be:<br>
52 > <br>
53 > <div style="margin-left: 80px;"><span
54 > style="font-family: monospace; font-weight: bold;">StaticProps -i
55 > tp4.dump --gofr --sele1="select O*" --sele2="select O*"</span><br>
56 > </div>
57 > <br>
58 > This command computes the oxygen-oxygen pair distribution function, <span
59 > style="font-style: italic;">g<sub>OO</sub>(r)</span>, from a file
60 > named <span style="font-family: monospace;">tp4.dump</span>.&nbsp; In
61 > order to understand this selection syntax and to make full use of the
62 > selection capabilities of the analysis programs, it is necessary to
63 > understand a few of the core concepts that are used to perform
64 > simulations.<br>
65 > <h2><a name="Concepts"></a>Concepts</h2>
66 > OOPSE manipulates both traditional atoms as well as some objects that <span
67 > style="font-style: italic;">behave like atoms</span>.&nbsp; These
68 > objects can be rigid collections of atoms or atoms which have
69 > orientational degrees of freedom.&nbsp; Here is a diagram of the class
70 > heirarchy:<br>
71 > <span style="font-style: italic;"></span></div>
72 > <p align="center"><img src="heirarchy.png" width="212" height="136"><br>
73 > </p>
74 > <ul style="text-align: left;">
75 >  <li>A <span style="font-family: monospace; font-weight: bold;">StuntDouble</span>
76 > is <span style="font-style: italic;">any</span> object that can be
77 > manipulated by the integrators and minimizers.</li>
78 >  <li>An <span style="font-family: monospace; font-weight: bold;">Atom</span>
79 > is a fundamental point-particle that can be moved around during a
80 > simulation.</li>
81 >  <li>A <span style="font-family: monospace; font-weight: bold;">DirectionalAtom</span>
82 > is an atom which has <span style="font-style: italic;">orientational</span>
83 > as well as translational degrees of freedom.</li>
84 >  <li>A <span style="font-family: monospace; font-weight: bold;">RigidBody</span>
85 > is a collection of <span
86 > style="font-family: monospace; font-weight: bold;">Atom</span>s or <span
87 > style="font-family: monospace; font-weight: bold;">DirectionalAtom</span>s
88 > which behaves as a <span style="font-style: italic;">single unit.</span></li>
89 > </ul>
90 > <p align="left"> Every Molecule, Atom and DirectionalAtom in OOPSE
91 > have their own names which are specified in the <span
92 > style="font-family: monospace; font-weight: bold;">.md</span> file. In
93 > contrast, RigidBodies are denoted by their membership and index inside
94 > a particular molecule: <span style="font-family: monospace;">[MoleculeName]_RB_[index]</span>
95 > (the contents inside
96 > the brackets depend on the specifics of the simulation). The names of
97 > rigid bodies are generated automatically. For
98 > example, the name of the first rigid body in a DMPC molecule is
99 > DMPC_RB_0.<br>
100 > </p>
101 > </div>
102 > <h2><a name="select"></a>Syntax of the Select Command</h2>
103 > The most general form of the select command is: <b>select <i>expression</i>
104 > </b>
105 > <p>This expression represents an arbitrary set of StuntDoubles (Atoms
106 > or
107 > RigidBodies) in OOPSE. Expressions are composed of either name
108 > expressions, index expression, predefined sets, user-defined
109 > expression,
110 > comparison operators, within expressions, or logical combinations of
111 > the above expression types. Expression can be combined using
112 > parentheses
113 > and the Boolean operators</p>
114 > <p><b><a name="logic"></a> Logical expression. </b> </p>
115 > <p>The logical operators allow complex queries to be constructed out of
116 > simpler ones using the standard boolean connectives <b>and, or, not</b>.
117 > Parentheses can be used to alter the precedence of the operators.
118 > </p>
119 > <ul>
120 >  <table bgcolor="#ffffff" border="1" cellpadding="5" width="441">
121 >    <tbody>
122 >      <tr bgcolor="#ffccff">
123 >        <td width="174">
124 >        <div align="left">logical operator </div>
125 >        </td>
126 >        <td width="241">
127 >        <div align="left">equivalent operator</div>
128 >        </td>
129 >      </tr>
130 >      <tr bgcolor="#ffccff">
131 >        <td>
132 >        <div align="left">and</div>
133 >        </td>
134 >        <td>
135 >        <div align="left">"&amp;", "&amp;&amp;" </div>
136 >        </td>
137 >      </tr>
138 >      <tr bgcolor="#ffccff">
139 >        <td>
140 >        <div align="left">or</div>
141 >        </td>
142 >        <td>
143 >        <div align="left">"|", "||", "," </div>
144 >        </td>
145 >      </tr>
146 >      <tr bgcolor="#ffccff">
147 >        <td>
148 >        <div align="left">not</div>
149 >        </td>
150 >        <td>
151 >        <div align="left">"!"</div>
152 >        </td>
153 >      </tr>
154 >    </tbody>
155 >  </table>
156 >  <p>&nbsp;</p>
157 > </ul>
158 > <p><a name="name"><b> Name expression.
159 > </b></a> </p>
160 > <ul>
161 >  <table bgcolor="#ffffcc" border="1" bordercolor="#6b7683" width="886">
162 >    <tbody>
163 >      <tr>
164 >        <td colspan="2">
165 >        <div align="center">expression</div>
166 >        </td>
167 >        <td width="434">
168 >        <div align="center">description</div>
169 >        </td>
170 >      </tr>
171 >      <tr>
172 >        <td rowspan="3" width="183">expression without "." </td>
173 >        <td width="247">
174 >        <div align="left">select DMPC</div>
175 >        </td>
176 >        <td>select all StuntDoubles belonging to all DMPC molecules </td>
177 >      </tr>
178 >      <tr>
179 >        <td>
180 >        <div align="left">select C*</div>
181 >        </td>
182 >        <td>select all atoms which have atom types beginning with C<br>
183 >        </td>
184 >      </tr>
185 >      <tr>
186 >        <td>
187 >        <div align="left">select DMPC_RB_*</div>
188 >        </td>
189 >        <td>select all RigidBodies in DMPC molecules (only select
190 > rigid-bodies, but not
191 > include the atoms belong to them)</td>
192 >      </tr>
193 >      <tr>
194 >        <td rowspan="3">expression has one "." </td>
195 >        <td>select TIP3P.O_TIP3P</td>
196 >        <td>select the O_TIP3P Atoms belong to TIP3P molecules </td>
197 >      </tr>
198 >      <tr>
199 >        <td>select DMPC_RB_0.PO4</td>
200 >        <td>select the PO4 Atoms belonging to first RigidBody in each
201 > DMPC molecule<br>
202 >        </td>
203 >      </tr>
204 >      <tr>
205 >        <td>select DMPC.20</td>
206 >        <td>select the 20th StuntDouble in each DMPC molecule<br>
207 >        </td>
208 >      </tr>
209 >      <tr>
210 >        <td>expression has two "."</td>
211 >        <td>select DMPC.DMPC_RB_?.*</td>
212 >        <td>select all Atoms belonging to all rigid-bodies within all
213 > DMPC molecules</td>
214 >      </tr>
215 >    </tbody>
216 >  </table>
217 >  <p>&nbsp;</p>
218 > </ul>
219 > <p><a name="index" id="index"><b> Index expression </b></a></p>
220 > <ul>
221 >  <table bgcolor="#ffffff" border="1" cellpadding="5" width="894">
222 >    <tbody>
223 >      <tr bgcolor="#ffffcc">
224 >        <td width="113">select 20 </td>
225 >        <td width="520">select all of the StuntDoubles belonging to
226 > Molecule 20</td>
227 >      </tr>
228 >      <tr bgcolor="#ffffcc">
229 >        <td>select 20 to 30 </td>
230 >        <td>select all of the StuntDoules belonging to molecules which
231 > have global
232 > indices between 20 (inclusive) and 30 (exclusive) </td>
233 >      </tr>
234 >    </tbody>
235 >  </table>
236 > </ul>
237 > <p>&nbsp; </p>
238 > <p><a name="predefine" id="predefine"><b> Predefined sets </b></a></p>
239 > <ul>
240 >  <table bgcolor="#ffffff" border="1" cellpadding="5" width="449">
241 >    <tbody>
242 >      <tr bgcolor="#ffccff">
243 >        <td width="91">
244 >        <div align="left">keyword</div>
245 >        </td>
246 >        <td width="332">
247 >        <div align="left">description</div>
248 >        </td>
249 >      </tr>
250 >      <tr bgcolor="#ffccff">
251 >        <td>
252 >        <div align="left">all</div>
253 >        </td>
254 >        <td>
255 >        <div align="left">select all StuntDoubles</div>
256 >        </td>
257 >      </tr>
258 >      <tr bgcolor="#ffccff">
259 >        <td>
260 >        <div align="left">none</div>
261 >        </td>
262 >        <td>
263 >        <div align="left">select none of the StuntDoubles </div>
264 >        </td>
265 >      </tr>
266 >    </tbody>
267 >  </table>
268 > </ul>
269 > <p>&nbsp;</p>
270 > <p><a name="user" id="user"><b> User defined expressions</b></a></p>
271 > <p> Users can define arbitrary terms to represent groups of
272 > StuntDoubles, and then use the define terms in select
273 > commands. The general form for the define command is: <strong>define <em>term
274 > expression</em></strong></p>
275 > <p> Once defined, the user can specify such terms in boolean
276 > expressions </p>
277 > <ul>
278 >  <table bgcolor="#ffffff" border="1" cellpadding="5" width="659">
279 >    <tbody>
280 >      <tr bgcolor="#ffffcc">
281 >        <td>
282 >        <p>define SSDWATER SSD or SSD1 or SSDRF</p>
283 >        <p>select SSDWATER </p>
284 >        </td>
285 >      </tr>
286 >    </tbody>
287 >  </table>
288 > </ul>
289 > <p><a name="comparison" id="comparison"> <b>Comparison expression.</b></a></p>
290 > <p>StuntDoubles can be selected by using comparision operators on
291 > their properties. The general form for the comparison command is: a
292 > property name, followed by a comparision operator and then a number.</p>
293 > <ul>
294 >  <table bgcolor="#ffffff" border="1" cellpadding="5" width="668">
295 >    <tbody>
296 >      <tr bgcolor="#ffccff">
297 >        <td width="305">
298 >        <div align="left">property</div>
299 >        </td>
300 >        <td width="331">
301 >        <div align="left">mass, charge </div>
302 >        </td>
303 >      </tr>
304 >      <tr bgcolor="#ffccff">
305 >        <td>
306 >        <div align="left">comparision operator</div>
307 >        </td>
308 >        <td>
309 >        <div align="left">"&gt;", "&lt;", "=", "&gt;=", "&lt;=", "!=" </div>
310 >        </td>
311 >      </tr>
312 >    </tbody>
313 >  </table>
314 > </ul>
315 > <ul>
316 >  <table bgcolor="#ffffff" border="1" cellpadding="5" width="672">
317 >    <tbody>
318 >      <tr bgcolor="#ffffcc">
319 >        <td width="302">select mass &gt; 16.0 and charge &lt; -2 </td>
320 >        <td width="338">select StuntDoubles which have mass greater
321 > than
322 > 16.0 and charges less than -2 </td>
323 >      </tr>
324 >    </tbody>
325 >  </table>
326 > </ul>
327 > <p>&nbsp;</p>
328 > <p><b> <a name="within"></a> Within expression.</b>
329 > </p>
330 > <p> The "within" selection allows the user to select all StuntDoubles
331 > within the specified
332 > distance (in Angstroms) from a selection, including the selected atom
333 > itself. The
334 > general form for within selection is: <b>select within(<i>distance,
335 > expression</i>) </b>
336 > </p>
337 > <ul>
338 >  <table bgcolor="#ffffff" border="1" cellpadding="5" width="681">
339 >    <tbody>
340 >      <tr bgcolor="#ffffcc">
341 >        <td width="306">select within(2.5, PO4 or NC4) </td>
342 >        <td width="343">
343 >        <blockquote>select all StuntDoubles which are within 2.5
344 > angstroms of PO4 or NC4 atoms<br>
345 >        </blockquote>
346 >        </td>
347 >      </tr>
348 >    </tbody>
349 >  </table>
350 > </ul>
351 > <p>
352 > </p>
353 > <h2><a name="syntax" id="syntax"> Tools which use the selection command
354 > </a></h2>
355 > <p><b><a name="within"></a> Dump2XYZ</b>
356 > </p>
357 > <p>Dump2XYZ can transform an OOPSE dump file into a xyz file which
358 > could be opened by other molecular viewers, such as Jmol and VMD. </p>
359 > <ul>
360 >  <table bgcolor="#ffffff" border="1" cellpadding="5" width="890">
361 >    <tbody>
362 >      <tr bgcolor="#6699ff">
363 >        <td width="191">
364 >        <blockquote>
365 >          <p>--selection</p>
366 >        </blockquote>
367 >        </td>
368 >        <td width="667">Specifying --selection="selection command" with
369 > Dump2XYZ, user can select an arbitrary set of stuntdoubles to be
370 > converted. </td>
371 >      </tr>
372 >      <tr bgcolor="#ccff99">
373 >        <td>
374 >        <blockquote>
375 >          <p>--originsele</p>
376 >        </blockquote>
377 >        </td>
378 >        <td rowspan="2">In order to rotate the system, --originsele and
379 > --refselec must be given to define the new coordinate set. A
380 > stuntdouble with a dipole, which direction is always (0, 0, 1) in body
381 > frame, is specified by --originsele. The new x-z plane is defined by
382 > the direction of dipole and the StuntDouble is specified by --refsele. </td>
383 >      </tr>
384 >      <tr bgcolor="#ccff99">
385 >        <td>
386 >        <blockquote>
387 >          <p>--refsele</p>
388 >        </blockquote>
389 >        </td>
390 >      </tr>
391 >    </tbody>
392 >  </table>
393 > </ul>
394 > <p>
395 > </p>
396 > <p><b><a name="within"></a> StaticProps<br>
397 > </b></p>
398 > StaticProps can compute properties which are averaged over the
399 > configurations that are contained within a dump file.&nbsp;&nbsp; The
400 > most common example of a static property that can be computed is the
401 > pair distribution function between atoms of type A and other atoms of
402 > type B, <span style="font-style: italic;">g<sub>AB</sub>(r)</span>.&nbsp;
403 > StaticProps can also be used to compute the density distributions of
404 > other molecules in a reference frame <span style="font-style: italic;">fixed
405 > to the body-fixed reference frame</span> of a selected atom or rigid
406 > body.<b><br>
407 > </b>
408 > <p> </p>
409 > <p align="center"><img src="definition.jpg" width="718" height="255"></p>
410 > <p align="center"><img src="gofr.jpg" width="384" height="76"></p>
411 > <p align="center"><img src="gofrtheta.jpg" width="468" height="70"></p>
412 > <p align="left">There are five seperate radial distribution functions
413 > availiable in OOPSE. Since every radial distrbution function invlove
414 > the calculation between a pair, --sele1 and --sele2 must be given.
415 > </p>
416 > <ul>
417 >  <table bgcolor="#ffffff" border="1" cellpadding="5" width="890">
418 >    <tbody>
419 >      <tr bgcolor="#ccffcc">
420 >        <td width="191">
421 >        <blockquote>
422 >          <p>option</p>
423 >        </blockquote>
424 >        </td>
425 >        <td width="667">
426 >        <blockquote>
427 >          <div align="center">description</div>
428 >        </blockquote>
429 >        </td>
430 >      </tr>
431 >      <tr bgcolor="#ccffcc">
432 >        <td>
433 >        <blockquote>
434 >          <p>--gofr</p>
435 >        </blockquote>
436 >        </td>
437 >        <td>Computes the pair distribution function.</td>
438 >      </tr>
439 >      <tr bgcolor="#ccffcc">
440 >        <td>
441 >        <blockquote>
442 >          <p>--r_theta</p>
443 >        </blockquote>
444 >        </td>
445 >        <td>Computes the angle-dependent pair distribution function.
446 > The
447 > angle is defined by the intermolecular vector r and z-axis of
448 > DirectionalAtom A.<br>
449 >        </td>
450 >      </tr>
451 >      <tr bgcolor="#ccffcc">
452 >        <td>
453 >        <blockquote>
454 >          <p>--r_omega</p>
455 >        </blockquote>
456 >        </td>
457 >        <td>Computes an angle-dependent pair distribution function. The
458 > angle is defined by the z-axes of the two DirectionalAtoms A and B.<br>
459 >        </td>
460 >      </tr>
461 >      <tr bgcolor="#ccffcc">
462 >        <td>
463 >        <blockquote>
464 >          <p>--theta_omega</p>
465 >        </blockquote>
466 >        </td>
467 >        <td>Calculate the pair distribution of the two angles.</td>
468 >      </tr>
469 >      <tr bgcolor="#ccffcc">
470 >        <td>
471 >        <blockquote>
472 >          <p>--gxyz</p>
473 >        </blockquote>
474 >        </td>
475 >        <td>Calculate the density distribution of particles
476 > of type B in the body frame of particle A. Therefore, --originsele and
477 > --refsele must be given to define A's internal coordinate set. </td>
478 >      </tr>
479 >    </tbody>
480 >  </table>
481 > </ul>
482 > <p>&nbsp; </p>
483 > <p><b><a name="within"></a> DynamicProps<br>
484 > <span style="font-weight: bold;"><br>
485 > </span></b>DynamicProps computes time correlation functions from the
486 > configurations stored in a dump file.&nbsp; Typical examples of time
487 > correlation functions are the mean square displacement and the velocity
488 > autocorrelation functions. <b><span style="font-weight: bold;"><br>
489 > </span> </b></p>
490 > <ul>
491 >  <table bgcolor="#ffffff" border="1" cellpadding="5" width="890">
492 >    <tbody>
493 >      <tr bgcolor="#ccffcc">
494 >        <td width="191">
495 >        <p align="center">option</p>
496 >        </td>
497 >        <td width="667">
498 >        <blockquote>
499 >          <div align="center">description</div>
500 >        </blockquote>
501 >        </td>
502 >      </tr>
503 >      <tr bgcolor="#ccffcc">
504 >        <td>
505 >        <p align="center">--rcorr</p>
506 >        </td>
507 >        <td>mean square displacement </td>
508 >      </tr>
509 >      <tr bgcolor="#ccffcc">
510 >        <td>
511 >        <p align="center">--vcorr</p>
512 >        </td>
513 >        <td>velocity autocorrelation function</td>
514 >      </tr>
515 >      <tr bgcolor="#ccffcc">
516 >        <td>
517 >        <p align="center">--dcorr</p>
518 >        </td>
519 >        <td>dipole correlation function </td>
520 >      </tr>
521 >    </tbody>
522 >  </table>
523 > </ul>
524 > <p>
525 > </p>
526 > </body>
527 > </html>

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines