This website is being migrated. In case you don't find the information you are looking for, the old website can be found here. Thank you for reporting any anomalies to communication@ill.eu.
Switch instrument:
Virtual tour
D17 Neutron reflectometer with horizontal scattering geometry

For Users

Remote Intrument Access (VISA)

visa.ill.fr > Click here

Experimental logs

Nomadlogs.ill.fr > Click here 

Remote Data Access

data.ill.fr > Click here

D17 status on NOMAD

Nomad.ill.fr > Click here

The ILL User Club

userclub.ill.eu/userclub/ > Click here

Documentation

D17 Manual

GENERAL HELP

Starting NoMAD and LAMP

To start the instrument control program NoMAD just click on the NoMAD icon.
To start the data reduction program LAMP just click on the LAMP icon.

Summary of instrument variables
san rotation of sample

trs

translation of sample

phi

tilt of sample 

sht

sample height 

det

detector distance

dan

detector angle

s1w

background slit width

s1h

background slit height

s2w

first collimation slit width

s2w

first collimation slit width

s3w

second collimation slit width

s3h

second collimation slit height

col1

collimation arm angle

ros

rotation of sollar colimator

trm

translation of monochromator

rof

rotation of long wavelength filter/S-bender

trf

translation of filter/S-bender

tra

translation of analyser

Setting up a reflectivity measurement in TOF mode

  1. What is the q range you wish to measure?
    qmin-qmax
  2. Do you want  high (constant 1% dT/T) or low resolution (1-10% dT/T)?
  3. What is the active reflection area of your sample
    L=length along beam H=height
  4. The useful wavelength range is 2.5-25A.
    This determines the angles needed to cover the desired q-range. 
    Using   q=sin-1(ql/(4p))  the first angle is determined by qmin and lmax 
    q1= sin-1(qmin x lmax/(4p)) 
    The final angle is determined by qmax and lmin 
    qf= sin-1(qmax x lmin/(4p))
    Now if these two angles are sufficient for the entire q-range they will have to overlap in q
    if  the maximum q from the first angle , 4psin(q1)/lmax is greater than the minimum q from the final angle, 4psin(qf)/lmin then only these two angles are needed.    If there is no overlap then an intermediate angle must be chosen that overlaps the q-range from both q1 and qf.
  5. Assuming two angles were sufficient we need to calculate what collimation we need to under-illuminate the sample for each angle.  If we keep the illumination constant we gain in flux at the price of looser resolution in the second angle.  Use the program slitwit to calculate good values for s2w and s3w for each angle.   The distance between the slits is 3.4m and the distance from the final slit to the sample axis is 160 - 210mm. Sample length is L
  6. Use the Excel spreadsheet "TOF_ResCalc" on the D17 PC Windows computer Desktop to calculate the right chopper opening corresponding to the resolution you need.
  7. Set he height of the beam (s3h) to be 5mm less than the sample height H. You may have to set it twice.
  8. With the sample out of the beam set the conditions for the choosen angles (opening, s2w and s3w) with the detector angle, dan set to (dan - 2*san) degrees. Take a quick run and make sure the  the mean rate is less than 16,000 c/s. If this is not the case use the attenuators until the count rate is acceptable.  If the rate is fine then count for 10-60 min per angle with these conditions (longer counting for the first angle). 

Attenuator usage:
Slide the oscillating attenuator, found in the slit s3 assembly, into the beam.  Switch on the power supply found under the detector tank (black switch) and the slit should oscillate up and down. This provides a wavelength independent attenuation of the beam.

Water measurement (typically done by the instrument responsible at the beginning of each cycle):
Place the water sample in the beam making sure that it is the correct height. Remove the oscillating attenuator from the beam. Move dan to 30 degrees, s2w=s3w=4mm,
s3h=40mm and open the chopper to 9 degrees.  Count for 40 min.

Scan types for monochromatic mode

Angular resolution

Choose:
Constant relative angular resolution- Both collimation slits are opened for each sample angle (q-point) such as to keep the illumination and relative angular divergence constant.

