Author Topic: Specifying Unanalyzed Elements For a Proper Matrix Correction  (Read 25975 times)

John Donovan

  • Administrator
  • Emeritus
  • *****
  • Posts: 2631
  • Other duties as assigned...
    • Probe Software
Re: Specifying Unanalyzed Elements For a Proper Matrix Correction
« Reply #90 on: July 29, 2019, 11:50:17 am »
Hi Andrew,
I do appreciate what you are saying, but am not seeing a problem with the code.

Here is the calculation for stoichiometric oxygen:

Code: [Select]
' Calculate amount of stoichiometric oxygen and add to total
r1!(zaf.in0%) = 0#
For i% = 1 To zaf.in1%
r1!(zaf.in0%) = r1!(zaf.in0%) + r1!(i%) * zaf.p1!(i%)
Next i%

zaf.ksum! = zaf.ksum! + r1!(zaf.in0%)

Immediately prior to this in the ZAFSmp code is the calculation for an element relative to stoichiometric oxygen:

Code: [Select]
For i% = 1 To zaf.in1%
If zaf.il%(i%) = 15 Then
r1!(i%) = (r1!(zaf.in0%) / zaf.atwts!(zaf.in0%)) * sample(1).StoichiometryRatio! * zaf.atwts!(i%)
zaf.ksum! = zaf.ksum! + r1!(i%)
zaf.krat!(i%) = r1!(i%)
End If
Next i%

My point is that if the total is low, then an incorrect amount of Ca is calculated (relative to the standard), hence an incorrect amount of stoichiometric oxygen is calculated, and then there is no reason to expect the correct amount of carbon would be calculated.  Again *relative to the standard*.  That is the sample Ca concentration will be distorted relative to the standard Ca concentration by the apparent difference in the matrix corrections for the estimated Ca concentrations relative to the standard containing Ca.
John J. Donovan, Pres. 
(541) 343-3400

"Not Absolutely Certain, Yet Reliable"

AndrewLocock

  • Professor
  • ****
  • Posts: 62
    • University of Alberta Electron Microprobe Laboratory
Re: Specifying Unanalyzed Elements For a Proper Matrix Correction
« Reply #91 on: July 29, 2019, 12:18:56 pm »
Hi Andrew,
I do appreciate what you are saying, but am not seeing a problem with the code.

Here is the calculation for stoichiometric oxygen:

Code: [Select]
' Calculate amount of stoichiometric oxygen and add to total
r1!(zaf.in0%) = 0#
For i% = 1 To zaf.in1%
r1!(zaf.in0%) = r1!(zaf.in0%) + r1!(i%) * zaf.p1!(i%)
Next i%

zaf.ksum! = zaf.ksum! + r1!(zaf.in0%)

Immediately prior to this in the ZAFSmp code is the calculation for an element relative to stoichiometric oxygen:

Code: [Select]
For i% = 1 To zaf.in1%
If zaf.il%(i%) = 15 Then
r1!(i%) = (r1!(zaf.in0%) / zaf.atwts!(zaf.in0%)) * sample(1).StoichiometryRatio! * zaf.atwts!(i%)
zaf.ksum! = zaf.ksum! + r1!(i%)
zaf.krat!(i%) = r1!(i%)
End If
Next i%

My point is that if the total is low, then an incorrect amount of Ca is calculated (relative to the standard), hence an incorrect amount of stoichiometric oxygen is calculated, and then there is no reason to expect the correct amount of carbon would be calculated.  Again *relative to the standard*.  That is the sample Ca concentration will be distorted relative to the standard Ca concentration by the apparent difference in the matrix corrections for the estimated Ca concentrations relative to the standard containing Ca[/size].

Hi John,
The problem arises in the atomic (molar) ratio of the elements to each other.
In MgO, the ideal 1:1 ratio is maintained throughout the iterative matrix corrections.

However, in the carbonates, the ratios of C and O to the cation(s) diverge from ideal, as a function of concentration.

Perhaps the key is in the word "iterative".
Although the matrix corrections might start with the ideal ratios of C to O to cations, they do not end that way.
(Except when the analysis is fortuitously close to 100%).

The fact that the divergence is linear as a function of composition should be a clue to what is going on.

Cheers,
Andrew

John Donovan

  • Administrator
  • Emeritus
  • *****
  • Posts: 2631
  • Other duties as assigned...
    • Probe Software
Re: Specifying Unanalyzed Elements For a Proper Matrix Correction
« Reply #92 on: July 29, 2019, 12:48:41 pm »
Hi Andrew,
I see that and I suspect it's because we have essentially a non physical situation when the total is not close to 100%.

I increased the iteration tolerance to 100 times more precision but I still get the same results. Here is the calculation of a line with high totals with some intermediate results output to the log window:

