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 equivalents. 4. All the atoms within the rhomboid but outside the sphere are tossed. 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 distribution. 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? B -- Bruce Ravel ----------------------------------- ravel@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/