Why?
Maximises intensity for each q-point. Fractional q-resolution is constant.
But:
Must make a calibration run of the direct beam of each q-point. This typically takes 30 minutes and can be used for many reflectivity scans.

Or:
Constant slits- Both slits are fixed at a value such that the sample is under-illuminated at the smallest theta in the scan.

Why?
Only one direct beam measurement is required saving time and this does not rely on the use of attenuators.
But:
Severe loss of intensity at high q as only a tiny fraction of the sample is illuminated. Relative angular resolution is good (and gets better at high q) but needlessly so as the q resolution will never be better that that given by the selector.

Detector movement

Choose:
Theta 2theta- For each q-point the detector angle is moved double the sample angle thus keeping the reflected beam on the same part of the detector.

Why?
Reduces the effect of varying detector efficiency of the pixel lines.
 
Or:
Constant detector angle- Detector angle remains constant throughout the scan.

Why?
If there is interesting SANS scattering in parallel with the reflectivity it is more convenient to analyse this with a fixed detector angle.
But:
Maximum reflection angle (hence q) is limited by half the angle subtended by the detector from the sample position. Water calibration must be more reliable. 

Measurement steps in q

Choose:
Resolution q steps- dq/q is known from the contributions of the selector (dlambda/lambda) and the angular resolution (dtheta/theta). Resolution steps means that the gap between 2 q points in the scan is dq.

Why?
Whatís the point in taking more points in q that can be resolved by the instrument? Scan production programs do allow the step to be some multiple of dq.
But:
At low q the step size may be smaller than the precision of some motors

Or:
Constant q steps- dq is a constant for the whole scan.Why?
There may regions of interest such as the critical edge, off specular scattering or bragg peaks where many points may be required even if they are superficial in terms of reflectivity resolution.
But:
If there are no parts of the scan of special interest it is an enormous waste of time and neutrons.

Useful programs

On the instrument control computer, Just type the name to start in lamp

slitwit
Calculates the angular resolution and illumination of the sample given the instrument geometry, sample dimensions and reflection angle.

COSMOS
Normalizes and reduces specular reflectivities out of ToF data. More information can be found here:
Towards generalized data reduction on a chopper-based time-of-flight neutron reflectometer, Philipp Gutfreund, Thomas Saerbeck, Miguel A. Gonzalez, Eric Pellegrini, Mark Laver, Charles Dewhurst and Robert Cubitt, https://doi.org/10.1107/S160057671800448X

D17 Data viewing and reduction

D17 LAMP Book

The D17 team is currently working on a transition to the Mantid data reduction environment. Please contact the instrument responsibles for staus and usage of this software for data reduction on D17.

For general data reduction of specular reflectivity acquisitions, we recommend to use COSMOS from within LAMP (Large Array Manipulation Program). 
LAMP is a software suite with a graphical user interface written to work with IDL. You can find further information on LAMP, including tutorials and download information, here. After downloading and installing LAMP, you must select D17 as the working instrument to access the macros we have written. You can find out how to do this here.

To launch COSMOS from LAMP, enter COSMOS in one of the "Do" entry boxes or launch COSMOS from the right content window. To view and manipulate raw data sets, the D17 team has written a number of packages within LAMP, for data analysis specific to D17.  These macros are free to use - let us know if you find any bugs or have suggestions for improvement. After updating LAMP you should klick on “LAMP/Layout” -> “Extend to classical Lamp” in the menu bar. Then in one of the command lines you can type the commands and klick “do” or execute them in the Manipulations window.

LAMP Functions and procedures

These are LAMP routines that can be entered in the MANIPULATIONS window, or can be saved in a BATCH file. Most of these are for the manipulation of monochromatic measurements.  They have their own syntax with designated required and optional input.  Look at the individual help pages for more information.