ZAFSmp: Iteration #1
Norm Wt%   ca ka c  (15) o  (14)  o  (0)UnNorm Sum
UNKRAT:    .3804   .0000   .0000
Conc*100 71.4693 .000000 .000000 28.5307  55.360

ZAFSmp: Iteration #2
Norm Wt%   ca ka c  (15) o  (14)  o  (0)UnNorm Sum
UNKRAT:    .3804   .0714   .0000
Conc*100 48.3182 8.84037 .000000 42.8414  80.749

ZAFSmp: Iteration #3
Norm Wt%   ca ka c  (15) o  (14)  o  (0)UnNorm Sum
UNKRAT:    .3804   .1072   .0000
Conc*100 41.9457 11.2737 .000000 46.7806  95.080

ZAFSmp: Iteration #4
Norm Wt%   ca ka c  (15) o  (14)  o  (0)UnNorm Sum
UNKRAT:    .3804   .1170   .0000
Conc*100 40.5185 11.8187 .000000 47.6628  99.035

ZAFSmp: Iteration #5
Norm Wt%   ca ka c  (15) o  (14)  o  (0)UnNorm Sum
UNKRAT:    .3804   .1193   .0000
Conc*100 40.2145 11.9348 .000000 47.8507  99.921

ZAFSmp: Iteration #6
Norm Wt%   ca ka c  (15) o  (14)  o  (0)UnNorm Sum
UNKRAT:    .3804   .1197   .0000
Conc*100 40.1504 11.9593 .000000 47.8903 100.110

ZAFSmp: Iteration #7
Norm Wt%   ca ka c  (15) o  (14)  o  (0)UnNorm Sum
UNKRAT:    .3804   .1198   .0000
Conc*100 40.1369 11.9644 .000000 47.8986 100.150

Un    4 CaCO3
TakeOff = 40.0  KiloVolt = 15.0  Beam Current = 30.0  Beam Size =    0
(Magnification (analytical) =   4000),        Beam Mode = Analog  Spot
(Magnification (default) =      200, Magnification (imaging) =    100)
Image Shift (X,Y):                                       -2.00,   3.00

Formula Based on 1.00 Atoms of Ca        Oxygen Calc. by Stoichiometry
Number of Data Lines:   2             Number of 'Good' Data Lines:   1
First/Last Date-Time: 07/26/2019 10:30:56 AM to 07/26/2019 10:31:33 AM

Average Total Oxygen:       47.970     Average Total Weight%:  100.150
Average Calculated Oxygen:  47.970     Average Atomic Number:   12.577
Average Excess Oxygen:        .000     Average Atomic Weight:   20.035
Average ZAF Iteration:        7.00     Average Quant Iterate:     2.00

Oxygen Calculated by Cation Stoichiometry and Included in the Matrix Correction
Element C is Calculated  .3333 Atoms Relative To 1.0 Atom of Oxygen

Un    4 CaCO3, Results in Elemental Weight Percents
 
ELEM:       Ca       C       O
TYPE:     ANAL    STOI    CALC
BGDS:      LIN
TIME:    10.00     ---     ---
BEAM:    30.00     ---     ---

ELEM:       Ca       C       O   SUM 
    10  40.197  11.982  47.970 100.150

AVER:   40.197  11.982  47.970 100.150
SDEV:     .000    .000    .000    .000
SERR:     .000    .000    .000
%RSD:      .00     .00     .00
STDS:      136     ---     ---

STKF:    .3790     ---     ---
STCT:   128.00     ---     ---

UNKF:    .3804     ---     ---
UNCT:   128.51     ---     ---
UNBG:      .16     ---     ---

ZCOR:   1.0566     ---     ---
KRAW:   1.0039     ---     ---
PKBG:   822.90     ---     ---

Un    4 CaCO3, Results Based on 1 Atoms of ca

ELEM:       Ca       C       O   SUM 
    10   1.000    .995   2.989   4.984

AVER:    1.000    .995   2.989   4.984
SDEV:     .000    .000    .000    .000
SERR:     .000    .000    .000
%RSD:      .00     .00     .00

If you have any specific suggestions I'm all ears.  But I don't think one can get a perfect result with imperfect data.
« Last Edit: July 29, 2019, 01:06:30 pm by John Donovan »
John J. Donovan, Pres. 
(541) 343-3400

"Not Absolutely Certain, Yet Reliable"

AndrewLocock

  • Professor
  • ****
  • Posts: 62
    • University of Alberta Electron Microprobe Laboratory
Re: Specifying Unanalyzed Elements For a Proper Matrix Correction
« Reply #93 on: July 29, 2019, 01:32:23 pm »
Hi Andrew,
I see that and I suspect it's because we have essentially a non physical situation when the total is not close to 100%.

