[Ifeffit] Inequivalent sites and multiple shell fits

Matt Newville newville at cars.uchicago.edu
Fri Jan 14 16:17:25 CST 2005

I think this echos Scott's and Anatoly's answer, and some of this
may be obvious, but I'll take a stab at this.

Each absorption of an x-ray is a completely independent event from
other absorption events.  The excited state lasts for something
like 1 femtosecond.  We never get more than 10^15 photons/sec, so
if the x-ray beam was continuous, we'd never have more than one
excited state in the sample at any one time.  Even with a very
bright and pulsed source (and synchrotrons are pulsed, of course),
we can safely assume that having two excited atoms of interest
(that is, other atoms can absorb too) at any one time is very
rare.  When this does happen, the excited atoms will be randomly
distributed in the sample, and so very far from each other.  
(There is very interesting work on doubly-excited atoms, but as
far as I know they're still using x-ray + laser, not two x-rays,
and I'm getting off topic).

The point is that we can very safely assume that EXAFS is a sum
over independent absorption events, each happening without any
other excited atoms nearby.  Since all atoms with atomic number Z
have an equal absorption probability and since the full spectra is
made up from billions of absorption events (yeah, it's sometimes
less), all atoms of number Z are well sampled.  The total EXAFS
really is then just a sum over the absorbing atoms:

  chi = Sum_absorbing_atoms[Sum_paths(chi_absorber_path)]

If all the absorbing atoms look the same (eg, fcc metal, or the A
or B site in a perovskite structure), the first sum is trivial.  
If there are multiple sites that the central atom can occupy, you
just do the weighted sum of sites, where the weights are the
occupation probabilities for that site.  In a glass with a range
of absorbing atom "sites", you could turn the sum into an integral
or use a histogram, but it's usually a pretty simple sum.  

Of course, each site would have its own set of scattering paths
(ie, it's own Feff calculation), and each path with that absorbing
atom needs the weighting appropriate for that absorber. Now,
Feff/Feffit/Ifeffit/Artemis/Diana/SixPack (my goodness, that's
getting long!) does only the sum over paths:
  chi = Sum_paths(chi_absorber_path)

To handle a system with multiple absorbing sites, you then need to
multiply each path amplitude by the fractional probability of the
corresponding central atom:
  chi = Sum_paths ( weight_absorber * chi_absorber_path)

where the weights are fractional, so that
   Sum (weight_absorber) = 1

For example, if you have 2 different sites, one that's twice as
common as the other (say, Fe3O4), you'd have a bunch of path
statements like

# set of paths for Absorber A: probability = 2x
  Path 101    Asite/feff0001.dat
  Amp  101    (2/3) * S02

  Path 102    Asite/feff0002.dat
  Amp  102    (2/3) * S02

  Path 103    Asite/feff0003.dat
  Amp  103    (2/3) * S02

# set of paths for Absorber B: probability = 1x
  Path 201    Bsite/feff0001.dat
  Amp  201    (1/3) * S02

  Path 202    Bsite/feff0002.dat
  Amp  202    (1/3) * S02

I think that's exactly what Scott and Anatoly are getting at.

Hope that helps,


More information about the Ifeffit mailing list