CalcZAF is a free EPMA utility program that can be downloaded here:
https://www.probesoftware.com/resources/
For a basic introduction to CalcZAF, please see this topic:
http://smf.probesoftware.com/index.php?topic=81.0
Here we will discuss using CalcZAF to teach EPMA physics. To begin with let's start with a very simple but significant system, e.g., Mg Ka absorbed by Fe. As one might imagine this matrix correction is important in most olivine and garnet analyses. A typical example from the default standard database will suffice by clicking the Enter Composition From database as seen here:
(https://smf.probesoftware.com/oldpics/i61.tinypic.com/2ce2rva.jpg)
We can select any material containing both Mg and Fe, say this USNM olivine as seen here:
(https://smf.probesoftware.com/oldpics/i57.tinypic.com/x2j593.jpg)
The application loads the composition as seen here:
(https://smf.probesoftware.com/oldpics/i58.tinypic.com/33yqqe0.jpg)
and by clicking the Calculate button we obtain these results as seen here:
(https://smf.probesoftware.com/oldpics/i57.tinypic.com/107qkc9.jpg)
Now let's examine the results output to the log window as seen here:
[tt] ELEMENT ABSCOR FLUCOR ZEDCOR ZAFCOR STP-POW BKS-COR F(x)u Ec Eo/Ec MACs
Si ka 1.3766 .9998 1.0100 1.3901 1.0245 .9859 .6579 1.8390 8.1566 1561.39
Fe ka .9976 1.0000 1.1787 1.1758 1.2472 .9451 .9870 7.1120 2.1091 60.1050
Mg ka 1.4944 .9963 1.0046 1.4958 1.0037 1.0009 .5798 1.3050 11.4943 2031.12
Mn ka .9993 1.0000 1.1952 1.1944 1.2655 .9444 .9834 6.5390 2.2939 74.0349
Cr ka 1.0025 .9496 1.1685 1.1123 1.2370 .9446 .9775 5.9900 2.5042 97.3352
O ka 1.8671 .9988 .9485 1.7688 .9234 1.0272 .3753 .5317 28.2114 3874.87
ELEMENT K-RAW K-VALUE ELEMWT% OXIDWT% ATOMIC% FORMULA KILOVOL
Si ka .00000 .13097 18.207 38.951 14.157 .330 15.00
Fe ka .00000 .10987 12.919 16.620 5.052 .118 15.00
Mg ka .00000 .17570 26.281 43.582 23.615 .550 15.00
Mn ka .00000 .00194 .232 .300 .092 .002 15.00
Cr ka .00000 .00013 .014 .020 .006 .000 15.00
O 41.817 .000 57.078 1.330
TOTAL: 99.470 99.470 100.000 2.330
[/tt]
The column labeled "K-VALUE" is the calculated elemental k-ratio for the elements in question. That is, the intensity relative to a theoretical pure element. This can be compared to the element concentration (1.0 = 100%) to calculate the matrix correction factor. So for Mg Ka at 15 keV we have 0.1757 for the k-ratio intensity and 0.26281 for the concentration (26.281 wt.%). So 0.26282 / 0.1757 yields a correction factor of 1.49 or approximately 150%. A large absorption correction clearly which can be checked by looking at the ZAFCOR value for Mg.
Now of course this is only the case for the default physics model and that can be changed from the Analytical | ZAF, Phi-Rho-Z, Alpha factor and Calibration Curve Selections menu as seen here:
(https://smf.probesoftware.com/oldpics/i61.tinypic.com/10gbq50.jpg)
We can change the physics model by clicking the Options button and change the default mass absorption coefficient table by clicking the MACs button as seen here:
(https://smf.probesoftware.com/oldpics/i62.tinypic.com/30dcxed.jpg)
Let's select the traditional Heinrich MACs which are normally used by many programs and recalculate our k-ratios as seen here:
[tt]ELEMENT ABSCOR FLUCOR ZEDCOR ZAFCOR STP-POW BKS-COR F(x)u Ec Eo/Ec MACs
Si ka 1.3762 .9998 1.0100 1.3898 1.0245 .9859 .6622 1.8390 8.1566 1534.50
Fe ka .9967 1.0000 1.1787 1.1748 1.2472 .9451 .9872 7.1120 2.1091 58.7753
Mg ka 1.5252 .9964 1.0046 1.5267 1.0037 1.0009 .5720 1.3050 11.4943 2089.25
Mn ka .9978 1.0000 1.1952 1.1926 1.2655 .9444 .9834 6.5390 2.2939 73.7896
Cr ka 1.0005 .9443 1.1685 1.1040 1.2370 .9446 .9783 5.9900 2.5042 93.5583
O ka 1.9086 .9988 .9485 1.8081 .9234 1.0272 .3672 .5317 28.2114 3987.35
ELEMENT K-RAW K-VALUE ELEMWT% OXIDWT% ATOMIC% FORMULA KILOVOL
Si ka .00000 .13101 18.207 38.951 14.157 .330 15.00
Fe ka .00000 .10997 12.919 16.620 5.052 .118 15.00
Mg ka .00000 .17214 26.281 43.582 23.615 .550 15.00
Mn ka .00000 .00195 .232 .300 .092 .002 15.00
Cr ka .00000 .00013 .014 .020 .006 .000 15.00
O 41.817 .000 57.078 1.330
TOTAL: 99.470 99.470 100.000 2.330
[/tt]
Note that the Mg Ka k-ratio went from 0.1757 to 1.7214 which is a change in the matrix correction from 1.49 to 1.52. Why would this matter to us? Well if the physics model overcalculates the matrix correction for Mg ka in Fe, we might get high totals.
In fact this is exactly the reason why so many researchers continue to get high totals for olivines and garnets. The Heinrich value is an interpolated value from the 1960's, the Henke value (the first calculation) is from the 1980s and here is the same calculation using the latest FFAST MACs:
[tt]ELEMENT ABSCOR FLUCOR ZEDCOR ZAFCOR STP-POW BKS-COR F(x)u Ec Eo/Ec MACs
Si ka 1.3568 .9998 1.0100 1.3702 1.0245 .9859 .6726 1.8390 8.1566 1470.60
Fe ka .9981 1.0000 1.1787 1.1765 1.2472 .9451 .9874 7.1120 2.1091 58.0434
Mg ka 1.4756 .9963 1.0046 1.4770 1.0037 1.0009 .5943 1.3050 11.4943 1926.57
Mn ka 1.0000 1.0000 1.1952 1.1952 1.2655 .9444 .9835 6.5390 2.2939 73.4842
Cr ka 1.0029 .9479 1.1685 1.1108 1.2370 .9446 .9782 5.9900 2.5042 93.9209
O ka 1.7590 .9988 .9485 1.6663 .9234 1.0272 .4072 .5317 28.2114 3470.77
ELEMENT K-RAW K-VALUE ELEMWT% OXIDWT% ATOMIC% FORMULA KILOVOL
Si ka .00000 .13288 18.207 38.951 14.157 .330 15.00
Fe ka .00000 .10981 12.919 16.620 5.052 .118 15.00
Mg ka .00000 .17794 26.281 43.582 23.615 .550 15.00
Mn ka .00000 .00194 .232 .300 .092 .002 15.00
Cr ka .00000 .00013 .014 .020 .006 .000 15.00
O 41.817 .000 57.078 1.330
TOTAL: 99.470 99.470 100.000 2.330
[/tt]
Note that using the most recently tabulated FFAST mass absorption coefficients, we now have a matrix correction of 1.475. A significantly different matrix correction, so yes, do not assume that your default MACs are "good enough"!
As a final (for now!) example, we can use the Analytical | Calculate and Plot Binary Alpha Factors menu as seen here where we have selected the Mg Ka in Fe matrix display:
(https://smf.probesoftware.com/oldpics/i60.tinypic.com/seyvtj.jpg)
Now you might ask: why is the displayed Y axis alpha factors showing around 2.5 instead of around 1.5? It is the nature of alpha factors. Around 2.5 is the correction for Mg in Fe, but there is also the correction of Mg in Mg, which by definition is 1.0. So when we weight the contribution from each binary (Mg in Fe and Mg in Mg) we obtain a "beta-factor" of around 1.5 as seen here:
[tt]St 474 St 474 Olivine USNM 2566 (Fo 83) Springwater
TakeOff = 40.0 KiloVolt = 15.0 Density = 3.300
Analysis (wet chemistry) by Gene Jarosewich
Standard Z-bar: 12.53479
ELEM: Si Fe Mg Mn Cr O
ELWT: 18.207 12.919 26.281 .232 .014 41.817
NRWT: 18.207 12.919 26.281 .232 .014 41.817
BETA: 1.3679 1.1748 1.4819 1.1942 1.1403 1.7009
[/tt]
I recently implemented a new regression method for alpha factor matrix corrections as described here:
http://smf.probesoftware.com/index.php?topic=40.msg2762#msg2762
This new regression method improves the accuracy for situations in which very large fluorescence or absorption effects are present. This method can also be abused in situations in which some noise is present, for example low precision (low overvoltage or low concentration) Monte-Carlo derived k-ratios.
But first a short history of these regression efforts to model electron-solid interactions for binary pairs of elements over time as seen in this graphic:
(https://smf.probesoftware.com/oldpics/i61.tinypic.com/i3ba7p.jpg)
The original method was proposed by Bob Ogilvie and others at MIT and applied to geological samples at Cal Tech (Bence and Albee) in the early 70's was to allow empirically measured k-ratios in binary compositions of known standards to be utilized for matrix corrections for complex materials. The Cal Tech implementation was originally based on assuming that the matrix correction did not vary as a function of the binary compositional range to facilitate the use of slide rules for calculations and therefore assumed the matrix correction at a 50:50 constant composition applied to all compositions for that binary.
This is not as crazy an assumption as one might think, for there are some binaries in which the matrix corrections are relatively constant over the binary range, for example as seen here:
(https://smf.probesoftware.com/oldpics/i58.tinypic.com/jztdhx.jpg)
Furthermore, for silicate matrices, which was the target main effort to improve matrix correct accuracy at Cal Tech, the matrix is mostly oxygen and therefore the matrix corrections were relatively more constant than in other systems.
However, it was soon realized by Mark Rivers (in the late 70's), then at UC Berkeley, that by rearranging the traditional alpha expression to solve for alpha, one could perform almost any regression equation to the alpha factor calculations. He applied a linear assumption which is far better than the constant assumption as seen here for the same dataset:
(https://smf.probesoftware.com/oldpics/i60.tinypic.com/14j83yu.jpg)
This was an enormous improvement in accuracy especially in non-geological matrices such as sulfides and other minerals and alloys.
But for instances where significant absorption or fluorescence effects are present John Armstrong in the late 80's (then at Cal Tech), noted that a polynomial fit would handle even these situations quite well as seen here for the famous Fe Ni binary:
(https://smf.probesoftware.com/oldpics/i59.tinypic.com/2qk10yr.jpg)
Further details on the Rivers linear and Armstrong polynomial alpha factor methods can be found here:
http://epmalab.uoregon.edu/bence.htm
However, the keen eye will will notice that the polynomial fit isn't perfect and with the addition of a four coefficient non-linear regression even these extreme situations are dealt with properly as seen here for the same system:
(https://smf.probesoftware.com/oldpics/i59.tinypic.com/95rd6w.jpg)
Note that the average deviation for this non-linear expression is significantly improved, compared to the polynomial basis. For the record, the polynomial regression basis for the Mark Rivers alpha expression, (C/K - C)/(1 - C), is seen here:
alpha = coeff1 + conc * coeff2 + conc ^ 2 * coeff3
The corresponding beta expression (for summing binary alpha factors for complex matrices) for the polynomial fit is seen here:
beta = (coeff1 + conc * coeff2 + conc ^ 2 * coeff3) * conc
The regression basis for this new non-linear four coefficient fit is seen in the alpha expression here:
alpha = coeff1 + conc * coeff2 + conc ^ 2 * coeff3 + Exp(conc) * coeff4
and the corresponding beta expression for the non-linear fit is seen here:
beta = (coeff1 + conc * coeff2 + conc ^ 2 * coeff3 + Exp(conc) * coeff4) * conc
Remember: all this fitting takes place in hyperbolic space due to the nature of the alpha concentration - kratio relationship as first described by Ogilvie!
And even for extreme absorption situations, this non-linear alpha expression shows improved accuracy as seen for the fluorine - oxygen system, first here as a polynomial fit:
(https://smf.probesoftware.com/oldpics/i61.tinypic.com/zlbz45.jpg)
and here the same system with a non-linear regression:
(https://smf.probesoftware.com/oldpics/i58.tinypic.com/svnb5l.jpg)
Now some of you might ask: what is the point of all these complex alpha calculations? After all, weren't they originally invented because the physics of ZAF matrix corrections were quite inaccurate at that time in the early 1970's?
Yes, it is true that one of the original rationales for implementing the alpha matrix correction method was because one could utilize empirically measured k-ratios for what amounts to a hyperbolic calibration curve. But there are two other benefits to alpha factors, first for quantitative imaging. The example here is a small (5 elements, 128x128 pixel) map, but an 11 percent improvement is an 11% improvement!
Here is a speed comparison for a small mapping project:
JTA-Reed Phi-Rho-Z: 4 min: 29 sec
Single Term Alpha: 4 min: 04 sec
Two Term Alpha: 4 min: 12 sec
Three Term Alpha: 4 min: 02 sec
Four Term Alpha: 4 min: 04 sec
Of course the real speed (and accuracy) benefit will come from fitting Monte-Carlo derived k-ratios for alpha factor corrections. The idea being to obtain Monte-Carlo physics rigor in seconds instead of days or months! See here for more details:
http://smf.probesoftware.com/index.php?topic=152.0
Dear John,
First of all let me thank you for making such excellent invaluable tool as CalcZAF available for everyone to use for teaching and modelling.
Regarding example of olivine calculation given above, it interestingly resonates with one of the recent cases in our laboratory. Our laboratory is equipped with JEOL 8530F. We have ambitious customer requesting high quality olivine analysis for both major and trace elements. In the first part of the procedure we measure 3 elements Fe, Mg and Si at regular conditions 15kV and 20 nA. All elements are calibrated using San Carlos olivine USNM 111312-44. Later the same grain is used as secondary standard. However analytical results were not accepted as Mg concentrations were systematically lower than tabulated value even though k-raw values were all close to or slightly higher than 1. We used CalcZAF to test different corrections and found that Bastin PROZA and XPP with FFAST MACs produce better result. However we failed to fully reproduce the standard even assuming k-raw values unity. No matter how hard we tried, Mg values were pushed down by correction procedures.
The SCOlivine setup was as follows:
(https://smf.probesoftware.com/oldpics/i61.tinypic.com/2vudbq0.jpg)
Elemental Weight Percents:
ELEM: Si Mg Fe O TOTAL
1 19.062 29.698 7.437 43.400 99.597 Armstrong/Love Scott (default)
2 19.067 29.703 7.437 43.409 99.616 Conventional Philibert/Duncumb-Reed
3 19.064 29.696 7.436 43.400 99.595 Heinrich/Duncumb-Reed
4 19.064 29.700 7.437 43.403 99.605 Love-Scott I
5 19.063 29.699 7.437 43.402 99.601 Love-Scott II
6 19.074 29.719 7.437 43.427 99.657 Packwood Phi(pz) (EPQ-91)
7 19.066 29.700 7.437 43.406 99.609 Bastin (original) Phi(pz)
8 19.067 29.718 7.438 43.418 99.640 Bastin PROZA Phi(pz) (EPQ-91)
9 19.067 29.701 7.437 43.407 99.612 Pouchou and Pichoir-Full (Original)
10 19.067 29.704 7.437 43.410 99.618 Pouchou and Pichoir-Simplified (XPP)
As seen from the calculation results Mg values are systematically below the standard value 29.80wt%. When recalculated to oxides the difference becomes more depressing to the customer. We explain how corrections have to be applied and that is how we can use standards different from unknown. At this point customer gets out a bunch of publications, where stated mean measured value is practically identical to the standard value. The question is: is there a way other than MS Excel "correction" to obtain accurate Mg values in forsteritic olivine using currently available matrix corrections?
Best regards,
Sergei Matveev
Quote from: smatveev on July 14, 2015, 09:23:36 AM
Regarding example of olivine calculation given above, it interestingly resonates with one of the recent cases in our laboratory. Our laboratory is equipped with JEOL 8530F. We have ambitious customer requesting high quality olivine analysis for both major and trace elements. In the first part of the procedure we measure 3 elements Fe, Mg and Si at regular conditions 15kV and 20 nA. All elements are calibrated using San Carlos olivine USNM 111312-44. Later the same grain is used as secondary standard. However analytical results were not accepted as Mg concentrations were systematically lower than tabulated value even though k-raw values were all close to or slightly higher than 1. We used CalcZAF to test different corrections and found that Bastin PROZA and XPP with FFAST MACs produce better result. However we failed to fully reproduce the standard even assuming k-raw values unity. No matter how hard we tried, Mg values were pushed down by correction procedures.
As seen from the calculation results Mg values are systematically below the standard value 29.80wt%. When recalculated to oxides the difference becomes more depressing to the customer. We explain how corrections have to be applied and that is how we can use standards different from unknown. At this point customer gets out a bunch of publications, where stated mean measured value is practically identical to the standard value. The question is: is there a way other than MS Excel "correction" to obtain accurate Mg values in forsteritic olivine using currently available matrix corrections?
Best regards,
Sergei Matveev
Hi Sergei,
I want to make sure I understand your problem, but first of all: thank-you.
You are saying that if you analyze the San Carlos olivine as a secondary standard and also use the *same* San Carlos olivine grain as the primary standard, you get low values for Mg? That doesn't sound good.
Here are some speculations:
1. How old is the San Carlos olivine (primary) standard calibration? Maybe it needs to be re-calibrated due to detector drift?
2. Are you sure you utilized the same grain for both the secondary and primary standard measurements? San Carlos olivine is not really a standard. At least many of what people call San Carlos olivine is not really from the Smithsonian, just from the locality. Please note that it has been shown that San Carlos olivine is quite variable, even within a single grain. I believe John Fournelle showed this at an M&M talk some time ago...
3. I think you would be much better off utilizing MgO or synthetic Mg2SiO4 as a Mg standard. In fact synthesizing Mg2SiO4 is one of our crowd sourcing efforts as described here:
http://smf.probesoftware.com/index.php?topic=301.0
I happen to have a beautiful chunk of single crystal Mg2SiO4 I got many years ago from the Institute of Solid State Physics in Japan and use it all the time. Perfectly stoichiometric and provides an excellent primary standard. If I run it against MgO I always get something like this:
St 273 Set 1 Mg2SiO4 (magnesium olivine) synthetic, Results in Elemental Weight Percents
ELEM: Si Al Fe Mg Cr Ti Mn Ca O
TYPE: ANAL ANAL ANAL ANAL ANAL ANAL ANAL ANAL SPEC
BGDS: LIN LIN LIN LIN LIN LIN LIN LIN
TIME: 20.00 20.00 20.00 20.00 20.00 20.00 20.00 20.00 ---
BEAM: 20.08 20.08 20.08 20.08 20.08 20.08 20.08 20.08 ---
ELEM: Si Al Fe Mg Cr Ti Mn Ca O SUM
136 19.960 .006 .040 34.696 -.007 -.020 .008 .000 45.486 100.170
137 19.957 -.011 -.022 34.840 -.013 .000 .033 .009 45.486 100.279
138 19.904 .004 .024 34.684 .015 .000 -.007 .014 45.486 100.124
139 19.951 .005 .013 34.723 -.004 .023 -.019 .005 45.486 100.183
140 19.909 -.006 -.008 34.748 -.016 .042 .004 .013 45.486 100.173
AVER: 19.936 -.001 .010 34.738 -.005 .009 .004 .008 45.486 100.186
SDEV: .027 .008 .025 .062 .012 .024 .019 .006 .000 .057
SERR: .012 .003 .011 .028 .005 .011 .009 .003 .000
%RSD: .14-1119.60 252.60 .18 -236.08 264.62 519.51 69.67 .00
PUBL: 19.960 n.a. n.a. 34.554 n.a. n.a. n.a. n.a. 45.486 100.000
%VAR: -.12 --- --- .53 --- --- --- --- .00
DIFF: -.024 --- --- .184 --- --- --- --- .000
STDS: 14 13 395 12 24 22 25 358 ---
STKF: .4118 .4367 .6812 .4746 .6434 .5581 .7370 .1707 ---
STCT: 16416.0 17474.8 2687.8 20396.4 2037.4 1144.4 2745.9 2349.6 ---
UNKF: .1424 .0000 .0001 .2616 .0000 .0001 .0000 .0001 ---
UNCT: 5678.6 -.2 .3 11243.2 -.1 .2 .1 1.0 ---
UNBG: 26.0 16.5 3.9 18.2 2.2 1.2 3.0 9.1 ---
ZCOR: 1.3996 1.6862 1.1873 1.3279 1.1825 1.1821 1.2058 1.1003 ---
KRAW: .3459 .0000 .0001 .5512 -.0001 .0001 .0000 .0004 ---
PKBG: 219.54 1.00 1.11 618.02 .96 1.20 1.05 1.12 ---
Note that extrapolating from MgO to Mg2SiO4 is within 0.5% relative accuracy! And this is a factor of two difference in intensity and a matrix correction of around 30%.
4. If you can't get the secondary standard and primary standard to agree you have a real problem. Especially if they are the same standard! You mentioned a FEG EPMA. These instruments can focus a lot of beam into a very small volume and damage specimens that we used to consider "beam stable". Did you run *exactly* the same analytical conditions and acquisition times on both the primary and secondary standard and the same grain? This would be a good sanity check so I would start with that.
5. Aside from all that there is a very large absorption correction for Mg Ka by Fe. Here are some MACs from a number of tabulations (you can do this yourself in CalcZAF from the X-Ray menu):
MAC value for Mg ka in Fe = 5239.40 (LINEMU Henke (LBL, 1985) < 10KeV / CITZMU > 10KeV)
MAC value for Mg ka in Fe = 6120.70 (CITZMU Heinrich (1966) and Henke and Ebisu (1974))
MAC value for Mg ka in Fe = 5395.10 (MCMASTER McMaster (LLL, 1969) (modified by Rivers))
MAC value for Mg ka in Fe = 5518.65 (MAC30 Heinrich (Fit to Goldstein tables, 1987))
MAC value for Mg ka in Fe = 6089.53 (MACJTA Armstrong (FRAME equations, 1992))
MAC value for Mg ka in Fe = 5089.56 (FFAST Chantler (NIST v 2.1, 2005))
MAC value for Mg ka in Fe = 5089.56 (USERMAC User Defined MAC Table)
So there is some significant disagreement in the fundamental physics. I will only note that the Heinrich value which was and is still being used by many software packages, is anomalously high. In fact, this is usually the problem when people report high totals in garnets, etc. See here:
http://epmalab.uoregon.edu/UCB_EPMA/problems.htm
However, since you are using the same standard for both the primary and secondary standard, the MAC is irrelevant. Instead you have a fundamental measurement problem. The k-ratio in this particular case *must* be 1.000.
This is what I say say for starters.
john
By the way, I also calculated the MgO (primary) to Mg2SiO4 (secondary) extrapolation here using all 10 different matrix corrections:
Summary of All Calculated (averaged) Matrix Corrections:
St 273 Set 1 Mg2SiO4 (magnesium olivine) synthetic
LINEMU Henke (LBL, 1985) < 10KeV / CITZMU > 10KeV
Elemental Weight Percents:
ELEM: Si Al Fe Mg Cr Ti Mn Ca O TOTAL
1 19.940 -.001 .010 34.734 -.005 .009 .004 .008 45.486 100.185 Armstrong/Love Scott (default)
2 20.332 -.001 .010 34.670 -.005 .009 .004 .008 45.486 100.514 Conventional Philibert/Duncumb-Reed
3 20.221 -.001 .010 34.816 -.005 .009 .004 .008 45.486 100.547 Heinrich/Duncumb-Reed
4 20.062 -.001 .010 34.757 -.005 .009 .004 .008 45.486 100.330 Love-Scott I
5 19.934 -.001 .010 34.725 -.005 .009 .004 .008 45.486 100.170 Love-Scott II
6 19.826 -.001 .010 34.627 -.005 .009 .004 .008 45.486 99.965 Packwood Phi(pz) (EPQ-91)
7 20.162 -.001 .010 34.732 -.005 .009 .004 .008 45.486 100.405 Bastin (original) Phi(pz)
8 19.405 -.001 .010 34.613 -.005 .009 .004 .008 45.486 99.529 Bastin PROZA Phi(pz) (EPQ-91)
9 20.219 -.001 .010 34.797 -.005 .009 .004 .008 45.486 100.528 Pouchou and Pichoir-Full (Original)
10 20.117 -.001 .010 34.753 -.005 .009 .004 .008 45.486 100.382 Pouchou and Pichoir-Simplified (XPP)
AVER: 20.022 -.001 .010 34.722 -.005 .009 .004 .008 45.486 100.255
SDEV: .266 .000 .000 .067 .000 .000 .000 .000 .000 .315
SERR: .084 .000 .000 .021 .000 .000 .000 .000 .000
MIN: 19.405 -.001 .010 34.613 -.005 .009 .004 .008 45.486 99.529
MAX: 20.332 -.001 .010 34.816 -.005 .009 .004 .008 45.486 100.547
This is using the Henke MAC value for Mg ka in Fe. The correct (stoichiometric) value for Mg in Mg2SiO4 should be 34.550. However, if I now select the most modern value tabulated for Mg Ka in Fe from the NIST FFAST table I get the following results:
Summary of All Calculated (averaged) Matrix Corrections:
St 273 Set 1 Mg2SiO4 (magnesium olivine) synthetic
FFAST Chantler (NIST v 2.1, 2005)
Elemental Weight Percents:
ELEM: Si Al Fe Mg Cr Ti Mn Ca O TOTAL
1 19.752 -.001 .010 34.668 -.005 .009 .004 .008 45.486 99.932 Armstrong/Love Scott (default)
2 20.147 -.001 .010 34.606 -.005 .009 .004 .008 45.486 100.264 Conventional Philibert/Duncumb-Reed
3 20.037 -.001 .010 34.753 -.005 .009 .004 .008 45.486 100.301 Heinrich/Duncumb-Reed
4 19.864 -.001 .010 34.689 -.005 .009 .004 .008 45.486 100.064 Love-Scott I
5 19.743 -.001 .010 34.657 -.005 .009 .004 .008 45.486 99.911 Love-Scott II
6 19.646 -.001 .010 34.565 -.005 .009 .004 .008 45.486 99.723 Packwood Phi(pz) (EPQ-91)
7 19.973 -.001 .010 34.668 -.005 .009 .004 .008 45.486 100.152 Bastin (original) Phi(pz)
8 19.249 -.001 .010 34.555 -.005 .009 .004 .008 45.486 99.316 Bastin PROZA Phi(pz) (EPQ-91)
9 20.017 -.001 .010 34.730 -.005 .009 .004 .008 45.486 100.258 Pouchou and Pichoir-Full (Original)
10 19.926 -.001 .010 34.689 -.005 .009 .004 .008 45.486 100.127 Pouchou and Pichoir-Simplified (XPP)
AVER: 19.835 -.001 .010 34.658 -.005 .009 .004 .008 45.486 100.005
SDEV: .257 .000 .000 .065 .000 .000 .000 .000 .000 .303
SERR: .081 .000 .000 .021 .000 .000 .000 .000 .000
MIN: 19.249 -.001 .010 34.555 -.005 .009 .004 .008 45.486 99.316
MAX: 20.147 -.001 .010 34.753 -.005 .009 .004 .008 45.486 100.301
If I just take the default matrix correction (JTA phi-rho-z) I get this:
St 273 Set 1 Mg2SiO4 (magnesium olivine) synthetic, Results in Elemental Weight Percents
ELEM: Si Al Fe Mg Cr Ti Mn Ca O
TYPE: ANAL ANAL ANAL ANAL ANAL ANAL ANAL ANAL SPEC
BGDS: LIN LIN LIN LIN LIN LIN LIN LIN
TIME: 20.00 20.00 20.00 20.00 20.00 20.00 20.00 20.00 ---
BEAM: 20.08 20.08 20.08 20.08 20.08 20.08 20.08 20.08 ---
ELEM: Si Al Fe Mg Cr Ti Mn Ca O SUM
136 19.773 .006 .040 34.630 -.007 -.020 .008 .000 45.486 99.916
137 19.769 -.011 -.022 34.774 -.013 .000 .033 .009 45.486 100.025
138 19.717 .004 .024 34.618 .015 .000 -.007 .014 45.486 99.871
139 19.764 .005 .013 34.657 -.004 .023 -.019 .005 45.486 99.930
140 19.722 -.006 -.008 34.682 -.016 .042 .004 .013 45.486 99.919
AVER: 19.749 -.001 .010 34.672 -.005 .009 .004 .008 45.486 99.932
SDEV: .027 .008 .025 .062 .012 .024 .019 .006 .000 .056
SERR: .012 .003 .011 .028 .005 .011 .009 .003 .000
%RSD: .14-1119.50 252.60 .18 -236.08 264.62 519.50 69.67 .00
PUBL: 19.960 n.a. n.a. 34.554 n.a. n.a. n.a. n.a. 45.486 100.000
%VAR: -1.06 --- --- .34 --- --- --- --- .00
DIFF: -.211 --- --- .118 --- --- --- --- .000
STDS: 14 13 395 12 24 22 25 358 ---
STKF: .4138 .4404 .6811 .4790 .6433 .5578 .7369 .1706 ---
STCT: 16416.0 17474.8 2687.8 20396.4 2037.4 1144.4 2745.9 2349.6 ---
UNKF: .1431 .0000 .0001 .2640 .0000 .0001 .0000 .0001 ---
UNCT: 5678.6 -.2 .3 11243.2 -.1 .2 .1 1.0 ---
UNBG: 26.0 16.5 3.9 18.2 2.2 1.2 3.0 9.1 ---
ZCOR: 1.3797 1.6799 1.1881 1.3131 1.1831 1.1834 1.2069 1.1002 ---
KRAW: .3459 .0000 .0001 .5512 -.0001 .0001 .0000 .0004 ---
PKBG: 219.54 1.00 1.11 618.02 .96 1.20 1.05 1.12 ---
Now our relative accuracy error for Mg is 0.3%. I would not complain too much about this result... though our Si value did get slightly worse compared to the Henke MAC table! :'(
Sergei
Interesting question ... and opportunity to look at the 'black box' of the matrix correction.
-- you were using raw K-ratios of 1 or slightly greater than one for your CalcZAF calculations.
So I went and ran calczaf myself, for the published San Carlos composition which shows Mg as 29.80 wt %, using ONLY Si, Fe and Mg (and stoic oxygen) and I got the same low value for Mg (0.10 wt% low). Hmmm.
Note that I had loaded the proper composition using the Enter Composition from Database button, and then
chose the option Calculate Weight Concentrations from Intensities (K-raw), then selected each element, assigned the standard to be the SC olivine from my PfE database, and also entered Intensity (k-raw) as 1.000. Then calculated.
When ALL the elements including Ca, Mn and Ni are entered, calczaf does spit out 29.80 as the Mg wt%.
So I then went thru and deleted elements one by one.
Deleted Ca and Mg is now 29.797, not much change
Deleted Mn and Mg is now 29.781, decrease a bit
Deleted Ni and guess what, Mg is now 29.704...exactly the number you saw.
Thus, those small amounts of Ni cause a change in the matrix correction, enough to have Mg low by 1000 ppm or 0.1 wt%.
What John D was referring to was the fact that non-Smithsonian San Carlos grains can be significantly different from the published USNM values. Also, as I have shown, there are slight variations in the USNM olivine and one really _should_ calibrate using 5-10 grains of it (and of all such small sized crystals distributed the the Smithsonian. (I am quoting Gene Jarosewich.)
Quote from: JohnF on July 14, 2015, 12:31:58 PM
Interesting question ... and opportunity to look at the 'black box' of the matrix correction.
Hi John,
By the way, CalcZAF will no longer be a "black box" after this summer when we open source it here:
https://groups.google.com/forum/#!forum/openmicroanalysis
Of course anyone can obtain the source code on request so it has never really been a true "black box".
Quote from: JohnF on July 14, 2015, 12:31:58 PM
When ALL the elements including Ca, Mn and Ni are entered, calczaf does spit out 29.80 as the Mg wt%.
So I then went thru and deleted elements one by one.
Deleted Ca and Mg is now 29.797, not much change
Deleted Mn and Mg is now 29.781, decrease a bit
Deleted Ni and guess what, Mg is now 29.704...exactly the number you saw.
Thus, those small amounts of Ni cause a change in the matrix correction, enough to have Mg low by 1000 ppm or 0.1 wt%.
Excellent detective work! I never would have guessed that a trace amount of Ni could have that much effect on the Mg ka matrix correction!
By the way, here are the MACs for Mg Ka by Ni
MAC value for Mg ka in Ni = 6506.00 (LINEMU Henke (LBL, 1985) < 10KeV / CITZMU > 10KeV)
MAC value for Mg ka in Ni = 7709.50 (CITZMU Heinrich (1966) and Henke and Ebisu (1974))
MAC value for Mg ka in Ni = 6911.97 (MCMASTER McMaster (LLL, 1969) (modified by Rivers))
MAC value for Mg ka in Ni = 6856.25 (MAC30 Heinrich (Fit to Goldstein tables, 1987))
MAC value for Mg ka in Ni = 7657.83 (MACJTA Armstrong (FRAME equations, 1992))
MAC value for Mg ka in Ni = 6327.90 (FFAST Chantler (NIST v 2.1, 2005))
MAC value for Mg ka in Ni = 6327.90 (USERMAC User Defined MAC Table)
Even worse than for Fe.
Dear John F and John D,
Thank you very much for fast and comprehensive answers!
Regarding conditions, very good point, we defocus beam to 1-3 micron diameter for regular WDS analysis. I keep it focused only for analysis of thin electron-transparent suspended films (no substrate), but such samples are much tougher than they look.... or the damage is confined to a small spot, less apparent ).
We performed analysis of SC olivine immediately after calibration and were planning to set up different protocol for trace element analysis (including Ni) at much harsher conditions (400nA). K-raw values were close to ideal, precision was excellent, but Mg was below the tabulated value. As I can see now we have greatly underestimated absorption of Mg Ka by Ni. I checked it with our data and when merged together, values are perfect. Thank you very much John F for figuring out dramatic effect of Ni on Mg values, thank you both for your help, greatly appreciated!
Sergei
Major Elements, no Ni
Unknown Specimen No. 54
Path : 10july2015 Project : quant_0008
Position No. : 54 Comment : SCOline1 Line 001
Stage : X= -26.0097 Y= 2.0290 Z= 10.5080
Acc. Voltage : 15.0 (kV) Probe Dia. : 1 Scan : Off
Dated on 2015/07/10 19:47:18
WDS only No. of accumulation : 1
Curr.(A) : 2.001E-008
Element Peak(mm) Net(cps) Bg- Bg+ S.D.(%) D.L.(ppm) K-raw(%)
1 Si 77.450 7421.6 28.4 25.6 0.21 71 100.891
2 Mg 107.532 11711.4 40.6 43.9 0.16 69 100.458
3 Fe 134.805 1086.3 26.3 19.7 0.55 104 99.714
Element f(chi) If/Ip abs-el 1/s-el r-el c/k-el c/k-std
Si 0.6645 0.0001 0.7323 0.9480 1.0186 1.4140 0.9993
Mg 0.6195 0.0038 0.7115 0.9739 1.0050 1.4307 0.9963
Fe 0.9856 0.0000 1.0026 0.7652 1.0630 1.2262 1.0019
Element El. mass% Ox mass% Norm El% Norm ox% At prop k-value k-(std)
Si 19.18 41.03 19.21 41.09 6.022 0.13565 1.00891
Mg 29.75 49.32 29.79 49.39 10.790 0.20788 1.00458
Fe 7.39 9.51 7.40 9.52 1.167 0.06028 0.99714
O 43.55 - 43.61 - 24.000 - -
-----------------------------------------------------------------------------
Total: 99.87 99.87 100.00 100.00 17.978
Full analysis:
Unknown Specimen No. 54
Path : Project : SCOLine1_0001
Position No. : 54 Comment : SCOline1 Line 001
Stage : X= -26.0097 Y= 2.0290 Z= 10.5080
Acc. Voltage : 15.0 0.0 (kV) Probe Dia. : 1 Scan : Off
Dated on 2015/07/10 19:47:18
WDS only No. of accumulation : 1
Curr.(A) : 2.001E-008
Element Peak(mm) Net(cps) Bg- Bg+ S.D.(%) D.L.(ppm) Curr.(A) Acc.V K-raw(%)
1 Si 77.450 7421.6 28.4 25.6 0.08 29 2.001E-008 15.0 100.891
2 Na 129.570 11.8 151.8 98.7 3.08 2 4.017E-007 15.0 0.040
3 Cr 73.575 71.6 2350.0 1833.3 2.99 3 4.017E-007 15.0 0.008
4 Ti 88.281 3.1 1272.5 1074.7 50.89 ? 3 4.017E-007 15.0 0.000
5 P 197.240 2.3 65.9 59.3 13.07 2 4.017E-007 15.0 0.005
6 Ca 107.495 755.2 939.3 714.4 0.30 2 4.017E-007 15.0 0.396
7 Mg 107.532 11711.4 40.6 43.9 0.07 28 2.001E-008 15.0 100.458
8 Al 90.772 100.2 1174.5 879.8 1.08 2 4.017E-007 15.0 0.019
9 Fe 134.805 1086.3 26.3 19.7 0.22 43 2.001E-008 15.0 99.714
10 Mn 146.345 299.2 366.5 298.4 0.47 5 4.017E-007 15.0 0.191
11 Ni 115.437 812.4 747.4 625.3 0.19 5 4.017E-007 15.0 0.249
12 Co 124.565 65.2 627.5 529.3 2.45 6 4.017E-007 15.0 0.019
Element f(chi) If/Ip abs-el 1/s-el r-el c/k-el c/k-std
Si 0.6638 0.0001 0.7316 0.9490 1.0182 1.4144 0.9996
Cr 0.9752 0.0265 0.9970 0.7741 1.0616 1.1890 1.1890
Ca 0.9232 0.0035 0.9599 0.8739 1.0506 1.1308 1.0098
Mg 0.6167 0.0037 0.7083 0.9749 1.0046 1.4362 1.0002
Al 0.5434 0.0066 0.6110 0.9337 1.0115 1.7216 1.3963
Fe 0.9855 0.0012 1.0026 0.7660 1.0628 1.2238 1.0000
Mn 0.9811 0.0008 1.0003 0.7558 1.0626 1.2437 1.1045
Ni 0.9862 0.0000 0.9995 0.7708 1.0606 1.2238 1.2238
Co 0.9888 0.0000 1.0039 0.7470 1.0621 1.2554 1.2554
Element El. mass% Ox mass% Norm El% Norm ox% At prop k-value k-(std)
Si 19.18 41.02 19.05 40.74 5.990 0.13565 1.00891
Na 0.0048 0.0065 0.0048 0.0064 0.0018 0.000026 0.000395
Cr 0.0089 0.0130 0.0089 0.0129 0.0015 0.000075 0.000075
Ti 0.0004 0.0007 0.0004 0.0007 0.0001 0.000004 0.000005
P 0.0010 0.0022 0.0010 0.0022 0.0003 0.000006 0.000047
Ca 0.0731 0.1023 0.0726 0.1016 0.0160 0.000647 0.003956
Mg 29.83 49.46 29.62 49.12 10.766 0.20788 1.00458
Al 0.0138 0.0261 0.0137 0.0259 0.0045 0.000080 0.000187
Fe 7.38 9.49 7.33 9.42 1.159 0.06028 0.99714
Mn 0.1149 0.1483 0.1141 0.1473 0.0183 0.000924 0.001912
Ni 0.3046 0.3876 0.3025 0.3849 0.0455 0.002489 0.002489
Co 0.0235 0.0299 0.0233 0.0296 0.0035 0.000187 0.000187
O 43.76 - 43.46 - 24.000 - -
-----------------------------------------------------------------------------
Total: 100.69 100.69 100.00 100.00 18.007
Quote from: smatveev on July 15, 2015, 06:53:00 AM
We performed analysis of SC olivine immediately after calibration and were planning to set up different protocol for trace element analysis (including Ni) at much harsher conditions (400nA). K-raw values were close to ideal, precision was excellent, but Mg was below the tabulated value.
Hi Sergei,
Remember, when performing trace analyses it is better to check if one can measure a zero (or very small non zero) concentration in a similar matrix material.
Checking accuracy on a secondary major element standard is useful for major element accuracy checks, but for trace elements you want to be sure you can measure zero accurately because the background measurement becomes the dominant source of error! Ideally for trace analysis, you should check if you can measure zero Ni on a pure synthetic Mg2SiO4 or Fe2SiO4 standard.
See here for more details:
http://smf.probesoftware.com/index.php?topic=29.msg387#msg387
John, thank you, very good point! I will test our "blanks".
On slightly different aspect of trace element analysis. Our software manual states that (at least in case of ZAF correction): the calculation is iterated until the calculation error is reduced to within 0.001 mass% or until the tenth iteration. My question is, how other packages treat iteration process and how does it affect detection limits of quantitative analysis?
Sergei
Quote from: smatveev on July 15, 2015, 08:17:34 AM
John, thank you, very good point! I will test our "blanks".
On slightly different aspect of trace element analysis. Our software manual states that (at least in case of ZAF correction): the calculation is iterated until the calculation error is reduced to within 0.001 mass% or until the tenth iteration. My question is, how other packages treat iteration process and how does it affect detection limits of quantitative analysis?
Huh, that's a good question. I never thought about that limitation but I think you are correct that if your iteration only iterates to 10 PPM that might be a problem for ultra trace elements.
Of course it would only be a problem if you are analyzing all trace elements, since if a major element is present in the iteration that will dominate the matrix correction loop...
I can only speak to my code which iterates until the changes are less than 1 PPM: ZAF_Min_Toler! = 0.0001
John, thank you very much for excellent guideline to the trace element EPMA analysis. I have downloaded attached materials, will look into details, and share it with customers and colleagues involved in the project. Much of it unfortunately would not be possible to perform at the moment, but it is great to know that there are possibilities to significantly improve using proper software.
Sergei
Quote from: Probeman on July 15, 2015, 08:36:07 AM
Of course it would only be a problem if you are analyzing all trace elements, since if a major element is present in the iteration that will dominate the matrix correction loop...
John, does it mean that iteration routine does not wait until every element is converged, but the first one to reach the difference limit?
Sergei
Quote from: smatveev on July 17, 2015, 01:37:06 AM
Quote from: Probeman on July 15, 2015, 08:36:07 AM
Of course it would only be a problem if you are analyzing all trace elements, since if a major element is present in the iteration that will dominate the matrix correction loop...
John, does it mean that iteration routine does not wait until every element is converged, but the first one to reach the difference limit?
Sergei
In my code the iteration waits until all elements have converged:
' Normalize and check for convergence
If zaf.ksum! < ZAFMinTotal! Then GoTo ZAFSmpInsufficientTotal
For i% = 1 To zaf.in0%
r1!(i%) = r1!(i%) / zaf.ksum!
ZAFDiff!(i%) = Abs(zaf.conc!(i%) - r1!(i%))
If zaf.conc!(i%) > ZAFMinToler! And ZAFDiff!(i%) > zaf.conc!(i%) / 1000# Then r0% = 1 ' not converged yet
zaf.conc!(i%) = r1!(i%)
Next i%
My previous point was simply that if the major elements are fixed (as is often the case for trace element analysis, e.g., Ti in quartz), the matrix correction is essentially constant and converges quickly.
this is a mundane point, and probably irrelevant in this case, but:
always make sure the standard and unknown coating parameters are correctly defined!
When the analysed composition of a Standard acquired as an Unknown is not as expected (especially when standardised against itself!), this is my first sanity check.
Gareth
I thought I would post a short primer on the matrix correction equations utilized in EPMA.
We begin with the so called "raw" k-ratio which is the unknown intensity divided by the standard intensity. Normally, both intensities are corrected for all measurement effects such as time, beam current, background, etc:
(https://smf.probesoftware.com/gallery/395_24_09_20_9_09_40.png)
The above image is from the glossary in the Probe for EPMA help file (which is also distributed with the CalcZAF EPMA utility). To download CalcZAF, see the first post in this topic. This ratio should be reproducible when two materials (unknown and standard) are measured on any instrument with the same electron beam energy and detector takeoff angle (hence the need for globally agreed upon standard compositions!).
Next we examine the standard k-factor term as shown here:
(https://smf.probesoftware.com/gallery/395_24_09_20_9_10_00.png)
This is to deal with standards that are *not* a pure element. In the case of a pure element standard both the concentration and the matrix correction term [ZAF] are equal to 1 and hence have no effect on the raw k-ratio.
Note also that the term [ZAF], refers to *any* matrix correction scheme including pr(z) methods. The difference in pr(z) methods is that the absorption (A) and stopping power and backscatter terms (Z), are treated in a single analytical expression. The fluorescence factor (F) is treated separately. Alpha factor methods would utilize the so called "beta" term. But we simply use the [ZAF] term to describe them all.
When the raw k-ratio and the standard k-factor are combined with the unknown matrix correction term, we have the full expression as shown here:
(https://smf.probesoftware.com/gallery/395_24_09_20_9_10_21.png)
which is iteratively calculated until everything converges.
In the CalcZAF application, the following output shows the raw k-ratio (K-RAW) and the elemental k-ratio (K_VALUE), the latter which is the k-ratio if a pure element standard were utilized:
(https://smf.probesoftware.com/gallery/395_24_09_20_9_10_54.png)