I increased the iteration tolerance to 100 times more precision but I still get the same results.
....
If you have any specific suggestions I'm all ears.  But I don't think one can get a perfect result with imperfect data.


Hi John,
As Probe-for-EPMA treats these situations differently (simple oxygen by stoichiometry vs. additional element by stoichiometry to oxygen), and yields what are actually non-stoichiometric values in the latter case, I have a couple of non-optimal suggestions.

1) For the carbonates discussed, proceed as above with 0.333333 C for every 1 O, in order to get the best available matrix correction.
Then, after the data are output to Excel, discard the CO2 value reported by Probe-for-EPMA.
Recalculate a new atomic value of CO2 based on ideal stoichiometry to the measured elements; recalculate the wt% CO2; recalculate the analytical total.
This is, in fact, my present procedure for carbonates.

2) Change the code in Probe-for-EPMA to do the same thing after the matrix corrections are completed.
That is, discard the CO2 that resulted from the matrix corrections, and recalculate a new value based on the input stoichiometric ratio and the final values of the measured elements.
However, this may be viewed as not straightforward, and possibly even confusing.

Until we understand why the results for simple oxides do not deviate from stoichiometry, whereas those of the carbonates deviate in a linear fashion, it is hard to justify any other recommendations.

All the best,
Andrew

John Donovan

  • Administrator
  • Emeritus
  • *****
  • Posts: 2631
  • Other duties as assigned...
    • Probe Software
Re: Specifying Unanalyzed Elements For a Proper Matrix Correction
« Reply #94 on: July 29, 2019, 01:44:25 pm »
Hi Andrew,
I'll continue to think about this with Paul Carpenter, but I agree these are non-optimal solutions, for the simple reason that they are non-physical.
John J. Donovan, Pres. 
(541) 343-3400

"Not Absolutely Certain, Yet Reliable"

AndrewLocock

  • Professor
  • ****
  • Posts: 62
    • University of Alberta Electron Microprobe Laboratory
Re: Specifying Unanalyzed Elements For a Proper Matrix Correction
« Reply #95 on: July 29, 2019, 02:44:59 pm »
Hi Andrew,
I'll continue to think about this with Paul Carpenter, but I agree these are non-optimal solutions, for the simple reason that they are non-physical.


Hi John,
My preference is to report stoichiometric proportions for calculated elements.
Calcite should be CaCO3, not Ca C0.995 O2.989.
The latter formula is an artifact of imperfect data, and therefore imperfect matrix corrections.

We know that there is a problem in the matrix corrections for elements calculated by stoichiometry to oxygen.

If we could treat "CO3" in the same way that we treat "O" in the matrix corrections, we would not have this divergence.
However, C and O are different, so this is not an option (differing backscatter, absorption, fluorescence).

This topic has implications for all of the options in Probe-for-EPMA with respect to elements by difference, elements by stoichiometry to another element, and elements by stoichiometry to oxygen.

That said, I must emphasize that these very powerful options are still the best way to get superior quality data for such compounds.

Cheers,
Andrew





John Donovan

  • Administrator
  • Emeritus
  • *****
  • Posts: 2631
  • Other duties as assigned...
    • Probe Software
Re: Specifying Unanalyzed Elements For a Proper Matrix Correction
« Reply #96 on: July 29, 2019, 03:10:37 pm »
We know that there is a problem in the matrix corrections for elements calculated by stoichiometry to oxygen.

Hi Andrew,
But only when an unknown sample is imperfectly measured with respect to an "assumed" perfect standard!

If both your standard and your unknowns had low totals (or both had high totals), you would get an "ideal" stoichiometry for your unknown.  That's physics for you.   :)

And let's please keep in mind that this non-stoichiometry effect is generally smaller than our nominal 2% accuracy in EPMA. And also that if it's random counting statistics causing this non-stoichiometry, then the analytical averages will be stoichiometric, if the average analytical total is close to 100% (or whatever our Ca standard is supposed to be).
« Last Edit: July 29, 2019, 03:29:41 pm by John Donovan »
John J. Donovan, Pres. 
(541) 343-3400

"Not Absolutely Certain, Yet Reliable"

AndrewLocock

  • Professor
  • ****
  • Posts: 62
    • University of Alberta Electron Microprobe Laboratory
Re: Specifying Unanalyzed Elements For a Proper Matrix Correction
« Reply #97 on: July 29, 2019, 03:35:33 pm »
We know that there is a problem in the matrix corrections for elements calculated by stoichiometry to oxygen.

Hi Andrew,
But only when an unknown sample is imperfectly measured with respect to an "assumed" perfect standard!

If both your standard and your unknowns had low totals (or both had high totals), you would get an "ideal" stoichiometry for your unknown.  That's physics for you.

