RE: Using more than one E0 correction
Hi everybody,
I would like to address a couple of questions which are partially
related to my recent struggles in fitting some EXAFS data. Im trying to
fit my data using several shells of different neighbors including a few
single scattering paths and also so multiple scattering contributions
(mainly collinear multiple scattering paths) all calculated with the
help of FEFF 8.20. Now, I found once in the FEFFIT manual the following
suggestion: one might consider using several different E0s for
different paths in order to improve the fit. Ok, the explanation was
based on some approximations coming from FEFF code which include
incomplete core-hole shielding, lack of angular variations of the
valence charge distribution and charge transfer between atoms in polar
materials.
My question is the following: does anyone of you have some experience
with such procedure? And if yes, shall than distinguish between the
first shell of nearest neighbors and the rest of the atoms in terms of
their E0 corrections (using 2 parameters)? Or perhaps one can use
separate E0s for each path?
Thats one thing
The second question concerns the background correction in Artemis: I was
trying to find an easy explanation of what this procedure does during
the fit but I guess Im still somewhat confused
how one can judge
whether the spline co-refinement does the right job? Some people on this
mailing list underline that one should avoid high correlations between
fitting parameters and background parameters in order to make sure that
the fit is correct. But is it the only criterion? In some of my fits
background line looks kind of constant over the entire R-range which was
taken into the fit. Sometimes it becomes like a modulation peaking
underneath some scattering paths
even if the background parameters dont
correlate significantly with fitting parameters I have my doubts whether
the result is trustful. Any hints about this procedure?
Well, Ill greatly appreciate any comments and feedback from all you
guys. I hope Ill be able to share some of my own soon J
Cheers,
Wojciech
*********************************************************************
Wojciech Gawelda
Laboratoire de Spectroscopie Ultrarapide (LSU)
Institut des Sciences et Ingénierie Chimiques (ISIC),
Faculté des Sciences de Base (SB-BSP)
Ecole Polytechnique Fédérale de Lausanne (EPFL)
CH-1015 Lausanne-Dorigny, Switzerland
Tel.: +41 (21) 693 0452
Fax.: +41 (21) 693 0422
E-mail: wojciech.gawelda@epfl.ch
WWW: http://lsu.epfl.ch
*********************************************************************
-----Original Message-----
From: ifeffit-bounces@millenia.cars.aps.anl.gov
[mailto:ifeffit-bounces@millenia.cars.aps.anl.gov] On Behalf Of
ifeffit-request@millenia.cars.aps.anl.gov
Sent: jeudi, 27. mai 2004 18:46
To: ifeffit@millenia.cars.aps.anl.gov
Subject: Ifeffit Digest, Vol 15, Issue 23
Send Ifeffit mailing list submissions to
ifeffit@millenia.cars.aps.anl.gov
To subscribe or unsubscribe via the World Wide Web, visit
http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit
or, via email, send a message with subject or body 'help' to
ifeffit-request@millenia.cars.aps.anl.gov
You can reach the person managing the list at
ifeffit-owner@millenia.cars.aps.anl.gov
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Ifeffit digest..."
Today's Topics:
1. RE: Autobk parameters (Kelly, Shelly D.)
2. Re: Autobk parameters (Bruce Ravel)
3. Re: Autobk parameters (Stefano Ciurli)
4. Re: Autobk parameters (Stefano Ciurli)
5. A saving problem in newest Artemis version (Aria)
----------------------------------------------------------------------
Message: 1
Date: Wed, 26 May 2004 12:18:01 -0500
From: "Kelly, Shelly D."
1) I understand that energy calibration should be performed, and I did so by using the atomic edge energy. I also understand that this parameter could be fluctuating in the subsequent fitting. Any comment on this procedure?
I agree that all the energy shift stuff can be confusing. The important
end result for Extended X-ray Absorption Fine Structure Analysis is to
get the energy-grid of the data to match the energy-grid of the theory
with the zero energy of the photo-electron somewhere on the absorption
edge. In the process of doing this you may have more than one data set
from the same sample with different energy-grids... Furthermore you may
have more than one sample which may have different energy-grid from the
other samples and the theory. Then to make things all the more
complicated X-rays can change the oxidation state of metals in organic
materials. So that the energy grid is supposed to be different and the
data is useless.
After all that, here are some answers.
1) Always measure a foil reference at the same time that you measure any
EXAFS data. It is easy to do. Here is a reference for how to do it
when your sample is too thick and you can not simply put the foil behind
the It ion chamber. J L Cross and A I Frenkel. "Use of scattered
radiation for absolute energy calibration." Rev. Sci. Instrum. 70: pp
38-40, 1998
2) Align each data scan:
2a) Without an energy reference. Align the data to one of the data sets
(remember which one you used) so that the edges are all right on top of
each other. Each sample has it's own energy-grid.
2b) By using the energy reference of the foil measured simultaneously
with each scan. Align all the reference spectra to one of the
reference spectra. Then shift each of the data sets that belong to the
reference spectra by the same amount. Now each scan is independently
aligned and you have an absolute energy reference for each scan. This
is useful for XANES comparisons or if you suspect changes in the data
while the measurement was taking place. The difference in energy from
the reference to the data or from one data set to another is a real
change and can be used to "say" stuff about the sample.
3) Check the alignment: Plot all the normalized xmu(E) data from the
same sample in Athena, zoom in on the edge region -20 to 20 eV and take
a good look. Hopefully they all line up. If there is a systematic
change in the edge features? If so how much...less than 10 % (which is
about the accuracy of the measurement). This means that you can most
likely still use the data but that you have changes happening to your
sample while the measurement was taking place and you should fix that
next time.
4) Now the problem of alignment is somewhat smaller. All the data sets
have the same energy grid if you used 2b...or all the data sets have
there own energy grid if you used 2a. Now we need to align the data and
the theory. To do this there are two steps. Choosing a zero energy of
the photo-electron to define the k-grid in converting the data to
chi(k), and then aligning the chi(k) data with the theory chi(k).
5) Choosing a Ezero in Athena: Pick any point that you like on the edge
for Ezero in Athena. Plot the xmu data with the background and pre-edge
and post-edge range. A circle on the plot shows the position of Ezero.
Then right click The Ezero to set this energy to be the same value for
all the data sets from this sample. Then plot the chi(k) data and see
that the curves all look the same at low k-values. If not adjust Ezero a
bit for the data sets that are different to get the chi(k) data to look
the same. Then average the chi(k) data and write it out so that you can
align it with the theory in Artemis.
6) Aligning data to theory: Read the data into Artemis. Read in what
you think should work for a first shell feffxxxxx.dat file. Fit the
data to the first shell. Plot the data and the theory in chi(k), take a
look at the deltaE value from the fit. This value for deltaE is telling
you how much the theory had to move to match-up with your choice of
Ezero that you picked in step 5. If you think that the theory is
correct and deltaE is larger than a few eV then you need to adjust your
chi(k) data. But first write out what the theory should look like if
you choose Ezero just right.
6b) Making a standard: In Artemis, set all the parameters to their
best-fit values, except for deltaE. Set deltaE to zero and run the fit
again. This is not really a fit. There are no parameters to optimize.
Now the theory is showing you what the data should look like if you
choose the perfect value for Ezero and the perfect background function
in step 5.
7) Redo the background and energy choice: In Athena open up the
chi(k).fit that was produced by step 6b. This is the "standard" that
you can use to help get Ezero and the background correct. Then select
individual scans taken from the sample and then open the standard menu
and choose the theory chi(k) data. Right click on the standard to use
the same standard for all data sets. Redo the background removal. Plot
the chi(k) data and the standard. If they are different at low k you
need to adjust Ezero so that they start at the same place. When you are
done adjusting your choice for Ezero, plot the xmu(E) data and make sure
that the circle that is your value for Ezero is on the edge. If it
isn't, then the theory that you used to align the data doesn't work..and
you need to start over in step 6. If the value is on the edge some
where, right click on the Ezero choice and set its value for Ezero of
all the scans. Then merge all the data in chi(k) and write it out for
use in Artemis...as you did the first time making sure that all the
scans have a similar bkg.
8) Redo the fit: Now the data and the theory are aligned and you can
redo the fit varying all the parameters...deltaE in Artemis should be
small..and the background should give a nice match at low-r values.
Often this entire procedure is used at the end of your analysis to make
a nice figure for publication.
9) Bonus of using an energy reference: If you used an energy reference
measured simultaneously with the data sets then in the end you can
simultaneously fit the different samples with only one deltaE in the fit
for all of the samples. If you aligned each one independently then each
data set should have it's own deltaE value..unless you have more
information and can prove that they should be the same.
HTH
Shelly
------------------------------
Message: 2
Date: Wed, 26 May 2004 16:56:37 -0400
From: Bruce Ravel
SC> 4) Then there is the k-weight parameter to be changed for the SC> background removal....What are the criteria to choose this SC> k-weight for the background?
With noisy spectra, the high energy portion of the data might be dominated by fluctuations that have nothing to do with the exafs. In that case a large k-weight for the background removal might be unduly influenced by stuff that is not the data you want to analyze but instead are detector problems, sample inhomogeneity problems, gremlins, crap, whatever ;-)
so I conclude that I should use a LOW k-weight in my case, right?
Stefano
--
____________________________________________
Stefano Ciurli
Professor of Chemistry
Department of Agro-Environmental Science and Technology
University of Bologna
Viale Giuseppe Fanin, 40
I-40127 Bologna
Italy
Phone: +39-051-209-6204
Fax: +39-051-209-6203
"Fatti non foste a viver come bruti,
ma per seguir virtute e canoscenza"
Dante Alighieri - Inferno - Canto XXVI
------------------------------
Message: 4
Date: Thu, 27 May 2004 15:18:21 +0200
From: Stefano Ciurli
Oh yeah. The feff run should produce a file called "chi.dat". That's a good one to use as a standard. Matt's ifeffit recipe for converting a feffNNNN.dat file into a chi(k) works, too.
when I run feff, I do not get any chi.dat file. Why? I tried to use
artemis to do that, but right now the new version I installed crashes
when I try to read in a feff calculation (which btw I performed on
something that should be similar to my metal site and was about to
use it for standard...) The trap message states:
# Artemis 0.7.004
# This file created at 12:59:30 on 27 May, 2004
# using darwin, perl 5.008001, Tk 804.027, and Ifeffit 1.2.5
# Workspace: /Users/stefano/.horae/stash/artemis.project.0/
The following message was trapped by Artemis on a SIGDIE:
Artemis0.7.004die/Users/stefano/.horae/stash/ARTEMIS.TRAPCODE(0x1e38760)
/Users/stefano/.horae/stash/artemis.project.0/
at /Applications/Ifeffit/bin/artemis line 1550
main::__ANON__('Callback called exit.\x{a}') called at
/Applications/Ifeffit/bin/artemis line 0
Stefano
PS: I am using the OSX 10.3 version
--
____________________________________________
Stefano Ciurli
Professor of Chemistry
Department of Agro-Environmental Science and Technology
University of Bologna
Viale Giuseppe Fanin, 40
I-40127 Bologna
Italy
Phone: +39-051-209-6204
Fax: +39-051-209-6203
"Fatti non foste a viver come bruti,
ma per seguir virtute e canoscenza"
Dante Alighieri - Inferno - Canto XXVI
------------------------------
Message: 5
Date: Thu, 27 May 2004 12:46:39 -0400
From: "Aria"
Hi Wojciech,
My question is the following: does anyone of you have some experience with such procedure? And if yes, shall than distinguish between the first shell of nearest neighbors and the rest of the atoms in terms of their E0 corrections (using 2 parameters)? Or perhaps one can use separate E0's for each path?
I'd say it's not usual to need more than 1 E0 parameter. In some cases, two distinct E0's (that is, outside their error bars) are helpful in a fit. I'm not sure there is a sensible way of predicting which cases these would be, but it seems to have been needed most clearly in solids with fairly ionic bonds. And yes, it generally ends up that using one E0 for the first shell and another E0 for the rest of the paths is what ends up with distinct values. I don't recall a case of needing more than two E0's, probably because the error bars just get too large.
The second question concerns the background correction in Artemis: I was trying to find an easy explanation of what this procedure does during the fit but I guess I'm still somewhat confused how one can judge whether the spline co-refinement does the right job?
Sadly, I'm not sure how to judge whether it does a good job other than by visual inspection. The refinement method is pretty simple, with only a few additional ingredients from a 'normal fit'. First, instead of modeling the measured XAFS chi(k) as Sum_of_Feff_Paths, it models as chi_model(k) = Spline(k) + Sum_of_Feff_Paths(k) The Spline(k) here (written as the *.kbkg array after the fit is done) has adjustable parameters (y-values through which the curve must pass) spaced evenly in k. The number of spline parameters is N_spline = 1 + 2*(kmax-kmin)*rmin / pi The fit is then not between R=[rmin,rmax], but between R=[0,rmax] The idea is that everything below rmin is 'background' and above rmin is 'data'. In that way, rmin acts like Autobk's Rbkg. In principle, the structural parameters should only affect the model above Rmin, and the spline parameters only affect the model below Rmin. An important point is that because all the parameters are refined together, we can determine their correlations: how does changing the background affect E0, deltaR, N, etc, and have these correlations included in the estimate of the uncertainties.
Some people on this mailing list underline that one should avoid high correlations between fitting parameters and background parameters in order to make sure that the fit is correct. But is it the only criterion?
You can't avoid the high correlation between E0 and deltaR or between N*S02 and sigma2. I'd say that it's not that you want to avoid high correlations, but that you want to understand their impact on the analysis. They definitely alter the uncertainties in the fitted parameters. The better criterion for whether a fit is believable ("making sure the fit is correct" is a pretty high standard!!) is whether chi_square is small, whether the model is reasonable, and whether the adjusted parameters have some physical meaning and believable values and uncertainties. Sorry I can't be more specific than that.
In some of my fits background line looks kind of constant over the entire R-range which was taken into the fit. Sometimes it becomes like a modulation peaking underneath some scattering paths' even if the background parameters don't correlate significantly with fitting parameters I have my doubts whether the result is trustful. Any hints about this procedure?
I'm not sure I understand you here. The background looks constant in R-space?? That does seem strange. Can you give more details? Hope that helps or is at least a start.... --Matt
participants (2)
-
Matt Newville
-
Wojciech Gawelda