General load and manipulation routines
mload loads, integrates, sorts and normalizes monochromatic scans
d17_xspec extracts the data between two x-pixels and projects on to the y-axis
maskme applies a software mask to a dataset
d17_save saves a workspace in an ascii format with relevant fields and headers
d17_xyconvert will convert raw x- and y-axes in to reciprocal or angle space
d17_2dnorm will normalize raw 2D TOF files to the direct beam
Detector calibration and normalisation
d17_waternorm Detector calibration and normalisation
d17_waterdef takes a water run and creates a detector efficiency plot
Polarized neutron manipulations
d17_polcalc calculates the efficiencies of the polarizing elements
d17_polcorr corrects data for the inefficiency of the polarizing elements
3He filter manipulations
d17_he3corr corrects data for the time-dependence and inefficiency of the 3He filter
d17_he3calc calculates the efficiencies of the polarizing elements and the 3He
d17_he3calibrate sorts through calibration runs for the 3He filter and returns the polarization and transmission of the instrument
d17_he3fit fits the time-dependent polarization and transmission to determine the properties of the 3He filter

Procedure to normalize 2D TOF data and scale to physical units:

Here's an instruction how to convert D17 data into lambda vs. twotheta space in lamp:

  1. Normalize the data file to the main beam projection by using the new d17_2dnorm macro (you have to update your lamp):
    w1=d17_2dnorm_mask('370339','370340',background='370341',lrange=[1.6,27],norm=time,mask='box,[171,181]',backmask='box,[50,230]',mbmask='box,[140,166]'),
    where 370339 is the reflected beam measurement, 370340 is the direct beam run number and 370341 is the background measurment (optional). lrange defines the wavelength range and 'box,[171,181]' defines the x-range of the foreground of the direct beam measurment. In case you want to subtract background from a sepertae measurment or from the reflected beam measurment you csan define a background range, e.g. 'box,[50,230]'. You can also subtract background in the meain beam measurment , e.g. 'box,[140,166]'.
  2. Cut the not useful detector range (e.g. x-pixels 28-235) and normalize to the attenuation factor used for the direct beam (e.g. 16, this you can find out from COSMOS, it is the inverse of the 'Nromalize' factor):
    w2=w1[28:235,*]/16
    e2=e1[28:235,*]/16
  3. Make the lambda vs. 2theta conversion and display the data in a regular grid:
    w3=d17_xyconvert(w2,'ltth',370340,lambda=[1.6,27],sanoff='auto') (if 370340 is your main beam number, note down the 2theta value if you want to proceed further with binning)

If you want to further transfer to q-space or pipf-space including binning:

  1. Execute the 3 previous steps
  2. Note down 2theta value
  3. Save file as .hdf
  4. Use Overlateren:
    4.1. Choose the .hdf file from the "grid from files" and chose region of interest (note: vstart/vend denote the y-axis (2theta), hstart/hend denote the x-axis (wavelength)), choose the number of pixels for the binned file, choose RTOF -> pip, choose the pi/pf ranges for the binned file (note spanx/spany corresponds to the pi/pf range, and verschx/verschz is the first point in pi/pf, all in inverse Angstroms). Then click on "Create new transformation settings". This will ask you for a name for the new setting and create it in the upper left list of settings. The creation of the setting may take a long time depending on your hardware. Note, there is a maximum number of settings possible (20), so delete old settings if there are too many. A window will open to show you the covered pi/pf range when it's finished. Then click on the lower left table into the 'data' field. This will open a browser to choose the .hdf data file you want to convert. The file name will appear in the respective field in the table. Then click on "v Assign setting to dataset v". This will assign the setting you created earlier (it has to be highlighted when you do this) and will appear in the table next to the data set chosen. Finally click on "Tranfer merge and export". This will ask you for a file name for the transformed map and will take some time depending on your hardware. When it's finished it will plot the final data.

Procedure to normalize and extract Monochromatic data:

Here the procedure how to normalize monochromatic data is described. In this example unpolarized data were measured and the slit openings were varied at any point and the direct beam for each setting was measured. This lines can be copied into a LAMP macro (.xbu) file to execute them automatically from the LAMP runtime.