And let's please keep in mind that this non-stoichiometry effect is generally smaller than our nominal 2% accuracy in EPMA. And also that if it's random counting statistics causing this non-stoichiometry, then the analytical averages will be stoichiometric, if the average is close to 100%.

Hi John,
There are several reasons why this issue is problematic.

1) It occurs in analyses where an element is specified by stoichiometric ratio to oxygen, but NOT in simple oxides for which oxygen is the only calculated element.

2) The lack of stoichiometry shows a perfect linear correlation with concentrations and thus with analytical totals, whether high or low.

3) The lack of stoichiometry could conceivably mask other, real, problems with the analysis (such as the extent of beam damage). Because of the negative correlation of reported CO2 vs. CaO, the range of analytical totals is artificially minimized by this problem in analyses of calcite.

4) Most seriously, the inattentive user might actually try to publish Ca C0.995 O2.989 as a result for calcite - it is simply not correct.

All measurements are imperfect to some extent, and whether the standard is ideal or not, stoichiometric relationships should hold, unless invalidated by real data (e.g., end-member wustite).

This issue is a good reminder to users of the data to carefully check their results.

All the best,
Andrew





John Donovan

  • Administrator
  • Emeritus
  • *****
  • Posts: 2631
  • Other duties as assigned...
    • Probe Software
Re: Specifying Unanalyzed Elements For a Proper Matrix Correction
« Reply #98 on: July 29, 2019, 03:44:53 pm »
Hi Andrew,
I don't disagree.  I'll work on this with Paul Carpenter/John Armstrong and get back to you. In the meantime feel free to look at the code yourself and see if you can see what might be going on.  There's a reason the physics code is hosted on GitHub.  This code is a community effort after all.  :)
John J. Donovan, Pres. 
(541) 343-3400

"Not Absolutely Certain, Yet Reliable"

John Donovan

  • Administrator
  • Emeritus
  • *****
  • Posts: 2631
  • Other duties as assigned...
    • Probe Software
Re: Specifying Unanalyzed Elements For a Proper Matrix Correction
« Reply #99 on: July 30, 2019, 11:28:09 am »
Hi Andrew,
I don't disagree.  I'll work on this with Paul Carpenter/John Armstrong and get back to you. In the meantime feel free to look at the code yourself and see if you can see what might be going on.  There's a reason the physics code is hosted on GitHub.  This code is a community effort after all.  :)

Good news.

Andrew, Paul and I are in contact with John Armstrong and he explains the problem as being a well known (at the time!) issue, which occurs whenever an *unanalyzed* element is being calculated relative to calculated (unanalyzed) oxygen. He put it this way to us: oxygen calculated by stoichiometry is no problem when all other elements are measured. But when another unanalyzed element is introduced and this element is also dependent on the (also) unanalyzed oxygen, the solution is not obvious.

The basic issue being, what oxygen concentration should be utilized for the element relative to total oxygen? The oxygen value used in the last iteration for calculating correction factors is one possibility, and there's also the oxygen value adjusted for the other unanalyzed element... 

There were several different methods proposed by various researchers at the time, but no one solution gave a perfect result.  In fact all the proposed methods gave good results when the analytical totals were close to 100%, but they also gave increasingly different results as the analytical totals (including the unanalyzed elements) diverged from 100%.

John Armstrong said he would review the code to remember which method he chose at the time, but whatever method was chosen, there may not be a perfect solution to this issue.
« Last Edit: July 30, 2019, 11:33:31 am by John Donovan »
John J. Donovan, Pres. 
(541) 343-3400

"Not Absolutely Certain, Yet Reliable"

AndrewLocock

  • Professor
  • ****
  • Posts: 62
    • University of Alberta Electron Microprobe Laboratory
Re: Specifying Unanalyzed Elements For a Proper Matrix Correction
« Reply #100 on: July 30, 2019, 12:43:58 pm »
Hi John,
Thanks very much for following this up.

I appreciate your efforts, and look forward to any progress, although the issue may prove intractable.
I imagine that some sort of caveat would then be added to Probe for EPMA to ensure that the users are aware of the issue.

I should add, naturally, that all matrix-reduction software that can handle "elements specified by stoichiometry" will be subject to this issue.
One of the many things that I appreciate about Probe for EPMA is the willingness to examine issues in detail.
And of course the many powerful data reduction options.


All the best,
Andrew
« Last Edit: July 30, 2019, 01:08:29 pm by AndrewLocock »

Probeman

  • Emeritus
  • *****
  • Posts: 2079
  • Never sleeps...
    • John Donovan
