Changes in doc/userguide/userguide.xml [836972:101d2d]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/userguide/userguide.xml
r836972 r101d2d 1 <?xml version='1.0' encoding='UTF-8'?>1 <?xml version='1.0' encoding='UTF-8'?> 2 2 <!-- This document was created with Syntext Serna Free. --><!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ 3 3 <!ENTITY molecuilder_logo SYSTEM "pictures/molecuilder_logo.png" NDATA PNG> … … 100 100 spheres, cubes, or cylinders.</para> 101 101 </listitem> 102 <listitem>World refers to the whole of the molecular system, i.e. all 103 atoms with coordinates and element type (over all time steps), all 104 bonds between pairs of atoms, the size of the simulation domain. 105 This is also referred to as the state.</listitem> 106 <listitem>Time step is the current discrete position in time. Molecular 107 dynamics simulations are executed in discrete (but very small) time 108 steps. Each atom has a distinct position per time step. The discrete 109 positions over the discrete time steps samples its trajectory during a 110 simulation.</listitem> 102 <listitem>World refers to the whole of the molecular system, i.e. all atoms with coordinates and element type (over all time steps), all bonds between pairs of atoms, the size of the simulation domain. This state is also referred to as the state.</listitem> 103 <listitem>Time step is the current discrete position in time. Molecular dynamics simulations are executed in discrete (but very small) time steps. Each atom has a distinct position per time step. The discrete positions over the discrete time steps samples its trajectory during a simulation.</listitem> 111 104 </itemizedlist> 112 105 </section> … … 117 110 respect to their functionality, while newer features or actions are 118 111 probably missing. This should be a clear sign to you that these are 119 probably not safe to use yet. If you nonetheless require them, you 120 should acquire some familiarity with the code itself. This suggests 121 changing to the developer documentation which is maintained along 122 with the source code with <productname>doxygen</productname>. 123 </para> 112 probably not safe to use yet. If you nonetheless require them, you should acquire some familiarity with the code itself. This suggests 113 changing to the developer documentation which is maintained along with 114 the source code with <productname>doxygen</productname>.</para> 124 115 </section> 125 116 </section> … … 322 313 </formalpara> 323 314 <note> 324 <para>Note further that when placing a slew of commands in a script file 325 it is generally recommended to use the above formatting: One command 326 or option per line and each receives an extra tab for indentation.</para> 315 <para>Note further that when placing a slew of commands in a script file it is generally recommended to use the above formatting: One command or option per line and each</para> 316 <para>option receives an extra tab for indentation.</para> 327 317 </note> 328 318 <section xml:id="preliminaries"> … … 738 728 </section> 739 729 </section> 740 <section xml:id="geometry">741 <title xml:id="geometry.title">Geometry Objects</title>742 <para>Although we use the term geometry objects in the title, we743 actually mean vectors, i.e. a position or direction in the744 three-dimensional space. But maybe we have need for the more745 general term in the future.</para>746 <para>Vectors are required as input to many of the Actions further747 below: translating atoms, rotating atoms around a specific axis,748 aligning a molecule with a vector, ...</para>749 <para>Therefore, vectors can be stored and referenced using a given750 name. This allows for a very powerful and handy manipulation of the751 molecular system afterwards. And to give a concrete example, let's have752 a look at translating a set of selected atoms, see subsection on753 <link linkend='atoms.translate-atom'>Translating atoms</link>. </para>754 <programlisting>755 ... --translate-atoms "unitVectorX"756 </programlisting>757 <para>This would use the automatically created reference758 "unitVectorX", i.e. the vector with components (1,0,0) as759 the translation vector for the given set of atoms. In other words, all760 selected atoms get shifted by 1 unit (e.g. Angström) in +X761 direction.</para>762 <para>We have the following automatically created geometry objects763 whose names are self-explanatory:</para>764 <itemizedlist>765 <listitem>zeroVector</listitem>766 <listitem>unitVectorX</listitem>767 <listitem>unitVectorY</listitem>768 <listitem>unitVectorZ</listitem>769 </itemizedlist>770 <para>However, more vectors can be simply constructed from atomic771 positions, such as the position of an atom directly, the distance between772 two atoms (in case they are bonded, then this would be the bond vector)773 or from three atoms, defining a plane and giving its normal vector.774 </para>775 <remark>We have refrained from giving automated names to vectors and even776 keeping them up-to-date automatically, i.e. the distance between two atoms777 O1 and O2 could be named "distance_O1_O2" or similar. However, we want778 the user to have full control and maybe come up with more suitable names779 such as "rotation_axis" in this case.</remark>780 <warning>Note that names have to be unique and the Action will fail if781 the name is already used.</warning>782 <section xml:id="geometry.distance-to.vector">783 <title xml:id="geometry.distance-to-vector.title">Atomic distance to stored vector</title>784 <para>The distance between two selected atoms is stored as a vector as follows,</para>785 <programlisting>786 ... --distance-to-vector "distance_vec" \787 </programlisting>788 <para>where the distance vector can be referenced by "distance_vec"789 from then on in other Actions requiring a vector as input.</para>790 </section>791 <section xml:id="geometry.input-to.vector">792 <title xml:id="geometry.input-to-vector.title">Coordinates to stored vector</title>793 <para>We may also create a geometry vector simply by supplying the794 three coordinates of a vector.</para>795 <programlisting>796 ... --input-to-vector "vector" \797 --position "1,2,3"798 </programlisting>799 <para>where the vector with components (1,2,3) can be referenced800 by "vector" .</para>801 </section>802 <section xml:id="geometry.plane-to.vector">803 <title xml:id="geometry.plane-to-vector.title">Normal of plane to stored vector</title>804 <para>Three positions in space (if they are not linear dependent)805 define a plane in three-dimensional space.</para>806 <para>Therefore, when exactly three atoms are selected, this Action807 will construct the resulting plane and store its normal vector as a808 geometry object for later reference.</para>809 <programlisting>810 ... --plane-to-vector "planenormal" \811 </programlisting>812 <para>where the plane's normal vector can be referenced by813 "planenormal".</para>814 </section>815 <section xml:id="geometry.position-to.vector">816 <title xml:id="geometry.position-to-vector.title">Atomic position to stored vector</title>817 <para>Storing the position of a singly selected atom as a vector is simply done as follows,</para>818 <programlisting>819 ... --position-to-vector "vector_O1" \820 </programlisting>821 <para>where the vector can be referenced by "vector_O1"822 from then on.</para>823 </section>824 <section xml:id="geometry.remove-geometry">825 <title xml:id="geometry.remove-geometry.title">Remove A stored vector</title>826 <para>Finally, a stored vector can also be removed.</para>827 <programlisting>828 ... --remove-geometry "vector_O1" \829 </programlisting>830 <para>this removes the stored "vector_O1".</para>831 </section>832 </section>833 730 <section xml:id="randomization"> 834 731 <title xml:id="randomization.title">Randomization</title> … … 875 772 <para>where the element is given via its chemical symbol and the 876 773 vector gives the position within the domain</para> 877 <para>Note that instead of giving an explicit vector you may also use878 a vector stored as a geometry object, see section879 <link linkend='geometry'>Geometry</link>.</para>880 774 </section> 881 775 <section xml:id="atoms.remove-atom"> … … 893 787 ... --saturate-atoms 894 788 </programlisting> 895 <para>A number of hydrogen atoms is added around each selected atom 896 corresponding to the valence of the chemical element. The hydrogen 897 atoms are placed in the same distance to this atom and approximately 898 with same distance to their nearest neighbors. Already present bonds 899 (i.e. the position of neighboring atoms) is taken into account.</para> 789 <para>A number of hydrogen atoms is added around each selected atom corresponding to the valence of the chemical element. The hydrogen atoms are placed in the same 790 distance to this atom and approximately with same distance to their 791 nearest neighbors. Already present bonds (i.e. the position of neighboring atoms) is taken into account.</para> 900 792 </section> 901 793 <section xml:id="atoms.translate-atom"> … … 910 802 mind the boundary conditions, i.e. it might shift atoms outside of the 911 803 domain.</para> 912 <para>Again, note that instead of giving an explicit vector you may913 also use a vector stored as a geometry object, see section914 <link linkend='geometry'>Geometry</link>.</para>915 804 </section> 916 805 <section xml:id="atoms.mirror-atoms"> … … 924 813 --periodic 0 925 814 </programlisting> 926 <para>And of course instead of giving an explicit vector you may also927 use a vector stored as a geometry object, see section928 <link linkend='geometry'>Geometry</link>.</para>929 815 </section> 930 816 <section xml:id="atoms.translate-to-origin"> … … 1137 1023 and adds new bonds in between these copied atoms such that their 1138 1024 bond subgraphs are identical.</para> 1139 <para>Here, instead of giving an explicit vector you may also use1140 a vector stored as a geometry object, see section1141 <link linkend='geometry'>Geometry</link>.</para>1142 1025 </section> 1143 1026 <section xml:id="molecule.change-molname"> … … 1170 1053 specific offset..</para> 1171 1054 <programlisting>... -translate-molecules</programlisting> 1172 <para>As before, this is actually just an operation on all of the 1173 molecule's atoms, namely translating them.</para> 1174 <para>Same as with <link linkend='atoms.translate-atom'>translate-atoms</link> 1175 instead of giving an explicit vector you may also use a vector stored 1176 as a geometry object, see section 1177 <link linkend='geometry'>Geometry</link>.</para> 1055 <para>As before, this is actually just an operation on all of the molecule's atoms, namely translating them.</para> 1056 </section> 1057 <section xml:id="molecule.rotate-around-bond"> 1058 <title xml:id="molecule.rotate-around-bond.title">Rotate around bond </title> 1059 <para>This rotates parts of a molecule around a given bond, i.e. the 1060 bond vector becomes the rotation axis but only atoms on the side of 1061 second atom get rotated. This naturally does not work for bonds in a 1062 cycle.</para> 1063 <programlisting> 1064 ... --rotate-around-bond "90" \ 1065 --bond-side 0\ 1066 </programlisting> 1178 1067 </section> 1179 1068 <section xml:id="molecule.rotate-around-self"> … … 1196 1085 </programlisting> 1197 1086 <para>This rotates the molecule around an axis from the origin to 1198 the position (0,0,1), i.e. around the z axis, by 90 degrees, where 1199 for the position you may also use a stored vector, see section 1200 <link linkend='geometry'>Geometry</link>.</para> 1087 the position (0,0,1), i.e. around the z axis, by 90 degrees.</para> 1201 1088 </section> 1202 1089 <section xml:id="molecule.rotate-to-principal-axis-system"> … … 1211 1098 </programlisting> 1212 1099 <para>This rotates the molecule in such a manner that the ellipsoids 1213 largest axis is aligned with the z axis. <remark>Note that 1214 "0,0,-1" would align anti-parallel.</remark></para> 1215 <para>Again instead of giving the coordinates explicitly you may also 1216 use a vector stored as a geometry object, see section 1217 <link linkend='geometry'>Geometry</link>.</para> 1100 largest axis is aligned with the z axis. <remark>Note that "0,0,-1" would align anti-parallel.</remark></para> 1218 1101 </section> 1219 1102 <section xml:id="molecule.verlet-integration"> … … 1460 1343 --Alignment-Axis "0,0,1" 1461 1344 </programlisting> 1462 <para>Note that instead of giving an explicit axis you may also use1463 a vector stored as a geometry object, see section1464 <link linkend='geometry'>Geometry</link>.</para>1465 1345 </section> 1466 1346 <section xml:id="filling.suspend-in-molecule"> … … 1570 1450 <para>This would calculate the correlation of all hydrogen and 1571 1451 oxygen atoms with respect to the origin.</para> 1572 <para>Naturally, instead of giving explicit coordinates you may also1573 use a vector stored as a geometry object for position, see section1574 <link linkend='geometry'>Geometry</link>.</para>1575 1452 </section> 1576 1453 <section xml:id="analysis.surface-correlation"> … … 2508 2385 <para>Underneath the time line there is another place for 2509 2386 tabs.</para> 2510 <itemizedlist>2511 <listitem>Molecules</listitem>2512 <listitem>All Elements</listitem>2513 <listitem>All Fragments</listitem>2514 <listitem>All Homologies</listitem>2515 <listitem>All Geometries</listitem>2516 <listitem>Logs</listitem>2517 <listitem>Errors</listitem>2518 </itemizedlist>2519 2387 <para>The first is on molecules, listing all present molecules of 2520 2388 the molecular system in a tree view. If you click on a specific … … 2526 2394 system. Clicking on a present element will select all atoms of this 2527 2395 specific element. A subsequent click unselects again.</para> 2528 <para>Subsequently follow t wo tabs on enumerating the fragments and their2396 <para>Subsequently follow tabs on enumerating the fragments and their 2529 2397 fragment energies if calculated and the homologies along with 2530 2398 graphical depiction (via QWT), again if present.</para> 2531 <para>After that, we have a tab listing all geometry objects. These2532 are vectors you may store via one of the Actions. If you hover over2533 a vector, its length is shown. If you have selected one vector and2534 hover over another one, then the angle between the two is shown.2535 </para>2536 <para>Finally, there are two tabs showing log messages of actions2537 in the first tab and general information on what is currently done. Errors and2538 warnings are listed in the second tab.</para>2539 2399 </section> 2540 2400 </section> … … 2658 2518 under the command-line interface and look up the function name via 2659 2519 help.</para> 2520 <para>You can freely mix calls to the pymolecuilder module and other python commands.</para> 2521 <note>However, be aware that all Actions are executed in another thread, 2522 i.e. run in parallel. That means that a pymolecuilder command is not 2523 necessarily finished when python steps on to the next line!</note> 2524 <para>In order to make python wait for the Actions to finish before 2525 stepping, there is the special wait() command.</para> 2526 <programlisting> 2527 mol.MoleculeLoad("...") 2528 mol.wait() 2529 </programlisting> 2530 <para>This will continue first after the molecule has been fully loaded. 2531 </para> 2532 <warning>These wait()s will have no effect if the python script is loaded 2533 via the "load-session" command inside a User Interface (command-line, 2534 GUI, ...) as this would cause the queue to wait indefinitely, namely till 2535 the load-session itself would have finished.</warning> 2536 <para>Therefore, more complex python scripts need to be called with 2537 python and a set PYTHONPATH as described above.</para> 2660 2538 </section> 2661 2539 </chapter>
Note:
See TracChangeset
for help on using the changeset viewer.