source: branches/sandbox/doc/expgui6A.html @ 1172

Last change on this file since 1172 was 1172, checked in by toby, 12 years ago

fix/enhance rigid bodies some

File size: 15.7 KB
Line 
1<html>
2<head>
3   <title>EXPGUI</title>
4   <meta name="keywords" content="crystallography, Rietveld, diffraction,
5   GSAS, EXPGUI">
6</HEAD>
7<style>
8A:link {text-decoration:none}
9A:vlink {text-decoration:none}
10</style>
11
12<BODY BGCOLOR="#FFFFFF"
13      topmargin="0" leftmargin="0" marginwidth="0" marginheight="0" 
14      text="#000000" link="#0033ff" vlink="#0033ff" alink="#0033ff">
15
16<?
17   include("/var/www/include/navigation.inc");
18   include("/var/www/include/utility.inc");
19?>
20<blockquote><font face="arial, helvetica, sans-serif">
21
22<TABLE BORDER BGCOLOR="#FFFF40" ALIGN=RIGHT>
23<TR><TH><A  Href="expgui.html">EXPGUI top</A> 
24</TH><TH><A Href="expgui7.html">Next page</A>
25</TH><TH><A Href="expgui6.html">Previous page</A>
26</TH></TR></TABLE><BR CLEAR=ALL>
27
28<center><h1>
29<HR noshade width="75%" size="2" align="center">
30EXPGUI, part 7
31<HR noshade width="75%" size="2" align="center">
32</h1></center>
33
34<h3>A.7 Rigid Body Introduction</h3>
35<DL><DL>
36GSAS Rigid bodies are another way to constrain relative atomic
37  positions. In a rigid body fit,
38a group of atoms are constrained so that they rotate and/or translate as a unit.
39GSAS allows quite complex rigid bodies, with up to 9 scaling parameters and
40when multiple rigid bodies are used with grouped parameters even more complex
41constraints can be developed. The EXPGUI rigid body interface allows access to
42most of the GSAS features and offers some setup features not in GSAS, but
43expert users may need to use EXPEDT for some very complex constraint models.
44<P>
45 Use of a rigid body reduces
46the number of parameters refined, prevents deviations from chemical
47reasonableness and generally helps obtain a more stable refinement. This can be especially important in the
48early stages of refinement. Rigid
49bodies are commonly used to constrain rigid moieties such phenyl or cyclopentadienyl rings but, they can be generated for much
50more complicated structures. Rigid bodies in GSAS are always
51represented by a set of Cartesian coordinates describing the relative positions
52of the atoms to be constrained. More complex frameworks can be constructed
53using multiple sets of Cartesian coordinates with variable multipliers, for
54more complex constraints. Even more sophisticated refinements are possible when
55multiple rigid bodies are constrained to share an origin or positioning (Euler)
56angles.
57<P>
58 Once created, the
59rigid body framework is applied as a constraint by mapping it onto atoms in a
60phase. The same rigid body framework can be mapped multiple times into one or
61more phases.
62  Once mapped, the set
63of atoms will refine as a single body with 3 parameters describing the
64translation of the rigid body origin (generally the centroid of mass of the
65atomic grouping but, this is optional) and 3 parameters describing the rotation
66of the body about the origin (Euler Angles). TLS terms (translation, libration,
67screw) can be used to model cooperative thermal motion about the rigid
68body. The EXPGUI rigid body routines
69will allow the user to readily generate the rigid body framework (called matrices
70in EXPGUI terminology) and map the rigid body to sets of atoms already present
71in the GSAS EXP file.
72
73The EXPGUI Rigid Body Panel allows for the
74creation or viewing of rigid bodies.
75A rough outline of the procedure to generate and refine with a rigid body
76is as follows:
77
78<OL>
79<LI>Define the framework of the rigid
80body with a set of Cartesian coordinates representing the relative atomic
81positions. This can be done by
82manual input, loading the coordinates from an ASCII file,
83converting Z-matrix coordinates to Cartesian or generating Cartesian coordinates
84from fractional coordinates in an existing molecular fragment in the GSAS EXP
85file.
86<LI>
87 The rigid body
88framework must be mapped upon the crystal structure.
89This requires that the atoms in the
90phase be sequential and must match the order of atoms in the rigid body
91framework.
92  To change the sequential
93order in the rigid body, the Edit Matrix routine may be used to reorder the
94rigid body coordinates.
95 In the
96mapping procedure, this number of the first atom in the phase to match the
97rigid body is designated (since the mapping then follows) and both the Euler angles
98and rigid body origin are specified; EXPGUI can help determine values
99  for these.
100  This can be repeated to map the rigid
101body framework to other parts of the structure.
102<LI>
103 Once the rigid body framework
104is mapped to the crystal structure, the refinement flags for the Euler angles
105and Origin can be set. This will turn on the 'X' refinement flags for the
106included atoms in the Phase Panel. It is important that these match the state
107of the rigid body refinement flags or GENLES will crash.
108</OL> 
109</DL></DL>
110<H3>A.7.a Main Rigid Body Panel</H3>
111<DL><DL>
112The main panel for rigid bodies presents a interface where bodies can
113  be initially defined. When bodies have been defined, a tab appears
114  for each defined body, where these bodies can be used or
115  edited. This main panel is shown below and subsequent sections
116  describe how bodies are initially defined.
117  <BR><img src="rb001.jpg" alt="RB start panel">
118 <BR>
119  Rigid bodies are created
120from one or more sets of Cartesian coordinates multiplied by a scale factor and
121then summed to create Cartesian coordinates in Angstroms. This can be expressed
122as a linear algebra expression,
123<P><DL><DL>
124 XYZ = M1*XYZ1 + M2*XYZ2 + ...
125</DL></DL>
126<P> 
127Where XYZ, XYZ1, ...are 3 by N matrices (3 columns by N atoms) and M1,
128M2,...
129are scalars. Therefore in EXPGUI terminology, each set of Cartesian
130coordinates is called a "Matrix." The
131sum of these scaled matrices describes the rigid body framework that is to be
132mapped upon the atoms of the crystal structure. Most commonly, however, only
133one matrix is used and M1=1. In this case the matrix is simply a set of Cartesian
134coordinates in Angstroms, which can be input by multiple methods.
135As a reminder, note that the rigid body
136framework will be mapped to consecutive atoms in the EXP file must be so the Cartesian
137coordinates of the rigid body MUST be listed in a corresponding order.
138<P>
139If the ordering of the Cartesian
140coordinates of the rigid body, as input, is incorrect, they may be rearranged
141with the Edit Matrix panel invoked
142from the Rigid Body Type panel.
143<P>
144Advanced refinements
145may take advantage of the GSAS feature of multiple matrices, each with its own
146matrix multiplier. This can result is some very advanced refinements such as
147independently refining the C-C and C-H bond distances in a hydrocarbon
148ring.
149<P>
150The "Create Rigid Body" tab offers several ways to create a rigid
151body:
152<UL><LI>Manual rigid body definition
153  <LI>Cartesian coordinates from ASCII text file
154  <LI>Cartesian coordinates from a Z-matrix
155  <LI>Compute Cartesian coordinates from EXP file (fractional coordinates)
156  </UL>
157 
158 <H4>A.7.a1 Manual rigid body definition</H4>
159<DL>
160  The manual definition window allows input of coordinates and
161  multipier(s) by typing values into boxes. Number of matrices
162  determines the number of multipliers and sets of coordinates that
163  are added. Number of Cartesian sites is the number of atoms in the
164  rigid body. The "Save Rigid Body" button creates a new rigid body
165  with the specified input. The "Export Cartesian Coordinates..."
166  writes an ASCII file with the current input.
167  <BR><img src="rb002.jpg" alt="Manual RB creation window">
168</DL>
169 <H4>A.7.a2 Cartesian coordinates from ASCII text file</H4>
170<DL>
171Cartesian coordinates
172can be read from any ASCII file containing Cartesian coordinates in a standard
173tabular format.
174  This routine allows
175the user to determine which columns (separated by a delimiter) represents the X,
176Y and Z coordinates.
177 The user also
178has the option to ignore any row or column that contains irrelevant
179information.
180  Once the Cartesian
181coordinates are isolated, and the "Continue" button is pressed,
182  the user continues to the "Create Rigid Body" window (see above).
183  <BR><img src="rb003.jpg" alt="ASCII RB input window">
184</DL>
185
186  <H4>A.7.a3 Cartesian coordinates from a Z-matrix</H4>
187<DL>
188Cartesian coordinates
189can also be calculated from a Z-matrix in an appropriate ASCII format.
190 The conversion routine will allow dummy
191atoms to be identified and ignored in the conversion process.
192 Upon pressing the "Continue" button, the Z-matrix
193is converted to Cartesian coordinates and the user progresses to the
194  "Create Rigid Body" window (see above).
195 <BR><img src="rb004.jpg" alt="Z-matrix RB input window">
196</DL>
197<A name="fromEXP">
198<H4>A.7.a4 Compute Cartesian coordinates from EXP file (fractional coordinates)</H4>
199</A>
200<DL>
201  A rigid body can also be created directly by computing Cartesian coordinates
202for atoms in the current EXP file.
203  In order to do this, the number of atom sites in the rigid body framework must be specified
204as well as the starting atom number (remember rigid bodies are mapped
205  consecutively) using the window shown below.
206  Once the number of atoms in the body is
207set, the "Choose Start Atom" button is pressed. This creates buttons for
208all possible choices for the first atom to define the body. The starting
209atom is selected by pressing one of these button(s) and this defines
210  the atoms to be used in the rigid body framework. The user must then
211  select
212which atoms will be used to define the origin (the origin will be at the
213centroid of the atoms chosen) as well as define the axes that will be used to
214generate the x-axis and the xy plane for the Cartesian coordinate system.
215The Cartesian coordinates for the body that are generated can be exported to an
216ASCII text file (with the "Export Cartesian Coordinates"
217button) for later use. More commonly, the "Save and Map
218Rigid Body" button is used; this creates a new rigid body type and
219  maps that body (<A href="#MapBody">see A.7.b2</A>) to the selected atoms in the phase.
220 <BR><img src="rb005.jpg" alt="Fraction Coords RB input window">
221</DL>
222
223</DL></DL>
224<H3>A.7.b Rigid Body Panel</H3>
225<DL><DL>
226 As each rigid body is
227defined, a "Rigid Body Type N" panel will be created.<span
228style="mso-spacerun:yes">&nbsp; 
229  This panel will show how the rigid body
230is mapped, and will allow the user to map / unmap the
231rigid body on to the crystal structure, view the rigid body (this
232  assumes the
233 <A HREF="http://www.lwfinger.net/drawxtl/">DRAWxtl</A> program is installed on their computer), edit the
234rigid body, set refinement flags, or delete the rigid body.
235  <BR><img src="rb006.jpg" alt="RB edit panel">
236
237  <H4>A.7.b1 Plot Rigid Body</H4>
238<DL>
239  <A HREF="http://www.lwfinger.net/drawxtl/">DRAWxtl</A>
240  is a very useful viewing program that
241EXPGUI can invoke, if installed. It
242allows for the viewing of the rigid body to ensure it is correct before mapping
243and matches the ordering of the atoms in the EXP file. Note that plots
244  to not display atom types, since there is no type information
245  associated with position in a rigid body. Atom types are determined
246  by the atoms when the body is mapped. A sample plot
247  obtained from the "Plot Rigid Body" button is shown below.
248  <BR><img src="rb007.png" alt="DRAWxtl screen">
249</DL>
250<A name="MapBody">
251 <H4>A.7.b2 Map Rigid Body</H4>
252</A><DL>
253The rigid body must be mapped to the
254crystal structure to define the constraint. This is done by pressing
255  the "Map Rigid Body" button, which raises the window below.
256  <BR><img src="rb008.png" alt="Map RB"><BR> 
257Note that when a rigid body is created from atoms already in the .EXP
258  file (<A href="#fromEXP">see A.7.a4</A>), the "Save and Map" command
259  performs this step automatically.
260  <P>
261  In order to map the rigid body the user
262will need to specify the phase and the sequence number of the first atom in the
263.EXP file to be included.
264  This will
265be the atom assigned to the first set of coordinates in the rigid
266  body.
267 Each succeeding atom will be assigned
268the consecutive set of coordinates.
269The origin and Euler angles for the rigid body placement must be
270determined; this can be done by fitting to the atoms in the
271.EXP file using the &quot;Fit rigid body to phase&quot; button. A
272  table of RMS (~ A distances) between the mapped rigid body placement
273  and the initial atom placements -- this describes the quality of the fit.
274 If the fit is poor, it is
275likely that the ordering of Cartesian coordinates is incorrect, resulting in high
276RMS values. If this occurs, the ordering of the Cartesian coordinates must be
277modified with the Edit Matrix routine.
278  <BR><img src="rb010.png" alt=""><BR>
279 <img src="rb009.png" alt="" ALIGN="RIGHT">
280 The fit can be visually examined with
281the &quot;Plot rigid body &amp; phase&quot; button with results as
282  show to the right.
283  The rigid body is shown in
284red and the .EXP file coordinates are shown in green. Note that it is often
285easier to understand what is being plotted, when bonds are drawn. The input in
286the "Bonds" box specifies ranges of distances where 0.9-1.1, 1.3-1.6 draws bonds
287between atoms spaced 0.9 to 1.1 A (typical C-H bonds) and 1.3 to 1.6 A (typical
288organic molecule bonds). You may wish to specify different
289  ranges where other types of bonding are present. One can also change
290  the display from the DRAWxtl menus.
291<BR Clear="all">
292  </DL>
293 <H4>A.7.b3 Edit Rigid Body</H4>
294  <DL>
295
296Pressing the "Edit Matrix" button on the "Rigid Body Type N" panel
297    provides an interface that will allow the Cartesian coordinates to be modified by
298sorting, swapping, adding or deleting matrix elements.
299   It will also allow for setting the refinement flag for Matrix
300Multipliers.
301  <BR><img src="rb011.jpg" alt=""><BR>
302 <img src="rb012.png" alt="" ALIGN="RIGHT">
303   Note that repeating the previous
304mapping, after reordering
305of the Cartesian coordinates, the following fit of a cyclopentadienyl
306ligand is accomplished and the RMS differences in the
307fitting procedure are small.
308    Below
309shows the correct fit.
310  <BR><img src="rb013.png" alt=""><BR>
311  <BR><img src="rb014.png" alt=""><BR>
312</DL>
313
314</DL></DL>
315<H3>A.7.c Setting Rigid Body Refinement Flags</H3>
316<DL><DL>
317 The "Refinement Flags" button opens a window that allows the
318user to set flags to refine various parameters.
319Parameters can be set up to refine as
320free variables or constrained variables.
321The TLS (translation, librations, screw) terms describe the rigid body
322thermal motions and are normally off.
323They should only be turned on if the user has a strong understanding of
324the relationships between the TLS terms.
325Note: if an Origin or Euler angle
326flag is enabled, the appropriate atom X refinement flag on the phase panel will
327be set.
328  GENLES will have errors if
329rigid body parameters are refined, but not the positions of the corresponding
330atoms.
331
332 Note that in EXPEDT,
333rigid body parameters can be grouped by assigning them the same variable
334number. The same feature is possible via a graphical interface by "tagging" (pressing
335the appropriate button for) items to vary and then using the following buttons:
336<UL><LI>
337 "Set Free Variables" - will assign each tagged parameter as
338an unconstrained variable by providing a unique variable number.
339
340 <LI>Do Not Refine Variables - will turn off the refinement flag
341for all tagged parameters.
342
343 <LI>Set Constrained variables - will constrain all tagged parameters
344and assign a single variable for refinement.
345 <LI>Clear All Variables - will clear all refinement flags.
346
347<LI>Assign Variables and Save - will assign variable numbers to each
348unique parameter to be refined and close the Refinement Flag window.
349  <BR><img src="rb015.png" alt=""><BR>
350  <BR><img src="rb016.png" alt=""><BR>
351
352The above Phase Panel shows the 'X'
353refinement flags active allowing the rigid body refinement to
354  commence.
355 These flags were set automatically when
356the rigid body position parameter were set to be refined. If these flags are
357turned off, it is likely that GENLES will crash.
358
359  </DL></DL>
360<hr>
361<TABLE BORDER BGCOLOR="#FFFF40" ALIGN=RIGHT>
362<TR><TH><A  Href="expgui.html">EXPGUI top</A> 
363</TH><TH><A Href="expgui7.html">Next page</A>
364</TH><TH><A Href="expgui6.html">Previous page</A>
365</TH></TR></TABLE>
366
367</blockquote>
368</body>
369</html>
Note: See TracBrowser for help on using the repository browser.