Re: Specifying Unanalyzed Elements For a Proper Matrix Correction
« Reply #101 on: July 31, 2019, 10:10:18 am »
During this interesting (and subtle) discussion on carbon stoichiometry to unanalyzed oxygen, I think it is important to not overlook some other benefits to including elements that are not analyzed, into the matrix correction. That is after all, the main purpose of this topic (Specifying Unanalyzed Elements For a Proper Matrix Correction).

In the case of our ideal CaCO3 composition, what is the matrix effect of not including carbon in the matrix correction? Good question!  I'm glad I asked!   :)    Here is the same CaCO3 discussed previously but *without* specifying carbon relative to the calculated oxygen:

Oxygen Calculated by Cation Stoichiometry and Included in the Matrix Correction

Un    2 CaCO3, Results in Elemental Weight Percents
 
ELEM:       Ca       C       O   SUM 
     2  38.764    .000  15.475  54.239

AVER:   38.764    .000  15.475  54.239
SDEV:     .000    .000    .000    .000
SERR:     .000    .000    .000
%RSD:      .00     .00     .00
STDS:      136     ---     ---

STKF:    .3790     ---     ---
STCT:   128.65     ---     ---

UNKF:    .3780     ---     ---
UNCT:   128.32     ---     ---
UNBG:      .18     ---     ---

ZCOR:   1.0255     ---     ---
KRAW:    .9975     ---     ---
PKBG:   704.69     ---     ---

Un    2 CaCO3, Results Based on 1 Atoms of ca

ELEM:       Ca       C       O   SUM 
     2   1.000    .000   1.000   2.000

AVER:    1.000    .000   1.000   2.000
SDEV:     .000    .000    .000    .000
SERR:     .000    .000    .000
%RSD:      .00     .00     .00

Well clearly the analytical total is crap, and of course the atomic ratios are completely bonkers, but note the concentration of Ca. We are getting around 38.7 wt% Ca, when the ideal Ca content should be around 40 wt%. That a pretty large error, and is completely due to the fact that when carbon is not included in the matrix correction, the correction for Ca Ka is not going to be accurate.

Now let's turn the carbon relative to calculated oxygen calculation back on:

Oxygen Calculated by Cation Stoichiometry and Included in the Matrix Correction
Element C is Calculated  .3333 Atoms Relative To 1.0 Atom of Oxygen

Un    2 CaCO3, Results in Elemental Weight Percents
 
ELEM:       Ca       C       O   SUM 
     2  39.943  12.005  47.928  99.876

AVER:   39.943  12.005  47.928  99.876
SDEV:     .000    .000    .000    .000
SERR:     .000    .000    .000
%RSD:      .00     .00     .00
STDS:      136     ---     ---

STKF:    .3790     ---     ---
STCT:   128.65     ---     ---

UNKF:    .3780     ---     ---
UNCT:   128.32     ---     ---
UNBG:      .18     ---     ---

ZCOR:   1.0567     ---     ---
KRAW:    .9975     ---     ---
PKBG:   704.69     ---     ---

Un    2 CaCO3, Results Based on 1 Atoms of ca

ELEM:       Ca       C       O   SUM 
     2   1.000   1.003   3.006   5.009

AVER:    1.000   1.003   3.006   5.009
SDEV:     .000    .000    .000    .000
SERR:     .000    .000    .000
%RSD:      .00     .00     .00

Now our analytical total is much better, and of course our stoichiometry pretty good as well, but even more importantly, our Ca wt% is now 39.94 wt%, very close to the ideal 40 wt%.

Again, this is exactly why we need to include these unanalyzed elements into our physics matrix corrections.
The only stupid question is the one not asked!

Probeman

  • Emeritus
  • *****
  • Posts: 2079
  • Never sleeps...
    • John Donovan
Re: Specifying Unanalyzed Elements For a Proper Matrix Correction
« Reply #102 on: July 31, 2019, 10:18:54 am »
And now for something (almost) completely different!  :D

This is a different situation involving (only) the calculation of stoichiometric (unanalyzed) oxygen in the matrix correction. In this example we have compositions in which one or more halogens replace some of the stoichiometric oxygen sites.  This can occur primarily chlor-apatites and fluor-phlogopites, though I'm sure there are cases with other minerals (and glasses) with similar halogen replacement situations (oxygen equivalence).

If you've been following the recent (quite long) discussion involving calculating carbon in carbonates as an unanalyzed element relative to calculated stoichiometric oxygen, you might have seen this code snippet:

Code: [Select]
' Calculate element relative to stoichiometric oxygen based on previous iteration calculation of oxygen

If zaf.il%(zaf.in0%) = 0 Then    ' if calculating oxygen by stoichiometry
For i% = 1 To zaf.in1%
If zaf.il%(i%) = 15 Then
r1!(i%) = (r1!(zaf.in0%) / zaf.atwts!(zaf.in0%)) * sample(1).StoichiometryRatio! * zaf.atwts!(i%)
zaf.ksum! = zaf.ksum! + r1!(i%)
zaf.krat!(i%) = r1!(i%)
End If
Next i%