w1=mload('244882:244885',F12=[0,0],norm='time')    ;load direct beam 1 (Att 7.1)
w2=d17_xspec(w1,[199,208],bkg=[],method='smpl',snorm='s2s3',xaxis='san')
w3=mload('244887:244898',F12=[0,0],norm='time')    ;load direct beam 2 (w Att 23.4)
w4=d17_xspec(w3,[199,208],bkg=[],method='smpl',snorm='s2s3',xaxis='san')    
w5=mload('244900:244934',F12=[0,0],norm='time')    ;load direct beam 3 (w Att 122.6)
w6=d17_xspec(w5,[199,208],bkg=[],method='smpl',snorm='s2s3',xaxis='san')    
w7=mload('245038:245138',F12=[0,0],norm='time')    ;load direct beam 3 (w Att 390.7)
w8=d17_xspec(w7,[199,208],bkg=[],method='smpl',snorm='s2s3',xaxis='san')
w9=mload('245268:245419',F12=[0,0],norm='time')    ;load data

;Prepare DB
w10=w9[0,*]
w10[0:3]=w2[0:3]*7.1
e10[0:3]=e2[0:3]*7.1
x10[0:3]=x2[0:3]
w10[4:15]=w4[0:11]*23.4
e10[4:15]=e4[0:11]*23.4
x10[4:15]=x4[0:11]
w10[16:50]=w6[0:34]*122.6
e10[16:50]=e6[0:34]*122.6
x10[16:50]=x6[0:34]
w10[51:75]=w8[0:24]*390.7
w10[76:151]=w8[24]*390.7    ;sample was blocking direct beam for theta>2.644
e10[51:75]=e8[0:24]*390.7
e10[76:151]=e8[24]*390.7    ;sample was blocking direct beam for theta>2.644
x10[51:151]=x8[0:100]

w11=d17_2dnorm(w9,w10)    ;normalize data
w12=d17_xspec(w11,[202,208],bkg=[175,185],method='smpl',mbeam=244881,snorm='s2s3',xaxis='q',sanoff='auto')    ;extract specular

Loading LAMP files into IgorPro or Origin:

Information on how to load the maps into common plotting programs by saving the LAMP file in column format:

Igor Pro:

  1. Data:LoadWaves:LoadWaves
  2. Filetype:DelimitedText 
  3. set Tweaks to cosider space as the delimiting character
  4. Line containing column labels: 1
  5. First line containing data: 2
  6. Set number of lines containing data to the number of y-points
  7. First column containing data: 2
  8. Tick the 'Load columns into matrix' box
  9. Tick the 'read column positions' box
  10. Format the y-axis manually

Origin:

  1. File:Import:SingleAscii
  2. Check the 'Partial import' box and go to 'Options'
  3. Tick the 'Delimited' tick box and chose space as the delimiter
  4. Skip main header, number of lines: 1
  5. Specify known subheader lines: 1
  6. Max # of lines stored in the coumn header: 1
  7. In the partial import dialog chose Row from 1 to the number of y-data points you have

D17 file format

D17 follows the ILL standard data format for nexus files for raw data. The file content can be viewed with free nexus readers such as HDFview and SilxView. If you require access to the raw data in a different format, please contact the instrument responsibles

The old ascii data format will no longer be used from January 2023.  It has three parameter blocks before the data.  
Note that the data block (which comes last) may be read in as a 1D array. The array then needs to be reshaped.

The data from the old detector (pre-2010) saves data that should be read

  1. vertically, then
  2. horizontally, then
  3. in time of flight

Data from the new detector (from 2010) is arrayed starting from the top left of the detector (looking from the sample). The data then needs to be arranged:

  1. in time of flight, then
  2. horizontally, then
  3. vertically

In both cases the data will have been histogrammed, i.e. the detector pixels and time structure will have been grouped in a certain manner. This information is saved in the data file.
All the following parameters are from the yellow block:

  1. The number of horizontal pixels is [parameter(98) — parameter(97) + 1] / parameter(101)
  2. The number of vertical pixels is [parameter(99) — parameter(100) + 1] / parameter(101)
  3. The number of time-of-flight scannels is parameter(94)

A key to the variables in the parameter blocks is given here.

Remote Data Analysis (B.A.R.N.S.)

Click here

for Instrument Responsibles

D17 parameter blocks

RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR        
number of file    Number of comments before the AAA line (0)               Data version number
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA        
80 = number of ascii characters that follow            
instrument    user    date    time
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII        
156 = number of parameters in this block

