XLAT - a microcomputer program for the refinement of cell constants.
B.Rupp, Scripta Metallurgica 22, 1 (1988)
What is XLAT ?
XLAT is a Least Squares (LSQ) program for the precise refinement of cell constants. XLAT is supplemented by a utility program named XUTIL. X-ray powder diffraction is a routine analytical tool for many physicists and material scientists. The aim of this program is to facilitate accurate and precise determination of cell constants for non-crystallographers which might not have access to on line data processing as provided by automatic diffractometers. A lot of useful information can be extracted from precise refinement of cell constants. The analysis of cell constants is a valuable tool for the investigation of effects caused by
Which systems can be refined with XLAT ?
As I have not had time to imlement a Sipmlex for NNLSQ, systems of monoclinic or lower symmetry cannot be refined as of yet. Therefore, the program is limited to the more frequent cases of higher symmetry, ie. cubic, tetragonal, hexagonal and orthorhombic unit cells. To obtain a high accuracy, the program supports the calibration by internal or external standard substances.
Title: any text
System : cubic, tetragonal, hexagonal, orthorhombic,
Technique: Debye Scherrer camera 57 mm, Debye Scherrer camera 114 mm, Guinier geometry 114 mm (with int.standard), Powder diffractometer, Debye Scherrer camera 114 mm or Powder diffractometer with (internal) standard
Standard material used : Germanium 5.657906 A, Silicon 5.431065 A, Tungsten 3.16480 A, any other material. NOTE for other material, cell constant must be provided as extra item in next input box
Number of standard lines to be entered, max. 100
0rder of fitting polynom for standard regression, must be less than number of standard lines (1-3 is usually suitable)
Drift correction to be applied : angle dependend drift correction, no angular dependence of drift function, no drift correction applied at all (to be selected with internal standard)
Anode symbol: CU copper radiation, A1 means K( alpha)1 radiation, COA means cobalt K alpha radiation (Average)
Film shrinkage, in mm (used only for Debye Scherrer)
Rejection limit : |theta(obs)-theta(calc)|. Reflections exceeding this limit are omitted in the following refinement cycles.
Standard lines, max. 100 in 1*theta for DS 57mm, 4*theta for 114 mm Guinier, and 2*theta for allothers in the sequence h, k, l, theta, in each line. Example 1 1 1 31.737
Sample Reflection in same format as standard lines.: Example 1 1 1 23.76 ( 2 0 6 81.933).
The procedure employed by XLAT is the so called 'Cohen's least squares method' [1] which is outlined also in J.M.Buerger, X-ray Crystallography [2]. Another detailed description of the method is given by Jette and Foote [3].
The basic idea behind this technique is to combine an expression for systematic deviations of the whole pattern with the random errors occuring upon each individual determination of a peak position. Taking the square of the Bragg Equation and assuming a systematic error leads to an equation which can be expanded into a Taylor's series and linearized.
The error can be treated as a sum of several systematic errors, where D is a constant, its size presenting a measure for the systematic error's size in the reading.
As soon as a minimum of m+1 reflections are measured (m = number of independent cell constants) the set of equations can be solved. Taking into account that we usually obtain much more measured reflections than required to solve the corresponding system of equations, it is reasonable to apply a least squares refinement to minimize the random errors. Partial differentiation of the sum of residuals squared leads to a linear equation system which can be solved in cell constants and D by any standard method.
Correction of absorption errors could be included using a second term E for the absorption correction. Another way is to introduce an angular dependent correction for the error in theta due to absorption. The previous expression is now extended which basically corresponds to the formula given by Nelson and Riley [4] employing a graphical extrapolation encountering errors due to absorption.
The program lets you choose between the drift correction term as given in formula (9) or in (10). In most cases the resulting differences between the corresponding refined cell constants lie within the range of error. Wild differences require investigation. best results are often obtained with angle dependent drift. In case angle dependent drift remains fairly constant, it corresponds to a zero angle offset for a diffractometer. The linear drift correction mostly serves as a diagnostic tool (wild changes with theta will yield a suspicious cell, too large when positive slope of drift). Of course, the correction function can be omitted completely as a third option (which is the correct procedure for refinement using an internal standard).
One advantage of the described method is that it does not introduce a systematic correction if you run a refinement using an internal standard (where all the systematic errors should be compensated for by the standard). Please note that it is in principle incorrect to use a drift correction while employing an internal standard. In this case you can abuse the drift constant as a fudge parameter to minimize into a better but physically not meaningful residual's minimum. However, in the case of an applied internal standard, a low drift (a few hun-dredth of the whole refinement. Such a low drift value usually does not change the cell constants within the standard deviations. When you obtain large drifts while using an internal standard this indicates probably some ambiguity regarding the quality of the input data (see also 5.2 for the choice of standard correction).
There are some remarks necessary concerning the actual accuracy of cell constants. Although the cell constants may seem very precise, i.e. they show small standard deviations, and the internal parameters are also accurate) you have to consider that when you claim maximum errors of a few 10 ppm you have to ask yourself if your nominal sample composition and temperature stability while recording the spectrum can compare with the claimed low standard deviations of the refined unit cell dimensions.
If the refinement routine detects reflections with deviations larger than the accepable limit, this values are analyzed and the most deleterious one is omitted (weight=0) in the next refinement step. This procedure is repeated until either the deviations of the remaining reflections are within the limit or terminated after 6 refinement cycles. The advantage of this approach is, that some mistyped or strongly deviating reflections are automatically recognized. It is evident that a single, very bad reflection reading will obscure the whole refinement resulting in large deviations for correct readings as well. Thus it is important that reflections exceeding the delta limit are not discarded all at once. As soon as the suspect one with the highest deviation is omitted, the refinement will start to converge into a much better minimum and the process can be repeated until all remaining reflections are accepted. It goes without saying that one has to confirm the reasons for larger deviations and that it is not a proper approach choosing a low theta deviation limit and letting the program discard values until a nice standard deviation is obtained.
XLAT follows the basic idea of a mainframe program by Boller and Horvath [5] but uses completely different source code. XLAT solves the standard fit and the normal equations for the cell parameter LSQ by simple matrix inversion. As this is a direct method (using derivatives from SRS) and not an iterative procedure like e.g. a Simplex, no starting guesses for the cell constants need to be provided. The general application of least squares procedures in microcomputer programming can be found in Miller [6] (beginners) and in more detail in the 'Numerical Recipes' book [7].
Program flow
The program flow can be outlined as follows : A input stream POSTED by the web server is parsed to create an imout file If a wavelength symbol is used, an internal data base is searched for this symbol and the corresponding wavelength is retrieved. The wavelengths are listed in Appendix A.1.
Next to this, the standard values are fitted by a polynomial function of user defined order. Despite it is mathematically correct it will not lead to a physically meaningful solution of the correction to the number of data points. Therefore, a reasonable choice for the degree of the polynomial has to be made; 1 to about 3 works fine, usually (if your diffractometer or camera really requires a 7 [th] order calibration curve, you might consider buying a new instrument).
In the next step the corrected reflection data are refined employing the optional drift function. The program delivers a warning message, if a drift correction is applied while using an internal standard.
The last step involves plotting of the error figure, i.e. a viewgraph of the individual deviations between theta values calculated from the refined cell constants and observed theta values for each reflection.
The output is dumped in HTML code to the server and forwarded to the calling client. For each refinement cycle the corresponding table of output and the error plots are included in the output file.
[1] M.U.Cohen, Rev.Sci.Instruments, 6 (1935) 68.
[2] M.J.Buerger, X-ray Crystallography, (1942), Wiley, NY.
[3] E.R.Jette and F.Foote, J.Chem.Phys., 3 (1936) 605.
[4] J.B.Nelson and D.P.Riley, Proc.Phys.Soc., 57 (1945) 160.
[5] H.Boller and Ch.Horvath, University of Vienna, unpublished.
[6] A.R.Miller, FORTRAN Programs for Scientists and Engineers, (1982) Sybex Inc., Berkeley, CA.
[7] W.H.Press, B.P.Flannery, S.A.Teukolsky and W.T.Vetterling, Numerical Recipes, Cambridge University Press.
[8] PLOTPROF - a microcomputer powder profile simulation program, B.Rupp, CMAS-Division, LLNL, Livermore CA 94550
[9] J.A.Bearden, Rev.Mod.Phys., 39 (1967) 78.