' Calculate amount of stoichiometric oxygen and add to total
r1!(zaf.in0%) = 0#
For i% = 1 To zaf.in1%
r1!(zaf.in0%) = r1!(zaf.in0%) + r1!(i%) * zaf.p1!(i%)
Next i%

' Calculate equivalent oxygen from halogens and subtract from calculated oxygen if flagged
If UseOxygenFromHalogensCorrectionFlag Then r1!(zaf.in0%) = r1!(zaf.in0%) - ConvertHalogensToOxygen(zaf.in1%, sample(1).Elsyms$(), sample(1).DisableQuantFlag%(), r1!())

' Add to sum
zaf.ksum! = zaf.ksum! + r1!(zaf.in0%)
End If

Note the line of code to calculate the halogen effect on stoichiometric oxygen. This is where a correction for halogens (F, Cl, Br and I) replacing stoichiometric oxygen is made. The idea being that if one calculates stoichiometric oxygen as usual, the total will be too high because the halogen is replacing some of the stoichiometric oxygen.  So how much of an effect could this be on the matrix?  And why do we care?

Well the effect depends on the composition of the mineral and the particular emitting line in question. And we should care because sometimes the matrix effect of *subtracting* this replaced stoiciometric oxygen is large enough to significantly effect the results.

So here is an example involving chlor-apatite, where the halogen correction has *not* been applied:

Oxygen Calculated by Cation Stoichiometry and Included in the Matrix Correction
Oxygen Equivalent from Halogens (F/Cl/Br/I), Not Subtracted in the Matrix Correction

Un    5 Cl-apatite as unk, Results in Elemental Weight Percents

ELEM:       Si       F      Cl      Mg      Ca       P      Al       K       O   SUM
   429    .022   -.545   6.825    .035  38.442  17.751    .006    .000  38.323 100.858
   430    .010   -.193   6.868    .028  38.363  17.816    .001    .003  38.354 101.251
   431    .015    .173   6.766    .045  38.087  17.885   -.001   -.009  38.346 101.308
   432    .026    .123   6.706    .032  38.319  17.901    .004   -.018  38.465 101.557
   433    .010    .117   6.890    .022  38.150  17.715   -.003    .011  38.133 101.046

AVER:     .017   -.065   6.811    .032  38.272  17.814    .002   -.002  38.324 101.204
SDEV:     .007    .305    .075    .009    .149    .081    .004    .011    .120    .266
SERR:     .003    .136    .034    .004    .067    .036    .002    .005    .054
%RSD:    41.59 -468.63    1.11   26.47     .39     .46  216.37 -452.12     .31
STDS:      160     284     285      12     285     285     160     374     ---

STKF:    .1621   .0256   .0602   .4736   .3596   .1601   .0335   .1132     ---
STCT:   1746.9    73.2  2281.7 18768.4  8605.4  3444.2  5316.8  1646.9     ---

UNKF:    .0001  -.0001   .0602   .0002   .3575   .1596   .0000   .0000     ---
UNCT:      1.6     -.4  2281.6     8.3  8554.2  3433.5     1.9     -.4     ---
UNBG:      2.7     4.9    17.5    19.2    33.9     7.1    96.3    10.8     ---

ZCOR:   1.1443  5.1792  1.1305  1.5496  1.0706  1.1163  1.3347  1.0079     ---
KRAW:    .0009  -.0049  1.0000   .0004   .9940   .9969   .0004  -.0002     ---
PKBG:     1.60     .93  132.03    1.43  253.74  490.50    1.02     .98     ---
INT%:     ---- -102.12    ----    ----    ----    ----    ----    ----     ---


As you can see the totals are slightly high because the oxygen has been calculated based on the cations, without consideration of the chlorine oxygen equivalence. In fact for ideal chlor-apatite, the oxygen concentration should be around 36.8 wt%. Now here is the same sample, but with the halogen correction turned on:

Oxygen Calculated by Cation Stoichiometry and Included in the Matrix Correction
Oxygen Equivalent from Halogens (F/Cl/Br/I), Subtracted in the Matrix Correction

Un    5 Cl-apatite as unk, Results in Elemental Weight Percents
 
ELEM:       Si       F      Cl      Mg      Ca       P      Al       K       O   SUM
   429    .022   -.539   6.823    .035  38.429  17.731    .006    .000  36.979  99.486
   430    .010   -.187   6.866    .028  38.349  17.794    .001    .003  36.849  99.713
   431    .015    .177   6.764    .045  38.071  17.861   -.001   -.009  36.708  99.632
   432    .026    .128   6.704    .032  38.304  17.877    .004   -.018  36.861  99.917
   433    .010    .122   6.888    .022  38.134  17.691   -.003    .011  36.489  99.365

