how to use the data in the XAN library to estimate the transmission of an x-ray filter
Hi All, new to this list and to the field, so please be patient and kind and helpful in any response you may have. So far everyone I've reached on this topic has been extraordinary good. I still have to learn the lore though. I'd like to compute the x-ray transmission as function of the x-ray energy, for a particular mass per unit area of a substance, say Zn. In the XAS data base I find Zn foil at room temperature, recently measured and even more recently put into the data base just in time for my purpose. Thank you! The question is: is there a ready-made program to use those data? I see that your community has a whole slew of programs that do the opposite, go from the attenuation and/or fluorescence measured on a beam line to the attenuation coefficient, apparently without having to know the mass per unit area of the filter. I see Demeter, Athena, Larch, and various others but they all seem to go the wrong way for (and much further than) what I need. Instead, I'd like to pick up the data you guys measured on the synchrotron, and convert those into the X-ray transmission of a filter for which I select the mass per unit area. In trying to figure out how to do this I look at the graphs in the database, and the numbers behind Zn foil.xdi. The graph on the top left side gives the "Raw XAFS" (y, say) as function of energy. I interpret that as y = - ln (itrans/i0), where i0 and itrans are in Zn foil.xdi as the intensity of the incoming x-ray beam, and the beam behind the particular filter. Far from the edge, at 9600 eV, I see i0=93769.049842 and itrans=56429.849906, so that y=0.508. I can't tell from the graph whether this is indeed the case, so I go to the NIST tables. They give 35.05 cm^2/g on the low side of the edge. Then, the mass per unit area of this particular foil must have been 14.5 mg/cm^2. At 10000 eV the same thing gives y=3.603. This is pretty close to what I see in the graph, so I'm tempted to think that guessing "Raw XAFS"= ln(i0/itrans). However, for (mu/rho) NIST gives 233.1 cm^2/g, so I get for the foil's mass per unit area 16 mg/cm^2. Not quite right. Any comments on what I might have done wrong? It seems to me that by measuring the transmission of a particular filter on some X-ray source we might have available would then in effect measure the mass per unit area, so that this can be taken into account by simply exponentiating itrans/i0 with the right exponent ( = multiplying the logs with the right factor). Is something like this already implemented in one of your programs? If so, which one? Thank you, Nino
Hi Nino,
On Tue, Apr 12, 2016 at 9:08 PM, pereira
Hi All,
new to this list and to the field, so please be patient and kind and helpful in any response you may have. So far everyone I've reached on this topic has been extraordinary good. I still have to learn the lore though.
I'd like to compute the x-ray transmission as function of the x-ray energy, for a particular mass per unit area of a substance, say Zn. In the XAS data base I find Zn foil at room temperature, recently measured and even more recently put into the data base just in time for my purpose. Thank you! The question is: is there a ready-made program to use those data? I see that your community has a whole slew of programs that do the opposite, go from the attenuation and/or fluorescence measured on a beam line to the attenuation coefficient, apparently without having to know the mass per unit area of the filter. I see Demeter, Athena, Larch, and various others but they all seem to go the wrong way for (and much further than) what I need.
Instead, I'd like to pick up the data you guys measured on the synchrotron, and convert those into the X-ray transmission of a filter for which I select the mass per unit area.
In trying to figure out how to do this I look at the graphs in the database, and the numbers behind Zn foil.xdi.
The graph on the top left side gives the "Raw XAFS" (y, say) as function of energy. I interpret that as y = - ln (itrans/i0), where i0 and itrans are in Zn foil.xdi as the intensity of the incoming x-ray beam, and the beam behind the particular filter. Far from the edge, at 9600 eV, I see i0=93769.049842 and itrans=56429.849906, so that y=0.508. I can't tell from the graph whether this is indeed the case, so I go to the NIST tables. They give 35.05 cm^2/g on the low side of the edge. Then, the mass per unit area of this particular foil must have been 14.5 mg/cm^2.
At 10000 eV the same thing gives y=3.603. This is pretty close to what I see in the graph, so I'm tempted to think that guessing "Raw XAFS"= ln(i0/itrans). However, for (mu/rho) NIST gives 233.1 cm^2/g, so I get for the foil's mass per unit area 16 mg/cm^2. Not quite right.
Any comments on what I might have done wrong?
It seems to me that by measuring the transmission of a particular filter on some X-ray source we might have available would then in effect measure the mass per unit area, so that this can be taken into account by simply exponentiating itrans/i0 with the right exponent ( = multiplying the logs with the right factor).
Is something like this already implemented in one of your programs? If so, which one?
For XANES and EXAFS we (most of us, anyway) tend to not care about the value of the mass attenuation in cm^2/gr, though we do pay attention to total attenuation in cm^-1, at least insofar as we get the sample thickness correct. The measurements we report are rarely in true units, as I0 is typically a sampled current from an upstream ion chamber and I1 is a sampled current from a downstream ion chamber -- we don't bother converting these numbers to flux just before and just after the sample -- we know there are arbitrary scale factors, but they tend to cancel out. The step in the reported -log(I1/I0) should be a good measure of the edge step in mu*x, and we typically aim for value around 1 (so that going across the edge changes the attenuation by 1/e). I think what you want are good values for mass attenuation for the Zn K edge. These are tabulated and available in the Hephaestus program (that is part of the Demeter package), and also in Larch. For example, in Larch, you could do larch> en = linspace(9500, 10000, 501) larch> mu = mu_elam(30, en) larch> plot(en, mu) Here, mu (in cm^2/gr) will go from about 35 below the edge to about 250 above the edge. Of course, these tables are atomic, and have no chemical or structural effects included. But, a simple offset and scaling of the measured mu to match these atomic values should be pretty good. Hephaestus also has a nice calculator for the 1/e thickness of a sample (in your case, filter) of a given composition and density, at a particular energy. Hope that helps! --Matt
participants (2)
-
Matt Newville
-
pereira