Previous Next Table of Contents

1. Overview

atoms writes a list of atomic coordinates for any crystal given its crystallographic information. The list will be sorted by radial distance from an atom chosen as the central atom. atoms also estimates the bulk absorption and density of the material and various corrections to XAFS data due to experimental effects.

atoms runs from an input file, which uses keywords to specify the input parameters. The code requires a file called atoms.inp. Because some operating systems are case sensitive the code will search for ATOMS.INP if atoms.inp is not found. The output is a text file that can serve as the input file for feff. This file will run feff5 or feff6 but not feff3 or feff4.

atoms.inp must contain all the data necessary to uniquely specify the crystal. The information that the program requires is:

  1. The Hermann-Maguin or Schoenflies notation for the crystal space group. The notation conventions are slightly modified to work with a keyboard. This document lists all 230 groups as recognized by the program.
  2. The non-redundant, non-default cell axis lengths and angles between the axes.
  3. The two letter symbol and cell coordinates of each unique atom. The definition of unique atom is an atom occupying a unique crystallographic site. Sodium chloride (NaCl) has two unique atoms that must be specified. In Lead Titanate (PbTiO3), for example, there are two unique oxygen sites, so four unique atoms must be specified. One of the atoms must be chosen as the central atom.

Usually this data can be taken directly from the crystallography literature. When confusion arises, consult The International Tables of X-Ray Crystallography. This is the standard by which the program was written.

Chapter 3 should be read carefully. That chapter explains all of the conventions necessary to specify crystallographic information in atoms. This is a wonderful program in that it quickly generates a list of atomic coordinates for an arbitrarily complicated crystal. It is an awful program in that it requires you, the user, to speak its language. There are numerous quirks and limitations to the algorithms that interpret unit cell structure. Much error checking is included in the code. If atoms finds something in the input file that it does not like, it should give a useful run-time message.

The output is a file that can be used to run feff, the ab initio multiple scattering XAFS code written by Rehr and Zabinsky. The atom positions are organized into a list in the format read by feff. atoms makes reasonable guesses for several other inputs to feff. The feff.inp file generated by atoms will run feff to completion.

atoms has been extensively tested, but is not guaranteed to be free of bugs. If you are displeased with the result of a run and you have followed all of the instructions and hints in this document, then you may have found a bug. To report your bug, first capture to a file all screen messages from the run with the suspect input file. Send the screen messages, the input file, and any output files to the author. Also tell what kind of computer you are using and which Fortran compiler you used to make the executable. You will find the author's e-mail address on the title page of this document. His postal address, phone number and fax number are:

Bruce Ravel
University of Washington
Department of Physics
Box 351560
Seattle WA, USA, 98195
phone: (206) 543-0435
fax: (206) 685-0635
Please note that the author greatly prefers to receive bug reports by e-mail. Electronic communication allows for the quickest and most convenient respose to a problem. Call or fax only in an unusual situation or if electronic communication is impossible.


Previous Next Table of Contents