AVER:     .017   -.060   6.809    .032  38.257  17.791    .002   -.002  36.777  99.623
SDEV:     .007    .304    .075    .009    .150    .081    .004    .011    .188    .212
SERR:     .003    .136    .034    .004    .067    .036    .002    .005    .084
%RSD:    41.59 -509.17    1.11   26.47     .39     .45  216.35 -452.09     .51
STDS:      160     284     285      12     285     285     160     374     ---

STKF:    .1621   .0256   .0602   .4736   .3596   .1601   .0335   .1132     ---
STCT:   1746.9    73.2  2281.7 18768.4  8605.4  3444.2  5316.8  1646.9     ---

UNKF:    .0001  -.0001   .0602   .0002   .3575   .1596   .0000   .0000     ---
UNCT:      1.6     -.3  2281.6     8.3  8554.2  3433.5     1.9     -.4     ---
UNBG:      2.7     4.9    17.5    19.2    33.9     7.1    96.3    10.8     ---

ZCOR:   1.1424  5.1608  1.1302  1.5466  1.0701  1.1149  1.3325  1.0070     ---
KRAW:    .0009  -.0045  1.0000   .0004   .9940   .9969   .0004  -.0002     ---
PKBG:     1.60     .94  132.03    1.43  253.74  490.50    1.02     .98     ---
INT%:     ---- -101.99    ----    ----    ----    ----    ----    ----     ---


The calculated oxygen is now 36.77 wt%, which is much closer to the ideal 36.8 wt%. The concentrations of the other elements have also decreased slightly, due to the change in the matrix correction from there being less oxygen than before. And the total is somewhat better, but not a big change in any case.

Now let's next consider fluor-phlogopite...
The only stupid question is the one not asked!

Probeman

  • Emeritus
  • *****
  • Posts: 2079
  • Never sleeps...
    • John Donovan
Re: Specifying Unanalyzed Elements For a Proper Matrix Correction
« Reply #103 on: July 31, 2019, 10:25:30 am »
Continuing our discussion, now what about fluor-apatite? We might expect a larger matrix effect for fluorine because it is a lower energy emission line, and also because it is quite heavily absorbed by oxygen in the matrix. So here is an analysis of a fluor-phlogopite *without* the halogen correction:

Un   10 fluor-phlogopite, Results in Elemental Weight Percents

Oxygen Calculated by Cation Stoichiometry and Included in the Matrix Correction
Oxygen Equivalent from Halogens (F/Cl/Br/I), Not Subtracted in the Matrix Correction

ELEM:       Si       F      Cl      Mg      Ca       P      Al       K       O   SUM
   495  19.822   9.091    .008  17.459   -.002   -.006   6.612   9.393  41.872 104.250
   496  19.990   9.254    .001  17.359    .001    .001   6.576   9.369  41.971 104.521
   497  19.814   9.112    .000  17.298    .002    .000   6.604   9.420  41.764 104.014
   498  20.136   9.783    .002  17.534    .005   -.004   6.645   9.384  42.312 105.797
   499  20.246   9.633    .006  17.372    .006   -.007   6.600   9.305  42.272 105.432

AVER:   20.002   9.375    .003  17.404    .002   -.003   6.608   9.374  42.038 104.803
SDEV:     .191    .315    .003    .093    .003    .004    .025    .043    .243    .773
SERR:     .085    .141    .002    .041    .001    .002    .011    .019    .109
%RSD:      .95    3.36  100.14     .53  130.45 -112.21     .38     .46     .58
STDS:      160     284     285      12     285     285     160     374     ---

STKF:    .1621   .0256   .0602   .4736   .3596   .1601   .0335   .1132     ---
STCT:   1749.1    72.8  2270.1 18778.0  8626.5  3449.1  5319.3  1650.6     ---

UNKF:    .1501   .0260   .0000   .1230   .0000   .0000   .0446   .0827     ---
UNCT:   1619.3    73.8     1.1  4877.0      .5     -.5  7086.9  1205.7     ---
UNBG:      4.2     4.3    11.1    20.7    17.9     3.5    82.2     9.7     ---

ZCOR:   1.3328  3.6125  1.2142  1.4150  1.1176  1.4038  1.4819  1.1339     ---
KRAW:    .9258  1.0143   .0005   .2597   .0001  -.0001  1.3323   .7304     ---
PKBG:   392.05   18.49    1.10  237.07    1.03     .87   87.21  125.86     ---
INT%:     ----     .00    ----    ----    ----    ----    ----    ----     ---


