1 | <?xml version="1.0" encoding="UTF-8"?>
|
---|
2 | <book version="5.0" xmlns="http://docbook.org/ns/docbook"
|
---|
3 | xmlns:xlink="http://www.w3.org/1999/xlink"
|
---|
4 | xmlns:xi="http://www.w3.org/2001/XInclude"
|
---|
5 | xmlns:svg="http://www.w3.org/2000/svg"
|
---|
6 | xmlns:m="http://www.w3.org/1998/Math/MathML"
|
---|
7 | xmlns:html="http://www.w3.org/1999/xhtml"
|
---|
8 | xmlns:db="http://docbook.org/ns/docbook">
|
---|
9 | <info>
|
---|
10 | <title>MoleCuilder - a Molecule Builder</title>
|
---|
11 |
|
---|
12 | <author>
|
---|
13 | <personname><firstname>Frederik</firstname><surname>Heber</surname></personname>
|
---|
14 |
|
---|
15 | <affiliation>
|
---|
16 | <orgname>heber@ins.uni-bonn.de</orgname>
|
---|
17 | </affiliation>
|
---|
18 | </author>
|
---|
19 |
|
---|
20 | <pubdate>08/11/09</pubdate>
|
---|
21 | </info>
|
---|
22 |
|
---|
23 | <chapter>
|
---|
24 | <title>Introduction</title>
|
---|
25 |
|
---|
26 | <section>
|
---|
27 | <title>What is MoleCuilder?</title>
|
---|
28 |
|
---|
29 | <para><command>MoleCuilder</command> allows to construct atomic and
|
---|
30 | molecular geometries by a simple point&click approach, combined with
|
---|
31 | a powerful library of known structures. It is intended to be a
|
---|
32 | CAD-pendant on the nanoscale. Specific emphasis is placed on a
|
---|
33 | simple-to-use interface, allowing for the quick-and-dirty building of
|
---|
34 | molecular systems.</para>
|
---|
35 |
|
---|
36 | <para>Geometries should henceforth be simulated with molecular dynamics
|
---|
37 | packages, that are either ab-initio or used specific empirical
|
---|
38 | potentials to simulate the acting quantum-mechanical forces.</para>
|
---|
39 |
|
---|
40 | <section>
|
---|
41 | <title>Installation requirements</title>
|
---|
42 |
|
---|
43 | <para>The following packages are required to build the executables
|
---|
44 | from its source code.</para>
|
---|
45 |
|
---|
46 | <para><simplelist>
|
---|
47 | <member>C/C++ Compiler (such as GCC)</member>
|
---|
48 | </simplelist></para>
|
---|
49 |
|
---|
50 | <para><simplelist>
|
---|
51 | <member>Gnu Scientific Library
|
---|
52 | (<uri>http://www.gnu.org/software/gsl/</uri>)</member>
|
---|
53 | </simplelist></para>
|
---|
54 |
|
---|
55 | <para><simplelist>
|
---|
56 | <member>Qt4 (<uri>http://qt.nokia.com/</uri>)</member>
|
---|
57 | </simplelist>The code has been tested develeoped on Linux/GNU. It
|
---|
58 | was also tested with Win/Cygwin.</para>
|
---|
59 |
|
---|
60 | <para>Note that there are two executables:
|
---|
61 | <command>molecuilder</command> and <command>molecuildergui</command>.
|
---|
62 | The former is the command-line interfaces which, if no commands are
|
---|
63 | given, launches a interactive menu in a terminal session. The latter
|
---|
64 | is the graphical user interface with the same functionality as the
|
---|
65 | command-line interface but in a different approach, explained in more
|
---|
66 | detail in the chapter on the <olink>GUI</olink>.</para>
|
---|
67 |
|
---|
68 | <para><command>MoleCuilder</command> makes uses of GNU autotools to
|
---|
69 | allow for compilation on different platforms. Please be refered to the
|
---|
70 | INSTALL file that is included in the archive and the web
|
---|
71 | (<uri>http://www.gnu.org/software/autoconf</uri>).</para>
|
---|
72 | </section>
|
---|
73 |
|
---|
74 | <section>
|
---|
75 | <title>License</title>
|
---|
76 |
|
---|
77 | <para>As long as no other license statement is given, MoleCuilder is
|
---|
78 | free for user under the GNU Public License (GPL) Version 2 (see
|
---|
79 | <uri>www.gnu.de/documents/gpl-2.0.de.html</uri>).</para>
|
---|
80 | </section>
|
---|
81 | </section>
|
---|
82 | </chapter>
|
---|
83 |
|
---|
84 | <chapter>
|
---|
85 | <title>Features</title>
|
---|
86 |
|
---|
87 | <para>Basically, <command>MoleCuilder</command> parses geometries from
|
---|
88 | files, manipulates them and stores them again in files. The manipulation
|
---|
89 | can be done either via a command-line interface or via the graphical user
|
---|
90 | interface.</para>
|
---|
91 |
|
---|
92 | <section>
|
---|
93 | <title>Concepts</title>
|
---|
94 |
|
---|
95 | <para>In general, we divide the molecular systems into three different
|
---|
96 | components or scales.</para>
|
---|
97 |
|
---|
98 | <orderedlist>
|
---|
99 | <listitem>
|
---|
100 | <para>Atoms</para>
|
---|
101 |
|
---|
102 | <para>Atoms are the undividable objects of the molecular systems.
|
---|
103 | They have an element <quote>Z</quote> and three coordinates
|
---|
104 | <quote>(x,y,z)</quote>.</para>
|
---|
105 | </listitem>
|
---|
106 |
|
---|
107 | <listitem>
|
---|
108 | <para>Molecules</para>
|
---|
109 |
|
---|
110 | <para>Molecules are conglomeration of atoms, bound or unbound. They
|
---|
111 | contain a number of atoms and a specific center in the domain such
|
---|
112 | that its atoms are placed relative to this center.</para>
|
---|
113 | </listitem>
|
---|
114 |
|
---|
115 | <listitem>
|
---|
116 | <para>Domain</para>
|
---|
117 |
|
---|
118 | <para>The domain refers to the simulation domain. It is either
|
---|
119 | infinite or finite if periodic boundary conditions are to be
|
---|
120 | applied. In the latter case, atoms are always shifted back into the
|
---|
121 | domain periodically. A domain contains a number of molecules.</para>
|
---|
122 | </listitem>
|
---|
123 | </orderedlist>
|
---|
124 | </section>
|
---|
125 |
|
---|
126 | <section>
|
---|
127 | <title>Command-line interface</title>
|
---|
128 |
|
---|
129 | <para>The command-line interface reads options or command from the
|
---|
130 | command line and executes them sequentially. This may be for example:
|
---|
131 | Open an empty file, add 2 hydrogen at ... and add 1 oxygen at ...,
|
---|
132 | choose a simulation box, fill the box with this given "filler" molecule,
|
---|
133 | save the file. This enables the use of MoleCuilder in simple
|
---|
134 | script-files to create a whole range of geometries that only differ in a
|
---|
135 | few parameters automatically.</para>
|
---|
136 |
|
---|
137 | <para>Traditionally, <command>MoleCuilder</command> operates on a single
|
---|
138 | configuration file which stores additional information to the pure
|
---|
139 | geometry such as parameters for the ab-initio computation. An example
|
---|
140 | for the above procedure is given below:</para>
|
---|
141 |
|
---|
142 | <screen>./molecuilder sample.conf -e <path_to_db> -a H 0. 0. 0. -a H 0. 0.176 0. -a O 1. 0.176 0. ...
|
---|
143 | </screen>
|
---|
144 |
|
---|
145 | <para>The first argument is the executable itself, the second the
|
---|
146 | arbitrarilty named file <computeroutput>sample.conf</computeroutput>,
|
---|
147 | which may be empty, the third is the command -e immediately followed by
|
---|
148 | the path to the databases, then follow step by step each of the above
|
---|
149 | commands. A command is always introduced via a hyphen and a single
|
---|
150 | letter, e.g. -a for adding an atom to the system. It is followed by a
|
---|
151 | fixed number of options.</para>
|
---|
152 |
|
---|
153 | <para><emphasis>Note that these first three arguments are always
|
---|
154 | mandatory.</emphasis> The databases are supplied with the archive and
|
---|
155 | usually installed in the same directory as the executables. The output
|
---|
156 | file on finish will be <computeroutput>sample.conf</computeroutput> and
|
---|
157 | various other formats desired.</para>
|
---|
158 |
|
---|
159 | <para>Below we have divided the various features into distinct the
|
---|
160 | scales upon which the manipulation takes places - single atoms, multiple
|
---|
161 | atoms organised as molecules, and all atoms organised by their
|
---|
162 | containing domain - and explain in more detail.</para>
|
---|
163 |
|
---|
164 | <section>
|
---|
165 | <title>Manipulate atoms</title>
|
---|
166 |
|
---|
167 | <para>Here, we explain in detail how to add, remove atoms, change its
|
---|
168 | element type, scale the bond in between or measure the bond length or
|
---|
169 | angle.</para>
|
---|
170 | </section>
|
---|
171 |
|
---|
172 | <section>
|
---|
173 | <title>Manipulate domain</title>
|
---|
174 |
|
---|
175 | <para>Here, we elaborate on how to duplicate all the atoms inside the
|
---|
176 | domain, how the scale the coordinate system, how to center the atoms
|
---|
177 | with respect to certain points, how to realign them by given
|
---|
178 | constraints, how to mirror and most importantly how to specify the
|
---|
179 | domain.</para>
|
---|
180 | </section>
|
---|
181 |
|
---|
182 | <section>
|
---|
183 | <title>Merge molecules</title>
|
---|
184 |
|
---|
185 | <para>As we may create, add and remove molecules, there can be more
|
---|
186 | than one, joining of molecules into a single one can be done in a
|
---|
187 | number of ways which is explained in this section in greater
|
---|
188 | detail.</para>
|
---|
189 |
|
---|
190 | <section>
|
---|
191 | <title>Editing molecules</title>
|
---|
192 |
|
---|
193 | <para>In this category we explain how to create new empty molecules,
|
---|
194 | how to load them from file, how to change their names and filenames,
|
---|
195 | how to set them active and inactive, how to parse more atoms into a
|
---|
196 | given molecules and how to remove a molecule.</para>
|
---|
197 | </section>
|
---|
198 |
|
---|
199 | <section>
|
---|
200 | <title>Merging molecules</title>
|
---|
201 |
|
---|
202 | <para>As we may create, add and remove molecules, there can be more
|
---|
203 | than one, joining of molecules into a single one can be done in a
|
---|
204 | number of ways which is explained in this section in greater
|
---|
205 | detail.</para>
|
---|
206 | </section>
|
---|
207 | </section>
|
---|
208 | </section>
|
---|
209 |
|
---|
210 | <section>
|
---|
211 | <title linkend="GUI">Graphical user interface</title>
|
---|
212 |
|
---|
213 | <para>The main point of the GUI is that it renders the atoms and
|
---|
214 | molecules visually. These are either represented by the common
|
---|
215 | stick-and-ball-model or as tesselated molecular surfaces. Single or
|
---|
216 | multiple atoms and molecules can easily be accessed, activated and
|
---|
217 | manipulated via tables. Changes made in the tables cause immediate
|
---|
218 | update of the visual representation.</para>
|
---|
219 |
|
---|
220 | <para>This is mostly helpful to design more advanced structures that are
|
---|
221 | conceptually difficult to imagine without visual aid.</para>
|
---|
222 |
|
---|
223 | <section>
|
---|
224 | <title>The interface sections</title>
|
---|
225 |
|
---|
226 | <para></para>
|
---|
227 | </section>
|
---|
228 | </section>
|
---|
229 | </chapter>
|
---|
230 | </book>
|
---|