Test the effect of the IORDER parameter on EXAFS analysis
Feff testing framework
Table of Contents
1 Background
The feff document tells us this about the IORDER
parameter
(links and some formatting added by me):
Order of the approximation used in module
GENFMT
.feff
uses order 2 by default, which is correct to terms of order 1/(pR)^2 and corresponds to 6x6 scattering matrices in the Rehr-Albers formalism. Single scattering is calculated exactly to this order. The 6x6 approximation is accurate to within a few percent in every case we have tried (that is, higher order doesn’t change the result more than a few percent). However M4 shells and higher shells may require increased iorder for coupling the matrix elements. Changing the default values requires some familiarity with the Rehr-Albers paper and the structure of the moduleGENFMT
. To do so, follow the instructions in the feff source code in subroutinesetlam
. The keyiord
is passed tosetlam
for processing. You may need to change the code parameterlamtot
if you want to do higher order calculations. For details of the algorithm used byGENFMT
, see the paper by J.J. Rehr and R.C. Albers. For the M4 and higher edges, you may receive an error message like: Lambda array overfilled. In that case the calculations should be repeated withIORDER -70202
(10x10 matrices).
To test the effect of changing the iord
parameter on EXAFS analysis,
I compiled up a copy of the genfmt
program with /src/HEADERS/dim.h
modified with lamtot=35
, mtot=6
, and ntot=4
. (I am a bit
skeptical that I have done this correctly. I can run genfmt
to
completion with the default values (15,4,2) and get the same results.
Either the advice to modify the code for higher order is nonsense, or
it is not explained clearly enough for me to follow.)
Caveat: I selected those values based on my understanding of
setlam.f
. genfmt
ran to completion without complaint, so I am
hopeful that that was done correctly.
For each material (see the SCF tests document for descriptions of the
materials), I computed Feff with self-consistency and the
self-consistency radius set to the second shortest value used in the
SCF tests. For example, for FeS2, the radius was set to 3.6 Å
and, for BaZrO3, the radius was set to 4 Å. I then ran
calculations with the iord
parameter set to 1, 2, 3, 4, and 10. The
code identifies 10 as triggering the “cute” algorithm, which treats
collinear paths differently from other multiple scattering paths.
Changes to the iord
parameter should only effect multiple scattering
paths. Single scattering paths are calculated without that
approximation. This is easily tested. Running a sequence of first
shell fits with different values if iord
does, in fact, result in
identical fit results. For example, here are the results for first
shell fits to FeS2:
1.1 Best fit values
model | amp | delr | enot | ss |
---|---|---|---|---|
iorder(01) | 0.65(4) | 0.00263(606) | -1.39(80) | 0.00275(73) |
iorder(02) | 0.65(4) | 0.00263(606) | -1.39(80) | 0.00275(73) |
iorder(03) | 0.65(4) | 0.00263(606) | -1.39(80) | 0.00275(73) |
iorder(04) | 0.65(4) | 0.00263(606) | -1.39(80) | 0.00275(73) |
iorder(10) | 0.65(4) | 0.00263(606) | -1.39(80) | 0.00275(73) |
1.2 Statistics
model | chi-square | chi-reduced | R-factor |
---|---|---|---|
iorder(01) | 1689.4014 | 425.3271 | 0.0061 |
iorder(02) | 1689.4014 | 425.3271 | 0.0061 |
iorder(03) | 1689.4014 | 425.3271 | 0.0061 |
iorder(04) | 1689.4014 | 425.3271 | 0.0061 |
iorder(10) | 1689.4014 | 425.3271 | 0.0061 |
The fits are not plotted here. In all cases, the fit quality is
comparable to what is shown in the SCF test document. The tiny
differences between the different iord
values are almost impossible
to see in the plot. Thus, only the tables are presented here.
2 Copper
2.1 Best fit values
model | alpha | amp | enot | ss1 | thetad |
---|---|---|---|---|---|
iorder(01) | -0.00100(95) | 0.93(4) | 3.65(50) | 0.00391(34) | 231(19) |
iorder(02) | -0.00076(104) | 0.94(5) | 3.54(56) | 0.00402(38) | 242(22) |
iorder(03) | -0.00084(108) | 0.94(5) | 3.47(58) | 0.00402(39) | 242(23) |
iorder(04) | -0.00085(107) | 0.94(5) | 3.47(57) | 0.00402(39) | 241(23) |
iorder(10) | -0.00085(108) | 0.94(5) | 3.47(58) | 0.00402(39) | 241(23) |
2.2 Statistics
model | chi-square | chi-reduced | R-factor |
---|---|---|---|
iorder(01) | 1451.5050 | 54.6547 | 0.0145 |
iorder(02) | 1814.3186 | 68.3160 | 0.0182 |
iorder(03) | 1957.0127 | 73.6890 | 0.0196 |
iorder(04) | 1939.1358 | 73.0158 | 0.0194 |
iorder(10) | 1960.6756 | 73.8269 | 0.0196 |
3 NiO
3.1 Best fit values
model | alpha | amp | enot | ssni | ssni2 | sso | sso2 |
---|---|---|---|---|---|---|---|
iorder(01) | -0.00143(178) | 0.69(5) | -8.21(64) | 0.00544(67) | 0.00824(131) | 0.00421(138) | 0.04240(4140) |
iorder(02) | -0.00073(145) | 0.71(4) | -7.95(53) | 0.00555(55) | 0.00715(95) | 0.00456(119) | 0.03368(2237) |
iorder(03) | -0.00079(144) | 0.71(4) | -7.98(53) | 0.00556(55) | 0.00714(94) | 0.00454(118) | 0.03124(1981) |
iorder(04) | -0.00081(145) | 0.71(4) | -7.98(53) | 0.00555(55) | 0.00713(94) | 0.00453(118) | 0.03125(1991) |
iorder(10) | -0.00079(144) | 0.71(4) | -7.98(53) | 0.00556(55) | 0.00714(94) | 0.00455(118) | 0.03113(1970) |
3.2 Statistics
model | chi-square | chi-reduced | R-factor |
---|---|---|---|
iorder(01) | 38702.7615 | 1901.1944 | 0.0303 |
iorder(02) | 26875.8980 | 1320.2238 | 0.0211 |
iorder(03) | 26578.2785 | 1305.6039 | 0.0208 |
iorder(04) | 26758.0818 | 1314.4363 | 0.0210 |
iorder(10) | 26567.5468 | 1305.0767 | 0.0208 |
4 FeS2
4.1 Best fit values
model | alpha | amp | enot | ss | ss2 | ssfe |
---|---|---|---|---|---|---|
iorder(01) | 0.00215(185) | 0.68(3) | -2.01(60) | 0.00314(62) | 0.00444(174) | 0.00493(75) |
iorder(02) | 0.00212(191) | 0.68(3) | -2.17(63) | 0.00311(63) | 0.00423(172) | 0.00494(77) |
iorder(03) | 0.00213(198) | 0.68(4) | -2.21(66) | 0.00313(66) | 0.00415(177) | 0.00497(80) |
iorder(04) | 0.00211(199) | 0.68(4) | -2.21(66) | 0.00312(66) | 0.00414(178) | 0.00496(80) |
iorder(10) | 0.00213(199) | 0.68(4) | -2.21(66) | 0.00313(66) | 0.00415(177) | 0.00497(80) |
4.2 Statistics
model | chi-square | chi-reduced | R-factor |
---|---|---|---|
iorder(01) | 4447.0925 | 317.3195 | 0.0140 |
iorder(02) | 4634.9046 | 330.7207 | 0.0145 |
iorder(03) | 5022.0462 | 358.3449 | 0.0158 |
iorder(04) | 5058.9254 | 360.9764 | 0.0159 |
iorder(10) | 5035.8570 | 359.3304 | 0.0158 |
5 UO2
5.1 Best fit values
model | amp | dro | dro2 | dru | enot | nu | sso | sso2 | ssu |
---|---|---|---|---|---|---|---|---|---|
iorder(01) | 0.82(10) | -0.027(13) | -0.003(34) | -0.003(12) | 2.01(130) | 8.61(375) | 0.00875(209) | 0.00954(555) | 0.00352(263) |
iorder(02) | 0.84(10) | -0.026(13) | -0.013(29) | -0.003(11) | 2.08(130) | 9.16(373) | 0.00892(209) | 0.00972(513) | 0.00389(250) |
iorder(03) | 0.84(10) | -0.026(13) | -0.013(29) | -0.002(11) | 2.08(130) | 9.16(373) | 0.00892(209) | 0.00972(513) | 0.00389(250) |
iorder(04) | 0.84(10) | -0.026(13) | -0.013(29) | -0.002(11) | 2.08(130) | 9.16(373) | 0.00892(209) | 0.00973(513) | 0.00389(250) |
iorder(10) | 0.84(10) | -0.026(13) | -0.013(29) | -0.002(11) | 2.08(130) | 9.16(373) | 0.00892(209) | 0.00973(513) | 0.00389(250) |
5.2 Statistics
model | chi-square | chi-reduced | R-factor |
---|---|---|---|
iorder(01) | 171.0989 | 22.7117 | 0.0164 |
iorder(02) | 169.9560 | 22.5600 | 0.0163 |
iorder(03) | 169.9596 | 22.5604 | 0.0163 |
iorder(04) | 169.8907 | 22.5513 | 0.0163 |
iorder(10) | 169.8918 | 22.5514 | 0.0163 |
6 BaZrO3
6.1 Best fit values
model | alpha | amp | eba | enot | ezr | ssba | sso | sso2 | sszr |
---|---|---|---|---|---|---|---|---|---|
iorder(01) | -0.00021(98) | 1.05(7) | -10.605(684) | -10.49(69) | -4.337(2543) | 0.00522(46) | 0.00314(78) | 0.00612(212) | 0.00342(41) |
iorder(02) | -0.00007(74) | 1.13(5) | -11.026(482) | -10.60(48) | -6.794(1618) | 0.00559(33) | 0.00380(59) | 0.00850(213) | 0.00362(28) |
iorder(03) | -0.00004(75) | 1.12(5) | -11.005(492) | -10.56(49) | -6.791(1640) | 0.00558(34) | 0.00376(60) | 0.00842(215) | 0.00361(29) |
iorder(04) | 0.00030(77) | 1.12(5) | -10.928(497) | -10.48(49) | -6.363(1734) | 0.00570(35) | 0.00378(61) | 0.00847(218) | 0.00355(30) |
iorder(10) | -0.00005(75) | 1.12(5) | -11.009(491) | -10.57(49) | -6.791(1639) | 0.00558(34) | 0.00377(60) | 0.00842(215) | 0.00361(29) |
6.2 Statistics
model | chi-square | chi-reduced | R-factor |
---|---|---|---|
iorder(01) | 14053.7540 | 869.6780 | 0.0169 |
iorder(02) | 6898.9084 | 426.9200 | 0.0083 |
iorder(03) | 7146.3251 | 442.2307 | 0.0086 |
iorder(04) | 7306.0243 | 452.1133 | 0.0088 |
iorder(10) | 7123.5220 | 440.8196 | 0.0085 |
7 Bromoadamantane
7.1 Best fit values
model | amp | delr | drh | enot | ss | ssh |
---|---|---|---|---|---|---|
iorder(01) | 1.34(24) | 0.01872(1605) | 0.080(27) | 1.82(175) | 0.00581(210) | 0.00096(341) |
iorder(02) | 1.33(20) | 0.01762(1408) | 0.073(25) | 1.54(156) | 0.00560(180) | 0.00143(319) |
iorder(03) | 1.33(21) | 0.01636(1430) | 0.072(25) | 1.40(159) | 0.00561(184) | 0.00128(316) |
iorder(04) | 1.33(21) | 0.01714(1416) | 0.073(24) | 1.48(157) | 0.00564(182) | 0.00128(314) |
iorder(10) | 1.33(21) | 0.01669(1426) | 0.073(25) | 1.43(158) | 0.00563(183) | 0.00127(316) |
7.2 Statistics
model | chi-square | chi-reduced | R-factor |
---|---|---|---|
iorder(01) | 11474.0951 | 2212.5492 | 0.0306 |
iorder(02) | 8632.0143 | 1664.5109 | 0.0230 |
iorder(03) | 8876.4900 | 1711.6531 | 0.0237 |
iorder(04) | 8749.5201 | 1687.1695 | 0.0233 |
iorder(10) | 8842.9991 | 1705.1951 | 0.0236 |
8 Uranyl hydrate
8.1 Best fit values
model | amp | deloax | deloeq | enot | sigoax | sigoeq |
---|---|---|---|---|---|---|
iorder(01) | 1.08(5) | 0.04151(452) | -0.04527(800) | 3.45(66) | 0.00075(60) | 0.00692(95) |
iorder(02) | 1.08(6) | 0.04172(547) | -0.04485(971) | 3.50(81) | 0.00074(73) | 0.00691(115) |
iorder(03) | 1.08(6) | 0.04172(549) | -0.04485(974) | 3.50(81) | 0.00074(73) | 0.00691(115) |
iorder(04) | 1.08(6) | 0.04175(546) | -0.04484(968) | 3.51(81) | 0.00073(72) | 0.00691(114) |
iorder(10) | 1.08(6) | 0.04175(546) | -0.04484(968) | 3.51(81) | 0.00073(72) | 0.00691(114) |
8.2 Statistics
model | chi-square | chi-reduced | R-factor |
---|---|---|---|
iorder(01) | 48.8338 | 7.8707 | 0.0035 |
iorder(02) | 70.9006 | 11.4273 | 0.0050 |
iorder(03) | 71.3468 | 11.4992 | 0.0051 |
iorder(04) | 70.4754 | 11.3587 | 0.0050 |
iorder(10) | 70.4964 | 11.3621 | 0.0050 |
9 Discussion
- A couple of the materials behave pretty much as one might expect.
NiO, Bromoadamantane, and BaZrO3 show a significant drop in
chi-reduced between
iord
of 1 and 2, while not showing a statistically significant change in any of the fitting parameters. - A few materials – Copper, FeS2, and uranyl – actually show
somewhat better chi-reduced for
iord
of 1. I think this tells us that atiord
of 1, the calculation is not converged and that the effect of this on the EXAFS analysis is ill-determined. I think it would be a mistake to claim something like “fitting is better in some cases withiord=1
.” Rather, this variability is telling us thatiord=1
is a mistake. - In most cases, there is very little change in chi-reduced for
iord>=2
. While there is some variability among the largeriord
results for some materials (NiO, for example, varied by a bit more than 1%), it seems that the default ofiord=2
is well justified. - Perhaps this exercise could be used to approximate the systematic uncertainty contributed by the MS theory to the EXAFS analysis….