189 lines
8.1 KiB
HTML
189 lines
8.1 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<TITLE>TASUB: The Triple Axis Calculation Module</TITLE>
|
|
</HEAD>
|
|
<BODY>
|
|
<H1>TASUB: The Triple Axis Calculation Module</H1>
|
|
<P>
|
|
On a triple axis instrument the parameters incoming energy, Q-position in 3D and
|
|
analyzed energy have to be changed frequently. These calculations are the task of
|
|
the TASUB module. This module uses the calculus described by M. Lumsden, J. L.
|
|
Roberston and M. Yethiraj in J. Appl. Cryst. (2005), 38, 405-411. The special feauture of
|
|
this algorithm is that the tilt cradles of the sample table are used to help during
|
|
alignment and in order to drive out of plane (within the limits of the tilt cradles).
|
|
For alignment, two reflections must be located and their angles and Q-E parameters
|
|
entered into the module. Then a UB matrix can be calculated. With a UB matrix, the
|
|
Q-E variables ei, ki, ef, kf, en, qh, qk and ql can be driven as virtual motors in
|
|
SICS.
|
|
</P>
|
|
<H2>Commands understood by Tasub</H2>
|
|
<p>
|
|
<h3>Monochromator and Analyzer Parameters</h3>
|
|
<p>
|
|
Incident and scattered energies are defined by monochromator crystals. In order for the
|
|
calculations to work, some parameters need to be configured. Monochromator and analyzer
|
|
parameters can be accessed with the prefixes:
|
|
<ul>
|
|
<li>tasub mono
|
|
<li>tasub ana
|
|
</ul>
|
|
The parameter syntax used is as usual: giving only the parameter name queries the value,
|
|
giving the parameter plus a value sets the parameter to the new value. The following
|
|
parameters are supported:
|
|
<dl>
|
|
<dt>dd
|
|
<dd>The d-spacing of the reflection used
|
|
<dt>ss
|
|
<dd>The scattering sense, 1 or -1 are possible.
|
|
<dt>hb1
|
|
<dd>First parameter for the calculation of the horizontal curvature
|
|
<dt>hb2
|
|
<dd>Second parameter for the calculation of the horizontal curvature
|
|
<dt>vb1
|
|
<dd>First parameter for the calculation of the vertical curvature
|
|
<dt>vb2
|
|
<dd>Second parameter for the calculation of the vertical curvature
|
|
</dl>
|
|
An example:
|
|
<dl>
|
|
<dt>tasub mono dd
|
|
<dd>will print the current d-spacing of the monochromator
|
|
<dt>tasub mono dd 4.3
|
|
<dd>Will set the d-spacing of the monochromator to 4.3
|
|
</dl>
|
|
</p>
|
|
<h3>Cell Parameters</h3>
|
|
<p>
|
|
In order for the UB matrix calculation to work, the cell constants must be known:
|
|
<dl>
|
|
<dt>tasub cell
|
|
<dd>This command prints the current cell parameters.
|
|
<dt>tasub cell a b c alpha beta gamma
|
|
<dd>This command sets the new cell parameters. All six values must be given.
|
|
</dl>
|
|
</p>
|
|
<h3>Reflection Management</h3>
|
|
<p>
|
|
In order to calculate a UB matrix a list of reflections must be maintained. This is done
|
|
with the commands in this section:
|
|
<dl>
|
|
<dt>tasub clear
|
|
<dd>Clears the reflection list
|
|
<dt>tasub listref
|
|
<dd>Prints a list of all known reflections.
|
|
<dt>tasub del num
|
|
<dd>Delete the reflection number num from the list
|
|
<dt>tasub addref qh qk ql
|
|
<dd>Adds a reflection to the list. The indices of the reflections are given. The angles
|
|
and energy values are read from the motors. Use this command only when the instrument is
|
|
positioned right on a reflection.
|
|
<dt>tasub addref qh qk ql a3 a4 sgu sgl ei ef
|
|
<dd>Add a new reflection to the list. Besides the indices all angles are given:
|
|
a3, the sample rotation, a4, sample two theta, sgu, upper tilt cradle, sgl, lower tilt
|
|
cradle and incoming energey ei and outgoing energy ef.
|
|
<dt>tasub addauxref qh qk ql
|
|
<dd>Adds an auxiliary reflection with indices qh, qk, ql to the list. A4 is
|
|
calculated from cell constants. A3 is either left alone or is calculated to
|
|
have the correct angular difference to a previous reflection. This is a help
|
|
for setting up the instrument or running powder mode. When a UB has been
|
|
generated from auxiliary reflections, a3, sgu and sgl angles will be incorrect.
|
|
<dt>tasub repref id qh qk ql a3 a4 sgu sgl ei ef
|
|
<dd>Modifies the reflection with id id to have the values given.
|
|
</dl>
|
|
</p>
|
|
<h3>Calculations</h3>
|
|
<p>
|
|
This section covers the parameters and commands to use to make the module do calculations
|
|
for you.
|
|
<dl>
|
|
<dt>tasbub const ki | kf | elastic
|
|
<dd>Sets a parameter to determine if KI or KF is fixed when the energy transfer en is
|
|
being driven. Allowed values: ki, kf, elastic. In elastic mode the analyzer is
|
|
disregarded. This is useful for two circle diffractometers.
|
|
<dt>tasub const
|
|
<dd>Prints if ki or kf is fixed.
|
|
<dt>tasub ss
|
|
<dd>Prints the sample scattering sense.
|
|
<dt>tasub ss 1 | -1
|
|
<dd>Sets the sample scattering sense. Allowed values are either 1 or -1.
|
|
<dt>tasub silent 0 | 1
|
|
<dd>Prints or sets the silent flag. If this is 0, the messages Driving motor ..
|
|
from .. to .. are suppressed.</dd>
|
|
<dt>tasub outofplane 0 | 1
|
|
<dd>Prints or sets the outofplane flag. If this flag is 0, the instrument will stay
|
|
in the scattering plane and not move out of it. This is here in order to protect those
|
|
bloody magnets which cannot be tilted.</dd>
|
|
<dt>tasub makeub r1 r2
|
|
<dd>Calculate a new UB matrix from the current cell constants and the entries r1 and r2 in
|
|
the reflection list. r1 and r2 are integer numbers. This command will not only print the
|
|
new UB matrix but also the results of various back and forth calculations performed with
|
|
the new UB matrix. This can be inspected in order to check the new UB. WARNING: The calculation
|
|
will go wrong if the scattering sense at the sample has changed since the reflections used
|
|
for the UB matrix determination have been entered.
|
|
<dt>tasub listub
|
|
<dd>prints the current UB matrix.
|
|
<dt>tasub calcang qh qk ql ei ef
|
|
<dd>Will calculate new angles for the Q-E position specified. The angles will be
|
|
printed in the order: monochromator two theta, sample rotation, sample two theta,
|
|
lower tilt cradle, upper tilt cradle and analyzer two theta.
|
|
<dt>tasub calcqe a2 a3 a4 sgu sgl a6
|
|
<dd>Calculates and prints the Q-E position from the angles given: a2 = monochromator
|
|
two theta, a3 = sample rotation, a4 = sample tow theta, sgu = upper tilt cradle, sgl =
|
|
lower tilt cradle and a6 = analyzer two theta. The Q-E position is printed in the sequence:
|
|
qh, qk, ql, ei, ef.
|
|
</dl>
|
|
</p>
|
|
<h3>Virtual Motors</h3>
|
|
<p>
|
|
The tasub module also installs the following virtual motors into SICS: ei, ki, qh, qk, ql,
|
|
en, ef, kf and qm. All these motors can be used in SICS drive, run or scan commands like real
|
|
motors. Driving them triggers a recalculation of angles and the drives the real motors to
|
|
appropriate values. The virtual motors have a very limited command set
|
|
(shown at the example of qh):
|
|
<dl>
|
|
<dt>qh
|
|
<dd>The name of the motor alone will print its current position.
|
|
<dt>qh target
|
|
<dd>This will print the last requested target position for this virtual motor.
|
|
</dl>
|
|
</p>
|
|
<p>
|
|
The virtual motor qm implements <b>powder mode</b>. In this mode, only the sample two theta
|
|
and energy motors will be driven, sample rotation and tilt cradles will be left at their
|
|
respective positions. THis is commonly used to analyze the energy transfer of powder samples.
|
|
</p>
|
|
<p>
|
|
There are other important command:
|
|
<dl>
|
|
<dt>tasub update
|
|
<dd>This command will force a recalculation of the current Q-E position for the virtual
|
|
motors from angles. Normally tasub will take care of this. However, if any of the angle
|
|
motors are moved directly or manualy, this command might be required. The SICS dr
|
|
wrapper command, however, even takes care of this.
|
|
</dl>
|
|
<dt>tasub updatetargets
|
|
<dd>This command makes the QE targets macth the current position. This is
|
|
useful after initialization in the instrument.tcl file.</dd>
|
|
</p>
|
|
<h3>Internal Commands</h3>
|
|
<p>
|
|
The tasub module supports some more commands which are used by SICS in order to restore
|
|
the tasub configuration between instantiations of SICS. These commands are documented here
|
|
for the sake of completeness:
|
|
<dl>
|
|
<dt>tasub setub ub11 ub12 ub13 ub21 ub22 ub23 ub31 ub32 ub33
|
|
<dd>Sets the UB matrix. Nine values are required.
|
|
<dt>tasub setnormal n1 n2 n3
|
|
<dd>This command sets the plane normal which is required in calculations. Normally this
|
|
plane normal is automatically generated during the calculation of the UB matrix.
|
|
<dt>tasub settarget qh qk ql qm ki kf
|
|
<dd>Sets the Q-E target.
|
|
<dt>tasub r1 qh qk ql a3 a4 sgu sgl ki kf
|
|
<dt>tasub r2 qh qkl ql a3 a4 sgu sgl ki kf
|
|
<dd>These commands set the values for the two reflections used for generating the UB
|
|
matrix.
|
|
</dl>
|
|
</p>
|
|
</BODY>
|
|
</HTML>
|