[Ifeffit] Dopants in ATOMS

Bruce Ravel ravel at phys.washington.edu
Thu Jul 18 09:28:49 CDT 2002


One of the most common inquiries that finds its way into my mailbox is
why the dopants capability in Atoms does not do what the user expects.
Typically, the user expects Atoms to write a magical feff.inp file
that correctly accounts for the dopants in the material such that FEFF
can be run using this magic input file to generate fitting standards
or a XANES calculations for the doped material.

I get this question so often, that I want to post a response to both
the feff and ifeffit mailing lists with an obvious subject line.
Then, in the future, I (or even you!) can just point the curious to
this posting.

		      ----------- O -----------

First off, this topic is covered in the Atoms document


See section 3.4, Dopants.

I also discuss this issue in Chapter 10 of the lecture notes for my
course on EXAFS Analysis Using FEFF and FEFFIT.


The discussion in this posting applies to the old versions (2.50 and
earlier) of Atoms as well as to the current version.

		      ----------- O -----------

Atoms is, except in extremely contrived situations, not capable of
writing a proper feff.inp file for a doped material.  This is not a
programming shortcoming of Atoms, but a number theoretic limitation
imposed by the physical model used by FEFF.

In the feff.inp file, there is a big list of atomic coordinates.  The
reason that people like using Atoms is because, without Atoms, it is a
pain in the ass to generate that list.  The virtue of Atoms is that it
automates that annoying task for a certain class of matter,
i.e. crystals.

FEFF expects a point in space to be either unoccupied or occupied by a
specific atom.  A given point may be occupied neither by a fraction of
an atoms nor by two different kinds of atoms.

Let's use a very simple example -- gold doped into fcc copper.  In fcc
copper, there are 12 atoms in the first shell.  If the level of doping
was, say, 25%, then Atoms could reasonably use a random number
generator to choose three of the 12 first neighbor sites and replace
them with gold atoms.  However, what should Atoms do with the second
shell, which contains 6 atoms?  25% of 6 is 1.5.  Feff does not allow
a site to be half occupied by an atomic species, thus Atoms would have
to decide either to over-dope or under-dope the second shell.

This problem only gets worse if the doping fraction is not a rational
(in the number theory sense) fraction, if the material is
non-isotropic, or if the materials has multiple sites that the dopant
might want to go to.

Because Atoms cannot solve this problem correctly except in the most
contrived of situations, I decided that Atoms would not attempt to
solve it in any situation.  If you specify dopants in Atoms' input
data, the list in the feff.inp file will be be made as if there are no

This leads to two big questions:
  1.  Why are dopants allowed in Atoms?
  2.  How do one deal with a doped sample?

The first question is the easy one.  Atoms does many things other
besides feff.inp generation.  Calculations involving tables of
absorption coefficients and simulations of powder diffraction and
DAFS spectra can use dopant information quite well.

The second question is the tricky one and the answer is somewhat
different for EXAFS as for XANES.  The chapter in the PDF file
mentioned at the beginning of this posting discusses one approach to
analyzing EXAFS of doped materials.  In this posting


Scott Calvin adds his two cents worth.  The bottom line for EXAFS
analysis is that most dopant problems require running FEFF many times
to deal with the wide variety of local environments one finds in a
doping problem.  One of my papers,

   A Combined EXAFS and First Principles Theory Study of
   Pb(1-x)Ge(x)Te, B. Ravel, E. Cockayne, M. Newville, and K.M. Rabe,
   Phys. Rev. B 60, #21, pp. 14632-14642 (1999).

discusses a very thorough approach to one particular case of a doped

The best approach to simulating a XANES spectrum on a doped material
that I am aware of also involves running FEFF many times.  One problem
a colleague of mine asked me about some time ago was the situation of
oxygen vacancies in Au2O3.  After some discussion, the solution we
came up with was to use Atoms to generate the feff.inp for the pure
material.  My friend then wrote a little computer program that would
read in the feff.inp file, randomly remove oxygen atoms from the list,
write the feff.inp file back out with the missing oxygens, and run
FEFF.  He would do this repeatedly, each time replacing a different
set of randomly selected atoms and each time saving the result.  This
set of computed spectra was then averaged.  New calculations were made
and added to the running average until the result stopped changing.
If I remember, it took about 10 calculations to converge.

This random substitution approach would work just as well for dopants
as for vacancies.

I hope that is helpful.


 Bruce Ravel  ----------------------------------- ravel at phys.washington.edu
 Code 6134, Building 3, Room 222
 Naval Research Laboratory                          phone: (1) 202 767 5947
 Washington DC 20375, USA                             fax: (1) 202 767 1697

 NRL Synchrotron Radiation Consortium (NRL-SRC)
 Beamlines X11a, X11b, X23b, X24c, U4b
 National Synchrotron Light Source
 Brookhaven National Laboratory, Upton, NY 11973

 My homepage:    http://feff.phys.washington.edu/~ravel 
 EXAFS software: http://feff.phys.washington.edu/~ravel/software/exafs/

More information about the Ifeffit mailing list