0 no. time channels size of spectrum

10

-

-

-

-

-

-

-

-

-

-

20

-

-

-

-

-

-

-

-

-

-

30

-

-

-

-

-

-

-

-

-

-

40

-

-

-

-

-

-

-

-

-

-

50

-

-

-

-

-

-

-

-

-

-

60

-

-

-

-

-

-

-

-

-

-

70

-

-

-

-

-

-

-

-

-

-

80

-

-

-

-

-

-

-

-

-

-

90

-

-

-

-

-

-

-

-

-

-

100

-

-

-

-

-

-

-

-

-

-

110

-

-

-

-

-

-

-

-

-

-

120

-

-

-

-

-

-

-

-

-

-

130

-

-

-

-

-

-

-

-

-

-

140

-

-

-

-

-

-

-

-

-

-

150

-

-

-

-

-

-

-

-

-

-

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA        
512 = number of ascii characters that follow            
user    title    00(?)    subtitle
date of start    time of start    date of finish    time of finish
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF        
128 = number of parameters in this block (called par1 in get_paras, called par1 in rdid_d17)

0 measuring time (sec) total counts in detector total counts in monitor
5
10 det
15 det
20
25 det no. of time slices temperature set point regulation temperature sample temperature
30
35
40
45
50 act_wav wavelength tolerance POFF
55 chopper-sample distance open offset mono_wav s2-sample distance s3-sample distance
60
65
70
75
80 Kinetic flag(0 = no TOF, 1 = TOF,2 = kinetic no TOF,3 = kinetic TOF)
85 TOF delay (msec) TOF channel width (msec) TOF flag(0=no TOF, 1=TOF) count timing (0=time, 1=mon)
90 MAD flag (1=MAD,0=NoMad) no. TOF channels
95 TOF channel width (µsec) TOF delay (µsec) X1 for detector binning X2 for detector binning Y1 for detector binning
100 Y2 for detector binning nx, binning denominator ny, binning denominator mm per x-pixel mm per y pixel
105 Kiethley ext. temp Humidity Cell Sample temperature
110 Humidity Cell Regulation temperature Humidity
115
120
125

FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
256 = number of parameters in this block (called par2 in get_paras, called param in rdid_d17)

0 phi trs san (degrees) sht s1t
5 s1b s1l s1r s2r s2l
10 s3t s3b s3l s3r cht
15 det (mm) dan (degrees) trf rof trm
20 trb co1 co2 ros tra
25 fl2 str ran s2b s2t
30 bst rob rm1 rm2
35
40 chop 1 speed (required) chop 1 open (required) chop 2 speed (required) chop 2 open (required) chop 1 speed (actual)
45 chop 1 open (actual) chop 2 speed (required) chop 2 open (actual)
50
55
60 B1 B2 B3 B4
65 PS Lambda Voltage (Flipper 2)
70
75
80
85 s1x
90 s1w s1y s1h s2x s2w
95 s3x s3w s3y s3h FL1 (0=off, 1=on)
100 FL2 (0=off, 1=on) MezFL1 (0=out, 1=in)
105 mean chop 1 speed
110 mean chop 1 phase variance chop 1 speed variance chop 1 phase mean chop 2 speed mean chop 2 phase
115 variance chop 2 speed variance chop 2 phase offset mot 1 (sht)
120 offset mot 2 (co1) offset mot 3 (co2) offset mot 4 (dan) offset mot 5 (str) offset mot 6 (san)
125 offset mot 7 (trs) offset mot 8 (phi) offset mot 9 (s2l) offset mot 10 (s2r) offset mot 11 (s3l)
offset mot 8 (phi)
130 offset mot 12 (s3r) offset mot 13 (trf) offset mot 14 (trm) offset mot 15 (rof) offset mot 16 (trb)
135 offset mot 17 offset mot 18 (ran) offset mot 19 offset mot 20 offset mot 21 (ros)
140 offset mot 22 offset mot 23 (det) offset mot 24 (tra) offset mot 25 (s1t) offset mot 26 (s1b)
145 offset mot 27 (s1l) offset mot 28 (s1r) offset mot 29 (s3t) offset mot 30 (s3b) offset mot 31 (s2b)
150 offset mot 32 (s2t) offset mot 33 (bst) offset mot 34 (rob) offset mot 35 (rm1) offset mot 36 (rm2)
155 offset mot 27 offset mot 38 offset mot 39 offset mot 40 offset diaph 1
160 offset diaph 2 offset diaph 3 offset diaph 4 offset diaph 5 offset diaph 6
165 offset diaph 7 offset diaph 8 offset diaph 9 offset diaph 10
170
175
180
185
190
195
200
205
210
215
220
225
230
235
240
245
250
255

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS    
The number of the data block that follows          no. data blocks remaining            no. data blocks in total
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII    
Number of numbers in data block

