[Ifeffit] how Atoms builds clusters

Bruce Ravel ravel at phys.washington.edu
Thu Sep 4 10:26:32 CDT 2003

Hi everyone,

I have twice recently been asked about how Atoms converts from its
input data, which is the minimal set of positions necessary to
describe the crystal, to the cluster that gets reported in the
feff.inp file.  Since there seems to be some interest in this
question, I thought I would send a message to the mailing list with
the answer.  That way it'll be archived and anyone can go back and
look at the answer.

If you've ever wondered about this, read on.  If the thought never
crossed your mind, this is a good moment to go on to your next email
message ;-)

Here is the broad outline:

1.  Atoms fills out the unit cell in the first octant.  By "first
    octant" I mean that all fractional coordinates of all positions
    are non-negative and less than 1.
2.  Enough unit cells are stacked up like blocks to make a rhomboid
    large enough to entirely encompass a sphere of the radius
    specified by the Rmax parameter.  (If you poke hard enough at
    Atoms, you will find a situation where it fails to create a large
    enough rhomboid.  It's an odd situation, though, and you won't run
    into it if your space group is orthogonal.)
3.  The fractional coordinates are converted to their Cartesian
4.  All the atoms within the rhomboid but outside the sphere are
5.  The atoms are translated such that the absorber is at the origin
    and the list is sorted by distance from the absorber.

The non-obvious part of this algorithm is the first step.  To fill out
the unit cell, these steps are taken:

a.  For each atomic position given to Atoms, apply the symmetry
    operations associated with the point group.  These are the
    operations reported in the symmetry.dat output file.  They are
    also given in the International Tables of Crystallography for each
    space group.
b.  For each position found from the point group, apply the Bravais
    translations, if any.
c.  Some of the coordinates found from applying the point and Bravais
    operations will fall outside the first octant, that is, there may
    be coordinates smaller than 0 or larger than or equal to 1.
    Translate those positions back to the first octant by adding the
    appropriate integer to the offending coordinate.
d.  Weed through the list of positions and throw away any repeats.
    For high symmetry groups, the vast majority of generated positions
    will be repeats.  For FCC copper, for example, you will find that
    the point and Bravais operations generate the same point 96 times.

At the end of step 1, you have the contents of the P1 output file.
That is, you have a description in fractional coordinates of the
entire contents of the unit cell.

For step 2 above, it is much easier to use the fractional coordinates
to stack up unit cells to make the rhomboid.  The unit cell in the +x
direction is made by adding 1 to all the x coordinates.  The unit cell
in the -y direction is made by subtracting 1 from all the y
coordinates.  And so on.

The conversion to Cartesian coordinates is where the lattice constants
and angles come into play.  This is a tensor transform where the
non-zero elements of the metric tensor are functions of a, b, c,
alpha, beta, and gamma.  This tensor is discussed in Volume A of the
International Tables and in many crystallography textbooks.  The
geometrically inclined could probably derive it on the back of an
envelope.  Or see the subroutines Xray::Xtal::Cell::make and
Xray::Xtal::Cell::metric in the file Xtal.pm from the Atoms

The last interesting detail is how the absorber atom is chosen.  In a
space group of high symmetry, there may well be several examples of
the absorber in the unit cell.  Atoms chooses the one that is closest
to the center of the unit cell, i.e. the one closest to (1/2, 1/2,
1/2).  This choice minimizes the size of the rhomboid needed to
encompass the sphere of radius Rmax.

Now, wasn't that fascinating?


 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