I would like to thank my many colleagues who have been a source of help and inspiration. The support of Profs. Ed Stern and John Rehr has always been appreciated. I would like to thank Chuck Bouldin, Boyan Boyanovich, Julie Cross, Tim Elam, Matt Newville, Hans Stragier, Kalle Voss, Steve Zabinsky, and Yanjun Zhang for their contributions, helpful criticism and useful suggestions as I have developed this program.
The essential calculation in this program is handled in the routine
equipt, which decodes the Hermann-Maguin notation and performs
the proscribed symmetry operations on the input atomic coordinates.
This routine was written by H. Burzlaff and A. Hountas and is in the
public domain. Several parts of this program were inspired by the
program sexie by Bernhard Rupp. sexie uses input files that
are similar to atoms.inp and its database is a good resource for
composing atoms.inp files. The original version of the routine
mucal was written by P. Bandyopadhyay using data from
Compilation of X-Ray Cross Section by McMaster et. al. Several
of the character string manipulation routines (triml, istrln,
upper, lower, bwords) were written by S.I. Zabinsky and M. Newville
and released for this use.
Every routine used by atoms has been written in ANSI standard Fortran-77. At the time of this writing the code has been found to compile and run under many difffernt operating systems. Presently, the code is developed on an Intel 486 laptop which runs Linux using F2C and GCC for compilation. The code is thus easily ported to any machine with a Fortran compiler. The author has run atoms under four different unixes, MS-DOS, Macintosh System 7.5, Vax-VMS, and Open-VMS on an DEC Alpha. At this time, there are four caveats for the user:
unknown. On VMS machines, it is more convenient, but
not necessary, to open files with new status to take advantage of
multiple versions of files. To change this for use on a Vax-VMS
machine, search for the line in the main program where the variable
vaxflg is defined and change it to .true.
messag. Thus if your machine has particular requirements for
writing to standard output, messag should be the only routine
that you need to alter.
untab, which replaces tab characters with blank
spaces. untab is written assuming tab is ASCII character 9. If
your machine handles this differently, you only need to edit
untab or simply don't use tabs.
If you ever have a problem with carriage-control while using
atoms or feff with a feff.inp file generated by
atoms, please contact the author.
atoms is delivered with the following parameter values:
iat = 20, maximum number of unique atomsnatx = 800, maximum number of atoms in clusterntitx = 9, maximum number of title linesmaxln = 800, maximum number of atoms in feff.inpfeff limits the size of the cluster in its calculation to 400 atoms. In atoms these values are imposed by parameter statements, thus are easy to change. Global parameters such as these are set in the main program and passed as arguments to the rest of the program. Find these near the beginning of the main program and change them to whatever value you want. If you do not know exactly how to do this but still think you need to, consult your local Fortran guru or, if you must, the author.
The source code for atoms is written in a style with mostly lower case characters. All executable statements are written in lower case. This is a departure from strict adherence to the ANSI standard. Care has been taken to make the code insensitive to case. That is, the source may be placed in all upper case or all lower case without damaging its functionality. The algorithm that parses the input file is certainly insensitive to case.
p1 and krypton keywords.
geom.dat files.
feff.inp.
feff.inp.
This matches the precision of feff's degeneracy checker.
HOLE line of feff.inp.
This is for informational purposes only, it serves no purpose in
feff. Between versions 2.41 and 2.42, my program had a name change. Earlier
versions were called atom, while later versions are called
atoms, with an s. The reason for this change was to avoid
confusion with the subroutine atom that is an important part of
feff. Hopefully this reduces confusion rather than adds to it!
For now, the version number is incremented by 0.01 when minor
functionality is added and by 0.1 when major functionality is added.
Bug corrections have been denoted with an incrementing letter appended
to the version number.
If you do not have a license to use the UWXAFS analysis programs or feff and are interested in obtaining one contact:
Ed Stern
c/o UWXAFS Project
University of Washington
Department of Physics, FM-15
Seattle WA, 98195, USA
phone: (206) 543-2023
fax: (206) 543-0635
electronic mail: stern@phys.washington.edu
or
John Rehr
c/o Feff Project
University of Washington
Department of Physics, FM-15
Seattle WA, 98195, USA
phone: (206) 543-8593
fax: (206) 543-0635
electronic mail: jjr@phys.washington.edu
You should request copies of the licensing agreements for feff
and the UWXAFS programs. These are licensed separately. atoms
is distributed with both packages.
This document was composed using a mark-up language called
linuxdoc-sgml. This is the documentation standard of the
Linux Documentation Project
. linuxdoc-sgml is an
adaptation of the QWERTZ document type definition written by Tom
Gordon. linuxdoc-sgml is available by ftp at
ftp.cc.gatech.edu
. The document type definition was altered
somewhat to meet the needs of the UWXAFS documentation.
The value of a Standardized General Markup Language (SGML) is that it
can be processed into any number of formats from a common source.
Using linuxdoc-sgml, a single marked-up file can be used to
produce LaTeX, PostScript, plain ASCII, html, TeXinfo, or dvi
documentation.
Next Chapter, Previous Chapter
Table of contents of this chapter, General table of contents
Top of the document, Beginning of this Chapter