Coder values for optic zeros
Done S2L S2R S3L S3R TRS

June 2010, MB & ARW

-

-

23637

26953

20.000

Apr 2011, MB, RB & ARW

003559

006727

23637

26770

-

Calibrating the TOF option

CALIBRATING THE TIME-OF-FLIGHT ON D17

R. Cubitt, A. R. Wildes and G. Fragneto
v. 2.2        August 25, 2009

NOTE:  There is a LAMP/GEORGE macro which will carry out this procedure automatically.  It requires that the standard Fe/Ti multilayer is mounted and aligned.  Then the calibration routine can be launched using the macro: d17calopen

NOTE:  Once you're happy that the TOF calibration has been correctly executed, be sure to:

  • Edit 'init_para.cmd' in the /users/d17 directory.  This command file is run every time MAD starts, and it sets the relevant TOF parameters that are saved in all the MAD data files
  • Edit the logfile at the end of this page
  • Print out the new values and stick them up above the instrument computer.

Some useful constants:
        K = 3956 (for wavelength in Angstroms and speed in metres/sec)

•    Determining D0
D0 is the distance from the first chopper to the sample.  UNLESS THERE IS A SERIOUS INSTRUMENT REBUILD you can assume that this is a constant.  THIS REPRESENTS THE ONE THING YOU CAN ASSUME TO BE CONSTANT.

•    Determining DET (We do not determine DET aNYMORE WITH THIS PROCEDURE! It turned out that a simple ruler/laser measurement is much more accurate.)
DET is the distance between the sample and the detector.
The correct distance for DET can be determined geometrically, INDEPENDENTLY of all other parameters (except D0).
1.    Put a Si substrate at the sample position, find a reflection in TOF mode.
2.    Open S3H so that you have plenty of fly-past, try to put the fly past around the middle of the detector.
3.    Select a part of the TOF spectrum which is NOT influenced by REFRACTION
4.    Bin the data to a two-dimensional data set, fit a Gaussian to each of the two peaks (the reflected peak and the fly-past peak) and note the pixel difference.
5.    Change DET and repeat ~5 times, covering the whole range of DET (1100 – 3400 mm).  
6.    Plot the pixel difference as a function of DET.  This should be a straight line.  DET = 0 should converge to the sample position.  Any DET intercept NOT equal to zero is an offset.  Subtract this offset by driving to a position that you know and resetting the value of DET using the command:        MAD>par set det

EXAMPLE:

You find an offset = –10 Drive to 1990 (in reality, corresponds to 2000) Enter the command:

MAD> par set det 2000
NOTE:  This method assumes that DET is driving correctly and reproducibly.  If DET is NOT driving correctly, the line of pixel difference vs. DET will NOT be straight!

•    Determining the center of rotation of the sample
1.    Put the standard Ni sample.
2.    Choose a footprint to corresponds exactly the sample size.

3.    Align the sample at different angles (e.g. 0.4,1.5,2.7 and 5.4 degrees).
4.    Change the slit 3 center until the best sample translation values are the same for all angles.

