The ATOMS package comes with a variety of other tools which, like
'atoms.pl', are intended for use from a command line. All of
the functionality provided by these command line tools is also
provided by TkATOMS (see Section
). A
graphical program, like TkATOMS, does not lend itself to use in
certain automated applications and cannot be used on a platform to
which perl but not Tk has been ported. For those situations and for
users who prefer command line tools, 'atoms.pl' and the tools
described in this section are provided.
The program 'template.pl' is a small program which writes empty
templates for FEFF6 or FEFF8. These templates can then be
filled in with structural data taken from a non-crystallographic
sources. The templates written by this program, like all output files
written by ATOMS, are formatted using ATP files as described in
Appendix
. The files
'template6.atp' and 'template8.atp' are used to format the
templates for FEFF6 and FEFF8 respectively.
By default, 'template.pl' writes a template for FEFF6 and
calls that output file 'feff.inp'. The command line switches
shown in Table
affect this behavior.
| switch | meaning |
| -6, -7 | write input file FEFF6 or 7 |
| -8 | write input file FEFF8 |
| -q | suppress screen messages |
| -h | print a help message |
| -o name | write template to the specified file name |
The program 'dafs.pl' simulates a Diffraction Anomalous Fine Structure (DAFS) scan for a given reflection using tables of atomic scattering factors and their energy dependent anomalous corrections. Normally the Cromer-Liberman tables are used, although the Henke and Chantler tables are also available.7.1
This program reads the same input files as 'atoms.pl', although
it requires some additional input information. This additional
information can be supplied from the command line using the switches
in Table
or by using special keywords recognized by
'dafs.pl'. These additional keywords are silently ignored by
'atoms.pl', so you can easily prepare a input files that run both
programs correctly.
The most important new keyword is reflection. This keyword takes three integer arguments denoting the Miller indeces of the reflection for which you want to simulate the DAFS spectrum. There is no default for this, you must specify a reflection either by keyword or by the -r switch, or the program will exit with an error message. The -r can only interpret single digit Miller indices. For reflections of higher order, you must specify the indeces in the input file.
| switch | meaning |
| -r ### | hkl of a reflection (only hkl between 0 and 9, no spaces) |
| -T # | sample thickness in Angstroms |
| -t atp | atp file to use for the output (default is 'dafs.atp') |
| -o name | output file name (default is 'dafs_hkl.dat') |
| -d resource | name of absorption data resource |
| -n # | lower bound of energy relative to edge in eV |
| -x # | upper bound of energy relative to edge in eV |
| -p # | energy step in eV |
| -s | write calculation to standard output |
| -q | suppress all screen messages |
| -v | write version information and exit |
| -h | write a help message and exit |
The other information required by the calculation are the sample thickness, the energy range, and the size of the energy grid. The keywords are thickness, emin, emax, and egrid, respectively. The values of emin and emax are relative to the edge energy of the chosen central atom. Normally, both values are positive - emin is subtracted from the edge energy and emax is added. The calculation is made between those values on the grid specified by egrid. The default values for emin, emax, and egrid are 300, 500, and 15. The default for the thickness is not to include that effect in the calculation.
The tables of anomalous scattering factors contain only the smooth atomic parts of f'(E) and f''(E), thus this program makes effort to simulate the fine structure oscillations of a real DAFS measurement. One could imagine using a measurement of mu(E) or a FEFF calculation for f'(E) and f''(E) of the central atoms, but 'dafs.pl' does not currently support that.
ATOMS ships with only one ATP file, 'dafs.atp', for use with
'dafs.pl'. This tells 'dafs.pl' to write two-column output,
energy and diffracted intensity. Several other output columns are
possible. See Section
.
The program 'powder.pl' simulates the x-ray diffraction pattern from a powder sample. The simulation uses the anomalous scattering corrections and considers multiplicity and the diffractometer Lorentz-polarization correction, but does not consider any sort of line broadening. The calculation also assumes a perfectly random sample -- no sort of texturing or preferred orientation is considered.
'powder.pl' uses the same input files as atoms.pl. Two
additional keywords are used by this program and ignored by
'atoms.pl'. These are energy and maxorder,
which specify the energy at which to make the calculation and the
maximum order or reflection to calculate. These can also be specified
from the command line with the -e and -m switches.
By default, the Cu
energy and 12 are used. The value for
energy can be a value in eV, a wavelength in Ångstroms,
or a string like ``Cu_kalpha1'' or ``Pt_lbeta2''.
If the value of energy is a number then, if it small, it is
interpreted as a wavelength or else as an energy.
The anomalous corrections to the scattering factors can be suppressed with the -I switch. In that case, on the Thompson scattering is used. Normally the Cromer-Liberman tables are used. If they were not installed with the rest of ATOMS, then the Henke tables are used.
| switch | meaning |
| -t atp | user supplied template |
| -o name | output file name |
| -O | write to standard output |
| -I | ignore anomalous corrections to the scattering factors |
| -e # | override the value of energy with the given value |
| -m # | override the value of maxorder with the given value (12) |
| -q | suppress screen messages |
| -v | write version information and exit |
| -h | write this message and exit |
ATOMS ships with only one ATP file, 'powder.atp', for use with
'powder.pl'. This tells 'powder.pl' to write five-column
output, 2theta, h, k, l and diffracted intensity. Several
other output columns are possible. See Section
.