Computer Physics Communications
Computer Physics Communications 75 (1993) 259—273 North-Holland
Laue crystallographic orientation with a fixed detector John S. Reid Department of Engineering, Fraser Noble Building, The University, Aberdeen AB9 2UE, Scotland, UK Received 12 May 1992; in final form 30 August 1992
A FORTRAN program is described that finds the orientation matrix appropriate for a single crystal mounted on a Eulerian cradle in a Laue scattering apparatus where there is a fixed narrow aperture detector or fixed reference direction in the scattering plane. The essence of the alignment strategy is that two or more Laue spots are directed successively towards the reference direction, missing it by measured amounts. The program also evaluates the Eulerian angles x and 4’ necessary to make a given reciprocal lattice plane the scattering plane, and evaluates the w angles necessary to direct reflections in the chosen scattering plane into the counter. The input data required are the lattice parameters of the sample crystal (or, with a variant, reference reflection wavelengths) and the Eulerian angles for two or more reflections that pass close to, but not necessarily directly into, the detector or reference direction. If angles for four or more reflections are available, zero errors in the Eulerian angles x and 4, are evaluated. Use is made of the NAg numerical subroutine library. A summary is included of the underlying algebra employed.
PROGRAM SUMMARY Title of program: LAUEOR
Memory required to execute with typical data: 141 Kwords
Catalogue number: ALCK
No. of bits in a word: 32
Program obtainable from: CPC Program Library, Queen’s University of Belfast, N. Ireland (see application form in this issue)
Has the code been vectorised?: No
Licensing provisions: none
No. of lines in distributedprogram, including test data, etc: 1930
Computer for which the program is designed and others on which it has been tested: (I) Sun 4/470, (ii) Convex C220; Installations: (i) University ofAberdeen, (ii) SERC Daresbury Laboratory
Keywords: Laue scattering, diffractometer orientation 4-circle diffractometer, energy dispersive apparatus
Peripheral used: lineprinter
Nature of physical problem Orientation of a 4-circle diffractometer with a single crystal sample, fixed detector and standard Eulerian arcs.
Operating system: Unix Programming language used: FORTRAN 77. _________
Correspondence to: iS. Reid, Department of Engineering, Fraser Noble Building, The University, Aberdeen AB9 2UE, Scotland, UK.
0010-4655/93/$06.00 © 1993
—
Method of solution Using identifiable Laue reflections that pass close to the counter (but not necessarily into its centre), the orientation equations are solved directly or by least-squares fitting (as appropriate).
Elsevier Science Publishers B.V. All rights reserved
260
J.S. Reid
/
Laue crystallographic orientation with a fixed detector
Restrictions on the complexity of the problem There is no restriction on the symmetry of the sample. The maximum number of allowed data points is controlled by a PARAMETER statement and set at 20 in the distributed version.
Typical running time: less than I second Reference [1] John S. Reid and Stephen G. Clackson J. AppI. Cryst. 25 (1992) 244
LONG WRITE-UP 1. The orientation method The problem of orienting a single crystal for Laue work using a standard 3-circle or 4-circle diffractometer is often approached by measuring a number of identifiable reflections on a Laue photograph taken fairly close to the sample. These coordinates are used in a least-squares-fitting procedure to determine the orientation matrix and hence set the crystal in any desired position [1,21.The weakness of this method is that each reflection coordinate is generally not particularly well defined and high accuracy is difficult to achieve. Indeed, for film work high accuracy may well not be needed but in circumstances where an energy dispersive detector is employed rather than film, an alignment method is needed that references the single position of the detector and is, in general, more accurate than the conventional method. Such a situation occurs, for example, in energy dispersive diffuse X-ray scattering [3]. In this context Reid and Clackson [3] have discussed a suitable alignment method, which forms the basis of the program described here. The program assumes a crystal with known lattice parameters. Under these circumstances the wavelength of each reflection does not have to be measured. (In section 3 a brief description is given of how to make a simple variant of the program where the measured wavelengths of the reference reflections can be used if the sample lattice parameters are unknown.) Such a program is useful, not only because energy dispersive diffuse scattering is expected to be an expanding field, but because the method is relevant in other contexts too, and could be used for ordinary Laue work where a well surveyed reference mark replaces the counter. The essential difference between the technique described and existing techniques is that here a sequence of Laue spots are brought close to an accurately surveyed reference mark (pinhole or cross-wires) and the small difference between the reference position and each spot is measured, along with the corresponding sample rotation angles. The reference mark could, perhaps, be 2 m from the sample in the plane perpendicular to the diffractometer’s main axis. If the centre of the Laue spot can be located to only 0.5 mm at this distance, then the crystal orientation is determined to 0.010, an order of magnitude more precise than is often achieved by conventional white radiation methods. Following this argument, the program can form the basis of a completely automated, accurate, Laue alignment procedure, without reference to any film measurements. It is simple to operate and is independent of any large, multi-purpose, Laue software package. Implementation of the standard film-based least-squares technique is not in the CPC library, though it is available commercially (e.g. ref. [4]). The method is implemented as follows: (a) From the known mounting geometry of the sample, or from a pilot (Polaroid) Laue photograph or video image, two Laue reflections are identified. (b) These reflections of known index are steered successively towards the counter. Due to imprecise knowledge of the orientation of the sample on the Eulerian cradle, a reflection will miss the centreline of the counter by an amount (x, y), measured parallel and perpendicular to the scattering plane (fig. 1). These near miss coordinates (x, y) of a reflection can be determined either from a Polaroid taken at the detector, some considerable distance from the sample, or, under computer control, by scanning the detector.
J.S. Reid
/
Laue crystallographic orientation with a fixed detector
261
incident x— rays
p0
observed reflection
centre line
q
~
20
~
Sample
counter Fig. 1. Geometry of the X-ray beam scattered towards a fixed counter. The diffractometer axes aD, bD, CD, are defined by the convention of International Tables for X-ray Crystallography [5],where aD, bD, lie in the scattering plane. The scattering angle 20 is measured in this plane to the centre line of the counter (or reference mark). During trial alignment, a reflection may miss this centre line by coordinates (x, y) at the counter position, equivalent to angular misses of p and q (radians), measured respectively in the scattering plane and perpendicular to it.
(c) The program is run using the approximate setting angles and the near miss distances from the two reflections only, to produce a first approximation to the orientation matrix and trial angles for directing other reflections into the counter. (d) The set of reflections guided towards the counter is expanded and for each reflection the Eulerian angles and near miss coordinates (x, y) are recorded. (e) The program is re-run, least-squares-fitting at least four reflections to produce a more accurate orientation matrix and estimates of the zero errors in the Eulerian angles to and x. From these are calculated the necessary angles to turn a given reciprocal space plane into the scattering plane and to make a given reciprocal space direction the scattering vector.
2. The orientation equations Establishing the orientation equations is quite lengthy. It is described here in a notation based on that of International Tables for X-ray Crystallography [5].The components of the scattering vectors H = (h, k, 1) are given in the diffractometer reference frame in terms of measurable quantities as [3]
d* XD =
1/2
(2(1
—
cos q cos(20 +p)))
(cos 0— cos q cos(O +p), sin 0 + cos q sin(0 +p), sin q), (1)
where d * is the length of H in A_i, 20 is the usual scattering angle; p and q are defined in fig. 1. Given that H is represented by a row vector, 2HG~H~, (2a) d* where G 1 is the reciprocal space matrix,
G1
=
a*2 a*b* cos
a*b* cos y~ a*c* cos b*2 b*c* cos
a*c* cos f3*
b*c* cos
c~2
(3)
262
J.S. Reid
/
Laue crystallographic orientation with a fired detector
determined from the reciprocal space unit cell parameters [5].If the lattice parameters of the sample are not known, then d* can be found from a measurement of the wavelength (A) of the reflection, since d*=4m. sin(0)/A.
(2b)
Each reciprocal lattice vector h may be written in the diffractometer-fixed axis system as h=XDAD, where
XD
(4)
is a row vector of coordinates and AD the column vector defining the system aD
AD=
bD
(5)
CD
or h may be written in a crystal-fixed orthonormal system as h=XGAG,
(6)
or in the sample’s reciprocal space as h=IJ.A*,
(7)
where AG and A* are column vectors defining the corresponding systems. To orient the sample using only two observed vectors h1(obs), h2(obs), a triple of row vectors is defined [51: h1 =h1(obs),
h3=h1(obs) Xh2(obs),
h2=h3Xh1(obs).
(8)
For each observed reflection, the corresponding XD is formed from eq. (1). XG are related to the transposed rotation matrix, F’, where XG=XDF’
XD
by (9)
and F’ =
cos to sin to 0
sin to cos to 0
—
0 0 1
1 0 0
0 cos x sin,~
0 —sin x cosx
cos ~ sin 4’ 0
sin 4’ cos 4’ 0
—
0 0 1
(10)
(the prime representing the transpose of a matrix). Hence XG may be calculated for each observed reflection, using the observed3)Eulerian angles to, the x~ is evaluated from 4’, in eq. (10). Corresponding to eq. (8), a triple of XG, namely XG(1), XG(2), XG( two “observed” XG that have been calculated from eq. (9). Hence we may define 3 X 3 matrices H and XG as XG(l)
H=
h 2
;
XG=
2) XG( XG(3)
,
(11)
from which, finally, the orientation matrix U is found as U=H1XG.
(12)
J.S. Reid
/
Laue crystallographic orientation with a fixed detector
263
(The use of the symbols H and XG sometimes for matrices and sometimes for vectors is propagated by the International Tables for X-ray Crystallography [5]). The scattering plane is the plane swept out by the detector as 0 is changed. If it is desired that a particular reciprocal lattice plane defined by the two vectors HA, HB should be the scattering plane, then the direction H~should be set parallel to the diffractometer axis, where H~ is the vector cross-product of HA and HB: =
HA X HB.
The direction H~= (he, k~,l~)is an important element of the program data. To find the Eulerian angles x~ 4~necessary to achieve this oriention of the crystal, evaluate d*2=H~UU~H~ and let
(13)
(14)
Z(j)=H~~U3, where U3 is the jth column of U. The required orientation solutions [3]are found from: 2,
COS X
sin
0Z(3)/d*,
giving
x,~
=
ATAN2 (sin
(15)
x~=±(1_cos2Xc)’~”
x~,cos x~)
and
sin 4’~=Z(1)/(d* sin x~)~ cos 4’~=Z(2)/(d* sin x~)~
(16)
giving 4’~.The two solutions for orienting H~are represented by the choice of sign in eq. (15). In the special case of sin x~ = 0, H~is aligned for x~ = 0 and for any value of 4’~.The program will choose =0. To orient a given reflection Hb = (hb, kb, 1b) as the scattering vector, define the 3 X 3 matrix Y Y= UR,~,R
(17)
5 and let Z(j)=Hb~Y’,
(18)
where Y’ is the jth column of V. Hence sin to=Z(1),
cos to=Z(2),
(19)
giving to
=
ATAN2(Z(1), Z(2)).
x~’
The Eulerian angles necessary to set on the reflection Hb are therefore ç6~, to. The orientation equations are developed, as in ref. [3], to allow both for the least-squares fitting of four or more reflections and for the possibility of zero errors being present in the Eulerian angles X and to. The angle 4’ is measured from an arbitrary zero and hence has no associated zero error. The angles X and to are measured from zero positions defined in terms of special positions of the axes set in relation to the incident beam and the main diffractometer axis.
264
/
J.S. Reid
Laue crystallographic orientation with a fixed detector
Let the true Eulerian angles be related to the measured Eulerian angles by small angle offsets: Xtruc
Xmeas +Xoff,
tot~e =
The true transposed rotation offset term —
true
_4_.
,
meas
—
(20)
t0off•
+ matrix Ftcue tomeas
is given
by
a rotation matrix of measured angles and an
F
~ff~
where F~ff= DLto 0~~ +~
(22)
—sinto —cosw 0 cos to —sin to 0 RR~, 0 0 0 0 0 0 D~=R~0 —5in~ —cosx R~. 0 cosx —sinx
D,~
(23)
The orientation matrix U and the short column vector of offset angles (24)
contain 11 unknown components. With a row vector H = (h, k, 1) representing an observed reflection, for which a corresponding XD can be calculated using eq. (1), each reflection provides a set of three scalar equations: (25)
HU=XD(F,~jeas+F~~).
Four reflections H(1), H(2), H(3) and H(4) are therefore sufficient to provide 12 linear simultaneous equations from which the 11 unknowns can be found, by least-squares. More than four reflections will clearly provide a reduced dependence on any one measurement. Explicitly, for n reflections the matrix equation solved is AC=R.
(26)
A is a
4n X 11 matrix whose first 9 columns involve the reflection indices H(i) and whose last two columns are generated from the scalar products XD F~eas:
H(1)
0
0
—XD(1)~D~(1) —XD(1)~DL(1)
H(2)
0
0
—XD(2)
H(n)
0
0
-XD(n)D~(n)
-XD(n)DL(n)
0
H(1)
0
—XD(1)~D~(1)
—XD(1)~D,~(1)
0
H(n)
0
-XD(n)~D~(n) -XD(n)D~(n)
0
0
H(1)
—XD(1) .D3(1)
0
0
H(n)
-XD(n)~D~(n) -XD(n)~D~(n)
1(2)
—XD(1) .D1(2)
.D
—XD(1)
.D3(1)
,
(27)
J.S. Reid
/
Laue crystallographic orientation with a fixed detector
265
where 0 is a 1 x 3 row matrix of zeros and D,~(n)is the jth column of the transpose differential rotation matrix D of eq. (23), evaluated for the angles of the nth reflection. C is an 11 X 1 column matrix of coefficients to be found. The first 9 elements are the three columns 3 of the orientation matrix U and the last 2 elements are those of ~ (eq. (24)). U U1
C=
(28)
.
U3 Finally, R is the 2n x 1 column vector of right-hand sides representing XD F,~easin eq. (25). If F,~(n) represents the jth column of F~easevaluated from eq. (10) for the nth reflection, then: .
XD(1) .F1(1) XD(1) .F’(2)
XD(n) .F1(n) R=
XD(1)F~(1) XD(n)
(29)
,
F~(n)
XD(1) F,~(n) XD(n)
F~(n)
The least-squares solution to eq. (26) is the solution that minimises the sum of squares of the residuals, i.e. I V
2
where
V=R—AC. To ensure that each reflection is weighted equally in the fit, each reflection in eq. (26) is represented by the unit scattering vector in that direction. Hence, before use, each row of eq. (27) and each element of eq. (29) is scaled by the magnitude of the reflection vector involved. If the k th row of A involves H(i), then scaled matrix elements are
A5(kj) =A(kj)/IH(i)I,
Rs(k) =R(k)/IH(i)I.
(30)
These give the final matrix equation ASC=Rs.
(31)
The residual vector Res is a 3-element row vector that measures by how much a given vector H fails to satisfy exactly eq. (31). It is given by Res =HU—XDFtc.Je, where the right-hand side has been scaled using eq. (30).
(32)
—
J.S. Reid / Laue crystallographic orientation with a fixed detector
266
3. Program organisation
The program is comparatively simply structured, as shown in fig. 2. One run involves a single pass through the lengthy main routine. The code is divided into short “paragraphs” each prefaced by explanatory comment aimed to make its operation and its structure clear. After reading the data, an orientation matrix is calculated from the first two reference points using eqs. (8)—(12). If there are no other points, then this matrix is used to specify the orientation angles. If there are other points, then this
x2
L~NER
~
:~ ~
~
4 ____
_________
x2
BU5LEV
__
~~~OM2 ~
CROSPI
____
~
SETROT
_____
____
MKMULT
Iko ~1 U
___
I [~
FOIAAF MO
:~
SETR0T~j
[LAUEOR p,~
fi
INDEX
FOIAAF
_________
~~KPT ~~~ROT ~MAT
-
~
x8
FIKtIULT
FDSTA~J
~ CROSP~~
:~ ~
x6
fi
MKtIULT
1 I~~~AMF ~ioc
A~~I~LAT
V
I
FOIAAF MO
I~~DAF MGI1 I~EAFMCI1 I~~EBFM011 Fig. 2. The call tree of program LAUEOR, with multiple calls to a sub-program indicated by a numeric prefix.
J.S. Reid / Laue crystallographic orientation with a fixed detector
267
matrix is used to evaluate the hkl for each associated set of Eulerian angles, producing a table comparing the given indices with the calculated indices. If reflections are given with assigned indices 0,0,0, then the calculated ones are used. If there are three or four reference points, the set is checked to make sure that no three points are co-planar with the origin. Given only three reference points, the orientation matrix U is determined by exact solution of eq. (12). (Note that the orientation matrix elements given by the program contain a factor of 2’n, originating from the reciprocal lattice unit vectors). For four or more points, eq. (31) are solved by least-squares fitting using the NAg routine FO4AMF. The matrix UU’ is evaluated for comparison with the reciprocal space matrix G1 and the corresponding derived real-lattice parameters found. For the given diffractometer axis direction H~,the orientation angle 4’~~ x~are evaluated from eqs. (15) and (16). Either to is evaluated for a given reflection or, usefully, a table of to is calculated for a circle of low index reflections lying in the chosen scattering plane (i.e. perpendicular to He). The to values are listed in order, with the accompanying reflection indices that occur for wavelengths within the range Amin to Am~,set in a DATA statement as 0.4 A and 2.0 A, respectively. The wavelength of each reflection is listed. This information is useful both during alignment and for final setting. [Should the lattice parameters of the sample be unknown, then orientation can be accomplished if the wavelengths of the reference reflections are measured (for example with a calibrated energy-dispersive detector). A variant of the program must be made that uses eq. (2b) instead of eq. (2a) to determine d * for the reference points. Minor changes to the data input section will also be needed.] Array space requirements are dominated by the maximum number of reference points likely to be used, set in PARAMETER statements as MAXPTS = 20. All floating point variables and constants are DOUBLE PRECISION, including those in the NAg library routines. These routines are FO4AAF, FO4AMF, MO1DAF, MO1EAF, MO1EBF and XO2AJF, described fully in the NAg manual [6]. The program routines are each prefaced by comments giving their function and parameters; they also contain embedded comments explaining the progress of the code. In brief, the routines are summarised here in alphabetical order. BANNER Writes in large letters a given character string. Used to ease identification of output. BUSLEV Generates notional scattering vectors that lie in two planes at right angles, intersecting along the first vector, using an extension of the method of Busing and Levy [7]. When the first parameter, KNO, equals 2 the method reduces to the original Busing and Levy algorithm and the program only uses the routine with this option. CHEKPT Checks that no three reference points are coplanar with the origin. CROSPD Forms the vector cross-product of two column vectors that are stored as columns of 3 X 3 matrices, placing the result in the column of another matrix. CROSPI As for CROSPD, except for integer vectors. FDSTAR Function evaluating d the length of a reciprocal lattice vector. INDEX Determines indices of reflection for a set of given Eulerian angles and an orientation matrix. MKMULT Calculates 3 X 3 products for submatrices. REALAT Evaluates the real-space lattice constants from the reciprocal space metric G RLATT Assigns reciprocal space parameters, including G of eq. (3), from real lattice parameters. Note that the unit vector of reciprocal space contain a factor 2ir. SETMAT Sets the elements of matrix A, eq. (27). SETROT Sets the transposed rotation matrices of eq. (10) and the differential matrices of eq. (23). UFROM2 Determines orientation matrix U from two reflections, according to the recipe of eqs. (8)—(12). ~,
—
—
268
J. S. Reid
/
Laue crystallographic orientation with a fixed detector
4. Input / output The input and its format are described in detail at the beginning of the main routine and an illustrative example accompanies the next section, with explanatory comments. Input is on device (5), organised in six short sections as follows: (1) Output filename. (2) Unit cell parameters: a, b, C (in A), a, f3, y (in degrees). (3) Apparatus constants: 26 (in degrees), sample to counter distance (in mm). (4) No. of reference points. (5) Reference point data: h, k, I (integers), to, x~4’ (in degrees), x, y (near-miss coordinates in mm); a maximum to MAXPTS such reference points is allowed. The first two data points must have known indices. If the indices of subsequent points are unknown, enter as 0, 0, 0 for the program to provide an index. When there are 5 or more reference points, their indices need not be all different. This allows alternative measurements for the same reflection to be used together. (6) Setting indices: h~,h~,I~,hb, kb, 1b (integers). If hb, kb, ‘h are set as 0, 0, 0 then a table of to values is output, as discussed in section 3. Up to 50 pairs of setting index specifications can be placed in succession. The list closes when h~,k~,I~is set as 0, 0, 0. Output prompts and error messages are sent to device (6), allowing the program to be run interactively if desired. Results output is sent to device (8), whose filename is specified in the first input section, in a format intended to provide clear viewing when displayed on a screen. The output consists of: (1) A banner (suppressed in the example shown at the end of this account). (2) A summary of the input data. (3) Assessment information. This begins with a data consistency check, namely a table showing all the reference points beyond the first two indexed using the first two points, listed under the columns “Scattering Vector”. “Computed index” shows the corresponding most appropriate scattering vector with integer components, followed by the wavelength necessary to observe that reflection. Remember that multiples of a given index can be seen at submultiple wavelengths. If the given reference points are re-indexed by the integer computed indices, then “Re-index?” shows “YES”. Reflections of unknown indices (entered as 0, 0, 0 in data section 5) will be indexed at this point. A second table shows the total residual for each data point, giving a measure of how well the matrix equation (31) fits that point. The residual for the ith point is calculated as the modulus of Res given in eq. (32). (4) The derived matrices U, UU’ and G A comparison can be made between the elements of UU’ and G’, which should be equal with error-free experimental data. Since (UU’Y’ determine the orientationally derived real-lattice constants, these are also listed for comparison with the input data. (5) h~,k~,1’c, X 0ff’ Xc’ Xc Xoff’ ~ to0ff followed by a table of to values for each relevant reflection arranged in order of increasing Xoff is labelled CHI zero; to0~~ is labelled OM zero. If multiple Laue reflections occur within the wavelength range, then each contributory Bragg reflection is given along with its wavelength. In the given version of the program, the systematic absences for an fcc crystal are removed from the list, leaving only reflections that have all even or odd indices. This restriction is implemented in DO loop 320 and can be easily removed or amended. Section 5 output is repeated for each setting supplied in input data (6). - ~.
~.
5. Results and test data The program has been used successfully to align cubic crystals at a synchrotron radiation station. 0ff-line tests on the predicted orientation angles for a range of scattering planes and scattering vectors were made using a large calibrated model of a crystal mounted in a Eulerian cradle. This model would
J.S. Reid
/ Laue
crystallographic orientation with a fixed detector
269
not have revealed any small-scale errors (<0.1°) but the numerical accuracy of the calculations far exceeds the accuracy of experimentally determining angles. Indeed, as with other comparable leastsquares alignment techniques, the inaccuracy of the results is a reflection of inaccuracies inherent in the input data. One would expect convergence between the least-squares fitted metric UU’ and G of eq. (3) as the number of fitted points increases. For a small number of data points, this convergence is slow and there has not been the chance to test a large number of points because of the lack of automatic operation of the goniometer at the synchrotron station used. Under these circumstances, alignment effort is best expended in collecting a small amount of data as accurately as possible. The program is expected to work for samples of any symmetry, since symmetry simplifications are not involved. Two sets of test data are given for the alignment of a diamond crystal. The first shows alignment using only two data points, in which case the Busing and Levy constraints keep the metric UU’ equal to G1 The assessment information is not calculated, for it is irrelevant. The second test shows the least-squares fitting to 7 reference points involving only 4 different Laue reflections. The assessment information enables a quantitative comparison to be made with other Laue alignment strategies and diffractometers [8]. Remember that Laue reflections are shown only if their wavelengths lie between 0.4 A and 2.0 A (see section 3). The data include substantial offset angles Xoff and to 0ff. If true angles are generated from the measured angles using these offsets in eq. (20), it will be found, as expected, that the orientation matrix remains essentially unchanged. —‘
Acknowledgements The author would like to thank the Science and Engineering Research Council for grant support during the development of this program and the Computing Centre of the University of Aberdeen for computing facilities; also, Stephen Clackson for helpful discussions.
References [1] P.F. Fewster, J. Appl. Crystallogr. 17 (1984) 265. [2] J. Laugier, J. Appl. Crystallogr. 16 (1983) 281. [3] iS. Reid and S.G. Clackson, J. Appl. Crystallogr. 25 (1992) 244. [41 Cyberstar S.A. ‘Orientexpress’, address: 15, Av. des Martyrs-BP85X, 38041 Grenoble cedex, France. [5] International Tables for X-ray Crystallography, vol. IV (Kynoch Press, Birmingham, 1974) pp. 273—284. [6] The NAg Fortran Library Manual, Mark 15, NAg Ltd., Oxford (1992). [7] W.R. Busing and H.A. Levy, Acta. Crystallogr. 17 (1964) 142. [8] J. Lange and H. Burzlaff, J. AppI. Crystallogr. 25 (1992) 440.
270
J.S. Reid
/
Laue crystallographic orientation with a fixed d.etector
TEST RUN INPUT First
set of
test
data
cpctestl.op 3.5667 3.5667 3.5667 90.0 90.0 90.0 30.62 282 2 —l 1 1 36.485 —44.265 —94.635 —0.9 —0.5 —1 -l 1 —34.230 —44.265 —94.635 1.2 —0.8 0 0 1 0 0 0 1 1 2 0 0 0 0 0 0 0 0 0
filename :lattice params :2*theta counter dist :no. of reference pts. :h,k,lom,chi,phi,p,q :h,k,1,om,chi,phi,p,q :hc,kc,lc,hb,kb,lb :hc,kc,lc,hb,kb,lb :terminating string :0/p
Second set of test data cpctest2.op 3.5667 3.5667 3.5667 90.0 90.0 90.0 30.62 282 7 4 0 0 15.31 0.00 —289.216 —2.0 2.6 —l —1 1 2.079 —34.380 —141.057 1.0 0.0 —l —1 1 -33.808 —43.996 —95.135 —5.0 —1.7 —1 -1 1 2.479 —35.289 —141.120 -1.4 —1.9 —1 1 1 35.985 —43.365 -95.635 —0.9 —0.5 -l —l 1 —34.730 —43.365 —94.635 1.2 —0.8 2 2 0 15.310 0.000 —334.216 -2.3 0.0 1 1 2 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
filename :lattice parameters :2*theta counter dist :no. of reference pts. :h,k,l,om,chi,phi,p,q :h,k,1,om,chi,phi,p,q :h,k,l,om,chi,phi,p,q :h,k,l,om,chi,phi,p,q :h,k,l,om,chi,phi,p,q :h,k,1,om,chi,phi,p,q :h,k,1,om,chiphi,p,q :hc,kc,lc,hb,kb,lb :hc,kc,lc,hb,kb,lb :hc,kc,lc,hb,kb,lb :terminating string :0/p
TEST RUN OUTPUT Test run 1 INPUT DATA
SU~4ARY
Unit cell consts 2theta (degrees) Counter distance No. ref. points
: : : :
3.56670 3.56670 30.620 282.00 mm 2
Reference data:
HREF 1 1 —1 1
—l —1 Output data spec:
ON 36.485 —34.230
Gon. axis dir’n 0 0 1 1 1 2
3.56670
CHI —44.265 —44.265
90.000
PHI —94.635 —94.635
90.000
P —0.90 1.20
90.000
Q —0.50 —0.80
Reflection index 0 0 0 0 0 0
DERIVED MATRICES Orientation matrix U: 1.7575143 —0.1154851 —0.0335661
0.1158776 1.7576961 0.0199249
Metric matrix UxU’ 3.1033201 0.0000000 0.0000000
0.0321851 -0.0220864 1.7611918
:
0.0000000 3.1033201 0.0000000
Metric matrix from lattice parameters: 0.0000000 0.0000000 3.1033201
Derived real-lattice constants: a= b= c=
3.5667 3.5667 3.5667
alpha= beta= gaxnma=
90.000 90.000 90.000
3.1033201 0.0000000 0.0000000
0.0000000 3.1033201 0.0000000
0.0000000 0.0000000 3.1033201
J.S. Reid
/ Laue crystallographic orientation with a fired detector
ORIENTATION ANGLES Axis dir’n o 0 1 ON true —169.459 —151.024 —124.459 —97.894 —79.459 —61.024 —34.459 -7.894 10.541 28.976 55.541 82.106 100.541 118.976 145.541 172.106
OM meas —169.459 —151.024 —124.459 —97.894 —79.459 —61.024 —34.459 -7.894 10.541 28.976 55.541 82.106 100.541 118.976 145.541 172.106
Axis dir’n 1 1 2 OM true —177.826 —138.595 —119.308 -87.826 —56.344 —37.058 2.174 41.405 60.692 92.174 123.656 142.942
CMI zero 0.000 H —2 —2 0 2 2 4 2 4 2 2 0 —2 —2 -4 —2 —4
CHI zero 0.000
OM meas —177.826 —138.595 —119.308 —87.826 -56.344 —37.058 2.174 41.405 60.692 92.174 123.656 142..942
H 1 4 3 2 1 0 -1 —4 —3 —2 —1 0
CHI true —1.270 K 2 4 2 4 2 2 0 —2 —2 —4 —2 —4 —2 —2 0 2
L 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CHI true —35.051 K 1 0 —1 —2 —3 —4 —1 0 1 2 3 4
L —1 —2 —1 0 1 2 1 2 1 0 —1 -2
CHI meas —1.270 Lantbda 0.6659 0.4212 0.9418 0.4212 0.6659 0.4212 0.9418 0.4212 0.6659 0.4212 0.9418 0.4212 0.6659 0.4212 0.9418 0.4212
PHI 120.693 H
K
L
Lambda
0
4
0
0.4709
4
0
0
0.4709
0
—4
0
0.4709
—4
0
0
0.4709
CMI meas PHI —35.051 —140.543 Lambda 1.0874 0.4212 0.5679 0.6659 0.5679 0.4212 1.0874 0.4212 0.5679 0.6659 0.5679 0.4212
OM zero 0.000 H
K
L
Lambda
H
K
L
Lambda
OM zero 0.000
H 2
K 2
L —2
Lambda 0.5437
—2
—2
2
0.5437
271
272
iS. Reid
/
Laue crystallographic orientation with a fixed detector
Test run 2 INPUT DATA SUMMARY Unit cell consts 2theta )degrees) Counter distance No. ref. points
: : : :
3.56670 3.56670 30.620 282.00 mrs 7
Reference data:
HREF 0 —l —l —1 1 —l 2
4 —1 —l —l —1 —l 2 Output data spec:
0 1 1 1 1 1 0
3.56670
OM 15.310 2.079 —33.808 2.479 35.985 —34.730 15.310
Gon. axis dir’n 1 1 2 0 0 1 1 1 1
90.000
CHI 0.000 —34.380 —43.996 —35.289 —43.365 —43.365 0.000
90.000
PHI —289.216 —141.057 —95.135 —141.120 —95.635 —94.635 —334.216
Reflection 0 0 0 0 0 0
90.000
Q
P —2.00 1.00 —5.00 —1.40 —0.90 1.20 —2.30
2.60 0.00 —1.70 —1.90 —0.50 —0.80 0.00
index 0 0 0
ASSESSMENT INFORMATION Data beyond 2nd point indexed using first 2 points: Pt no. Coords Scattering vector Computed index 3 —l —l 1 —1.015, —1.000, 1.006 —1 —l 1 4 —l —l 1 —1.013, —1.000, 1.009 —l —1 1 5 —l 1 1 —1.059, 1.014, 1.000 —l 1 1 6 —l —l 1 —1.025, —1.000, 1.001 —l —l 1 7 2 2 0 1.000, 1.001, —0.020 1 1 0 Refi. indices 4 0 0 --1 —l 1 —1 —1 1 —l —l 1 —1 1 1 —1 —l 1 2 2 0
Lambda 1.0874 1.0874 1.0874 1.0874 1.3318
Re-index? NO NO NO NO NO
Residual 0.00717 0.00298 0.00592 0.00399 0.00621 0.00529 0.01014
DERIVED MATRICES Orientation matrix U: 1.7630193 —0.1291057 —0.0531392
0.1169268 1.7450990 0.0031814
Metric matrix UxU’ 3.1235028 —0.0245606 —0.0232962
0.0399212 —0.0248856 1.7538859
:
Metric matrix from lattice parameters:
—0.0245606 3.0626580 —0.0312340
—0.0232962 —0.0312340 3.0789497
3.1033201 0.0000000 0.0000000
0.0000000 3.1033201 0.0000000
0.0000000 0.0000000 3.1033201
Derived real-lattice constants: as
b= c=
3.5554 3.5906 3.5667
alphas betas gammas
89.985 89.989 89.988
ORIENTATION ANGLES Axis dir’n 1 1 2 OM true —177.570
CHI zero —0.321
ON meas —178.020
H 1
CHI true —34.414 K 1
L —1
CMI meas PHI —34.093 —140.730 Lambda 1.0866
H 2
K 2
L -2
OM zero 0.449 Lambda 0.5433
H
K
L
Lambda
J. S. Reid / Laue crystallographic orientation with a fixed detector —138.457 —119.305 —87.970 —56.417 —37.004 2.430 41.543 60.695 92.030 123.583 142.996
—138.907 —119.755 —88.420 —56.867 —37.453 1.980 41.093 60.245 91.580 123.133 142.547
Axis dir’n 0 0 1 OM true —160.970 —142.729 —124.376 —97.678 —70.794 —52.164 —33.649 —7.219 19.030 37.271 55.624 82.322 109.206 127.836 146.351 172.781
OM true —148.343 —88.543 —28.387 31.657 91.457 151.613
CMI zero —0.321
OM meas —161.420 —143.178 —124.826 —98.128 —71.243 —52.613 —34.098 —7.668 18.580 36.822 55.174 81.872 108.757 127.387 145.902 172.332
Axis dir’n 1 1 1
4 3 2 1 0 —1 —4 —3 —2 —1 0
H —4 —2 —2 0 2 2 4 2 4 2 2 0 —2 —2 —4 —2
CHI zero —0.321
OM meas —148.792 —88.992 —28.836 31.208 91.008 151.164
H 2 2 0 —2 —2 0
0 —1 —2 —3 —4 —1 0 1 2 3 4
—2 —1 0 1 2 1 2 1 0 —1 —2
CMI true —1.739 K 2 2 4 2 4 2 2 0 —2 —2 —4 —2 —4 —2 —2 0
L 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CMI true —54.114 K 0 —2 —2 0 2 2
L —2 0 2 2 0 —2
0.4192 0.5651 0.6644 0.5686 0.4220 1.0866 0.4192 0.5651 0.6644 0.5686 0.4220
—2
CMI meas —1.417 Lambda 0.4193 0.6644 0.4218 0.9480 0.4245 0.6697 0.4220 0.9387 0.4193 0.6644 0.4218 0.9480 0.4245 0.6697 0.4220 0.9387
—2
2
PHI 93.426
OM zero 0.449
H
K
L
Lambda
0
4
0
0.4740
4
0
0
0.4694
0
—4
0
0.4740
—4
0
0
0.4694
CHI meas PHI —53.793 —139.719 Lambda 0.6637 0.6644 0.6661 0.6637 0.6644 0.6661
0.5433
H
K
L
H
K
L
Lambda
H
K
L
Lambda
OM zero 0.449 Lambda
273