•    Determining the opening offset
The opening offset is the nominal phase angle such that there is no direct line-of-sight between the first and second choppers.
1.    Put the Fe/Ti multilayer (large substrate, 100 repeats of (50/50) bilayers). At the sample position and find a reflection. (e.g. s2w=s3w=0.5,san=1.5,dan=3) 
2.    Choose a small phase for the choppers.  Note the TOF parameters! (e.g. opening = -0.5)
3.    Measure the time-of-flight position of the monochromator peak at a number of different positions of DET.
4.    Plot the time channel position of the peak as a function of DET (in metres).  Make sure that the time channels start counting from 0, not from 1.
5.    The gradient will give you the wavelength following the equation:
             gradient = λ / (channel width * K) 

λ in Angstroms
channel width must be in seconds!
6.    Calculate the opening for which dt is zero. 
open(dt=0) = – (λ * cht * 360) / (K * chopper period) 
    cht is the distance between the choppers (in metres), typically ~0.087m.  
chopper period in seconds (1000 = 0.060 s). 
7.    Fix DET, change the opening using the command:
MAD> chop speed 1000 open x
and measure the intensity as a function of opening.  This should follow a straight line, the x-intercept is equivalent to having dt=0  for the given wavelength.
8.    The opening for having dt=0 is then given by the equation:
opening offset = xintercept + (λ * cht * 360) / (K * chopper period) 
EXAMPLE:
    Wavelength determined to be 5.078 Å
    cht taken to be 0.087 m
    chopper period = 0.06 s
    No intensity seen for chopper opening at xintercept = 0.417
    Opening offset = 0.417 + (5.078*0.087*360)/(3956*0.06)  = 1.087 (example by RC, 25.02.04)
    
NOTE ADDED: AW  25.08.09.  MAD has been changed a little so that the requested chopper opening accounts for the open offset.  The value above should be added to the old opening offset to get the new opening offset.

•    Determining POFF
POFF a parameter attributed to the first chopper disk. 

The beam is defined by the trailing edge of the first chopper and the leading edge of the second chopper.

The first chopper holds a magnet which is radially directly below the centre of the opening.  The chopper housing holds a pickup.  The instrument clock is set from when the magnet passes the pickup.

Because the clock is set from the first chopper, the trailing edge of the this disk can be referred to as the beam defining edge.

When the magnet and the pickup are aligned, POFF is defined as being twice the angle between the beam defining edge and the 'chopper open' position. 

The angle between the magnet and the beam defining edge is 180-22.5=157.5 degrees.  Depending on where the pickup is positioned, there will be an offset.  As an example, if POFF = 285, the angle that the beam defining must rotate from when the pickup detects the magnet = 285/2 = 142.5 degrees. This means than the pickup must be 157.5-142.5 = 15 degrees from the vertical in the anti-rotation direction.

POFF can be derived using an equation using the DET vs. Channel number (see Opening Offset  above). Each measurement will give a value for POFF, and the scatter in the values will give a statistical uncertainty for POFF.
Use the following equation for each measurement:

POFF = (channel number + n electronic delay + 0.5 - λ * [D0 + DET]/[K * channel width])

* (2 * channel width * 360) / (chopper period)

+ opening requested - open offset
Note: 
a)    n electronic delay is not a time but a number of channels (e.g. in TOF parameters, delay = 23300 µs and time per bin = 57 µs, then electronic delay = 23300/57 = 408.77)
b)    Make sure that the channel number has been derived from data where the minimum time channel is zero!  If this is not done there will be a systematic error in the calculation of POFF!

Alternatively, a trial-and-error can be used:
1.    Assume that the method for calibrating the opening offset has been correctly done.  The only free variable for a correct wavelength calibration is now POFF
2.    Measure the reflectivity from the multilayer at a series of incoming angles SAN.  Measure also the main beam.
3.    Start COSMOS and run the data reduction for the multilayer reflectivity.  Change the machine parameters to the correct values for the opening offset.  Change the value of POFF in the machine parameters until the Bragg peaks for the multilayer match.

A second method which is prone to error is:
1.    Follow the procedure for setting the opening offset.
2.    Choose to phase the choppers with the opening offset
3.    Measure the position of the peak as a function of different chopper speeds, same opening offset.  Plot the result as a function of chopper period (in seconds).
      This should follow a straight line, and POFF is given by the gradient according to the equation:

0.5 * POFF = 360 * channel width * gradient

