ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/doc/SelectionExpression.html
Revision: 418
Committed: Thu Mar 10 16:14:07 2005 UTC (20 years, 1 month ago) by tim
Content type: text/html
File size: 11874 byte(s)
Log Message:
minor change

File Contents

# User Rev Content
1 tim 377 <html>
2 tim 379
3 tim 377 <head>
4 tim 379
5 tim 377 <title>Select Commands in OOPSE</title>
6 tim 379
7 tim 377 </head>
8    
9 tim 379
10    
11 tim 377 <body bgcolor=white>
12 tim 379
13 tim 377 <basefont size=3>
14    
15 tim 379
16    
17 tim 377 <div align=center>
18 tim 379
19     <p><font size="+2"><b>Select Commands in </b></font><b><font size="+2">OOPSE</font></b></p>
20     <h2 align="left"><a name="introduction" id="introduction"> Introduction </a></h2>
21     <p align="left">&nbsp;</p>
22     <p align="center"><img src="classoopse_1_1StuntDouble.png" width="292" height="136"></p>
23     <p align="left"><b><a name="stuntdouble" id="stuntdouble"></a> Stuntdouble </b> stands in for some object that can be manipulated by the Integrators or Minimizers. </p>
24     <p align="left"><b><a name="atom" id="atom"></a> Atom </b>is a fundamental unit in OOPSE</p>
25     <p align="left"><b><a name="datom" id="datom"></a> DirectionalAtom </b>is a special atom</p>
26     <p align="left"><b><a name="rigidbody" id="rigidbody"></a> Rigid-body </b>is a collection of atoms or directional atoms. </p>
27     <p align="left"> Every molecule, atom and directional atom in OOPSE have their own name which are given by .md file. In contrast, the name of rigid-body, which is [MoleculeName]_RB_[index] (the content inside the brackets will be replaced), is generated automatically. For example, the name of the first rigi-body of DMPC molecule is DMPC_RB_0. <br>
28     </p>
29 tim 377 </div>
30 tim 379
31 tim 377 <a name="syntax" id="syntax">
32 tim 379
33 tim 377 <h2>
34 tim 379
35 tim 377 Syntax of the select command
36 tim 379
37 tim 377 </h2>
38 tim 379
39 tim 377 </a>
40    
41 tim 379
42    
43 tim 377 The most general form of the select command is: <b>select <i>expression</i>
44 tim 379
45 tim 377 </b>
46 tim 379
47 tim 377 <p>The expression represents an arbitrary set of stuntdoubles (atoms or rigid-bodies) in OOPSE. Expressions are composed of either name expressions, index expression, predefined sets, user define expression, comparison operators, within expressions, or logical combinations of the above expression types. Expression can be combined with parentheses and the Boolean operators</p>
48 tim 379
49 tim 377 <p><b><a name="logic"></a> Logical expression. </b> </p>
50 tim 379
51 tim 377 <p>The logical operators allow complex queries to be constructed out of simpler ones using the standard boolean connectives <b>and, or, not</b>. Parentheses can be used to alter the precedence of the operators.
52 tim 379
53 tim 377 <ul>
54 tim 379
55 tim 377 <table width="441" border=1 cellpadding=5 bgcolor="#FFFFFF">
56 tim 379
57 tim 377 <tr bgcolor="#FFCCFF">
58 tim 379
59 tim 377 <td width="174"><div align="left">logical operator </div></td>
60 tim 379
61 tim 377 <td width="241"><div align="left">equivalent operator</div></td>
62 tim 379
63 tim 377 </tr>
64 tim 379
65 tim 377 <tr bgcolor="#FFCCFF">
66 tim 379
67 tim 377 <td><div align="left">and</div></td>
68 tim 379
69 tim 377 <td><div align="left">&quot;&amp;&quot;, &quot;&amp;&amp;&quot; </div></td>
70 tim 379
71 tim 377 </tr>
72 tim 379
73 tim 377 <tr bgcolor="#FFCCFF">
74 tim 379
75 tim 377 <td><div align="left">or</div></td>
76 tim 379
77     <td><div align="left">&quot;|&quot;, &quot;||&quot;, &quot;,&quot; </div></td>
78    
79 tim 377 </tr>
80 tim 379
81 tim 377 <tr bgcolor="#FFCCFF">
82 tim 379
83 tim 377 <td><div align="left">not</div></td>
84 tim 379
85 tim 377 <td><div align="left">&quot;!&quot;</div></td>
86 tim 379
87 tim 377 </tr>
88 tim 379
89 tim 377 </table>
90 tim 379
91 tim 377 <p>&nbsp;</p>
92 tim 379
93 tim 377 </ul>
94 tim 379
95 tim 377 <p><a name="name"><b> Name expression.
96 tim 379
97 tim 377 </b></a> </p>
98 tim 379
99 tim 377 <ul>
100 tim 379
101 tim 377 <table width="886" border="1" bordercolor="#6B7683" bgcolor="#FFFFCC">
102 tim 379
103 tim 377 <tr>
104 tim 379
105 tim 377 <td colspan="2"><div align="center">expression</div></td>
106 tim 379
107 tim 377 <td width="434"><div align="center">description</div></td>
108 tim 379
109 tim 377 </tr>
110 tim 379
111 tim 377 <tr>
112 tim 379
113 tim 377 <td width="183" rowspan="3">expression without &quot;.&quot; </td>
114 tim 379
115 tim 377 <td width="247"><div align="left">select DMPC</div></td>
116 tim 379
117 tim 377 <td>select all stuntdoubles belong to DMPC molecule </td>
118 tim 379
119 tim 377 </tr>
120 tim 379
121 tim 377 <tr>
122 tim 379
123 tim 377 <td><div align="left">select C*</div></td>
124 tim 379
125 tim 377 <td>select all carbon atoms </td>
126 tim 379
127 tim 377 </tr>
128 tim 379
129 tim 377 <tr>
130 tim 379
131 tim 377 <td><div align="left">select DMPC_RB_*</div></td>
132 tim 379
133 tim 377 <td>select all rigid-bodies (only select rigid-bodies, not include the atoms belong to them)</td>
134 tim 379
135 tim 377 </tr>
136 tim 379
137 tim 377 <tr>
138 tim 379
139 tim 377 <td rowspan="3">expression has one &quot;.&quot; </td>
140 tim 379
141 tim 377 <td>select TIP3P.O_TIP3P</td>
142 tim 379
143 tim 377 <td>select stuntdoubles belong to molecule </td>
144 tim 379
145 tim 377 </tr>
146 tim 379
147 tim 377 <tr>
148 tim 379
149 tim 377 <td>select DMPC_RB_0.PO4</td>
150 tim 379
151 tim 377 <td>select atoms belong to rigid-bodies</td>
152 tim 379
153 tim 377 </tr>
154 tim 379
155 tim 377 <tr>
156 tim 379
157 tim 377 <td>select DMPC.20</td>
158 tim 379
159 tim 377 <td>select stuntdoubles by their internal indices inside the molecules </td>
160 tim 379
161 tim 377 </tr>
162 tim 379
163 tim 377 <tr>
164 tim 379
165 tim 377 <td>expression has two &quot;.&quot;</td>
166 tim 379
167 tim 377 <td>select DMPC.DMPC_RB_?.*</td>
168 tim 379
169 tim 377 <td>select all atoms belong to rigid-bodies within DMPC molecule</td>
170 tim 379
171 tim 377 </tr>
172 tim 379
173 tim 377 </table>
174 tim 379
175 tim 377 <p>&nbsp;</p>
176 tim 379
177 tim 377 </ul>
178 tim 379
179 tim 377 <p><a name="index" id="index"><b> Index expression </b></a></p>
180 tim 379
181 tim 377 <ul>
182 tim 379
183 tim 377 <table width="894" border=1 cellpadding=5 bgcolor="#FFFFFF"><tr bgcolor="#FFFFCC">
184 tim 379
185 tim 377 <td width="113">select 20 </td>
186 tim 379
187 tim 418 <td width="520">select all of the stuntdoubles of molecule 20</td>
188 tim 379
189 tim 377 </tr>
190 tim 379
191 tim 377 <tr bgcolor="#FFFFCC">
192 tim 379
193 tim 377 <td>select 20 to 30 </td>
194 tim 379
195 tim 418 <td>select all of the stuntdoubles of molecules which global indices are between 20 (inclusive) and 30 (exclusive) </td>
196 tim 379
197 tim 377 </tr>
198 tim 379
199 tim 377 </table>
200 tim 379
201 tim 377 </ul>
202    
203 tim 379
204    
205 tim 377 <p>&nbsp; </p>
206 tim 379
207 tim 377 <p><a name="predefine" id="predefine"><b> Predefine set </b></a></p>
208 tim 379
209 tim 377 <ul>
210 tim 379
211 tim 377 <table width="449" border=1 cellpadding=5 bgcolor="#FFFFFF">
212 tim 379
213 tim 377 <tr bgcolor="#FFCCFF">
214 tim 379
215 tim 377 <td width="91"><div align="left">keyword</div></td>
216 tim 379
217 tim 377 <td width="332"><div align="left">description</div></td>
218 tim 379
219 tim 377 </tr>
220 tim 379
221 tim 377 <tr bgcolor="#FFCCFF">
222 tim 379
223 tim 377 <td><div align="left">all</div></td>
224 tim 379
225 tim 377 <td><div align="left">select all stuntdoubles</div></td>
226 tim 379
227 tim 377 </tr>
228 tim 379
229 tim 377 <tr bgcolor="#FFCCFF">
230 tim 379
231 tim 377 <td><div align="left">none</div></td>
232 tim 379
233 tim 377 <td><div align="left">select none of the stuntdoubles </div></td>
234 tim 379
235 tim 377 </tr>
236 tim 379
237 tim 377 </table>
238 tim 379
239 tim 377 </ul>
240 tim 379
241 tim 377 <p>&nbsp;</p>
242 tim 379
243 tim 377 <p><a name="user" id="user"><b> User define expression.</b></a></p>
244 tim 379
245 tim 377 <p> User can define arbitrary terms to represent groups of stuntdoubles, and then use the terms you have defined in select commands. The general form for the define command is: <strong>define <em>term expression</em></strong></p>
246 tim 379
247 tim 377 <p> Once defined, user can use such terms in boolean expressions </p>
248 tim 379
249 tim 377 <ul>
250 tim 379
251 tim 377 <table width="659" border=1 cellpadding=5 bgcolor="#FFFFFF">
252 tim 379
253 tim 377 <tr bgcolor="#FFFFCC">
254 tim 379
255 tim 377 <td><p>define SSDWATER SSD or SSD1 or SSDRF</p>
256 tim 379
257 tim 377 <p>select SSDWATER </p> <div align="left"></div></td>
258 tim 379
259 tim 377 </tr>
260 tim 379
261 tim 377 </table>
262 tim 379
263 tim 377 </ul>
264 tim 379
265 tim 377 <p><a name="comparison" id="comparison"> <b>Comparison expression.</b></a></p>
266 tim 379
267 tim 377 <p>Stuntdoubles can be distinguished using comparision operators on their properties. The general form for the comparison command is: a property name, followed by a comparision operator and then a number.</p>
268 tim 379
269 tim 377 <ul>
270 tim 379
271 tim 377 <table width="668" border=1 cellpadding=5 bgcolor="#FFFFFF">
272 tim 379
273 tim 377 <tr bgcolor="#FFCCFF">
274 tim 379
275 tim 377 <td width="305"><div align="left">property</div></td>
276 tim 379
277 tim 377 <td width="331"><div align="left">mass, dipole, charge </div></td>
278 tim 379
279 tim 377 </tr>
280 tim 379
281 tim 377 <tr bgcolor="#FFCCFF">
282 tim 379
283 tim 377 <td><div align="left">comparision operator</div></td>
284 tim 379
285 tim 377 <td><div align="left">&quot;&gt;&quot;, &quot;&lt;&quot;, &quot;=&quot;, &quot;&gt;=&quot;, &quot;&lt;=&quot;, &quot;!=&quot; </div></td>
286 tim 379
287 tim 377 </tr>
288 tim 379
289 tim 377 </table>
290 tim 379
291 tim 377 </ul>
292 tim 379
293 tim 377 <ul>
294 tim 379
295 tim 377 <table width="672" border=1 cellpadding=5 bgcolor="#FFFFFF">
296 tim 379
297 tim 377 <tr bgcolor="#FFFFCC">
298 tim 379
299 tim 377 <td width="302">select mass &gt; 16.0 and charge &lt; -2 </td>
300 tim 379
301 tim 377 <td width="338">select stuntdoubles which mass is great than 16.0 and charge is less than -2 </td>
302 tim 379
303 tim 377 </tr>
304 tim 379
305 tim 377 </table>
306 tim 379
307 tim 377 </ul>
308 tim 379
309 tim 377 <p>&nbsp;</p>
310 tim 379
311 tim 377 <p><b> <a name="within"></a> Within expression.</b>
312 tim 379
313 tim 377 <p> Within selection selects all stuntdoubles within the specified distance (in ?) from a selection, including the selection itself. The general form for within selection is: <b>select within(<i>distance, expression</i>) </b>
314 tim 379
315 tim 377 <ul>
316 tim 379
317     <table width="681" border=1 cellpadding=5 bgcolor="#FFFFFF">
318    
319 tim 377 <tr bgcolor="#FFFFCC">
320 tim 379
321     <td width="306">select within(2.5, PO4 or NC4) </td>
322    
323     <td width="343"><blockquote>select stunntdoules which are within 2.5 ? from either PO4 or NC4 </blockquote></td>
324    
325 tim 377 </tr>
326     </table>
327 tim 379
328 tim 377 </ul>
329 tim 379
330 tim 377 <p>
331 tim 379
332     <h2><a name="syntax" id="syntax"> Tools using selection command </a></h2>
333     <p><b><a name="within"></a> Dump2XYZ</b>
334     <p>Dump2XYZ can transform an OOPSE dump file into a xyz file which could be opened by other molecular viewers, such as Jmol and VMD.
335     <ul>
336     <table width="890" border=1 cellpadding=5 bgcolor="#FFFFFF">
337     <tr bgcolor="#6699FF">
338     <td width="191"><blockquote>
339     <p>--selection</p>
340     </blockquote></td>
341     <td width="667">Specifying --selection=&quot;selection command&quot; with Dump2XYZ, user can select an arbitrary set of stuntdoubles to be converted. </td>
342     </tr>
343     <tr bgcolor="#CCFF99">
344     <td><blockquote>
345     <p>--originsele</p>
346     </blockquote></td>
347     <td rowspan="2">In order to rotate the system, --originsele and --refselec must be given to define the new coordinate set. A stuntdouble with a dipole, which direction is always (0, 0, 1) in body frame, is specified by --originsele. The new x-z plane is defined by the direction of dipole and the stuntdouble specified by --refsele. </td>
348     </tr>
349     <tr bgcolor="#CCFF99">
350     <td><blockquote>
351     <p>--refsele</p>
352     </blockquote></td>
353     </tr>
354     </table>
355     </ul>
356     <p>
357     <p><b><a name="within"></a> StaticProps</b>
358     <p>
359     <p align="center"><img src="definition.jpg" width="720" height="540">
360     <p align="left">There are five seperate radial distribution functions availiable in OOPSE. Since every radial distrbution function invlove the calculation between a pair, --sele1 and --sele2 must be given.
361     <ul>
362     <table width="890" border=1 cellpadding=5 bgcolor="#FFFFFF">
363     <tr bgcolor="#CCFFCC">
364     <td width="191"><blockquote>
365     <p>option</p>
366     </blockquote></td>
367     <td width="667"><blockquote>
368     <div align="center">description</div>
369     </blockquote></td>
370     </tr>
371     <tr bgcolor="#CCFFCC">
372     <td><blockquote>
373     <p>--gofr</p>
374     </blockquote></td>
375     <td>normal pair distribution function.</td>
376     </tr>
377     <tr bgcolor="#CCFFCC">
378     <td><blockquote>
379     <p>--r_theta</p>
380     </blockquote></td>
381     <td>Calculate angle dependent pair distribution function. The angle is defined by r and A's dipole moment. </td>
382     </tr>
383     <tr bgcolor="#CCFFCC">
384     <td><blockquote>
385     <p>--r_omega</p>
386     </blockquote></td>
387     <td>Calculate angle dependent pair distribution function. The angle is defined by A's dipole moment and B's dipole moment . </td>
388     </tr>
389     <tr bgcolor="#CCFFCC">
390     <td><blockquote>
391     <p>--theta_omega</p>
392     </blockquote></td>
393     <td>Calculate the two dimension distribution of two angles.</td>
394     </tr>
395     <tr bgcolor="#CCFFCC">
396     <td><blockquote>
397     <p>--gxyz</p>
398     </blockquote></td>
399 tim 418 <td>Calculate the three dimension distribution of the particle B in the body frame of particle A. Therefore, --originsele and --refsele must be given to define A's internal coordinate set. </td>
400 tim 379 </tr>
401     </table>
402     </ul>
403     <p>&nbsp; </p>
404     <p><b><a name="within"></a> DynamicProps </b>
405     <ul>
406     <table width="890" border=1 cellpadding=5 bgcolor="#FFFFFF">
407     <tr bgcolor="#CCFFCC">
408     <td width="191"> <p align="center">option</p></td>
409     <td width="667"><blockquote>
410     <div align="center">description</div>
411     </blockquote></td>
412     </tr>
413     <tr bgcolor="#CCFFCC">
414     <td> <p align="center">--rcorr</p></td>
415     <td>mean square displacement </td>
416     </tr>
417     <tr bgcolor="#CCFFCC">
418     <td> <p align="center">--vcorr</p></td>
419     <td>velocity correlation function</td>
420     </tr>
421     <tr bgcolor="#CCFFCC">
422     <td> <p align="center">--dcorr</p></td>
423     <td>dipole correlation function </td>
424     </tr>
425     </table>
426     </ul>
427     <p>
428 tim 377 </body>
429 tim 379
430 tim 377 </html>
431 tim 379

Properties

Name Value
svn:executable *