Probe Software Users Forum

Software => CalcZAF and Standard => Topic started by: Brian Joy on March 06, 2016, 12:05:49 PM

Title: Mixed oxidation states in CalcZAF
Post by: Brian Joy on March 06, 2016, 12:05:49 PM
Hi John,

Here is an example of an analysis (PAP model, accelerating potential = 15 kV, takeoff angle = 40 deg.) of pure magnetite using a pure magnetite standard.  I've assumed that all Fe in the unknown is present as FeO.  Under "Calculation Options," I've selected "Calculate with Stoichiometric Oxygen."

(https://smf.probesoftware.com/gallery/381_06_03_16_10_57_45.jpeg)

If I then recalculate the result assuming 3 cations and 4 oxygens per formula unit, I obtain 67.996 wt% Fe2O3, 30.591 wt% FeO, and oxide total = 98.586 wt%.  (I've used molar mass Fe = 55.845 g/mol and molar mass O = 15.9994 g/mol.)

The standard and unknown both contain 72.359 wt% Fe and 27.641 wt% O, and Fe k-raw is precisely one.  If it is assumed that Fe is present in the unknown as FeO, then the calculated weight per-cent of oxygen is 20.731, producing an oxide total of 93.090 wt%.  However, during the matrix correction iterations, compositions are normalized, and, during the first iteration, the Fe and O contents of the unknown become, respectively, 77.730 and 22.270 wt%.  If matrix corrections are determined based on this composition, then, relative to the standard, the Fe atomic number correction (PAP model) is 0.9851 (=1.0659/1.0820) when in truth it should be precisely one.  This mostly accounts for the anomalously low wt% Fe in the result since the absorption correction is close to unity.

Why does CalcZAF not include a provision to account for mixed oxidation state of a chosen element during the matrix correction iterations?  Or is this somehow possible in CalcZAF, and I just don't see it?
Title: Re: Mixed oxidation states in CalcZAF
Post by: Probeman on March 06, 2016, 12:59:45 PM
Quote from: Brian Joy on March 06, 2016, 12:05:49 PM
Why does CalcZAF not include a provision to account for mixed oxidation state of a chosen element during the matrix correction iterations?  Or is this somehow possible in CalcZAF, and I just don't see it?

Hi Brian,
CalcZAF mostly certainly does account for different valences in the matrix correction for oxygen. In fact I've spent considerable effort to make sure that excess oxygen is handled properly even in cases where one has halogen replacement of stoichiometric oxygen (e.g., biotites/phlogopites). 

There is an example of magnetite in the CalcZAF.dat sample data file (from the File | Open CalcZAF Input data File menu), but it's assuming 6.9 % or so of excess oxygen and FeO.  Here is the CalcZAF.dat example magnetite with excess oxygen specified:

SAMPLE: 6, TOA: 40, ITERATIONS: 3, Z-BAR: 20.96875

ELEMENT  ABSCOR  FLUCOR  ZEDCOR  ZAFCOR STP-POW BKS-COR   F(x)u      Ec   Eo/Ec    MACs
   Si ka  1.5172  1.0000   .9336  1.4164   .8910  1.0478   .5969  1.8390  8.1566 1955.60
   Fe ka   .9969  1.0000  1.0666  1.0633  1.0944   .9746   .9877  7.1120  2.1091 55.6969
   Mg ka  2.4698   .9999   .9272  2.2899   .8716  1.0638   .3508  1.3050 11.4943 4477.22

ELEMENT   K-RAW K-VALUE ELEMWT% OXIDWT% ATOMIC% FORMULA KILOVOL                                       
   Si ka -.00008 -.00003   -.005   -.010   -.005   -.001   15.00                                       
   Fe ka 1.35236  .67675  71.956  92.571  42.452   7.929   15.00                                       
   Mg ka  .00069  .00033    .075    .124    .101    .019   15.00                                       
   Mn                       .054    .070    .032    .006
   Ca                       .000    .000    .000    .000
   Ni                       .000    .000    .000    .000
   Al                       .201    .380    .245    .046
   O                       6.899   6.899  14.207   2.653
   Ti                       .012    .020    .008    .002
   O                      20.861   -----  42.959   8.023
   TOTAL:                100.053 100.053 100.000  18.677

You might find it helpful to run through all the examples in this data file, as it demonstrates many of the CalcZAF modes.

But if you set the excess oxygen to zero in the magnetite example, and then specify Fe as Fe3O4, then you will get this:

SAMPLE: 6, TOA: 40, ITERATIONS: 2, Z-BAR: 20.97229

ELEMENT  ABSCOR  FLUCOR  ZEDCOR  ZAFCOR STP-POW BKS-COR   F(x)u      Ec   Eo/Ec    MACs
   Si ka  1.5173  1.0000   .9335  1.4164   .8909  1.0478   .5969  1.8390  8.1566 1955.23
   Fe ka   .9969  1.0000  1.0665  1.0632  1.0943   .9746   .9877  7.1120  2.1091 55.6884
   Mg ka  2.4701   .9999   .9272  2.2900   .8716  1.0638   .3508  1.3050 11.4943 4476.34

ELEMENT   K-RAW K-VALUE ELEMWT% OXIDWT% ATOMIC% FORMULA KILOVOL                                       
   Si ka -.00008 -.00003   -.005   -.010   -.005   -.001   15.00                                       
   Fe ka 1.35236  .67675  71.953  99.438  42.476   7.929   15.00                                       
   Mg ka  .00069  .00033    .075    .124    .101    .019   15.00                                       
   Mn                       .054    .070    .032    .006
   Ca                       .000    .000    .000    .000
   Ni                       .000    .000    .000    .000
   Al                       .201    .380    .246    .046
   O                        .000    .000    .000    .000
   Ti                       .012    .020    .008    .002
   O                      27.732   -----  57.142  10.666
   TOTAL:                100.022 100.022 100.000  18.666


The ZAF window should look like this:

(https://smf.probesoftware.com/gallery/395_06_03_16_12_55_05.png)
Title: Re: Mixed oxidation states in CalcZAF
Post by: Probeman on March 06, 2016, 01:10:49 PM
One can also simply enter Fe3O4 using the "Enter Composition As Formula String" button and you will get this after clicking the calculate button:

ELEMENT  ABSFAC  ZEDFAC  FINFAC STP-POW BKS-COR   F(x)e
   Fe ka  1.0157  4.3900  4.4588   .2087   .9161   .9846
   O  ka  1.4270  3.9154  5.5873   .2438   .9546   .7008

SAMPLE: 32767, TOA: 40, ITERATIONS: 0, Z-BAR: 21.02464

ELEMENT  ABSCOR  FLUCOR  ZEDCOR  ZAFCOR STP-POW BKS-COR   F(x)u      Ec   Eo/Ec    MACs
   Fe ka   .9969  1.0000  1.0660  1.0626  1.0935   .9748   .9877  7.1120  2.1091 55.6319
   O  ka  1.6478   .9937   .8648  1.4160   .7989  1.0826   .4253   .5317 28.2114 3227.13

ELEMENT   K-RAW K-VALUE ELEMWT% OXIDWT% ATOMIC% FORMULA KILOVOL                                       
   Fe ka  .00000  .68095  72.359   -----  42.857   1.000   15.00                                       
   O  ka  .00000  .19520  27.641   -----  57.143   1.333   15.00                                       
   TOTAL:                100.000   ----- 100.000   2.333


Or just enter pure Fe with a concentration of 72.359 wt%, and 3 cations and 4 oxygens and and then click the Calculate with Stoichiometric Oxygen checkbox and you will get this:

ELEMENT  ABSCOR  FLUCOR  ZEDCOR  ZAFCOR STP-POW BKS-COR   F(x)u      Ec   Eo/Ec    MACs
   Fe ka   .9969  1.0000  1.0660  1.0626  1.0935   .9748   .9877  7.1120  2.1091 55.6318

ELEMENT   K-RAW K-VALUE ELEMWT% OXIDWT% ATOMIC% FORMULA KILOVOL                                       
   Fe ka  .00000  .68095  72.359 100.000  42.857   1.000   15.00                                       
   O                        .000    .000    .000    .000
   O                      27.641   -----  57.143   1.333
   TOTAL:                100.000 100.000 100.000   2.333


Title: Re: Mixed oxidation states in CalcZAF
Post by: Probeman on March 06, 2016, 01:15:21 PM
Then I thought to myself: Brian Joy is a very smart guy, so what am I missing?   Maybe there's a problem with the PAP corrections, so I used the magnetite example in CalcZAF.dat with PAP and I get this;

SAMPLE: 6, TOA: 40, ITERATIONS: 3, Z-BAR: 20.96556

ELEMENT  ABSCOR  FLUCOR  ZEDCOR  ZAFCOR STP-POW BKS-COR   F(x)u      Ec   Eo/Ec    MACs
   Si ka  1.5129  1.0000   .9264  1.4016   .8896  1.0415   .5956  1.8390  8.1566 1948.07
   Fe ka   .9966  1.0000  1.0828  1.0791  1.1103   .9752   .9871  7.1120  2.1091 55.4812
   Mg ka  2.4533   .9999   .9148  2.2442   .8644  1.0583   .3504  1.3050 11.4943 4460.17

ELEMENT   K-RAW K-VALUE ELEMWT% OXIDWT% ATOMIC% FORMULA KILOVOL                                       
   Si ka -.00008 -.00003   -.005   -.010   -.005   -.001   15.00                                       
   Fe ka 1.35236  .66415  71.671  92.204  42.430   7.929   15.00                                       
   Mg ka  .00069  .00032    .071    .118    .097    .018   15.00                                       
   Mn                       .054    .070    .032    .006
   Ca                       .000    .000    .000    .000
   Ni                       .000    .000    .000    .000
   Al                       .201    .380    .246    .046
   O                       6.899   6.899  14.256   2.664
   Ti                       .012    .020    .008    .002
   O                      20.778   -----  42.935   8.024
   TOTAL:                 99.682  99.682 100.000  18.688


Which is a slightly lower total (using Fe2SiO4 as an Fe standard), but it's still within normal accuracy.

And if I set the excess oxygen to zero and specify Fe3O4 for the cations/oxygens I get this with PAP:

ELEMENT  ABSCOR  FLUCOR  ZEDCOR  ZAFCOR STP-POW BKS-COR   F(x)u      Ec   Eo/Ec    MACs
   Si ka  1.5130  1.0000   .9264  1.4016   .8894  1.0415   .5955  1.8390  8.1566 1947.30
   Fe ka   .9966  1.0000  1.0827  1.0790  1.1102   .9753   .9871  7.1120  2.1091 55.4632
   Mg ka  2.4537   .9999   .9147  2.2443   .8643  1.0584   .3503  1.3050 11.4943 4458.32

ELEMENT   K-RAW K-VALUE ELEMWT% OXIDWT% ATOMIC% FORMULA KILOVOL                                       
   Si ka -.00008 -.00003   -.005   -.010   -.005   -.001   15.00                                       
   Fe ka 1.35236  .66415  71.663  99.039  42.478   7.929   15.00                                       
   Mg ka  .00069  .00032    .071    .118    .097    .018   15.00                                       
   Mn                       .054    .070    .033    .006
   Ca                       .000    .000    .000    .000
   Ni                       .000    .000    .000    .000
   Al                       .201    .380    .247    .046
   O                        .000    .000    .000    .000
   Ti                       .012    .020    .008    .002
   O                      27.619   -----  57.143  10.667
   TOTAL:                 99.617  99.617 100.000  18.667

All seems to be good.
john
Title: Re: Mixed oxidation states in CalcZAF
Post by: Brian Joy on March 06, 2016, 01:39:42 PM
Hi John,

I overlooked some of the options in CalcZAF.  What I was looking for was a way to specify the total number of cations (3) along with the total anion charge (-8) during the matrix correction iterations (which is how I've approached it).  Note that specifying molar Fe:O ratio = 3:4 in magnetite does not necessarily work because other cations can substitute for either Fe2+ or Fe3+ so that the molar ratio of FeO to Fe2O3 is not always 1:1.  Let me dig up an example.

Brian
Title: Re: Mixed oxidation states in CalcZAF
Post by: Probeman on March 06, 2016, 01:52:51 PM
Quote from: Brian Joy on March 06, 2016, 01:39:42 PM
Hi John,

I overlooked some of the options in CalcZAF.  What I was looking for was a way to specify the total number of cations (3) along with the total anion charge (-8) during the matrix correction iterations (which is how I've approached it).  Note that specifying molar Fe:O ratio = 3:4 in magnetite does not necessarily work because other cations can substitute for either Fe2+ or Fe3+ so that the molar ratio of FeO to Fe2O3 is not always 1:1.  Let me dig up an example.

Brian

It sounds like you are wanting a mineral normalization for magnetite.  Probe for EPMA has a number of mineral normalization methods based on site occupancy, but not CalcZAF.  You might want to try Julien Allaz's mineral re-normalization web page which is for many minerals:

http://cub.geoloweb.ch/index.php?page=mineral_formula

I've re-coded his php code in VB, but haven't implemented it into PFE yet.

Andrew Locock also posted an oxide normalization spreadsheet here:

http://smf.probesoftware.com/index.php?topic=92.msg3926#msg3926
john
Title: Re: Mixed oxidation states in CalcZAF
Post by: Brian Joy on March 06, 2016, 02:17:01 PM
Quote from: Probeman on March 06, 2016, 01:52:51 PM
It sounds like you are wanting a mineral normalization for magnetite.  Probe for EPMA has a number of mineral normalization methods based on site occupancy, but not CalcZAF.  You might want to try Julien Allaz's mineral re-normalization web page which is for many minerals:

http://cub.geoloweb.ch/index.php?page=mineral_formula

I've re-coded his php code in VB, but haven't implemented it into PFE yet.

Andrew Locock also posted an oxide normalization spreadsheet here:

http://smf.probesoftware.com/index.php?topic=92.msg3926#msg3926
john

I understand what you're suggesting, but that's not what I'm looking for.  What I'm looking for is a means of adjusting the oxygen content of the analyzed mineral during the matrix correction iterations.  I wanted to compare my solution to the problem with possible other methods.  Let me post an example later.  Perhaps this is dealt with in Probe for EPMA (which of course I don't have).
Title: Re: Mixed oxidation states in CalcZAF
Post by: Probeman on March 06, 2016, 02:50:12 PM
Quote from: Brian Joy on March 06, 2016, 02:17:01 PM
Quote from: Probeman on March 06, 2016, 01:52:51 PM
It sounds like you are wanting a mineral normalization for magnetite.  Probe for EPMA has a number of mineral normalization methods based on site occupancy, but not CalcZAF.  You might want to try Julien Allaz's mineral re-normalization web page which is for many minerals:
By
http://cub.geoloweb.ch/index.php?page=mineral_formula

I've re-coded his php code in VB, but haven't implemented it into PFE yet.

Andrew Locock also posted an oxide normalization spreadsheet here:

http://smf.probesoftware.com/index.php?topic=92.msg3926#msg3926
john

I understand what you're suggesting, but that's not what I'm looking for.  What I'm looking for is a means of adjusting the oxygen content of the analyzed mineral during the matrix correction iterations.  I wanted to compare my solution to the problem with possible other methods.  Let me post an example later.  Perhaps this is dealt with in Probe for EPMA (which of course I don't have).

Hi Brian,
Probe for EPMA does adjust the oxygen concentration during the matrix correction iteration, for example when performing the halogen equivalence correction as I mentioned previously. PFE also adjusts the concentrations of interfering elements during the spectral interference correction (which again, is iterated in the matrix correction), and for a number of other corrections which are also compositionally dependent.

So this is something I am very interested in.
Title: Re: Mixed oxidation states in CalcZAF
Post by: Brian Joy on March 06, 2016, 08:01:03 PM
Below are a couple of magnetite analyses that I've processed (PAP/MAC30) by placing constraints on the total number of cations (3) and total anion charge (-8) per formula unit within the matrix correction iterations; I've incorporated these constraints within the subroutine that I use to normalize composition during the iterations.  Of course the JEOL software contains no provision for calculating Fe3+/Fe2+ while processing data, and so otherwise I get stuck recalculating after the fact and getting inaccurate results.  Usually I check my work against CalcZAF, but, like I noted, I couldn't find a way to apply the constraints in the same manner.  In this case the Fe standard is pure Fe3O4 synthesized by Peter Roeder.  The output is a little rough; for Z=26, wt% FeO is listed first and Fe2O3 second.  In analysis 137, which is close to end-member magnetite, note that Fe Ka Z-std is very close to unity.

(https://smf.probesoftware.com/gallery/381_06_03_16_7_31_28.jpeg)
Title: Re: Mixed oxidation states in CalcZAF
Post by: Probeman on March 07, 2016, 12:10:03 PM
Quote from: Brian Joy on March 06, 2016, 08:01:03 PM
Below are a couple of magnetite analyses that I've processed (PAP/MAC30) by placing constraints on the total number of cations (3) and total anion charge (-8) per formula unit within the matrix correction iterations; I've incorporated these constraints within the subroutine that I use to normalize composition during the iterations.  Of course the JEOL software contains no provision for calculating Fe3+/Fe2+ while processing data, and so otherwise I get stuck recalculating after the fact and getting inaccurate results.  Usually I check my work against CalcZAF, but, like I noted, I couldn't find a way to apply the constraints in the same manner.  In this case the Fe standard is pure Fe3O4 synthesized by Peter Roeder.  The output is a little rough; for Z=26, wt% FeO is listed first and Fe2O3 second.  In analysis 137, which is close to end-member magnetite, note that Fe Ka Z-std is very close to unity.

Hi Brian,
Let me see if I understand what you are doing.

So you are essentially calculating the excess oxygen (over FeO) by adjusting the oxygen concentration so that the total oxygens for all cations is exactly 4 atoms (-8 charge). And that this is because you have some Cr, Ti, Al, Mn and Mg replacing some Fe?

Have I got it right so far?
john
Title: Re: Mixed oxidation states in CalcZAF
Post by: Brian Joy on March 07, 2016, 01:13:26 PM
Quote from: Probeman on March 07, 2016, 12:10:03 PM
Hi Brian,
Let me see if I understand what you are doing.

So you are essentially calculating the excess oxygen (over FeO) by adjusting the oxygen concentration so that the total oxygens for all cations is exactly 4 atoms (-8 charge). And that this is because you have some Cr, Ti, Al, Mn and Mg replacing some Fe?

Have I got it right so far?
john

Hi John,

Specifically what I'm doing is normalizing first to a given number of cations specified by the user in a settings file.  I then calculate the total charge on the cations assuming, for instance, that all Fe is divalent.  For this case, the number of Fe3+ per formula unit is equal to the anion charge (corresponding to the number of oxygen ions specified by the user in the settings file) minus the total charge on the normalized cations assuming all Fe is divalent.  I then calculate the mass of oxygen required to balance the charge on the cations (whatever they may be) during the iteration while using an "average" Fe charge determined by the above procedure.  It's essentially the same procedure used in after-the-fact recalculations, but I've simply built it into the matrix correction iterations.  I was afraid that it might hinder convergence, but I haven't run into problems with this.

The scheme that I've implemented is the simplest possible one, and one could envision much more elaborate schemes in which cations are assigned to specific sites during the normalization, as is necessary in the amphiboles, for instance.
Title: Re: Mixed oxidation states in CalcZAF
Post by: Probeman on March 07, 2016, 01:31:43 PM
Hi Brian,
Ok, so you're essentially performing a mineral formula normalization during the matrix iteration.  As I said before I do this in some cases- e.g., fluor-phlogopites where by not including the change in oxygen from the halogen equivalence, there is about a 15% effect on the fluorine concentration. But that's a 5 or 6% absolute change in oxygen concentration, and fluorine Ka is strongly absorbed by oxygen...

Can you post an example composition where you don't iterate the matrix correction during the mineral normalization and the same composition where you do re-iterate the matrix correction after the oxygen has been modified by the mineral re-normalization? 

I'd be curious to see the magnitude of the effect.
john
Title: Re: Mixed oxidation states in CalcZAF
Post by: Probeman on March 07, 2016, 01:40:05 PM
So I tried a test myself. Here is a typical chromite analysis:

ELEMENT  ABSCOR  FLUCOR  ZEDCOR  ZAFCOR STP-POW BKS-COR   F(x)u      Ec   Eo/Ec    MACs
   Fe ka  1.0235  1.0000  1.1012  1.1271  1.1454   .9614   .9620  7.1120  2.1091 175.945
   Cr ka   .9993   .9530  1.0946  1.0424  1.1351   .9643   .9806  5.9900  2.5042 82.3851
   Ti ka  1.0058   .8822  1.0858   .9634  1.1191   .9703   .9665  4.9670  3.0199 135.744
   Al ka  1.6721   .9995   .9812  1.6398   .9537  1.0288   .5307  1.5600  9.6154 2436.91
   Mn ka   .9973   .9958  1.1182  1.1104  1.1617   .9625   .9853  6.5390  2.2939 64.2572

ELEMENT   K-RAW K-VALUE ELEMWT% OXIDWT% ATOMIC% FORMULA KILOVOL                                       
   Fe ka  .27180  .18431  20.774  26.725  10.317   1.931   15.00                                       
   Cr ka  .47690  .30522  31.817  46.503  16.972   3.177   15.00                                       
   Ti ka  .00550  .00305    .294    .490    .170    .032   15.00                                       
   Al ka  .10830  .04715   7.731  14.608   7.947   1.488   15.00                                       
   Mn ka  .00200  .00147    .163    .211    .082    .015   15.00                                       
   Mg                      6.290  10.431   7.178   1.344
   V                        .122    .179    .066    .012
   O                       1.080   1.080   1.872    .350
   O                      31.956   -----  55.395  10.371
   TOTAL:                100.228 100.228 100.000  18.721


Note the 1.08 wt% excess oxygen. Now I edit the excess oxygen number to 0 wt% and you can see the changes:

ELEMENT  ABSCOR  FLUCOR  ZEDCOR  ZAFCOR STP-POW BKS-COR   F(x)u      Ec   Eo/Ec    MACs
   Fe ka  1.0239  1.0000  1.0997  1.1259  1.1433   .9618   .9616  7.1120  2.1091 175.497
   Cr ka   .9994   .9529  1.0932  1.0410  1.1330   .9648   .9805  5.9900  2.5042 81.9200
   Ti ka  1.0060   .8817  1.0845   .9618  1.1170   .9708   .9663  4.9670  3.0199 134.939
   Al ka  1.6755   .9995   .9801  1.6413   .9519  1.0297   .5296  1.5600  9.6154 2417.43
   Mn ka   .9974   .9957  1.1167  1.1090  1.1596   .9629   .9852  6.5390  2.2939 63.9071

ELEMENT   K-RAW K-VALUE ELEMWT% OXIDWT% ATOMIC% FORMULA KILOVOL                                       
   Fe ka  .27180  .18431  20.752  26.698  10.510   1.931   15.00                                       
   Cr ka  .47690  .30522  31.774  46.441  17.283   3.175   15.00                                       
   Ti ka  .00550  .00305    .293    .489    .173    .032   15.00                                       
   Al ka  .10830  .04715   7.738  14.621   8.111   1.490   15.00                                       
   Mn ka  .00200  .00147    .163    .210    .084    .015   15.00                                       
   Mg                      6.290  10.431   7.319   1.345
   V                        .122    .179    .068    .012
   O                        .000    .000    .000    .000
   O                      31.936   -----  56.452  10.371
   TOTAL:                 99.069  99.069 100.000  18.371


Obviously the total is now low by some 1% or so, but the absolute changes in the measured elements due to the reduced excess oxygen are pretty small.  On the order of a few hundred PPM for each element.

That is generally smaller than the measurement precision, so is it worth doing? I have to ask myself...

I've attached a CalcZAF input file for this below.  Note that there are two samples in it. The first calculating everything elemental and the second calculating everything as oxides (and excess oxygen).  The 2nd sample in the file is the example I used above.
Title: Re: Mixed oxidation states in CalcZAF
Post by: Brian Joy on March 07, 2016, 03:04:02 PM
Hi John,

Yes, I agree that the effect is small unless Fe2O3 is present in large quantity.  This is why I chose magnetite as an example.  As far as silicates, possible problematic cases would be minerals such as aegirine-augite and riebeckite, especially if the latter is fluorine-rich.

Below are the same two magnetite analyses as before with all Fe assumed to be present as FeO during the matrix corrections.  If I recalculate for Fe2O3 after the fact, then for the first analysis I get 30.62 wt% FeO, 67.14 wt% Fe2O3, and total = 98.71 wt%.  For the second analysis, I get 31.68 wt% FeO, 26.16 wt% Fe2O3, and total = 100.04 wt%; wt% Cr2O3 is 31.43 instead of 31.57.

(https://smf.probesoftware.com/gallery/381_07_03_16_2_46_38.jpeg)
Title: Re: Mixed oxidation states in CalcZAF
Post by: Probeman on March 07, 2016, 03:58:08 PM
Quote from: Brian Joy on March 07, 2016, 03:04:02 PM
Yes, I agree that the effect is small unless Fe2O3 is present in large quantity.  This is why I chose magnetite as an example.  As far as silicates, possible problematic cases would be minerals such as aegirine-augite and riebeckite, especially if the latter is fluorine-rich.

Hi Brian,
You're showing a magnetite and a chromite in the image of the FORTRAN output.  Did you post the wrong image?

If I run a magnetite both ways I get this for magnetite with excess oxygen of 6.881 wt%:

ELEMENT  ABSCOR  FLUCOR  ZEDCOR  ZAFCOR STP-POW BKS-COR   F(x)u      Ec   Eo/Ec    MACs
   Fe ka   .9970  1.0000  1.0666  1.0634  1.0944   .9746   .9875  7.1120  2.1091 56.5165
   Cr ka  1.0008   .7464  1.0623   .7935  1.0840   .9800   .9791  5.9900  2.5042 88.8413
   Ti ka  1.0088   .8934  1.0558   .9516  1.0680   .9885   .9635  4.9670  3.0199 148.135
   Al ka  1.8553   .9996   .9587  1.7779   .9077  1.0561   .4783  1.5600  9.6154 2935.69
   Mn ka   .9982   .9707  1.0841  1.0505  1.1097   .9769   .9844  6.5390  2.2939 68.3900

ELEMENT   K-RAW K-VALUE ELEMWT% OXIDWT% ATOMIC% FORMULA KILOVOL                                       
   Fe ka 1.00000  .67813  72.110  92.770  42.354   7.907   15.00                                       
   Cr ka  .00305  .00195    .155    .226    .098    .018   15.00                                       
   Ti ka  .00013  .00007    .007    .011    .005    .001   15.00                                       
   Al ka  .00279  .00121    .216    .408    .263    .049   15.00                                       
   Mn ka  .00082  .00060    .063    .082    .038    .007   15.00                                       
   Mg                       .072    .119    .097    .018
   O                       6.881   6.881  14.107   2.633
   O                      20.993   -----  43.039   8.035
   TOTAL:                100.498 100.498 100.000  18.668


And if I reduce the excess oxygen to 5.881 wt% (which I think is larger than any change you will see in the oxygen concentration from your charge balancing), the results are:

ELEMENT  ABSCOR  FLUCOR  ZEDCOR  ZAFCOR STP-POW BKS-COR   F(x)u      Ec   Eo/Ec    MACs
   Fe ka   .9971  1.0000  1.0648  1.0617  1.0920   .9752   .9875  7.1120  2.1091 56.2059
   Cr ka  1.0009   .7455  1.0607   .7915  1.0815   .9807   .9790  5.9900  2.5042 88.3326
   Ti ka  1.0090   .8929  1.0543   .9499  1.0656   .9893   .9633  4.9670  3.0199 147.256
   Al ka  1.8604   .9996   .9575  1.7806   .9056  1.0573   .4770  1.5600  9.6154 2915.34
   Mn ka   .9983   .9706  1.0824  1.0488  1.1073   .9775   .9843  6.5390  2.2939 68.0066

ELEMENT   K-RAW K-VALUE ELEMWT% OXIDWT% ATOMIC% FORMULA KILOVOL                                       
   Fe ka 1.00000  .67813  71.999  92.626  43.232   7.907   15.00                                       
   Cr ka  .00305  .00195    .154    .226    .100    .018   15.00                                       
   Ti ka  .00013  .00007    .007    .011    .005    .001   15.00                                       
   Al ka  .00279  .00121    .216    .409    .269    .049   15.00                                       
   Mn ka  .00082  .00060    .063    .082    .039    .007   15.00                                       
   Mg                       .072    .119    .099    .018
   O                       5.881   5.881  12.326   2.254
   O                      20.961   -----  43.932   8.035
   TOTAL:                 99.354  99.354 100.000  18.289


And again, it's a change on the order of a few hundred PPM for Fe.   If you leave all the excess oxygen out (6.9 wt%), of course you will get a significantly different matrix correction.  But you should be comparing the difference (as I'm trying to show above) between including the mineral normalization in the matrix correction or not.

My point being that whether or not we are performing a mineral normalization for charge balance in the matrix correction, we should *always* be including the oxygen from Fe2O3 in the matrix correction.

I've attached my magnetite example file for CalcZAF below.
Title: Re: Mixed oxidation states in CalcZAF
Post by: Brian Joy on March 07, 2016, 07:24:48 PM
No, I didn't post the wrong image.  The rock (the locality escapes me) contains a spinel-group mineral that ranges in composition (apparently continuously) from essentially pure magnetite to a mineral that contains in excess of 30 wt% Cr2O3.  I don't know if the Cr-rich material has the "inverse" or "normal" spinel structure or something intermediate.  I may have used the term "magnetite" too loosely.  Regardless, the cation:oxygen ratio is still 3:4.

The only point I'm really trying to make is that there is some convenience in specifying the above ratio within the matrix correction iterations, as then the excess oxygen mass is determined automatically.
Title: Re: Mixed oxidation states in CalcZAF
Post by: Probeman on March 07, 2016, 09:56:11 PM
Quote from: Brian Joy on March 07, 2016, 07:24:48 PM
No, I didn't post the wrong image.  The rock (the locality escapes me) contains a spinel-group mineral that ranges in composition (apparently continuously) from essentially pure magnetite to a mineral that contains in excess of 30 wt% Cr2O3.  I don't know if the Cr-rich material has the "inverse" or "normal" structure.  I may have used the term "magnetite" too loosely.  Regardless, the cation:oxygen ratio is still 3:4.

The only point I'm really trying to make is that there is some convenience in specifying the above ratio within the matrix correction iterations, as then the excess oxygen mass is determined automatically.

Hi Brian,
I appreciate that the composition varies.  It's just that I asked you for an example of the *same* composition both with and without the mineral normalization adjustment of oxygen in the matrix iteration. The reason being that I suspect the effect on the matrix correction, with the expected range of change in excess oxygen, is only a few hundred PPM and therefore "in the noise".

I also appreciate that the method you propose can calculate the excess oxygen automatically for a given stoichiometry. That is very cool. But in this particular range of compositions, it would make as much sense to perform a specific mineral normalization *after* specifying oxygen by difference, by fixed composition or by fixed stoichiometry in the matrix iteration.  I suspect the change in the matrix effect in all these cases will be relatively insignificant from the mineral normalization.

But I'll grant you it's a clever idea to perform the mineral re-normalization in the matrix iteration. Though besides the apparent minimal effect of the matrix correction from this iterated mineral normalization, my other difficulty would be figuring out how to make this method of yours "universal" for all compositions and stochiometries.

It still seems like a lot of work for a small benefit, but maybe there other examples with larger matrix corrections (such as the halogen equivalence correction for F Ka in fluor-phlogopite example I have already implemented in the CalcZAF/Probe for EPMA code), that would benefit more from this treatment? Let's think about it.

Thanks for posting your thoughts and questions. I am very interested in pursuing these ideas further.
Title: Re: Mixed oxidation states in CalcZAF
Post by: Probeman on March 08, 2016, 04:59:33 PM
Here's an example of a modification of a calculated oxygen concentration during the matrix correction due to the halogen equivalence correction.

If we analyze a fluor-phlogopite with default oxygen stochiometry we obtain something like this:

Un    4 fluor-phlogopite, Results in Oxide Weight Percents

ELEM:      MgO       F    SiO2       O   Al2O3     K2O   SUM 
   121  29.467   9.261  42.990    .000  12.100  11.180 104.998
   122  29.329   9.508  43.069    .000  12.100  11.180 105.185
   123  29.270   9.348  42.982    .000  12.100  11.180 104.879
   124  28.759   8.999  43.073    .000  12.100  11.180 104.111
   125  28.779   9.208  42.038    .000  12.100  11.180 103.305
   126  28.974   9.253  42.571    .000  12.100  11.180 104.078

AVER:   29.096   9.263  42.787    .000  12.100  11.180 104.426
SDEV:     .300    .167    .412    .000    .000    .000    .719
SERR:     .123    .068    .168    .000    .000    .000
%RSD:     1.03    1.81     .96 -154.92     .00     .00
STDS:      273     835     273     ---     ---     ---

ZCOR:   1.4193  3.6139  1.3345     ---     ---     ---


Note that the total is high and that the fluorine concentration is around 9.2 wt% when it should be 9.0 wt%.  Why is this?  Because the matrix correction for F ka is too high from the extra 3 or 4 % oxygen being added in by stoichiometry.  Note the ZCOR (matrix correction) is about 3.6.

But because fluorine is replacing some of the stoichiometric oxygen, we need to apply the halogen correction in PFE, which not only subtracts the halogen equivalent of oxygen, but re-calculates the matrix correction for fluorine as seen here iteratively:

Un    4 fluor-phlogopite, Results in Oxide Weight Percents

ELEM:      MgO       F    SiO2       O   Al2O3     K2O   SUM 
   121  29.203   9.036  43.035  -3.805  12.100  11.180 100.750
   122  29.060   9.270  43.115  -3.903  12.100  11.180 100.821
   123  29.005   9.118  43.027  -3.839  12.100  11.180 100.591
   124  28.507   8.785  43.115  -3.699  12.100  11.180  99.988
   125  28.520   8.982  42.083  -3.782  12.100  11.180  99.082
   126  28.713   9.026  42.616  -3.801  12.100  11.180  99.834

AVER:   28.835   9.036  42.832  -3.805  12.100  11.180 100.178
SDEV:     .296    .159    .412    .067    .000    .000    .673
SERR:     .121    .065    .168    .027    .000    .000
%RSD:     1.03    1.76     .96   -1.76     .00     .00
STDS:      273     835     273     ---     ---     ---

ZCOR:   1.4065  3.5254  1.3359     ---     ---     ---


Now the fluorine concentration is correct and note that the matrix correction is significantly less at 3.5.  This is because F Ka is strongly absorbed by oxygen and therefore the matrix correction needs to be calculated again.

The CalcZAF.dat example input file contains a similar sample.
Title: Re: Mixed oxidation states in CalcZAF
Post by: Probeman on March 09, 2016, 06:50:48 AM
Quote from: Brian Joy on March 07, 2016, 07:24:48 PM
No, I didn't post the wrong image.  The rock (the locality escapes me) contains a spinel-group mineral that ranges in composition (apparently continuously) from essentially pure magnetite to a mineral that contains in excess of 30 wt% Cr2O3.  I don't know if the Cr-rich material has the "inverse" or "normal" structure.  I may have used the term "magnetite" too loosely.  Regardless, the cation:oxygen ratio is still 3:4.

The only point I'm really trying to make is that there is some convenience in specifying the above ratio within the matrix correction iterations, as then the excess oxygen mass is determined automatically.

Hi Brian,
I do agree with you on the "determined automatically" aspect of this.

Even if the difference in the matrix correction between say, oxygen by difference and oxygen by 3:4 stoichiometry is insignificant in these oxides, this method of yours does allow for an independent determination of Fe charge states.

That is to say,  this method doesn't have to be in the matrix correction iteration, but it certainly doesn't hurt to have it there... I'm trying to think of how to implement this for all oxide chemistries.
Title: Re: Mixed oxidation states in CalcZAF
Post by: Probeman on March 09, 2016, 07:10:32 AM
Can someone explain something to me (I'm no geologist!)? If chromite is FeCr2O4 to MgCr2O4 (all iron is Fe+2), why do the Smithsonian chromite compositions contain some excess oxygen?

St  396 Chromite (UC # 523-9)
Average Total Oxygen:       33.042     Average Total Weight%:  100.194
Average Calculated Oxygen:  31.942     Average Atomic Number:   17.533
Average Excess Oxygen:       1.100     Average Atomic Weight:   27.796

ELEM:    Cr2O3    TiO2   Al2O3     FeO     MnO     MgO    V2O3       O    SiO2
XRAY:      ka      ka      ka      ka      ka      ka      ka      ka      ka
OXWT:   46.632    .500  14.530  26.620    .191  10.431    .179   1.100    .011
ELWT:   31.905    .300   7.690  20.692    .148   6.290    .122  33.042    .005
KFAC:    .3060   .0031   .0469   .1836   .0013   .0330   .0011   .2290   .0000
ZCOR:   1.0427   .9632  1.6398  1.1272  1.1104  1.9040  1.0698  1.4431  1.4097
AT% :   17.023    .174   7.907  10.279    .075   7.180    .066  57.292    .005
24 O:    7.131    .073   3.312   4.306    .031   3.008    .028  24.000    .002


St  455 Chromite USNM 117075
Average Total Oxygen:       33.208     Average Total Weight%:   99.640
Average Calculated Oxygen:  32.909     Average Atomic Number:   17.187
Average Excess Oxygen:        .299     Average Atomic Weight:   27.414

ELEM:    Cr2O3     FeO   Al2O3     MgO     CaO     MnO    TiO2     NiO    SiO2       O
XRAY:      ka      ka      ka      ka      ka      ka      ka      ka      ka      ka
OXWT:   60.502  13.040   9.920  15.200    .120    .230    .120    .160    .049    .299
ELWT:   41.395  10.136   5.250   9.166    .086    .178    .072    .126    .023  33.208
KFAC:    .3859   .0890   .0317   .0493   .0009   .0016   .0008   .0011   .0002   .2384
ZCOR:   1.0727  1.1388  1.6541  1.8607   .9619  1.1152   .9396  1.1224  1.3950  1.3931
AT% :   21.903   4.993   5.353  10.376    .059    .089    .041    .059    .023  57.103
24 O:    9.206   2.099   2.250   4.361    .025    .037    .017    .025    .009  24.000


If Al2O3 replaces some Cr2O3, that won't change the cation stoichiometry, right?
Title: Re: Mixed oxidation states in CalcZAF
Post by: qEd on March 09, 2016, 10:28:50 AM
If measured oxygen is < the calculated, how is that an excess?
Title: Re: Mixed oxidation states in CalcZAF
Post by: Probeman on March 09, 2016, 12:41:55 PM
Quote from: qEd on March 09, 2016, 10:28:50 AM
If measured oxygen is < the calculated, how is that an excess?

It's a "negative" excess!   ;D

What? You can't handle negative results?   ;)

In any case, we're not measuring oxygen, we're just calculating it by cation stoichiometry and then adjusting that oxygen concentration for various reasons, e.g., halogen equivalence, FeO/Fe2O3 ratio, etc... and then re-calculating the matrix correction for the change in stoichiometric oxygen.   8)
Title: Re: Mixed oxidation states in CalcZAF
Post by: Paul Carpenter on March 10, 2016, 12:28:45 PM
Many terrestrial minerals contain both Fe2+ and Fe3+. The Smithsonian wet chemical analyses measure Fe gravimetrically to get Fe0, and also a titration is done to determine Fe 2+ vs. 3+
Phases like fayalite may contain small amounts of Fe3+
Andradite garnet by definition is an Fe3+ garnet end member, but almandine is the nominally Fe2+ end member.
Info like this is available on web mineral web pages and in mineralogy texts.

Paul
Title: Re: Mixed oxidation states in CalcZAF
Post by: Probeman on March 10, 2016, 02:03:09 PM
Quote from: Paul Carpenter on March 10, 2016, 12:28:45 PM
Many terrestrial minerals contain both Fe2+ and Fe3+. The Smithsonian wet chemical analyses measure Fe gravimetrically to get Fe0, and also a titration is done to determine Fe 2+ vs. 3+
Phases like fayalite may contain small amounts of Fe3+
Andradite garnet by definition is an Fe3+ garnet end member, but almandine is the nominally Fe2+ end member.
Info like this is available on web mineral web pages and in mineralogy texts.

I am not explaining myself well enough. I am aware that Fe+2 and Fe+3 coexist in many minerals, but if the ideal chromite formula is FeCr2O4 to MgCr2O4, that is, all Fe is as FeO (Fe+2), then why do the Smithsonian chromite compositions contain some excess oxygen when Fe is calculated as FeO? 

I get that Al2O3 can replace Cr2O3 in the chromite formula, alright.  But that won't change the cation to oxygen ratio, correct?   I guess my question is: can we get a "chromite structure" where all the Cr is replaced by Al such that it is FeAl2O4 and all Fe is still FeO?

More specifically, where is the excess oxygen coming from?  Clearly some of the Fe is Fe+3 but which site is it going into?  The Cr2O3 site I guess?  I assume it's a structural issue.
Title: Re: Mixed oxidation states in CalcZAF
Post by: Julien on March 10, 2016, 02:12:06 PM
Jarosewich et al 1980 report this analysis with a comment (#3: Total Fe reported as FeO). However, I agree with others that it is common for spinel-group mineral to have substitution of Al2O3 or Cr2O3 by Fe2O3. You can have a glimpse (estimate) of the FeO vs. Fe2O3 by using an oxygen AND cation normalization (i.e., you fix as a constraint both the total number of anion, 4 for chromite, and the total number of cation, 3). With this, you can perform a charge balance (how many positive charges, assuming only FeO, do you have to compensate for the 8 negative charges? If not enough positive charges, then you "convert" some FeO to Fe2O3 to balance the charge).

I've played with the chromite analysis given in Jarosewich. Here are the results (1st line = cation AND oxygen normalization, 2nd line = oxygen normalization only assuming all Fe as Fe2+):

         Al2O3   Cr2O3   Fe2O3   FeO   MgO   MnO   Total   
Cation   9.92   60.50   3.45   9.93   15.20   0.11   99.12   
Oxygen   9.92   60.50   0.00   13.04   15.20   0.11   98.77   
                        
         Al      Cr      Fe3+   Fe2+      Mg      Mn      Cation      O
Cation   0.376   1.540   0.084   0.267   0.730   0.003   3.000   4.000
Oxygen   0.380   1.556   0.000   0.355   0.737   0.003   3.032   4.000


Interestingly enough, with the estimate of Fe2+ / Fe3+, the total number of trivalent cation is now EXACTLY 2.000 (versus 1.937 if you assume all Fe2+ as Fe3+). This is EXACTLY the mineral formula of chromite:

(Fe2+ 0.267, Mg 0.730, Mn 0.003) (Cr 1.540, Al 0.376, Fe3+ 0.084) O4

Sum trivalent = 2.000
Sum divalent = 1.000

Now of course this is the CALCULATED (estimate!!!) of Fe2O3 - not measured. This addition of Fe3+ represent an excess of 0.346 wt-% oxygen, close to the 0.299 you report. Maybe the 0.299 actually reflect a non-published MEASUREMENT of Fe2O3 and FeO by Mössbauer or so...

QED.
Title: Re: Mixed oxidation states in CalcZAF
Post by: Julien on March 10, 2016, 02:13:19 PM
Here is a summary spreadsheet of my test... I used my website to run the normalization (http://cub.geoloweb.ch/index.php?page=mineral_formula).

J.
Title: Re: Mixed oxidation states in CalcZAF
Post by: Probeman on March 10, 2016, 05:04:41 PM
Quote from: Julien on March 10, 2016, 02:13:19 PM
Here is a summary spreadsheet of my test... I used my website to run the normalization (http://cub.geoloweb.ch/index.php?page=mineral_formula).

J.

Thanks Julien,
That makes more sense!

FYI to all: you need to be logged in to see Julien's attachment in the above post.
Title: Re: Mixed oxidation states in CalcZAF
Post by: jeffchen on February 07, 2018, 03:37:07 PM
I understand the purpose of recalculating the oxidation state of multi-valent elements is to satisfy the "assumed chemical formula" of a crystalline phase. In the context of high temperature metallurgy, many phases do not really have fixed "formula", an example is magnetite. At high temperature(~1450oC) in air, magnetite can take significant more Fe3+ so that Fe3+/Fe2+ in it is greater than 2. 

I'd appreciate if someone could educate me to what extent mineral phases are close to their the theoretical chemical formulas in geological context.
Title: Re: Mixed oxidation states in CalcZAF
Post by: Probeman on February 09, 2018, 10:06:37 AM
Quote from: jeffchen on February 07, 2018, 03:37:07 PM
I understand the purpose of recalculating the oxidation state of multi-valent elements is to satisfy the "assumed chemical formula" of a crystalline phase. In the context of high temperature metallurgy, many phases do not really have fixed "formula", an example is magnetite. At high temperature(~1450oC) in air, magnetite can take significant more Fe3+ so that Fe3+/Fe2+ in it is greater than 2. 

I'd appreciate if someone could educate me to what extent mineral phases are close to their the theoretical chemical formulas in geological context.

Hi Jeff,
I am not a geologist so I probably can't help you, but I have a question.  Are you saying, for example, that in the case of magnetite Fe3O4, which is ideally composed of one FeO molecule and one Fe2O3 molecule, that at high temperatures, the ratio of FeO to Fe2O3 is no longer 1:1?  That there are more Fe2O3 molecules than FeO molecules in high temperature magnetite?
john

Title: Re: Mixed oxidation states in CalcZAF
Post by: jon_wade on February 10, 2018, 12:24:00 PM
Bernie Wood, a long time ago, wrote a paper on spinels (I believe) and noted that because the Fe substitution mechanism is known, analysing those elements that Fe 3+ can substitute in for allows you to accurately determine the speciation of iron, with accuracy approaching Mössbauer.  Yeah, yeah accurate standards of known Fe2/3+ are required and good probe stats required (Peaksight 6 defeated me last time I attempted this - it had count times the stopped at a fixed precision, now changed I believe), but it works. 

The reason I was interested is trying to do Fe speciation by XANES in crystalline materials is a weapons grade pain in the posterior and a drain on life force.  Sometimes the old skool probe is just better.
Title: Re: Mixed oxidation states in CalcZAF
Post by: jeffchen on February 11, 2018, 03:01:19 PM
Quote from: Probeman on February 09, 2018, 10:06:37 AM
Quote from: jeffchen on February 07, 2018, 03:37:07 PM
I understand the purpose of recalculating the oxidation state of multi-valent elements is to satisfy the "assumed chemical formula" of a crystalline phase. In the context of high temperature metallurgy, many phases do not really have fixed "formula", an example is magnetite. At high temperature(~1450oC) in air, magnetite can take significant more Fe3+ so that Fe3+/Fe2+ in it is greater than 2. 

I'd appreciate if someone could educate me to what extent mineral phases are close to their the theoretical chemical formulas in geological context.

Hi Jeff,
I am not a geologist so I probably can't help you, but I have a question.  Are you saying, for example, that in the case of magnetite Fe3O4, which is ideally composed of one FeO molecule and one Fe2O3 molecule, that at high temperatures, the ratio of FeO to Fe2O3 is no longer 1:1?  That there are more Fe2O3 molecules than FeO molecules in high temperature magnetite?
john

Hi John,

That's correct, I attached a FeO-Fe2O3 phase diagram at 1atm presssure. As you can see the magnetite can have more Fe2O3 than Fe3O4, it starts at around 1100oC and reaches maximum at around 1800oC.
Title: Re: Mixed oxidation states in CalcZAF
Post by: Probeman on February 11, 2018, 05:08:55 PM
Hi Jeff,
I learn something new everyday!     :)

So in natural magnetites, what is the observed range of compositions?   I guess this is what you were asking about in your original post?   

Maybe I should ask, if stoichiometric Fe3O4 is 72.36 wt% iron and 27.64 wt.% oxygen, based on that phase diagram you posted, how much would we expect to see the Fe concentration change in natural materials (on Earth!)?

Again apologies for asking basic geology questions.
john
Title: Re: Mixed oxidation states in CalcZAF
Post by: John Donovan on August 19, 2019, 03:58:11 PM
It has taken some time but with the help of a number of friends (Andrew Locock, Anette von der Handt, John Fournelle, and Emma Bullock), we have finally realized Brian Joy's most excellent suggestion to implement a ferrous/ferric calculation into the matrix correction physics.

The implementation of this feature in Probe for EPMA will be described in this post and others soon to follow:

https://smf.probesoftware.com/index.php?topic=92.msg8591#msg8591

But I thought I'd start here with the implementation in CalcZAF. Though both PFE and CalcZAF are using exactly the same code for the ferrous/ferric calculation and subsequent treatment in the ZAFSmp routine as shown here (and hosted on Github):

' 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!())
If ierror Then Exit Sub
End If

' Calculate excess oxygen from ferric Fe
If sample(1).FerrousFerricCalculationFlag Then
Call ConvertFerrousFerricRatioFromComposition(zaf.in0%, zaf.Z%(), zaf.atwts!(), r1!(), sample(1).numcat%(), sample(1).numoxd%(), zaf.p1!(), sample(1).DisableQuantFlag%(), sample(1).FerrousFerricTotalCations!, sample(1).FerrousFerricTotalOxygens!, tFerricToTotalIronRatio!, tFerricOxygen!, tFe_as_FeO!, tFe_as_Fe2O3!)
If ierror Then Exit Sub
r1(zaf.in0%) = r1(zaf.in0%) + tFerricOxygen! / 100#
End If

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


So here's an example in CalcZAF of a magnetite unknown using magnetite as a standard:

(https://smf.probesoftware.com/gallery/1_19_08_19_3_41_44.png)

And calculating Fe as FeO we see the expected low totals due to some of the iron being Fe2O3:

Magnetite

STANDARD PARAMETERS (TOA= 40):

ELEMENT  STDNUM STDCONC STDKFAC   Z-BAR  ABSCOR  FLUCOR  ZEDCOR  ZAFCOR                 
   Fe Ka      39  72.359   .6810 21.0246   .9969  1.0000  1.0660  1.0626

ELEMENT STP-POW BKS-COR   F(x)e   F(x)s      Eo      Ec   Eo/Ec
   Fe Ka  1.0935   .9748   .9846   .9877   15.00  7.1120  2.1091


SAMPLE: 2, TOA: 40, ITERATIONS: 1, Z-BAR: 21.99148

ELEMENT  ABSCOR  FLUCOR  ZEDCOR  ZAFCOR STP-POW BKS-COR   F(x)u      Ec   Eo/Ec    MACs uZAF/sZAF
   Fe ka   .9974  1.0000  1.0530  1.0503  1.0753   .9793   .9871  7.1120  2.1091 53.4587  .9883946

ELEMENT   K-RAW K-VALUE ELEMWT% OXIDWT% ATOMIC% FORMULA KILOVOL                                       
   Fe ka 1.00023  .68111  71.536  92.031  50.000   1.000   15.00                                       
   O                        .000    .000    .000    .000
   O                      20.495   -----  50.000   1.000
   TOTAL:                 92.031  92.031 100.000   2.000

So by calculating Fe as FeO we get 71.536 wt% Fe, but are missing about 7 wt% excess oxygen from ferric iron. Now clicking on the Calculation Options button in CalcZAF we see a new checkbox and two text fields for the mineral stoichiometry.

(https://smf.probesoftware.com/gallery/1_19_08_19_3_42_15.png)

Since this is a magnetite, that would be 3 total cations and 4 totals oxygens. Other common minerals as follows (I'm no geologist so please let me know if I got these wrong):

Mineral   Cations  Oxygens
hematite     2        3
olivine      3        4
ilmenite     2        3
garnet       8       12
feldspar     5        8
pyroxene     4        6

With this flag checked and the 3 cations and 4 oxygens specified we now get this result:

Magnetite

STANDARD PARAMETERS (TOA= 40):

ELEMENT  STDNUM STDCONC STDKFAC   Z-BAR  ABSCOR  FLUCOR  ZEDCOR  ZAFCOR                 
   Fe Ka      39  72.359   .6810 21.0246   .9969  1.0000  1.0660  1.0626

ELEMENT STP-POW BKS-COR   F(x)e   F(x)s      Eo      Ec   Eo/Ec
   Fe Ka  1.0935   .9748   .9846   .9877   15.00  7.1120  2.1091

SAMPLE: 2, TOA: 40, ITERATIONS: 2, Z-BAR: 21.02464

ELEMENT  ABSCOR  FLUCOR  ZEDCOR  ZAFCOR STP-POW BKS-COR   F(x)u      Ec   Eo/Ec    MACs uZAF/sZAF
   Fe ka   .9969  1.0000  1.0660  1.0626  1.0935   .9748   .9877  7.1120  2.1091 55.6448  1.000000

ELEMENT   K-RAW K-VALUE ELEMWT% OXIDWT% ATOMIC% FORMULA KILOVOL                                       
   Fe ka 1.00023  .68111  72.376  93.111  42.857   1.000   15.00                                       
   O                        .000    .000    .000    .000
   O                      27.647   -----  57.143   1.333
   TOTAL:                100.023 100.023 100.000   2.333

Note that not only did our total get much better, but our Fe wt% went from 71.536 to 72.376, just from adding the ferric oxygen into the matrix correction!  This is simply because Fe Ka is absorbed more by oxygen, than by iron and therefore needs to be included in the matrix correction phsyics as suggested originally by Brian Joy. 

But of course the cool part is the new output as seen here:

FerricIronToTotalIronRatio:    .6667
Ferrous Oxide (FeO):         30.6769
Ferric Oxide (Fe2O3):        68.1855
Excess Oxygen from Fe2O3:     6.8316

Right now it outputs this twice (once for each iteration loop), so I'll need to fix that, but the new code calculates the ferric to total iron ratio, the ferrous and ferric iron, and the excess oxygen from the ferric iron.

Please download and try it out and let me know what you think.  I have no idea how much of an effect this will have on ones calculated temperatures and pressures, so let us know if you find anything interesting.
Title: Re: Mixed oxidation states in CalcZAF
Post by: Ben Buse on December 03, 2019, 08:45:36 AM
Quote from: Julien on March 10, 2016, 02:12:06 PM
Jarosewich et al 1980 report this analysis with a comment (#3: Total Fe reported as FeO). However, I agree with others that it is common for spinel-group mineral to have substitution of Al2O3 or Cr2O3 by Fe2O3. You can have a glimpse (estimate) of the FeO vs. Fe2O3 by using an oxygen AND cation normalization (i.e., you fix as a constraint both the total number of anion, 4 for chromite, and the total number of cation, 3). With this, you can perform a charge balance (how many positive charges, assuming only FeO, do you have to compensate for the 8 negative charges? If not enough positive charges, then you "convert" some FeO to Fe2O3 to balance the charge).

I've played with the chromite analysis given in Jarosewich. Here are the results (1st line = cation AND oxygen normalization, 2nd line = oxygen normalization only assuming all Fe as Fe2+):

         Al2O3   Cr2O3   Fe2O3   FeO   MgO   MnO   Total   
Cation   9.92   60.50   3.45   9.93   15.20   0.11   99.12   
Oxygen   9.92   60.50   0.00   13.04   15.20   0.11   98.77   
                        
         Al      Cr      Fe3+   Fe2+      Mg      Mn      Cation      O
Cation   0.376   1.540   0.084   0.267   0.730   0.003   3.000   4.000
Oxygen   0.380   1.556   0.000   0.355   0.737   0.003   3.032   4.000


Interestingly enough, with the estimate of Fe2+ / Fe3+, the total number of trivalent cation is now EXACTLY 2.000 (versus 1.937 if you assume all Fe2+ as Fe3+). This is EXACTLY the mineral formula of chromite:

(Fe2+ 0.267, Mg 0.730, Mn 0.003) (Cr 1.540, Al 0.376, Fe3+ 0.084) O4

Sum trivalent = 2.000
Sum divalent = 1.000

Now of course this is the CALCULATED (estimate!!!) of Fe2O3 - not measured. This addition of Fe3+ represent an excess of 0.346 wt-% oxygen, close to the 0.299 you report. Maybe the 0.299 actually reflect a non-published MEASUREMENT of Fe2O3 and FeO by Mössbauer or so...

QED.

Hi,

Anyone know why the total is so low for this chromite.

The interesting thing about chromites (particularly when considering oxidation state) is that the Mg and Al concentrations are very sensitivity to matrix correction and MACs used, and can change values by 1-2wt.% absolute.

Is there any chromite standard that has been independently measured?

Thanks

Ben
Title: Re: Mixed oxidation states in CalcZAF
Post by: Probeman on December 07, 2019, 09:18:55 AM
Quote from: Ben Buse on December 03, 2019, 08:45:36 AM
Quote from: Julien on March 10, 2016, 02:12:06 PM
Jarosewich et al 1980 report this analysis with a comment (#3: Total Fe reported as FeO). However, I agree with others that it is common for spinel-group mineral to have substitution of Al2O3 or Cr2O3 by Fe2O3. You can have a glimpse (estimate) of the FeO vs. Fe2O3 by using an oxygen AND cation normalization (i.e., you fix as a constraint both the total number of anion, 4 for chromite, and the total number of cation, 3). With this, you can perform a charge balance (how many positive charges, assuming only FeO, do you have to compensate for the 8 negative charges? If not enough positive charges, then you "convert" some FeO to Fe2O3 to balance the charge).

I've played with the chromite analysis given in Jarosewich. Here are the results (1st line = cation AND oxygen normalization, 2nd line = oxygen normalization only assuming all Fe as Fe2+):

         Al2O3   Cr2O3   Fe2O3   FeO   MgO   MnO   Total   
Cation   9.92   60.50   3.45   9.93   15.20   0.11   99.12   
Oxygen   9.92   60.50   0.00   13.04   15.20   0.11   98.77   
                        
         Al      Cr      Fe3+   Fe2+      Mg      Mn      Cation      O
Cation   0.376   1.540   0.084   0.267   0.730   0.003   3.000   4.000
Oxygen   0.380   1.556   0.000   0.355   0.737   0.003   3.032   4.000


Interestingly enough, with the estimate of Fe2+ / Fe3+, the total number of trivalent cation is now EXACTLY 2.000 (versus 1.937 if you assume all Fe2+ as Fe3+). This is EXACTLY the mineral formula of chromite:

(Fe2+ 0.267, Mg 0.730, Mn 0.003) (Cr 1.540, Al 0.376, Fe3+ 0.084) O4

Sum trivalent = 2.000
Sum divalent = 1.000

Now of course this is the CALCULATED (estimate!!!) of Fe2O3 - not measured. This addition of Fe3+ represent an excess of 0.346 wt-% oxygen, close to the 0.299 you report. Maybe the 0.299 actually reflect a non-published MEASUREMENT of Fe2O3 and FeO by Mössbauer or so...

QED.

Hi,

Anyone know why the total is so low for this chromite.

The interesting thing about chromites (particularly when considering oxidation state) is that the Mg and Al concentrations are very sensitivity to matrix correction and MACs used, and can change values by 1-2wt.% absolute.

Is there any chromite standard that has been independently measured?

Thanks

Ben

Hi Ben,
I'm not sure where some of these numbers came from, but my USNM chromite shows this composition along with a 99.64% total, including 0.299 wt% excess oxygen.

St  455 Chromite USNM 117075
TakeOff = 40.0  KiloVolt = 15.0  Density =  4.750  Type = oxide

Analysis (wet chemistry) by Gene Jarosewich
Oxide and Elemental Composition

Average Total Oxygen:       33.208     Average Total Weight%:   99.640
Average Calculated Oxygen:  32.909     Average Atomic Number:   17.187
Average Excess Oxygen:        .299     Average Atomic Weight:   27.414

ELEM:    Cr2O3     FeO   Al2O3     MgO     CaO     MnO    TiO2     NiO    SiO2       O
XRAY:      ka      ka      ka      ka      ka      ka      ka      ka      ka      ka
OXWT:   60.502  13.040   9.920  15.200    .120    .230    .120    .160    .049    .299
ELWT:   41.395  10.136   5.250   9.166    .086    .178    .072    .126    .023  33.208
KFAC:    .3859   .0890   .0317   .0493   .0009   .0016   .0008   .0011   .0002   .2384
ZCOR:   1.0727  1.1388  1.6541  1.8607   .9619  1.1152   .9396  1.1224  1.3950  1.3931
AT% :   21.903   4.993   5.353  10.376    .059    .089    .041    .059    .023  57.103
24 O:    9.206   2.099   2.250   4.361    .025    .037    .017    .025    .009  24.000

Of course everyone knows my feelings about natural standard materials- they just aren't pure enough, nor homogeneous enough, nor inclusion free enough for my "tastes".    :P

https://smf.probesoftware.com/index.php?topic=301.msg2405#msg2405

I wonder if there's someone out there that could synthesize a pure end member chromite (FeCr2O4) for us?  Wouldn't that be wonderful?
Title: Re: Mixed oxidation states in CalcZAF
Post by: AndrewLocock on December 17, 2019, 05:09:49 PM
Quote from: Ben Buse on December 03, 2019, 08:45:36 AM
Hi,

Anyone know why the total is so low for this chromite.

The interesting thing about chromites (particularly when considering oxidation state) is that the Mg and Al concentrations are very sensitivity to matrix correction and MACs used, and can change values by 1-2wt.% absolute.

Is there any chromite standard that has been independently measured?

Thanks

Ben

Hello,
Forsythe & Fisk (Proceedings of the Ocean Drilling Program, Scientific Results Vol 135, pp. 585-594, 1994) in their Table 2 reported the following additional oxides (n=62, with standard deviations in parentheses):
SiO2 0.07 (0.01), TiO2 0.12 (0.02), ZnO 0.06 (0.03), NiO 0.17 (0.02), V2O5 0.10 (0.02), Na2O 0.01 (0.01), whose sum is 0.53 wt%.

My own in-house analyses of Tiebaghi chromite USNM 117075 (n=75) give the following additional oxides:
- below the limit of detection are SiO2, CaO, Nb2O5, SO3, CoO, Na2O, and K2O;
- found were TiO2 0.11 (0.01), ZnO 0.03 (0.02), NiO 0.17 (0.01), V2O3 0.08 (0.01), sum 0.38 wt%.
These results are in generally good agreement with Forsythe & Fisk (1994).
[Note that 0.08 V2O3 is essentially equivalent to 0.10 V2O5.]

In particular, I find no CaO above detection, in contrast with the 1980 report of Jarosewich et al.
However, this is in agreement with the most recent on-line posting of the Smithsonian Microprobe Standards datasheets, where CaO is omitted from the chromite entry.

The implication is an additional ~0.4 wt% of elements in addition to those listed on the current SMS datasheet.
And the consequent atomic proportion of ferric iron would be around 24% (around 3.5 wt% Fe2O3).

It would be interesting to know if others have observed these minor elements.

Best regards,
Andrew

Title: Re: Mixed oxidation states in CalcZAF
Post by: Brian Joy on December 18, 2019, 10:49:04 AM
Quote from: AndrewLocock on December 17, 2019, 05:09:49 PM
My own in-house analyses of Tiebaghi chromite USNM 117075 (n=75) give the following additional oxides:
- below the limit of detection are SiO2, CaO, Nb2O5, SO3, CoO, Na2O, and K2O;
- found were TiO2 0.11 (0.01), ZnO 0.03 (0.02), NiO 0.17 (0.01), V2O3 0.08 (0.01), sum 0.38 wt%.
These results are in generally good agreement with Forsythe & Fisk (1994).
[Note that 0.08 V2O3 is essentially equivalent to 0.10 V2O5.]

In particular, I find no CaO above detection, in contrast with the 1980 report of Jarosewich et al.
However, this is in agreement with the most recent on-line posting of the Smithsonian Microprobe Standards datasheets, where CaO is omitted from the chromite entry.

The implication is an additional ~0.4 wt% of elements in addition to those listed on the current SMS datasheet.
And the consequent atomic proportion of ferric iron would be around 24% (around 3.5 wt% Fe2O3).

It would be interesting to know if others have observed these minor elements.

Best regards,
Andrew

I often use Tiebaghi chromite as a secondary standard.  I find that it is inhomogeneous in Fe and Mg.  Using synthetic eskolaite (Cr), synthetic spinel (Mg, Al), synthetic magnetite (Fe), synthetic hausmannite (Mn), natural rutile (Ti), natural gahnite (Zn), synthetic liebenbergite (Ni), and natural wollastonite (Si, Ca) as standards, I get the following averages (and standard deviations) from a subset of 44 analyses collected on nine occasions:

SiO2:  bdl
TiO2:  0.12 (0.02) wt%
Al2O3:  9.75 (0.05)
Cr2O3:  61.10 (0.42)
V2O3:  0.09 (0.02)
Fe2O3:  3.25 (0.44)
FeO:  10.14 (0.31)
MnO:  0.20 (0.01)
MgO:  15.11 (0.21)
ZnO:  0.05 (0.03)
NiO:  0.18 (0.01)
CaO:  bdl
Total:  99.98

I've used the PAP atomic number and absorption corrections with Heinrich's (1987) mass absorption coefficients and Reed's (1990) characteristic fluorescence correction.  I've recalculated for Fe2O3 by charge balance within the iterations used to calculate the matrix correction factors.