NOTE: the chopper shouldn’t be run faster than 1000rpm as you’re not allowed to.  Try to run as slowly as you can (e.g. 800rpm), although be aware that the choppers might have difficulty phasing.
THIS METHOD IS PRONE TO ERRORS!  Ideally, you would have a range of points over the whole range of chopper speeds down to zero.  As it happens, you end up with points all bunched up around 900 rpm and the gradient is very prone to error!

At this point, all parameters should correlate and you should be able to reproduce D0 with the equation:

D0 = K/λ * (channel width * opening offset - electronic delay + (chopper open * chopper period)/360)

You should also be able to take any time-of-flight spectra for the monochromator and calculate the correct wavelength based on the parameters that you’ve calculated.

Log of TOF parameters

Please update this table after every TOF calibration!

Date Done by DET offset Open offset POFF mm per pixel CO1/CO2
4 Apr 083 Jun 0827 Sep 0808 Dec 0811 Mar 0920 Apr 0914 May 0916 Jul 0924 Sep 098 Oct 0920 Oct 0915 Jun 1026 Aug 1028 Oct 1014 Dec 10 AWAWAWAWAW&GF 1059.681059.681059.681059.681059.681059.681059.681059.68652.75652.75653.47143.90143.90143.90143.90 1.441.331.421.361.161.161.1431.1951.26-0.767-0.46-0.46-0.46-0.46-0.46 280.3280.3280.3280.3280.3280.3280.3280.3280.3284.3282.15285.5285.5286.5285.25 1.02131.02131.02131.02131.02131.02131.02131.02131.00351.00351.00351.2151.2151.2151.215 10461104611046210462
19 Apr 11 AW, RB & PG 143.90 -0.32 285.25 1.215 10459
20 June 115 July 1131 Sep 113 Nov 11 RB & PGPG & RCPG & RBPG & RB 143.90143.90163.89163.89 -0.38-0.38-0.35-0.35 285.25284.6284.9284.9 1.2151.2151.2151.215 10459104591045910458
9 Jun 1219 feb 13 PG & RBPG & RB 172.59481.84 -0.35-0.39 285.4282.3 1.21.2 1045910457

Sample Environment

Cabling from the computer to the zone

Port 1:     Cryostat Orange ILLSEC / Old Furnace West5010

Port 2:     Cryostat Orange LM500/ Old Furnace Eurotherm2408e

Port 3:     Old VF WEST6100 / VF and Levels EuroSane / Furnace EuroSane / Bath Phoenix 2C41P / Keithley

Port 4:     Magnetic Field OxfordIPS120

Port 5:     Dilution PC Sane / Bath&Pump Knauer / Cryostat orange lakeshore

Port 6:     Lambda power supply (Flipper 2)

Unblocking the heater in DTI

The DTI environment for the old D17 heater stage is:

heater

When attempting to connect to its electronics, be sure to type

vf 0

in a shell interface.

Control Smartline pump 1000

TaskControl from keypadControl RS232Start, flow rate, A%, B%, C%, D%Stop Code (not case sensitive)CONTROL STANDALONECONTROL REMOTEST2.0,90,10,0,0SP

Menu Set-up: must select RS232 (not NET) before use.

Connnect to Port 1

Before a measurement;

1.      Turn pump on using button on front panel.

2.     Using buttons on front panel, set flow rate to 0 ml/min and draw a small amount (about 2 ul) of liquid manually through the system using a syringe (to eliminate any air bubble and to fill pump with desired material/solution) then push stop.


Commands from computer;

1.      To enable control from computer – control remote

2.      Wait for ok

3.      To change contents of a cell and start pump – ST<space>2,25,25,25,25 where italics are variable (omitted parameters left unchanged).

4.      Wait for OK

5.      Run pump until a desired volume has flown through, hence the control program sets a wait time before sending the next command stop.

6.      Stop – SP

7.      Wait for OK

Run neutron measurement.

After neutron measurement; repeat above step 5-9 for additional runs with changed contents of the cell, changed cells etc.

Before leaving the pump standing for long time, run the pump for 1 minute with pure water so to leave the system clean for next user.