We very much appreciate Matt's comments on our suggestion suggestion on using a priori theory in fitting the background XAS:
Thus we have attempted to use the theoretical mu_0 from FEFF as an a priori, and spline corrections on top of that. Thus the form of mu_0 would be:
mu_0 = mu^thy_0(E,E_0,Gamma)[1 + lambda(E)]
where the theoretical mu^thy_0 has an adjustable edge position (E_0) and broadening (Gamma), and lambda(E) is the spline correction which includes both instrumental variations with E and theoretical errors.
Matt Newville makes the following observation:
That sounds interesting. But if you include a spline with the calculated mu0(E), how important is the mu^thy_0(E)? Like, how much work do you need to put into mu^thy_0 if you have lambda to pick up the slack?
Certainly if a spline can do a good job of fitting the mu_0, then the current approach is more or less ok. However in systems with strong white lines mu_0 can be strongly peaked and hence very difficult to fit with a few spline points. The broadening function lamda(E) can be constrained to be small. Also, for cases with large whitelines, the location of e0 is difficult to fit - the true e0 can lie well below the edge jump. For example, FEFF8 calculations show that the Re whiteline is almost completely due to the local embedded atomic absorption, whereas the large whiteline in SF6 has a different origin. The difference between these cases is not something that can be determined without the use of a theoretical mu0. Likewise the determination of E0 cannot be done well without theory in such cases.
On the one hand, since a spline is needed, it might imply that you don't really gain much. On the other hand, it might also imply that you could calculate and tabulate a reasonable 'universal background function' for any given absorber-scatterern pair as a starting background curve. Otherwise, it seems to me that the prior information that goes into getting mu0(E) might be roughly equivalent to using Feff to generate a standard chi(k) for autobk.
In our view, mu0 does not depend very much on structure, since it's mostly determined by the local embedded atom potential. For this reason it's calculation would also be quite fast (only phase shifts and the cross-section are needed) compared to a calculation of chi(k) which requires multiple scattering paths.
Anyway, I'd be interested in comparisons of this with autobk with/without a standard chi(k). And, of course, code donations for improved algorithms are always welcome. ;).
Us too! We would also be interested in sharing our code developments, e.g., eventually integrating them into ifeffit if appropriate. Josh Kas John Rehr