Initial revision
This commit is contained in:
693
doc/user/illprog.txt
Normal file
693
doc/user/illprog.txt
Normal file
@ -0,0 +1,693 @@
|
||||
CHAPTER 7
|
||||
THE INDEX AND RAFIN PROGRAMS
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
7.1 <index
|
||||
|
||||
The program indexes reflections on the basis of observed
|
||||
2Theta, Omega, Chi, Phi angles when the cell constants and
|
||||
wavelength are known.
|
||||
It does not take into account systematic extinctions.
|
||||
|
||||
The process, when successful, has three steps.
|
||||
|
||||
First, it calculates, for each set of observations, all possible
|
||||
HKL's for which <theta(calc) lies within <theta(obs) +/-
|
||||
<delta <theta.
|
||||
<delta <theta is given - see below -.
|
||||
For <delta <theta = 0, the value defaults to 0.05.
|
||||
|
||||
Second, it finds for all combinations of two sets of observations,
|
||||
the angle between the indexed HKL's for which <angle(calc) lies
|
||||
within <angle<(obs) +/- <delta.
|
||||
<delta given - see below -. Delta = 0 causes default to 0.2
|
||||
|
||||
Finally, it finds all sets of indexed HKL's that explain all angles
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Page 7 - 2
|
||||
|
||||
INDEX AND RAFIN.
|
||||
|
||||
|
||||
between the observed sets of Omega, Chi and Phi.
|
||||
|
||||
The user will normally be presented with several possible sets of
|
||||
HKL's which fit within the limits given.
|
||||
- they are already tested for right-handedness -
|
||||
and he must now choose which set he likes the most.
|
||||
|
||||
If he wishes he may now specify which set of reflections he likes
|
||||
and the program will then set up the input file for the program
|
||||
<rafin, - see next section -.
|
||||
The program ensures that the first two reflections are acceptable
|
||||
to <rafin. The user must say whether he wants the <ub matrix
|
||||
written directly into <lsd ( for instant use ) and which file he
|
||||
wants his <rafin input to come from (usually <rafin.dat).
|
||||
The program <rafin is then automatically started.
|
||||
|
||||
|
||||
Input to <index can be done either from the terminal or from a file
|
||||
<index.dat
|
||||
The format is the same, an example is given here.
|
||||
|
||||
THIS IS A DUMMY EXAMPLE ( text )
|
||||
5.82 16.15 4.09 90 103.2 90 .84 .15
|
||||
(cell constants, lambda,
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Page 7 - 3
|
||||
|
||||
INDEX AND RAFIN.
|
||||
|
||||
|
||||
<delta)
|
||||
16.18 9.01 34.71 14.74 0 (2Th, Om, Ch, Ph, <delta
|
||||
<theta)
|
||||
13.21 7.8 .71 -56.13 0.1 (2Th, Om, Ch, Ph, <delta
|
||||
<theta)
|
||||
etc. etc.
|
||||
0 ( end list with 2Th = 0 )
|
||||
|
||||
|
||||
The program will only suggest sets of indexed HKL's if all
|
||||
reflections are explained. If not, the user must himself look
|
||||
through the list of observed and calculated angles to find a
|
||||
partial list.
|
||||
|
||||
|
||||
|
||||
7.2 rafin
|
||||
|
||||
This program determines orientation matrix (<ub) from two or more
|
||||
sets of orientation angles for reflections, and refines
|
||||
(optionally) wavelength; zeroes of 2Theta, Omega or Chi; a, b, c,
|
||||
alpha, beta or gamma.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Page 7 - 4
|
||||
|
||||
INDEX AND RAFIN.
|
||||
|
||||
|
||||
To call the program, type :--
|
||||
><run <rafin
|
||||
after having set up the input file :
|
||||
|
||||
The input data are on <rafin.<dat
|
||||
(teletype input can be used, but is cumbersome)
|
||||
|
||||
Use <teco to make or correct the file.
|
||||
|
||||
An example of the input file ( comments in parentheses ) :--
|
||||
|
||||
0 1 (second no. 0/1 for <ub not transferred/transferred to
|
||||
<lsd)
|
||||
0 (always)
|
||||
0 -4 -2 28.01 13.75 81.59 42.05 (H K L 2Theta Omega Chi Phi)
|
||||
4 -6 7 50.84 25.37 34.04 18.41
|
||||
-2 -6 0 41.55 20.53 66.93 59.99
|
||||
4 0 4 19.74 9.94 -16.92 -5.40
|
||||
1 -5 -3 35.59 17.70 82.32 1.40
|
||||
6 0 0 18.47 9.26 -2.32 -46.95
|
||||
0 .8405 (0/1 do not/do refine lambda; and lambda)
|
||||
0 0.0 1 0.0 1 0.0 (0/1 for do not/do refine, 2Theta zero,
|
||||
-0/1 for do not/do refine, Om zero,
|
||||
-0/1 for do not/do refine, Chi zero.)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Page 7 - 5
|
||||
|
||||
INDEX AND RAFIN.
|
||||
|
||||
|
||||
0 15.9158 0 7.1939 0 14.277 0 90 0 98.72 0 90
|
||||
(ditto for <a, <b, <c, <alpha, <beta and
|
||||
<gamma)
|
||||
2 0 0 (H K L list for angles to be calculated)
|
||||
0 2 0
|
||||
0 0 2
|
||||
0 0 0 (end of list)
|
||||
-1 (end of input file)
|
||||
|
||||
Ensure that <lsd is not running if you wish to transfer the
|
||||
matrix and wavelength directly into its parameter section,
|
||||
otherwise it may not be successful.
|
||||
<rafin will never modify the zeroes for you. This is for you to do
|
||||
by <adding them to the values in <zer of <par. Remember that for a
|
||||
well aligned diffractometer, they will never change by very much.
|
||||
|
||||
Note: the first two reflections should be far away enough in
|
||||
reciprocal space to define a plane. They must be at least 45 deg
|
||||
apart in Phi and only one may have Chi greater than 45 deg.
|
||||
|
||||
Note also that higher angle (Theta) reflections usually give a
|
||||
better fit.
|
||||
|
||||
You cannot, obviously, refine lambda and your cell at the same
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Page 7 - 6
|
||||
|
||||
INDEX AND RAFIN.
|
||||
|
||||
|
||||
time.
|
||||
|
||||
|
||||
|
||||
7.3 <acknowledgements
|
||||
|
||||
The <index program was written by M.S.Lehmann,
|
||||
and J.M.Savariault.
|
||||
|
||||
The <rafin program was implemented at the <ill by A.Filhol and
|
||||
M.Thomas.
|
||||
It was implemented on the <pdp 11 system by A.Barthelemy.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
CHAPTER 8
|
||||
THE HKLGEN AND GENLIS PROGRAMS
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
8.4 <HKLGEN
|
||||
|
||||
THIS PROGRAM IS USED TO GENERATE A LIST OF HKL's which can be used
|
||||
for input to the measurement routines of <lsd.
|
||||
Indices can be generated internally in <lsd, but it is generally
|
||||
considered easier to create a list, and measure from this.
|
||||
|
||||
<hklgen will generate HKL's according to min and max specified
|
||||
indices, and will write them into output file(s) if they are inside
|
||||
the Theta limits.
|
||||
|
||||
If <chi and <phi limits are specified, the program will also look
|
||||
to see if the <hkl is measurable inside these machine limits.
|
||||
|
||||
If not, it will see if the Friedel Pair is inside limits
|
||||
|
||||
If this is also outside limits, it will see if the reflection can
|
||||
be measured for <hkl <psi=180
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Page 8 - 2
|
||||
|
||||
<HKLGEN <AND <GENLIS
|
||||
|
||||
|
||||
- <note this option means <chi = 90 -> 180 i.e. <up-side-down.
|
||||
|
||||
If measurement is not possible for any of these conditions, the
|
||||
<hkl is declared <blind.
|
||||
|
||||
Comments like <fr.pr <hichi <blind indicate these on <tty output.
|
||||
|
||||
To run the program do :--
|
||||
|
||||
><run <hklgen
|
||||
Input to the program is either from the terminal or from a file
|
||||
<hklgen.dat, already created by the user.
|
||||
|
||||
|
||||
|
||||
8.4.1 input from the terminal.
|
||||
|
||||
The first question asked under this option is whether a file
|
||||
<hklgen.dat should be created.
|
||||
If subsequent runs are envisaged, this might be a good idea. In
|
||||
this case <teco can be used to make small changes to the input and
|
||||
the program can be quickly re-run.
|
||||
<hklgen then asks for the following parameters :--
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Page 8 - 3
|
||||
|
||||
<HKLGEN <AND <GENLIS
|
||||
|
||||
|
||||
1. Title. Up to 80 characters to be displayed at the top of the
|
||||
output.
|
||||
|
||||
2. Wavelength and the 9 'rules limiting possible reflections' -
|
||||
see appendix C -- If you give wavelength = 0, the wavelength,
|
||||
extinction rules, and orientation matrix will be taken from
|
||||
<lsd's parameter files.
|
||||
<chi and <phi software limits are also taken but an
|
||||
opportunity is given to over-write them.
|
||||
-- If the wavelength is given explictly, followed by up to 9
|
||||
numbers for the extinction rules, the orientation matrix must
|
||||
then be given line by line.
|
||||
|
||||
3. Theta limits. ( Note <not 2-Theta limits ).
|
||||
<chi and <phi limits ( if required ) must also be given in
|
||||
this line.
|
||||
-- If zeroes are given, no limits will be included in the
|
||||
calculations.
|
||||
-- If nothing is given, LSD's limits will be used if data was
|
||||
taken from the parameter files, or it will default to zeroes
|
||||
if the data above was given by the user.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Page 8 - 4
|
||||
|
||||
<HKLGEN <AND <GENLIS
|
||||
|
||||
|
||||
4. Three numbers indicating the relative speed of variation of
|
||||
<h, <k and <l.
|
||||
First number is the slowest changing index, third number is
|
||||
the fastest changing index.
|
||||
1/2/3 is used to represent <h/k/l.
|
||||
e.g. 3 2 1 means L changes slowest, then K, with H changing
|
||||
fastest.
|
||||
|
||||
5. Minimum and maximum indices in <hkl are now requested.
|
||||
You must give <hmin <hmax <kmin <kmax <lmin <lmax.
|
||||
Note however that before starting the calculations, <hklgen
|
||||
calculates itself what is the maximum value for each index for
|
||||
the specified Theta range and if this is inside these values,
|
||||
they will be modified.
|
||||
Therfore, if, for example 0 999 0 999 -999 999 is given,
|
||||
<hklgen will calculate the maximum values and give HKL's for
|
||||
positive H, positive K, positive and negative L.
|
||||
|
||||
6. Four numbers concerning various outputs from the program.
|
||||
a) The first <npunch concerns the <hkl output file.
|
||||
0 = no file for output
|
||||
1 = file for output containing <hkl only in 3I4 format.
|
||||
2 = file for <d15-ren ( not for <d8-d9 )
|
||||
3 = file for output containing <hkl and setting angles.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Page 8 - 5
|
||||
|
||||
<HKLGEN <AND <GENLIS
|
||||
|
||||
|
||||
b) The second <ipara concerns machine geometry.
|
||||
0 = Bissecting geometry - (normal for <d8-d9 ).
|
||||
1 = Normal beam geometry - ( rarely used on <d8-d9 )
|
||||
3 = <d15 lifting counter mode ( used with <npunch = 2 )
|
||||
|
||||
c) The third number <nbites concerns <hkl output.
|
||||
1 = write <hkl for each case in four separate files.
|
||||
0 = write all HKL's in one single file FOR00x.<dat
|
||||
( x specified below ).
|
||||
|
||||
d) The fourth number <nlist concerns terminal output.
|
||||
0 = write each <hkl with angles and comment on terminal.
|
||||
( can take time and consume paper ).
|
||||
1 = suppress most of the output on <tty.
|
||||
|
||||
7. If in previous line FOR00x.<dat was specified for <hkl output,
|
||||
X must be given.
|
||||
This is the last line in the input but is not always
|
||||
necessary.
|
||||
|
||||
The program then generates as specified, creating file(s) if
|
||||
required. It gives a resume at the end and exits.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Page 8 - 6
|
||||
|
||||
<HKLGEN <AND <GENLIS
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
8.4.2 input from file hklgen.dat
|
||||
|
||||
Input is given in exactly the same order as above, so for a more
|
||||
detailed description of each parameter see previous section.
|
||||
|
||||
Two possible examples are given below.
|
||||
|
||||
KNUDDERKRYSTAL LAVET AF AARKVARD, 120K (Text, 80
|
||||
characters)
|
||||
0.8405 0 0 0 0 0 0 0 0 0 (Wavelength and the 9
|
||||
Extinction rules.
|
||||
)
|
||||
0.043361 -.04190 .5399 ( <ub given in three separate lines
|
||||
-.046409 -.032053 .03721 - as wavelength is given explicitly
|
||||
-.00256 -.12861 -.02687
|
||||
0 36 -20 95 ( Theta limits and Chi limits -
|
||||
- note - no limits on Phi. )
|
||||
2 1 3 ( relative speeds of <hkl.
|
||||
- K slowest - L fastest. )
|
||||
-99 -1 0 5 -99 99 ( Hmin,Hmax,Kmin, etc.
|
||||
- note all L's with all neg
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Page 8 - 7
|
||||
|
||||
<HKLGEN <AND <GENLIS
|
||||
|
||||
|
||||
H.
|
||||
- K is only to 5. )
|
||||
1 0 0 1 ( a) Output file of <hkl.
|
||||
b) Bisecting geom - usual.
|
||||
c) All HKL's in <for00x.dat.
|
||||
d) Suppress most <tty output. )
|
||||
3 ( <hkl file on <for003.dat )
|
||||
|
||||
|
||||
Second example - probably more normal :--
|
||||
|
||||
<sample <b <shell 30-35 <deg ( Title )
|
||||
0 ( Lambda <ub, Extinction rules,
|
||||
- <phi and <chi limits taken from <lsd
|
||||
)
|
||||
30 35 ( Theta limits; note LSD's <chi
|
||||
- and <phi limits are taken.
|
||||
1 2 3 ( <h slowest - <l fastest )
|
||||
-99 0 -99 99 0 99 ( all neg H - all K - all pos L )
|
||||
1 0 1 0 ( output file of <hkl only.
|
||||
Bisecting - usual.
|
||||
Four files of <normal.hkl.
|
||||
<frprs.hkl.
|
||||
<hichi.hkl.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Page 8 - 8
|
||||
|
||||
<HKLGEN <AND <GENLIS
|
||||
|
||||
|
||||
<blind.hkl.
|
||||
List all on <tty. )
|
||||
|
||||
|
||||
|
||||
|
||||
The program is found on <dk2: under <uic> [200,200].
|
||||
|
||||
|
||||
<hklgen is a program which has evolved in the hands of :
|
||||
A.Filhol, S.Mason. A.Barthelemy and J.Allibon.
|
||||
|
||||
|
||||
|
||||
8.5 genlis
|
||||
|
||||
|
||||
the program generates a list of hkl from a list of reflections
|
||||
produced by coll5n or hklgen. the indices can be permuted, and for
|
||||
coll5n lists limits can be applied to theta and sigma(fsq)/fsq.
|
||||
up to 50 different reflections can be excluded from the list.
|
||||
|
||||
to produce the list do
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Page 8 - 9
|
||||
|
||||
<HKLGEN <AND <GENLIS
|
||||
|
||||
|
||||
>run genlis
|
||||
|
||||
and answer questions.
|
||||
input file is punch-file produced by coll5n or hklgen. if old data
|
||||
is needed, mount the relevant disk on dk3:
|
||||
for the exercise. the program will accept a series of input files,
|
||||
if needed. output file name is chosen by the user.
|
||||
|
||||
the permutation of hkl is given by a combination of indices.
|
||||
example:
|
||||
|
||||
h=-h-k
|
||||
k=H
|
||||
l=-l
|
||||
|
||||
in addition reflections can be rejected using expressions of the
|
||||
kind k-h>n, where n is an integer. this rejection is done before
|
||||
the permutation.
|
||||
|
||||
repeated tests of sigma limits without stopping the program will
|
||||
produce a series of files with increasing extension numbers
|
||||
(assuming coll5n data is input, and that all input is on a single
|
||||
file).
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Page 8 - 10
|
||||
|
||||
<HKLGEN <AND <GENLIS
|
||||
|
||||
|
||||
the program is largely self-explanitary and should be obvious
|
||||
when it is used (or after a few attempts). have faith.
|
||||
|
||||
genlis was written by m. s. lehmann.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
APPENDIX C
|
||||
RULES LIMITING POSSIBLE REFLECTIONS
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
17.0 HKL
|
||||
0 : NO CONDITIONS
|
||||
1 : H + K + L = 2n
|
||||
2 : H, K, L all even or all odd
|
||||
3 : -H + K + L = 3n
|
||||
4 : H = K + L = 3n
|
||||
5 : H + K = 2n
|
||||
6 : K + L = 2n
|
||||
7 : H + L = 2n
|
||||
8 : H + K + L = 6n
|
||||
9 : H, K, L all even
|
||||
10 : H, K, L all odd
|
||||
11 : If H - K = 3n, then L = 6n
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Page C - 2
|
||||
|
||||
RULES LIMITING POSSIBLE REFLECTIONS
|
||||
|
||||
|
||||
18.0 H K 0
|
||||
|
||||
0 : No conditions
|
||||
1 : H = 2n
|
||||
2 : K = 2n
|
||||
3 : H + K = 2n
|
||||
4 : H + K = 4n
|
||||
|
||||
|
||||
|
||||
19.0 0 K L
|
||||
|
||||
0 : No conditions
|
||||
1 : K = 2n
|
||||
2 : K + L = 2n
|
||||
3 : K + L = 3n
|
||||
4 : K + L = 4n
|
||||
5 : L = 2n
|
||||
|
||||
|
||||
|
||||
20.0 H 0 L
|
||||
|
||||
0 : No conditions
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Page C - 3
|
||||
|
||||
RULES LIMITING POSSIBLE REFLECTIONS
|
||||
|
||||
|
||||
1 : L = 2n
|
||||
2 : H = 2n
|
||||
3 : L + H = 2n
|
||||
4 : L + H = 4n
|
||||
|
||||
|
||||
|
||||
21.0 H H L
|
||||
|
||||
0 : No conditions
|
||||
1 : L = 2n
|
||||
2 : H = 2n
|
||||
3 : 2H + L = 4n
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user