Files
sics/doc/user/tasmad.html
Ferdi Franceschini 6921d0426c PSI UPDATE
r1724 | ffr | 2007-03-27 07:56:13 +1000 (Tue, 27 Mar 2007) | 2 lines
2012-11-15 13:10:21 +11:00

958 lines
35 KiB
HTML
Raw Permalink Blame History

<html>
<HEAD>
<TITLE>MAD Commands in SICS</TITLE>
</HEAD>
<body>
<h1>MAD Commands in SICS</h1>
<p>
The TASMAD program (hereafter referred to as MAD) is used to control all
spectrometer activity on triple-axis instruments.
It includes motor movement,
scans in Q-E space and, where appropriate, control of power supplies,
flippers, temperature, etc.
</p>
<h2><a name="Terminology">Terminology and Conventions</a></h2>
In this chapter of the documentation, the following terms are used:
<dl>
<dt> &lt;xxxx&gt; <dd> This has two functions. One is to indicate
the key with the label
<em>xxxx</em>, e.g. &lt;Return&gt; indicates
the key labelled <em>Return</em>. The other
is to indicate a parameter field which should
be substituted, e.g.
<em>&lt;<host-name>&gt;</em> could represent
<em>lnsw02.psi.ch</em> or whatever.
<dt> <em>Enter ...</em> <dd> The word <em>enter</em>, when used in
connection with something which must be typed on the keyboard
such as command, indicates that the action must be terminated
by hitting the &lt;Return&gt; or &lt;Enter&gt; key.
<dt> <em>Hit ...</em> <dd> The word <em>hit</em> indicates that
the single key (or key combination) indicated should be
pressed once. The action should <strong>not</strong> be
terminated by hitting the &lt;Return&gt; or &lt;Enter&gt;
key.
<dt> Examples <dd> Whenever examples are shown, anything which is actually
typed by the user is shown <em>like this</em>. It will generally be shown
in lower case. E.g.
<pre> <em>sc a1=0 da1=1 np=6</em></pre>
indicates that everything between the <em>s</em> and <em>6</em>, inclusive,
is to be typed by the user.
<dt> Optional Arguments <dd> Square brackets, [ ], indicate optional
arguments .
</dl>
<h2><a name="Syntax">Syntax </a></h2>
<pre>
There are a few rules :
- An input line must always begin with a command.
- A command MUST always be abbreviated to its first TWO relevant letters,
e.g. CO is equivalent to COU or COUNT
but for SetZero type SZ or SZERO and so on.
- A command must be separated from information which follows on the same
line by at least one space.
- Only one command may be given per line of input.
However this does not exclude using, for example, the DRIVE command
to drive several or even all motors.
- All command lines are terminated by a carriage return &lt;CR&gt;. So do not
forget to put one &lt;CR&gt; ( or more) at the end of your jobfile.
Most commands are followed either by:
Syntax type (A)
(A) a sequence of variable names
e.g. DM,DA,SS (carry out command given on variables DM, DA, SS)
Note : that for this type of syntax (type A) the only acceptable
variable separators are ' ' (i.e. a space), ',' and '-' (' ' and ','
are equivalent).
Syntax type (B)
(B) a sequence of variable names and values
e.g. AS=3.24,CC=90 (AS is set to value 3.24 and CC to 90)
e.g. QH=1,0,2.0 (variable QH takes the value 1 and the following
variables in storage [QK, QL] take the values 0 and 2 )
e.g. QH=1,0,2.0,AS=3.24,CC=90 (a combination of the above)
In commands involving this construction type (B) the program echoes
the variable names and values it has understood.
Possible separators are ',' and ' ' ('space')
There is a third type of commands which requires no parameters. These
commands are:-
AUTO, EXIT, HELP, LIST, LL, LE, LL, LM, LS, LT, LZ, LD, PAL,
SAVE and SWITCH.
</pre>
<h2><a name="Commands">Commands</a></h2>
<pre>
<a href="#CLEAR">CL</a> CLear : Unfixes one or more motors or power supplies.
<a href="#COUNT">CO</a> COunt : Counts for given preset TIme or MoNitor.
<a href="#DO">DO</a> DO : Runs a jobfile without testing the syntax first.
<a href="#DRIVE">DR</a> DRive : Changes a variable and drives spectrometer to
its new position.
<a href="#FIX">FI</a> FIx : Fixes a given motor or power supply, FIx without
argument will give a list of fixed motors and
power supplies.
<a href="#FINDMAXIMUM">FM</a> FindMax : As FindZero but SetZero is not performed, the
spectrometer is only driven to the maximum.
<a href="#FINDZERO">FZ</a> FindZero : Scans a simple variable, finds maximum, drives to
maximum and performs a SetZero with the given
value.
<a href="#LIST">LI</a> LIst : Listing of variables and parameters.
LE ListEnergies Energies, k and Q values.
LL ListLimits Limits and zeros. Same as lz.
LZ ListZero Limits and zeros. Same as ll.
LM ListMach Machine parameters.
LS ListSample Sample parameters.
LT ListTargets Targets and positions.
<a href="#LOG">LO</a> LOg : Controls terminal logging.
<a href="#ONOFF">OF</a> OFf : Turns flipper off.
<a href="#ONOFF">ON</a> ON : Turns flipper on.
<a href="#OUT">OU</a> OUtput : Defines output variables.
<a href="#PA">PA</a> Pol.An. : Defines a polarization analysis file (default
file ext'n is .PAL).
<a href="#PRINT">PR</a> PRint : Prints one ore more variables or parameters.
<a href="#SCAN">SC</a> SCan : Scans a variable with given or previously
defined increment, number of points and
time interval or monitor count.
<a href="#SET">SE</a> SEt : Sets a parameter value.
<a href="#SCANFAST">FS</a> ScanFast : Scans a variable quickly.
<a href="#SWITCHES">SW</a> SWitch : Sets some switches.
<a href="#SETZERO">SZ</a> SetZero : Sets the zero point offset of a variable.
</pre>
<h3><a name="CLEAR">CLEAR</a></h3>
<pre>
CL(EAR) : The CLEAR command un-fixes a previously fixed motor or power
supplies. Issued alone it un-fixes all previously fixed motors and
power supplies. CLEAR is a command with type A syntax. In all cases
the motors or supplies which have been cleared are listed by THE
Program.
e.g. CL I3,RA,I4&lt;CR&gt;
CL&lt;CR&gt;
</pre>
<h3><a name="COUNT">COUNT</a></h3>
<pre>
CO(UNT) : Counts for a given preset TIme or MoNitor.
This is a command of type B syntax. If the command is issued alone,
the preset used will be that most recently set. However, the preset
may also be specified on the same line as the COUNT command.
(For use of COnt in a P.A. file, see SCan and PA).
e.g. CO TI=10&lt;CR&gt; (count for 10 seconds)
CO MN=100&lt;CR&gt; (count for 100 M1 counts)
CO&lt;CR&gt;
</pre>
<h3><a name="DO">DO</a></h3>
<pre>
DO : Runs a jobfile without testing the syntax.
The jobfile system enables a series of commands to be executed in
sequence without the operator being present.
The DO command is identical to the RUN command except that the
'dry run', i.e. the syntax and limit violation check, is not performed.
Those who like forests prefer the DO command to RUN
e.g. DO MYJOB&lt;CR&gt;
The DO command is also used to change monochromators automatically ,
respectively to change zeroes and d-spacing after a (manual!) change
of the analyzer. For each type of monochromator or analyzer available
there is a .JOB file.
After changing the monochromator (analyzer), do not forget to drive the
incident (final) wavevector to the required value as this is not done
in the .JOB file.
For analysers, do not forget to SEt SA (sense of diffusion on the
analyser) to the required value as it may have been changed by the job
file in order to set the proper zero of A5.
e.g. DO PG002M&lt;CR&gt; for graphite 002 monochromator
DO HEUSLA&lt;CR&gt; for heusler analyzer
A list of available analyzers and monochromators can be found in the
userguide, or be obtained by typing on any terminal connected to the
instrument computer "DIR/PROT .JOB".
</pre>
<h3><a name="DRIVE">DRIVE</a></h3>
<pre>
DR(IVE) : Changes variables which describe the spectrometer
configuration in some way. These variables have always a current
position (actual value) and a target value. Under normal circumstances,
targets and positions are equal within a small error.
Definition of wavevectors : Ki, Q, and Kf are defined by the current
values of the Two-Theta angles , A2, A4, A6 respectively. Therefore,
it is possible (after an abort or an explicit motor drive) that the
spectrometer is not really at the given position in Q-energy space,
but every unperturbed drive of Q-energy will restore the correct
position in Q-energy space: that means that all the four variables Qh,
Qk, Ql and EN will be driven (explicitly or implicitly) to their
target values if (at least) one of them is explicitly driven or scanned.
Motor angles, wavevectors, energies, temperature, power-supply and
Helmholtz-field values must all be driven.
DRIVE is a command of type B syntax. The spectrometer is driven to its
new position and the appropriate variable is altered in the memory.
A DRIVE command will fail (non destructively) if:
- a motor or power supply is protected or fixed
- a software or hard limit is exceeded; the soft limits may be changed
if necessary using the SET command provided the value desired is
within the allowed range.
- there is ambiguity among the driven variables.
e.g. DR KI=2.662,A2=40&lt;CR&gt;
sets two different targets for A2 and fails.
Examples of valid DRive commands:
DR A1=10,A2=20&lt;CR&gt;
move A1 to 10 and A2 to 20 degs
DR EI=14&lt;CR&gt;
moves A1 and A2 to give an incident energy of 14 whichever
unit was chosen at start-up.
DR QH=1,0,0,0&lt;CR&gt;
moves the spectrometer at fixed KI or KF depending on the
value of FX - so that QH=1,QK=0, QL=0 and EN=0
If one of QH, QK, QL and EN is driven, ALL the others are taken into
consideration.
e.g. DR EN=5&lt;CR&gt;
uses the value of EN specified and the existing target values
of QH, QK and QL and makes the appropriate
spectrometer movements taking account of the value of FX.
It is thus a good habit to specify all four variables (QH, QK, QL
&amp; EN) each time one or several of them is to be changed.
</pre>
<h3><a name="FIX">FIX</a></h3>
<pre>
FI(X) : Fixes a simple variable
(i.e. a variable that is directly connected with the position of a
spectrometer motor , or the value of a current)
The variable is fixed at its current value so that subsequent attempts
to change the value will fail unless a CLEAR command is issued first.
FIX is a command of type A syntax. The FIX command issued with no
variable name gives a list of motors and supplies which are fixed.
e.g. FI A3&lt;CR&gt;
</pre>
<h3><a name="FINDMAXIMUM">FindMaximum</a></h3>
<pre>
FM : Find Maximum
This is the same as FindZero except that the zero of the
variable is not changed at the end of the scan.
The syntax is the same as for SCAN.
</pre>
<h3><a name="FINDZERO">FindZero</a></h3>
<pre>
FZ : Find Zero
Scans a simple variable, finds the maximum (or minimum)
intensity within the scanned region, drives to the
maximum and then sets the zero of the scanned variable so
that the zero-corrected current position of the variable
is zero.
More precisely, the command drives to the centre of gravity
of the intensity distribution. The routine for finding the
extremum is not that good and MAD frequently finds
no extremum even when there is obviously one. In that case
the variable is left at the last point of the scan.
Example:
MAD &gt; <em>fz a4 0 da4 0.2 np 7 ti 5</em>
The syntax is as for SCAN.
</pre>
<h3><a name="LIST">LIST</a></h3>
<pre>
LI(ST) : LIST gives a listing of all spectrometer variables and
parameters. There are "subsidiary" commands
LE, LL, LM, LS, LT and LZ as described below.
LE : List Energies: Ei,ki,Ef,kf,QH,QK,QL,EN,QM,TT,TRT
LL : List Limits. Gives a listing of all motor limits and zeros.
For clarity, only non-zero zero-offsetss are displayed.
The current motor position is also shown.
LM : List Machine. Gives a listing of all machine parameters.
LS : List Sample. Gives a listing of all sample parameters.
LT : Lists Targets. Gives a listing of all target values (i.e.
where the motors ought to be) and actual positions of
the motors. If a motor has a zero-offset, this is also
listed. The positions of disabled motors are indicated
by "-".
LD : List Diaphragms: Gives a listing of all diaphragm
positions.
LZ : Lists Zeros. Equivalent to LL (ListLimits).
Note: The target values usually describe the actual
spectrometer configuration and should be equal
(within a certain tolerance) to the positions.
Clear exceptions are for a power supply which has
been turned disabled, the abort of a DRive via
Interrupt and, for instance, the incident wavevector
after a drive of A1 or A2.
</pre>
<h3><a name="LOG">LOG</a></h3>
It is possible for the user's terminal dialogue with MAD to be logged to
disk file. Disk logging goes via the auxilliary process, NSWITCH. This
process must therefore be active for logging to be possible. The commands
which control disk logging are: <pre>
LOg start : Starts the logging of the MAD terminal
dialogue to file.
LOg stop : Stops the logging of the MAD terminal
dialogue to file.
LOg new : Closes the current log file (if open)
and opens a new log file. </pre>
<h3><a name="ONOFF">ON/OFF</a></h3>
<pre>
ON and OF(F) : Both flippers may be turned ON or OFF. In all cases,
the OFF command simply turns off the relevant power supplies. Thus
OFF F1&lt;CR&gt;
turns off flipper 1
If a flipper is already on, the ON command will have no effect.If it is
off, the ON command will cause the most recent target values to be
achieved.
-For flippers F1 and F2, the OFF command sets the currents in both
the vertical and horizontal-field coils of the flipper to zero.
The ON command yields the following currents:
F1:vertical-field current = IF1V
horizontal-field current = KI*IF1H
F2:vertical-field current = IF2V
horizontal-field current = KF*IF2H
The quantities IF1V etc can be changed by the SET command when
appropriate values have been determined from calibration scans.
Note that MAD Program automatically divides the horizontal current for
you by the incident or final wavevector respectively.
If the current in one of the supplies connected to a flipper is changed
by an explicit DRIVE command of the power supply, the flipper may have
the logical value OFF even though the currents in its coils are
non-zero.(This is because it no longer behaves as a flipper.)
Note that the ON and OFF commands are the only ones which can be used
to change F1 and F2. Both ON and OFF are of type A syntax.
</pre>
<h3><a name="OUT">OUT</a></h3>
<pre>
OU(TPUT) :Defines extra variables to be output.
The teletype and disk-file output produced by a SCAN command usually
consists of values of variables which are
scanned in addition to values of M1, M2, time and detector counts.
The OUTPUT command may be used to force the output of additional
variables. The total number of variables which can be output
(including those which are scanned and those which are referred to in
a .PAL file but excluding monitor, time and detector counts) is ten
(10) . Thus setting a variable to be output means that its value will
be printed for every point in every scan until disabled.
Typing OU with NO following variables will stop the output of ALL
variables apart from scanned ones.
Type A syntax. A variable that has to be output because it is scanned
and has also been selected with the OUT command will only be output
once.
e.g. OU A3,A4&lt;CR&gt;
A3 &amp; A4 will be printed in addition to the scan variables.
OU&lt;CR&gt; Stops all extra output
</pre>
<h3><a name="PA">PA</a></h3>
<pre>
PA (Polarization Analysis): This command allows a polarization analysis
loop to be carried out for each point in a scan. The commands for the
polarization analysis loop are contained in a file whose default
extension is .PAL .Thus the command:
PA POLL&lt;CR&gt;
causes the commands in file POLL.PAL to be executed for each subsequent
scan. If no file name is given after the PA command, MAD Program asks
for one.
If several scans are to be run from the console with the same
polarization analysis loop the 'PA loop retention' switch should be set
to ON (see SWITCHES). In a jobfile every SCAN command should always be
preceded by its own PA command.
A .PAL file may contain ONLY the commands SE, CO, DR, ON and OFF i.e.
those commands which refer to flippers, Helmholtz coils and counting.
-For example, if POLL.PAL contains:
OFF F1,F2 &lt;CR&gt;
DR HX=5,0,5 &lt;CR&gt;
CO MN=200 &lt;CR&gt;
ON F1 &lt;CR&gt;
CO MN=20 &lt;CR&gt;
DR HX=0 10 0 &lt;CR&gt;
OFF F1 &lt;CR&gt;
CO MN=500 &lt;CR&gt;
ON F1 &lt;CR&gt;
CO MN=50 &lt;CR&gt;
four counts will be carried out for each scan point:
# cnt F1 F2 HX HY HZ MN
(i) off off 5 0 5 200
(ii) on off 5 0 5 20
(iii) off off 0 10 0 500
(iv) on off 0 10 0 50
A preset monitor or time given in a .PAL file overrides that given in
a SCAN command for which the .PAL file is executed.
When the command PA is issued, the contents of the relevant .PAL file
is listed at the terminal and its syntax is checked.
A .PAL file is cancelled after a scan, except for scans from the
terminal if the PA retention switch is set.
Therefore, if scans are performed within a job file, the .PAL file
required must be specified for each scan.
When a .PAL file is executed, the position variables used in the file
are included in the scan output at the terminal and in the .SCN file if
space permits. Preference is given to variables defined in the SCAN
command but .PAL file variables take precedence over variables
requested by the OUTPUT command (see OUTPUT).
A concatenated version of the .PAL file is written on lines 10 and 11
of the .SCN file. Up to 240 characters can be written in this way
(see section VI).
When a .PAL file is used, scan point output to the terminal or the .SCN
file are labelled 1.1,1.2,1.3....1.n where n is the number of count
instructions in the .PAL file.
A .PAL file may not contain more than 6 COUNT commands.
</pre>
<h3><a name="PRINT">PRINT</a></h3>
<pre>
PR(INT) : Prints the current value of one or more variables or
parameters. PRINT is a command of type A syntax:
e.g. PR A1,A5&lt;CR&gt;
PR QH-EN,GM&lt;CR&gt;
</pre>
<h3><a name="SCAN">SCAN</a></h3>
<pre>
SC(AN) : Scans a variable. All variables which may be driven may also
be scanned.
There are three major items to be known about the use of the scan
command
1) syntax :
2) data files
3) scan output
1) Syntax :
The SCan command is of type B syntax . The scan-increment, preset
monitor (MN) (or time, TI) and the number of scan points (NP) may be
specified by a SET command (done before the scan), by default (the most
recently used values) or on the same line as the SCAN command. Any
number (less than 10) of variables may be scanned in a single command.
The value of the scanned variable given in the SCAN command is the
CENTRAL point of the scan.
The maximum number of points per scan is 100.
For odd NP this means that the centre is at the middle of the scan;
for even NP the centre is the first point after the middle
example: SC A1=0,DA1=1,NP=3 --&gt; A1= -1, 0, +1
SC A1=0,DA1=1,NP=6 --&gt; A1=-3, -2, -1, 0, 1, +2
2) data files :
All tas####.dat files are copied to the mainframe computer
automatically.
3) Scan output :
The SCAN command has type B syntax. The values of M1, M2, counting time
and detector counts are printed on the teletype for each point as are
the scanned variables (i.e. the variables given in the SCan command
line).
Any additional variables requested (see OUTPUT ) are also printed.
When a scan terminates, MAD Program examines the data and tries to find
the centre of a peak or dip which may have ocurred in the detector.
The method involves moments of the measured count distribution and may
not be reliable if the peak/dip is ill-defined or if there is a sloping
background. Specially the width is calculated from the first and second
moment and is not necessary identical to the FWHM.
For information on scans involving polarization analysis loops see the
PA command.
4) examples :
e.g. SC A2=-40,DA2=0.1,NP=11,TI=10&lt;CR&gt;
scans A2, in steps of 0.1<EFBFBD>, about A2=-40 degrees for 10
seconds per point.
SC A3=20.2,A4=40.4,DA3=-0.1,DA4=-0.2&lt;CR&gt;
gives a theta-two-theta scan.
If NP and TI have not been changed since the example above,
there will be 11 points each counted for 10 seconds.
SC QH=1,0,0,0,DQH=0,0,0,0.1,NP=31,MN=100&lt;CR&gt;
causes a constant-Q scan, with an energy step of 0.1
(meV or THz) depending on the start-up conditions)
to be carried out at Q=(1,0,0). There are 31 points each
counted for 100 monitor counts. If the user now types
SC EN=1.1&lt;CR&gt;
The constant-Q scan will be repeated, centered at an energy
transfer of 1.1 (meV or THz).
As with the DRIVE command, scans in Q-E space are carried out at fixed
KI (FX=1) or fixed KF (FX=2). During a scan with Kf fixed (i.e.FX=2)
the program will automatically check and adjust A5 and A6; for Ki
fixed (FX=1) however, MAD Program will not adjust at check and adjust
at every point A1 and A2 because these variables are not likely to
move in a Ki-fix scan.
SC EI=14,DEI=0.1,NP=9,TI=1&lt;CR&gt;
causes a scan of the incident energy to be performed.Such a
scan may be carried out independently of the value of FX.
</pre>
<h3><a name="SET">SET</a></h3>
<pre>
SE(T) : This command is used to change the values of parameters which
do not directly alter the spectrometer configuration (variables which
do alter the spectrometer configuration must be changed with the DRIVE
command).
The parameters which may be changed using SET are given in section V;
in general these are instrument parameterssuch as monochromator and
analyzer d-spacings, sample parameters, motor limits and zeroes, and
steps for scans
MAD Program echoes the values which it has understood. SET is a
command of type B syntax.
e.g. SE DM=3.355,DA=3.355&lt;CR&gt;
sets dM and dA to 3.355 <20>
</pre>
<h3><a name="SCANFAST">FS</a></h3>
<table>
<tr><td valign=top><b>ScanFast</b>
<td>Scans a simple variable quickly. The variable is driven
from start to end without stopping and measurements are made on the
fly. Only one simple parameter may be scanned and it moves at the
speed as set up in the parameters in the motor controller.
</tr>
<tr><td><td>The parameters are similar to those for SCAN. The TI
parameter sets the
period between reads of the neutron counter. Reading stops when
the motor stops moving. The values of NP and the motor increment
are used merely to calculate the start and end points of the scan.
At a later date, the syntax may be improved to allow these values
to be specified directly.
</tr>
<tr><td><td>Example:<pre>
FS A1=6,DA1=1,NP=13,TI=2 --&gt; A1 = 0 to +12 with
readings every 2 secs.</pre>
</tr>
<tr><td><td>All of the data is output to a disk file as with the
SCAN command.
</tr>
<tr><td><td>Any additionally requested variables (see OUTPUT) are
also output.
</table>
<h3><a name="SETZERO">SETZERO</a></h3>
<pre>
SZ : (SetZero.) This command sets the zero for a variable such that
its current value of the zer point offset is change into the specified value.
Obviously this command works only for variables that have a zero.
e.g. PR A3
A3 -45.42
SZ A3= 45
Old values for A5 Lower=-182.11 Upper= 125.00 Zero= 25.00
Posn= - 45.42 Target= - 45.40
New values for A5 Lower=-162.11 Upper= 145.00 Zero= 45.00
Posn= - 20.42 Target= - 20.40
</pre>
<h3><a name="SWITCHES">SWITCHES</a></h3>
<pre>
SW(ITCHES) : This command allows the user to set the switches
described below. In response to the command <em>SW</em>, MAD
generates output of the following form:
1 Powder Mode OFF
2 Polarization mode OFF
Give Switch Number to change or RETURN to finish &gt;
To change a value of one switch, enter the appropriate number
(from 1 to 2) and hit &lt;Return&gt;. To make no change, type
only &lt;Return&gt;. Please note, that due to a bug in the Macintosh
JDK at least two characters have to be entered which can be spaces.
To change the value of switches without being prompted, issue
a command of the form:
<em>sw &lt;sn&gt; &lt;val&gt; &lt;sn&gt; &lt;val&gt; ...</em>
where &lt;sn&gt; is a switch number in the range 1 to 2 and &lt;val&gt;
is its new value. &lt;val&gt; may be either <em>On</em>, <em>Off</em> or <em>Flip</em>.
</pre>
<h3><a name="Examples">Examples</a></h3>
<pre>
Example of phonon scan:
SC QH=2.1 3.2 0 12 DQH=0 0 0 .1 NP=11 MN=1000
this means that the scan will be centered at hkl=2.1,3.2,0 and omega=12,
with steps of .1 in omega and 11 points with monitor 1000
SC QH=2.1 3.2 0 12 DQH=.02 0 0 0 NP=11 MN=1000
scan centered at same position but scanned in the QH-direction with
steps of 0.02
N.B.!!!
1. Always define increments for scanned variables (as DQH,DQK,DQL and
DEN in example above) unless you know what you are doing (i.e MAD
Program stores the old value of the steps, and will use these by
default in a new scan, unless you define new steps).
2. The incoming neutron wavevector is defined in MAD Program by A2 and
the monochromator d-spacing, under normal circumstances A1 should have
the correct (i.e.half the value of A2) position, if not MAD Program
will issue a warning message; the same holds for the definition of the
final neutron wavevector by A6 and the position of A5.
</pre>
<h2><a name="Special_commands">Special commands</a></h2>
MAD recognises the following special commands:
<dl>
<dt><em>set title ...</em>
<dd>Sets the title string (up to 72 characters) to be written to the data
file header.
<dt><em>set user ...</em>
<dd>Sets the experiment user's name.
<dt><em>set local ...</em>
<dd>Sets the local contact's name.
</dl>
<h2><a name="Standard_hints">Standard hints</a></h2>
<pre>
Check of a graphite filter :
Before aligning a PG-filter it is essential to set up the
spectrometer in a configuration where most of the detected neutrons
are 2*ki neutrons. This provides for the best count-rate sensitivity
to filter misalignments. In practice one may proceed as follows:
1/ DR KI=2.662
SE DA=6.71
DR KF=2.662
This will result in 2*ki neutrons being reflected by PG(002) at the analyser
position, while first-order neutrons are not reflected since PG(001) is extinct.
2/ DR QH=0.5,0.5,1.5,0
This will result in 2*Ki neutrons being reflected by a strong Bragg reflection
at the sample position. Here it is assumed that the sample is a single crystal
with a strong (113) Bragg peak, and no coherent elastic scattering at
(0.5 0.5 1.5).
One may then proceed with the alignment itself. In general it is
sufficient to verify the orientation of the filter in the horizontal
plane. Once this is done:
3/ SE DA=3.355
DR KF=2.662
N.B. If one attempts to align a PG-filter using a beam which contains a
significant proportion of Ki neutrons, experience shows that one finds a
transmission minimum for a filter orientation which is misset by a few degrees
from the nominal orientation (c-axis parallel to neutron beam). This position,
however, corresponds to a transmission minimum for Ki neutrons.
</pre>
<h2><a name="Measurement_Modes">Measurements Modes</a></h2>
<pre>
l : Two-axis mode : If you want to work in TWO-AXIS mode, just SEt SA
to 0 ! This will change the zero of A5 by 90<39> and any following drive
of Ki or Kf will drive the detector to zero and the analyser
perpendicular to the beam. Due to the change of A5 zero the
value of A5 will be ZERO (0!) with a analyser orthogonal to the
scatterred beam.
l : Constant QM Mode: If you have a powder sample and want to work at
a given QM ( modulus of Q that you cannot drive), just SEt the
sample lattice parameters (AS, BS, CS ) to 2 PI (6.2832) and lattice angles
(AA, BB, CC ) to 90. Any subsequent drive of QH will drive the
machine to the correct QM value. Use the powder switch to inhibit the
A3 (q) movement.
E.G. SE AS=6.2832 6.2832 6.2832
SE AA = 90 90 90
SE AX=1 0 0 0 1 0
FI A3
DR QH=.1 0 0 0
PR QM
QM=.1
l : Constant DEN Mode : . An other tricky mode of operation is the
constant DEN mode, not constant Ki or Kf mode but a mixture with
either aconstant DEN mode or ( more tricky) a mode which keeps the
difference between energy transfer and the final energy constant
This gives a varying wavelength scan for scanning through a bragg peak
or checking a filter transmission or a (fast) varying energy resolution
useful on IN1 to have a good energy resolution at small EN [pfor
phonons] and broad energy resolution at higher energy transfer
[magnons]).
For example :
E.G. se FX=1
sc QH= 1 0 0 100 DQH=0 0 0 10 DEI=10
l : AUto command: If you have strange or obscure warnings or messages
on the teletype, try first the AU(to) command. It will reinitialize
all motor modules. This may cure the problem.
</pre>
<h2><a name="Variables">Variables</a></h2>
<pre>
Variables are divided into five groups:
(i) parameters which define some aspect of the instrument configuration
but are not directly related to a motor angle or power supply value.
These variables are changed by the SET command.
(ii) parameters which relate to the sample.These are also changed by
SET.
(iii) limits and zeroes for motors and power supplies, also changed by
SET.
(iv) Variables which are explicitly or implicitly related to a motor
position or power supply value. These variables are changed by the
DRive command.
(v) Increments (steps) for the variables of type (iv); these are changed
by SET.
The following list gives the variable identifiers and definitions,
where the order is as the variables are stored in the program.
P.A Variables : Variables marked with an asterisk are not recognized
unless THE Program is run in polarization analysis mode(see SWitch).
</pre>
<h3><a name="Instrument_variables">Instrument variables</a></h3>
<pre>
DM Monochromator d-spacing [<5B>].
DA Analyzer d-spacing [<5B>].
SM Scattering sense at Mono (+ve to the left)
SS Scattering sense at Sample (+ve to the left)
SA Scattering sense at Analyzer (+ve to the left)
ALF1 Horizontal collimation before mono [minutes FwHm]
ALF2 Horizontal collimation mono to sample [minutes FwHm]
ALF3 Horizontal collimation sample to anal. [minutes FwHm]
ALF4 Horizontal collimation before detector [minutes FwHm]
BET1 Vertical collimation before mono [minutes FwHm]
BET2 Vertical collimation mono to sample [minutes FwHm]
BET3 Vertical collimation sample to analyzer [minutes FwHm]
BET4 Vertical collimation before detector [minutes FwHm]
ETAM Monochromator mosaic [minutes FwHm]
ETAA Analyzer mosaic [minutes FwHm]
FX =1 for constant Ki; =2 for constant Kf
NP Number of points in a scan
TI Preset time [seconds] for a COunt or SCan
MN Preset monitor for a COunt or SCan
DTL lower temperature error allowed [Kelvin]
DTU upper temperature error allowed [Kelvin]
*IF1V IF1V and IF2V are currents [Amps] in the vertical-field
*IF2V coils for Flipper 1 and Flipper 2.
*IF1H Horizontal-field currents are KI*IF1H for Flipper1 and
*IF2H KF*IF2H for F2.
*HELM Angle between axis of Helmholtz pair one and KI.
remark: ALF1 to ETAA are not used by MAD Program but stored for your own
convenience.
Please DO NOT FORGET to update ALF1-ALF4 variable after collimator
change to avoid confusion when you analyse your data after one or
two years!
</pre>
<h3><a name="Sample_variables">Sample variables</a></h3>
<pre>
AS -\
BS +-- Sample unit-cell edges [<5B>]
CS -/
AA -\
BB +-- Sample unit-cell angles [degrees]
CC -/
ETAS Sample mosaic [minutes FwHm]
AX -\
AY +-- Components of a recip. lattice vector in scattering plane
AZ -/ of the sample. A3 is the angle between KI and (AX,AY,AZ).
BX -\
BY +-- Components of a second distinct recip. lattice vector in
BZ -/ the sample's scattering plane.
</pre>
<h3><a name="Limits_and_Zeros">Limits and Zeros</a></h3>
<pre>
Lower and upper limits and zeros for all variables given in (iv)
below. L, U and Z are appended as a prefix to the variable names to
indicate Lower limit, Upper limit and Zero.
Storage order is the same as for the corresponding variables, i.e. :
LA1, UA1, ZA1, LA2, UA2, ZA2, LA3 ...
(see (iv) below).
</pre>
<h3><a name="Targets_and_Positions">Targets and Positions</a></h3>
<pre>
A1 Monochromator angle (Bragg angle in degrees)
A2 Scattering angle at mono. (twice Bragg angle in degrees)
A3 Sample angle (degs) (A3=0 when (AX,AY,AZ) is along KI)
A4 Scattering angle at sample [degrees]
A5 Analyzer angle (Bragg angle in deg, TOPSI: not used)
A6 Scattering angle at analyzer (twice A5 in deg., TOPSI: not used)
SINQ Instruments:
MCV Mono curvature vertical
SRS Sample table second ring
ACH Anal curvature horizontal
MTL Mono lower translation
MTU Mono upper translation
STL Sample lower translation
STU Sample upper translation
ATL Anal lower translation
ATU Anal upper translation
MGL Mono lower goniometer (Reserved)
SGL Sample lower goniometer
SGU Sample upper goniometer
AGL Anal lower goniometer (Reserved)
SRO Sample sample table ring rotation.
D1T D1B D1R D1L Diaphragm 1 (top/bottom/right/left)
D2T D2B D2R D2L Diaphragm 2 (top/bottom/right/left)
D3T D3B D3R D3L Diaphragm 3 (top/bottom/right/left)
ILL Instruments:
CH Monochromator changer position [degrees or mm]
GM Monochromator goniometer angle [1 unit = 4<>]
RM Monochromator curvature
GL Sample goniometer angle; lower arc [1 unit = 4<>]
GU Sample goniometer angle; upper arc [1 unit = 4<>]
TA Analyzer translation [ ? mm]
GA Analyzer goniometer angle [ .4degrees]
RA Analyzer curvature
EI Incident neutron energy [THz or meV]
KI Incident neutron wavevector [ <20>-1]
EF Final neutron energy [THz or meV]
KF Final neutron wavevector [ <20>-1]
QH -\
QK +-- Components of Q in Reciprocal Lattice Units [R.L.U.]
QL -/
EN Energy transfer; +ve neutron energy loss [THz or meV]
QM Length of Q [ <20>-1]
TT (T) Temperature of sample thermometer [K]
TRT(RT) Temperature of regulation thermometer [K]
(can only be printed out)
</pre>
<h3>Polarisation Analysis Variables</h3>
<pre>
*I1 -\
*I2 \
*I3 +-- power supply current values [A]
. /
*I6 -/
*HX -\ Components of Helmholtz fields at sample in Oersteds.
*HY +-- HX is parallel to Q and HY is perpendicular to Q in
*HZ -/ the scattering plane.
*F1 -\ Status of flippers one and two; these variables take the
*F2 -/ values ON or OFF.
</pre>
<h3><a name="Increments_Variables">Increments Variables</a></h3>
<pre>
For all variables A1 through T in the list of type (iv) variables
above, the identifier for the step used with a SCan command is obtained
by prefixing the variable name with the letter D.
Storage order is DA1, DA2, DA3....etc as for type (iv) variables above.
</pre>
</body>
</html>