First of all we notice the rather high total due to the full stoichiometric oxygen complement being added to the matrix without considering that the fluorine is replacing some of that oxygen. In addition we note that the matrix correction (ZCOR) for fluorine is 3.6125, which is over 360%, so a rather large matrix effect. Meanwhile the ideal fluorine concentration is calculated as being around 9 wt%, while we are getting almost 9.4 wt%.

So now we turn on the halogen correction from the Analytical | Analysis Options dialog as seen here:



and now we see the halogen corrected composition for this fluor-phlogopite:

Oxygen Calculated by Cation Stoichiometry and Included in the Matrix Correction
Oxygen Equivalent from Halogens (F/Cl/Br/I), Subtracted in the Matrix Correction

Un   10 fluor-phlogopite, Results in Elemental Weight Percents
 
ELEM:       Si       F      Cl      Mg      Ca       P      Al       K       O   SUM
   495  19.842   8.873    .008  17.303   -.002   -.006   6.604   9.397  38.047 100.064
   496  20.009   9.028    .001  17.201    .001    .001   6.568   9.373  38.080 100.261
   497  19.833   8.892    .000  17.143    .002    .000   6.596   9.424  37.932  99.821
   498  20.157   9.533    .002  17.368    .005   -.004   6.637   9.388  38.205 101.290
   499  20.267   9.391    .006  17.208    .006   -.007   6.592   9.309  38.224 100.995

AVER:   20.021   9.143    .003  17.244    .002   -.003   6.599   9.378  38.098 100.486
SDEV:     .191    .301    .003    .090    .003    .004    .025    .043    .120    .628
SERR:     .086    .135    .002    .040    .001    .002    .011    .019    .054
%RSD:      .96    3.29  100.14     .52  130.45 -112.21     .38     .46     .32
STDS:      160     284     285      12     285     285     160     374     ---

STKF:    .1621   .0256   .0602   .4736   .3596   .1601   .0335   .1132     ---
STCT:   1749.1    72.8  2270.1 18778.0  8626.5  3449.1  5319.3  1650.6     ---

UNKF:    .1501   .0260   .0000   .1230   .0000   .0000   .0446   .0827     ---
UNCT:   1619.3    73.8     1.1  4877.0      .5     -.5  7086.9  1205.7     ---
UNBG:      4.2     4.3    11.1    20.7    17.9     3.5    82.2     9.7     ---

ZCOR:   1.3341  3.5235  1.2166  1.4020  1.1185  1.4112  1.4800  1.1343     ---
KRAW:    .9258  1.0143   .0005   .2597   .0001  -.0001  1.3323   .7304     ---
PKBG:   392.05   18.49    1.10  237.07    1.03     .87   87.21  125.86     ---
INT%:     ----     .00    ----    ----    ----    ----    ----    ----     ---

The totals are now more reasonable, but even more importantly note that the fluorine ZCOR decreased to 3.5235 and the measured fluorine concentration dropped to ~9.1 wt%, which is much closer to the published value. Basically, in fluor-phlogopite compositions, ones reported fluorine concentrations will be high by around 2 or 3% when this halogen correction to the stoichiometric oxygen is not properly performed.

It is probably obvious, but maybe worth saying again, that this sort of calculation cannot be performed off-line (e.g., in Excel), because the matrix correction needs to be re-calculated based on the new composition and re-applied to the measured intensities.

I haven't explored other halogen containing compositions, but is anyone interested in writing this effect up as a short paper or abstract?
The only stupid question is the one not asked!

John Donovan

  • Administrator
  • Emeritus
  • *****
  • Posts: 2631
  • Other duties as assigned...
    • Probe Software
Re: Specifying Unanalyzed Elements For a Proper Matrix Correction
« Reply #104 on: August 19, 2019, 12:07:09 pm »
Just FYI, we're just putting the finishing touches on a ferrous/ferric calculation for PFE (and CalcZAF!) that will calculate excess oxygen from ferric iron for minerals using the method of Droop (1987) *and* include it in the matrix correction.  This excess oxygen has a surprisingly large effect on the matrix correction physics, even for minerals such as ilmenite/magnetite.  I'm just posting this here so we'll have a link for the "interactive help" button in the Calculation Options dialog.

We hope to have a new version of both PFE and CalcZAF uploaded tonight or tomorrow, but first we want to give a big thanks to Andrew Locock, Anette von der Handt, John Fournelle and Emma Bullock, who provided the mineralogical expertise to allow us to implement this.

More details to follow soon but in the meantime the original paper by Droop is attached below
« Last Edit: August 19, 2019, 12:15:01 pm by John Donovan »
John J. Donovan, Pres. 
(541) 343-3400

"Not Absolutely Certain, Yet Reliable"