Thin Film Analysis June 28, 1989 Version 1.3 ╤╤ performs Cliff-Lorimer quantitative thin film x-ray compositional analysis according to an algorithm developed by A.D.Romig,Jr. and described in general in report #SAND82-2938 by Sandia National Laboratories. Earlier versions of this program, written in FORTRAN for the VAX & IBM PC were named 'STEM'. Instructions: е You may proceed immediately, without reading the rest of this. е Two modes of operation are possible: 1. Create a NEW file, in which case you begin by selecting AUTOPILOT from the Control menu if you have just started the program, since an empty new file was created for you. You will be guided through the input dialog. To begin another new file after you have completed one, select one of the two NEW commands from the Edit menu & then call AUTOPILOT from the Control menu. 2. Recall an old analysis, by selecting the OPEN command from the Edit menu. (Any existing data will be erased.) Select DETECTOR, EXPERIMENTAL SET-UP, K-FACTORS, or INPUT DATA from the Control menu to make changes or additions to old data. Select ANALYZE from the Control menu to re-process the data set. In either case, the input data and the results will be written to the Output window. You may obtain hard copy by selecting the PRINT OUTPUT command from the Edit menu. You cannot make changes directly to the contents of the OUTPUT window. However, you may transfer all or part of the output to a word processor or other program via the ClipBoard. To transfer everything, use SELECT ALL and then COPY from the Edit menu. You may select any part of the output by dragging the cursor over that text while holding down the mouse button, followed by selecting COPY from the edit menu. This uses the Clipboard in the usual manner. You will be encouraged to save the input data, so you can modify and/or re-run the data in the future, if necessary. Saved input files can only be re-opened by this program; they are not text files and will not work with word processors. Saved input files include the detector data used for the analysis. Detector data may also be saved and recalled separately in special detector data files. Detector files are not text files, either. е You can print out this Help File by selecting the Print HELP File command from the File Menu. You may also use any word processor to print out this HELP file, since it is a text file. It is named TFAHelp and must be found in the same folder as the main program. еее To perform an analysis of new data еее е Data is entered through a series of dialog windows. Several Macintosh standard rules apply to all the dialogs. Use the mouse to select radio buttons, checkboxes and editable text boxes for keyboard entries. The TAB key will move the insertion point from box to box for keyboard entries. Both the RETURN and ENTER keys are equivalent to clicking on the OK button. In some dialogs, your choices will change depending on other choices you have already made. Input data are checked for correctness and completeness. If you make a change in one window which may have an effect on data from another window, the other window will be repeated for your inspection. е DESCRIBE A DETECTOR, either by selecting an existing old detector file or by creating a new one. You may save as many detector files as you wish. I suggest you collect them in a folder. The detector data is entered via a dialog window, as is the rest of the data described below. The detector geometry follows the work of Zaluzec, et al, AEM-1981,p.25,(see its appendix & Ref. 1). The azimuthal angle lies in the plane normal to the column axis and is measured from the left end of the specimen holder. The elevation angle is the angle between the normal to the column axis and the normal to the detector face (not necessarily the direction of the detector track rails). For example, the high take-off angle detector for our JEOL 2000FX has an azimuthal angle of 45б and an elevation of 70б, while the UTW detector on the same instrument lies at 90б and 0б, respectively. A detector on a Philips EM400 usually has an azimuth of 90б and an elevation of 20б. Tilt angles are defined below. For a detector with a beryllium window you must specify both the Be window thickness and the thickness of the carbon contamination layer that has formed upon it; reasonable values if you must guess are 7.5╡m for the Be and 0.5╡m for the carbon. (0.0╡m is permitted for either.) For an Ultra Thin Window detector, a stretched hydrocarbon film is assumed. The beryllium thickness is set to zero and the item disappears from the dialog. The carbon thickness is the equivalent amorphous carbon thickness of the window material (a hyrocarbon); a good guess is 0.5╡m. The thickness of carbon contamination is important in the analysis of elements from ~Si down, and can be expected to change with time. Values from 0.0 to 0.5 ╡m are reasonable. A thickness for water ice must also be given; 0 to 1╡m or more is possible. The Other detector is a spare. It doesn't work. When UTW is selected, the beryllium thickness is set to zero and the question disappears from the dialog. The carbon thickness becomes the equivalent carbon thickness of the contamination layer; a good guess is 0.5╡m. A thickness for water ice must also be given. Water ice is an important absorber of light elements and is known to form on UTW & windowless detectors. The physical thickness of most SiLi detectors is 3mm. Some UTW SiLi detectors are ~2mm thick. 5mm SiLi detectors are made. A significant fraction of x-rays with energies >~15 KeV can pass completely through a 3mm detector. (see Goldstein, et al, "Scanning Electron Microscopy and X-ray Analysis",fig 15-4, p.264.) A 1000Б silicon dead layer and a 200Б gold layer are typical of most detectors. These values should be experimentally determined for your detector by measuring one or more lighter element (Na,Mg,Al,Si) standards and adjusting these values until the proper k-factors are obtained. (▒30% variation in thickness would not be unreasonable) The information in this window will be used for all of the data points in the set being analyzed. The detector data may be saved separately before proceeding to the next step. е DESCRIBE THE EXPERIMENTAL CONDITIONS, by giving at least the accelerating voltage and from 2-9 x-ray lines to analyze. Computed densities and k-factors are used by default, and NO ABSORPTION CORRECTION will be made unless you select it. If you want to give the density or k-factors, say so in this window and enter the values in the appropriate window. You may enter data for a single point, or up to 12 points. If more than a single point is being entered, the results may or may not be averaged, as you wish. If PROFILE is selected, you can enter the position of each data point along a straight line, as if you were profiling across a grain boundary or something. May check a box indicating that the sample may or may not contain light elements which are not included in the analysis; this information is not used in the analysis, it serves as a reminder to you when you review this data again in the future. You may also specify that an absorption correction be made, in which case you will be required to specify foil thickness in a later dialog. The information in this window will be used for all of the data points in the set being analyzed. е SET THE K-FACTORS, either calculated or user-entered. K-factors are ratios with a common denominator derived from the first element listed in the experimental conditions dialog. These ratios are inverse to the way the previous versions of STEM wanted them, but are more in keeping with what is now the common way of specifying K-factors in the literature. K-factors will be calculated from first principles for the elements specified, the operating voltage, and detector efficiency including a Si dead layer and an Au contact layer, assuming full counts above background in well separated peaks are being used. The calculated K-factors are only estimates and are better for K-lines (▒10%) than for L-lines (▒20%); you may modify these K-factors if you wish. (For instance, you may have better information from calibration tests on standards (perhaps ▒3%). We are interested to know any K-factors experimentally determined for any combination of elements in any instrument.) The information in this first window will be used for all of the data points in the set being analyzed. You must select User-Entered if you want to change any calculated k-factor, and if you then re-select Calculated, all the of the k-factors will be cleared and re-calculated. The information in this window will be used for all of the data points in the set being analyzed. е ENTER THE DATA for each point in turn, specifying an informative ID message, counts for each element at each point, and stage tilts, as well as foil thickness, density, and profile position if required. You will only be asked for information which is necessary for the kind of analysis you specified in the Experimental Conditions window. A lengthy analysis ID message is allowed for, up to 255 characters, and which will be printed in the header of each output page. This is enough room to describe most data sets in great detail, so don't be shy. The same ID serves to describe all the data points in a set. Next enter the integrated counts under each x-ray peak to be analyzed. The calculated k-factors assume that the counts fairly represent the relative areas under non-overlapping, background subtracted gaussian peaks. You must be sure that the counts you enter represent the same fraction of the area under each peak. For example, you could strip the background & fit a gaussian to the data and use the full area, or alternatively, you could use only the area above the FWHM line. Failure to properly integrate the area under peaks is the most common reason that the calculated K-factors differ significantly from experimentally determined values. The counts for each element could range from at least 1 and up to about 2 billion, but a maximum of 999,999 counts will work without fouling up the column alignments in the output tables, so that is what is allowed. The absolute number of counts is important. The statistical counting error is given by sqrt(N)/N, so 100 counts gives ▒10%, relative, while 10000 counts gives ▒1%, relative. The counting error and the estimated error in the k-factors are added in quadrature (i.e. sqrt(x^2 + y^2)) to estimate the precision of the compositions later in the analysis. Specimen tilts must be specified for each point. Although the tilts may be different at each point, the input dialog will carry forward the tilts from the previous point. Both x- and y-tilts are requested. The positive sense of the x-tilt is when the upward-pointing normal to the foil rotates toward the operator seated in front of the column. The positive sense of the y-tilt is when the upward-pointing foil normal moves to the left. The effective take-off angle is computed from the stage tilt and detector azimuth & elevation angles. No tilts are requested if no absorption correction is to be made. The tilts are not used for the compositional analysis in that case, but the program will use a mid-range value for tilt when it computes the thin film criterion, so you may see a small change if you later repeat the calculation with absorption and actual values for the tilts. (What the hell, it's only an estimate.) If an absorption correction was specified, you must enter a value for the foil thickness at each point. The value to enter here is the thickness of the foil parallel to the foil normal (i.e. the distance through the foil when it is normal to the beam. The tilts you've specified will be used to determine the thickness of the foil along the path of the electron beam, assuming the foil to a parallel-sided slab. Of the many ways to specify thickness, we selected this one because it is simplest conceptually, and is most compatable with the wide variety of foil thickness measurement techniques available. The thickness is untimately used to compute the x-ray absorption pathlength. If you opted for user-supplied densities, you will enter them here. If this is a multipoint profile analysis, you will be asked to give the position of each data point in the profile, either in Бngstoms or in microns. This window will be repeated for each point, and you may have up to 50 points. Added points always are added to the end of the list. If a point is deleted, the remaining points above it will be shifted down in number. You must complete all required entries before moving out of this window. If you cancel an uncompleted dialog, you will revert to the last successfully completed entry. The input data should be saved before proceeding to the next step. е ANALYZE the data and output a summary of the input data and the results the the output window on the screen. You cannot type into the output window. е You may inspect the results and make corrections, changes, deletions, or additions to the input data and then re-run the analysis. е An estimate is made of the foil thickness at which the thin film criterion is expected to fail and result in a 5% error in at least one of the elements in at least one of the datapoints. If no absorption correction is currently being made, assumptions are made about stage tilts which result in a conservative estimate. Inputting actual tilts may cause as much as 15% increase in the estimate. е A table of beam spreading estimates for various combinations of foil thickness and beam spot size is computed. The beam spread size reported here encloses 90% of the electrons. A gaussian beam intensity profile is assumed. For a multipoint dataset, the composition used for this table is that of the first point in the set. е The mass absorption coefficients based on the composition at each datapoint are listed for your off-line use. These make it easy to spot which elements are most susceptible to absorption. If an absorption correction was made, several physical parameters required for the absorption correction are listed, in case you want to check a calculation by hand. е Hard copy output may be obtained by the PRINT command in the File menu, for either an Imagewriter or a LaserWriter. You may also select the entire output text or any part of it and transfer it via the clipboard to a word processor or whatever. е You may transfer the relevant output to Cricket Graph for plotting by selecting the SAVE GRAPH command from the File menu. Exit this program & double-click on the graph file to OPEN Cricket Graph. (Obviously, this will only work if you HAVE Cricket Graph on your system. It didn't come with this program.) The contents of the output window are NOT SAVED. If you need another copy later, recall the saved input data file and re-ANALYZE. еее To perform an analysis of old data еее е Select the OLD command from the File menu and you will go right to the point where you had completed the four set-up steps in the original analysis. You may re-do any or all of the steps by selecting them individually from the Control menu, and/or go on to the ANALYZE step. е Use SAVE AS to create a copy of an old file if you plan to modify it extensively. The copy becomes the active file after you SAVE AS. е At the Finder level, if you double-click or open an input data file created by this program, you will go immediately to the pre-ANALYZE condition described above. If you double click on any detector file, you will go directly to the detector selection dialog. еее Output transfer tips еее е This program will print its own output, but you may still use the SELECT ALL and COPY commands in the Edit menu to copy the output to the clipboard. Quit this program and open MacWrite or some other word processor. Transfers via the clipboard will lose the the font and font size information, so expect to change them back as follows: ее The output window uses either courier 10pt or monaco 9pt. It needs a non-proportional font of that size to make the tables come out right. Most situations are dealt with automatically. If some wierd output formatting happens, move the output to word processor and fix it. ее The HELP window contents are in Courier 12pt or monaco 12pt. The HELP File prints the same either way. е Plots made by Cricket Graph can by transferred to most word processors. *** Differences between 'TFA' and 'STEM' for the VAX & IBM PC *** 1. The K-factors used by TFA are reciprocal to those of STEM. Early on, there was no clearly preferred way of stating the K-factor, but now it appears most people giving Kab put b in the denominator. 2. Newer data for the mass absorption coefficients of light elements have been used. The data of Thinh & Leroux, X-ray Spect, vol.8,No.2,(1979),p.85, were used. The heavy elements (Z>10) have not changed. With the new data for light elements, using a Si dead layer of ~1000Б and a 200Б Au contact layer gives good agreement with measured K-factors in our laboratory, where with STEM, 3000Б and 200Б respectively seemed to work. 3. Separate entries for the thickness of the (hydro)carbon window of a UTW detector and for the carbon contamination layer are now used. The 'equivalent' carbon thickness for the window is less than (~1/3? of) the thickness of the stretched hydrocarbon window material. [Rumor has it that the UTW window is physically ~1.5 ╡m thick, but it must have a lower carbon density than amorphous carbon, since we find that ~0.5╡m is about right in our calculations.] Hydrogen is ignored. 4. An ice layer can be specified. Ice is modeled by using the mass absorption coefficient for oxygen but the density of water ice. We occasionally get an ice buildup on our UTW detector which is fatal to light element analysis and an annoying problem for elements up to about Si. Ice thickness usually builds up rapidly. One micron is a lot. Oxygen is a more effective absorber than carbon. 5. A noticable fraction of high energy x-rays (>~15 KeV) begin to escape out the back of of a 3mm thick SiLi detector, decreasing the number of x-rays you can expect to observe and requiring the K-factor to change(i.e. increase if for Kab, Za>Zb). Our UTW detector, and many others we are told, employ even thinner 2mm SiLi detectors in an effort to improve performance at low energies. More than 10% error can creep in for Nb x-rays in such a detector, so we have added a transmission loss correction to TFA, modeling the detector as a slab with the density and mass absorption coeffcient of silicon. 6. An accurate measure of thickness is critical for a meaningful absorption correction. In TFA, by the term 'thickness', we always mean the least or perpendicular distance through a parallel-sided slab, be it a detector, layer, window, or the specimen. This was done because the thickness may be measured many ways, not only by the contamination spot method, and we feel that the least ambiguous definition of thickness is the the perpendicular distance. The detector geometry and stage tilts are used to compute the electron beam path length through the sample during an analysis, which can be different for every point in a multiple analysis set. The term pathlength in the output means the x-ray absorption pathlength, which depends not only on thickness but also on the detector geometry and stage tilts. Because of the geometry of the AEM, x-ray absorption pathlength can be less than the electron beam path length, a situation which cannot happen in the microprobe. X-ray absorption pathlength can deviate significantly from the computed value in the output if the the foil is wedge shaped, which it always is to some degree. See Williams & Goldstein,AEM-1981,p.39, and Zaluzec, et al,AEM-1981,p.25, and Glitz, et al, Microbeam Analysis-1981, p.309 for dicussions of these topics. 7. The beam spreading table was added to provide an estimate of spatial resolution over a reasonable range of spot size and foil thickness. It is computed for the composition of the first or only spot in a set, and although most often that should represent the whole set well enough, if you want an estimate for a particular analysis, make it the first or only member of a set. 8. The mass absorption factors for the final compositions are listed in the output. They are handy for spotting potentially risky absorption situations, and are needed for further hand calculations. 9. The last table in the output list of a set where an absorption correction was made contains the values you will need if you wish to check the calculations by hand. ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: е Please add your own comments and handy tricks you develop. Especially, record detailed descriptions of any Bugs you find. Then, someday, send a copy of TFAHelp to: Martin J. Carr or Alton D. Romig, Jr. Sandia National Laboratories Division 1822 Albuquerque, New Mexico 87185 е Turbo Pascal source code is available. Write a letter to one of us & include two 800K disks or three 400K disks. There is no formal documentation yet, but the source code is pretty well annotated. Sandia report #SAND82-2938 by A.D.Romig,Jr., discusses the algorithm in general. We will then include you on the distribution of any future reports. еее7/10/88 MJC Sometimes, if you have been changing volumes between steps or if you have errored out or suffered a power bump, after an analysis is finished you might find a file called TFAtempF on your disk or in a folder. This is a temporary file created to store the contents of output window and is usually erased by the program before you ever see it. It may always be thrown in the trash, but it does no harm other than occupying some space on the disk. еее7/18/88 MJC If Cricket GRAPH is not your cup of tea, the code which creates the typed Cricket GRAPH input file can easily be modified to produce a text file in any format you chose. It is located in SaveAGraphFile in TFAMain, along with a big hint. You could also change the associated FREF and BNDL resources in ThinFilm.R, but that is an advanced play. cket GRAPH input file can easily be modified to produce a text file in any format you chose. It is located in SaveAGraphFile in TFAMain, along with a big hint. You could also change the associated FREF and BNDL resources in ThinFilm.R, but that is an advanced play. еее8/5/88 MJC Version 1.0 was frozen 8/6/88 & taken to the EMSA/MAS meeting in Milwaukee. Things seem to work pretty well, although we haven't had much experience with a lot of different users & instruments, to this point. Comparing k-factors of TFA to STEM looks very good above ~Si; below that, TFA absorbs less than STEM (and that is 'better'). The detector transmission loss factor (2mm vs 3mm detector for Nb & Mo, etc) makes a difference. These numbers match well to k-factors measured in our laboratory. Comparing TFA k-factors to those reported by J.E.Wood, D.B.Williams, and J.I.Goldstein, "Experimental and Theoretical determination of k factors for quantitative X-ray microanalysis in the analytical electron microscope", Journal of Microscopy, Vol.133, Part 3, March 1984, p.255. shows very good agreement above ~Si, but TFA seems to absorb too much at low Z. Reducing the window, contact layer, and detector thicknesses by 20~30% brings TFA into agreement with the WWG data. These thicknesses are only estimates anyway, even though 'everybody uses them'. Each instrument is probably a little different. You may want to calibrate against a standard containing light & heavy elements & try to determine the best values of these parameters for your detector. We may experiment with fitted data from other sources to see if we can improve things a little. But keep these points in prespective: the potential improvements are along the line of reducing disagreements from 15% to 5% in k-factors, less in wt% results. This might be gilding the lily, because other experimental errors also exist which come in to play at this level. So far, we have found this program's calculated k-factors to be adequate for quick & dirty work we do on a daily basis on arbitrary combinations of elements. When we are serious about quantifying data, we measure a k-factor on an appropriate standard. No magic. MJC 8/6/88t. MJC 8/6/88 еееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееее Changes to TFA Version 1.1 еее 3/23/89 MJC ** Your old TFA 1.0 data files will work with TFA 1.1 ** Experience with Version 1.0 through 11/88 revealed a few annoying bugs and theoretical weaknesses. Perhaps you have seen these bugs: a. k-factors sometimes changed when minor changes in detector specifications or expeimental conditions were made. This was due to some variables being improperly refreshed. This was fixed. b. When a detector was being selected, the standard file selection dialog can up without telling the user what to do. Now a dialog precedes the file selection window, & explains the available options. c. The program frequently (too frequently) prompted the user to save a new or changed data set. This paranoia seemed like a good idea when the program crashed a lot during development, but it is no longer necessary. This doesn't happen as much in Version 1.1. d. Version 1.0 flashed up a message that it was 'spooling' text prior to printing. This meant that Quickdraw calls were being used to set-up a full page that was subsequently sent to the printer(see Inside Macintosh, Vol.II). This confused several users who did not have print spoolers, so the message has been changed to "preparing data╔". We spent a lot of time comparing TFA k-factors to those reported by J.E.Wood, D.B.Williams, and J.I.Goldstein, "Experimental and Theoretical determination of k factors for quantitative X-ray microanalysis in the analytical electron microscope", Journal of Microscopy, Vol.133, Part 3, March 1984, p.255, and collected in the tutorial review by J.I.Goldstein, D. D.B.Williams, & G.Cliff in "Principles of Analytical Electron Microscopy, Plenum Press, 1986, p.155 (Consult these works for full references to expressions described below). It became apparent that something was wrong with the way TFA computed k-factors. Well, maybe not wrong exactly, but we couldn't match the the results of computations listed in work reviewed in these articles. So we went back to the original references and started over. We found basically that the physical model we used is OK, (it is the same as that in WWG & GWC), but that the parameterizations for the physical constants that we used were different (older, simpler) than those described in WWG & GWC. So several changes were made: a. The analytical expression for cross-sections was changed to that of Brown & Powell. It incorporates a dependence on atomic number, as did Schrieber & Wims. The original literature offers a wide range of possible fits. We used the recommendation of GWC because it is well documented in the open literature. We previously used expressions by Powell(1976), which did not depend on Z. b. A relativistic correction was applied to the overvoltage. c. Burhop's analytical expression(1955) for fluorescence yield was used in Version 1.1, replacing the simpler expression of Wentzel(1927). d. The analytical expressions of Thinh & Leroux were retained for mass absorption coefficients, but the fits used in TFA were expanded substaintially to include all edges out to N1. Previously they only included M1 edges. We also follow the recommendation of Thinh & Leroux & use the special functions for certain combinations of certain (light) elements in certain (low) energy ranges.Many authors, including several cited by WWG & GWC, indicate that they use the data of Thinh & Leroux, but some may in fact have used tabulated data of Heinrich for the lighter elements. This difference tends to change the k-factors calculated for lighter elements or low energy L-lines which are strongly absorbed in the Be window, Au contact layer, & Si dead layer of the detector. Although we continue to default to the detector layer thicknesses given by Zaluzec (7.6╡m Be, 200Б Au, 1000Б Si), we seem to get better fits with thinner layers, since the expressions of Thinh & Leroux result in slighly higher mass absorption coefficients than the tabulated values commonly cited. Since it seems that several different sets of tabulated values (by Heinrich & others, see Thinh & Leroux) are available, and we don't know which to prefer, we stuck with the fits of Thinh & Leroux for simplicity. You may do better if you determine the appropriate thicknesses for you detector. Version 1.1 now prints out all the pertinent physical constants needed to perform the calculations by hand, so that the user may check the results and as a teaching aid. New command added to the CONTROL Menu: Mass Absorption Coefficients will cause a HUGE table of values to be computed from the analytical expressions of Thinh & Leroux. This takes ~45 min on a Mac Plus, ~15 min on a Mac II. Once computed, the text document called MassAbsCoeffs can be read & processed by any word processor. If the the document is in the same folder as TFA, the data will be read from the existing file rather than computed again for display in the Output window. At this time, this feature is only intended to allow the user to SEE all of the values used by TFA, not to change them. If time allows, or if someone else would like to do some programming, it should be possible to make this file an editable list of mass absorption coefficients used by TFA at run-time. As it is now, TFA always computes the mass absorption coefficients it uses. Our thanks to the users who took the time to report problems with Version 1.0, and to those who also offered suggestions. TFA is finished now, unless something horrible turns up. Source code is available if you would like to change it yourself. A planned Sandia Report will document the program. Marty Carr Al Romig 3/23/89 еееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееее Changes to TFA Version 1.2 ** Your old TFA 1.0 data files will work with TFA 1.2 ** I had to break the Mass Absorption function into four parts to get it to display and print out correctly, because the way I am using TEdit I am limited to ~32768 characters if all scrolling, wrap, & other text display functions are to work correctly. Marty Carr 5/21/89 еееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееее Changes to TFA Version 1.3 ** Your old TFA 1.0 data files will work with TFA 1.3 ** I increased the number of datapoints to 50 from 12 allowed in earlier versions. I added a SAVE button to the data entry dialog so that you could save data as it was being entered, if you want to. I recommend saving your data after every 3 or 4 points. You can always edit it later if there are errors. The paging of the output was adjusted to accommodate 50 points. Marty Carr 6/28/89ered, if you want to. I recommend saving your data after every 3 or 4 points. You can always edit it later if there are errors. The paging of the output was adjusted to accomodate 50 points. Marty Carr 6/28/89icated. Marty Carr 5/21/89