Input File Control Cards

The main program FEFF reads a single file (`feff.inp') created by the user and executes the various program modules described below. An auxiliary FORTRAN program (ATOMS), developed by Bruce Ravel, is provided to generate the `feff.inp' file for crystals from crystallographic input parameters. A perl-based graphical user interface to ATOMS is also available. Information about ATOMS can be found on the WWW at:$\sim$ravel/software/aboutatoms.html

This section describes `feff.inp' and the commands that control FEFF. It may be helpful to look at one or more of the sample input files in Section 4 while reading this section.

The input for FEFF8 is similar to that for FEFF versions 5 through 7, except that several additional options have been added to permit self-consistent potential generation, full multiple scattering XANES calculations, polarization dependence, and others listed in Section 2.1. FEFF8 is backwards compatible and supports input files earlier style input files (from FEFF versions 5 through 7).

The input file `feff.inp' is a loosely formatted, line-oriented text file. Each type of input read by the program is on a line which starts with a card or keyword and, in some cases, is followed by alpha-numeric data. All card arguments listed below inside square brackets are optional. The sequence of keyword cards is arbitrary. If any card or optional data is omitted, default values are used; an exception is the POTENTIALS card, which is always required. (Either the ATOMS card or the OVERLAP card is also required for FEFF to run.)

Alpha-numeric values are listed in free format, separated by blanks. Tab characters are not allowed (due to Fortran 77 portability constraints) and may cause confusing error messages. Any characters appearing after the card and its required or optional data on a given line are ignored by FEFF and can be used as end-of-line comments. Spaces between lines (empty lines) are ignored. Any line beginning with an asterisk (*) is regarded as a comment and is also ignored.

All distances are in angstroms (Å) and energies in electron-volts (eV).

After reading the `feff.inp' file (in the ``zeroth'' module rdinp, read input), the calculations of various spectroscopies are done sequentially in six steps:

  1. The scattering potentials are calculated using atomic overlap (Mattheiss) prescription or self-consistently using an automated SCF loop. Absolute energies are estimated. (module pot, potentials.)

  2. The scattering phase shifts, dipole matrix elements, and x-ray cross-section are calculated. (module xsph, cross-section and phases.)

  3. Full multiple scattering XANES calculations are done for a specified cluster size. (module fms, full multiple scattering.)

  4. The leading multiple scattering paths for the cluster are enumerated. (module path, path enumeration.)

  5. The effective scattering amplitudes $f_{\rm eff}$ and other XAFS parameters are calculated for each scattering path. (module genfmt, general-path F-matrix calculation.)

  6. The XAFS parameters from one or more paths are combined to calculate a total XAFS or XANES spectrum. (module ff2x, scattering amplitude to $\chi$.)

There are also several optional steps:

  1. If the LDOS card is present in `feff.inp', the angular momentum projected density of states is calculated. This calculation was previously part of the module xsph, but it now runs independently, between pot and xsph. (module ldos.)

  2. If the SO2CONV card is used, this module convolves regular XAS output files (e.g., `xmu.dat') with a many body spectral function to include many body effects. (module so2conv.)

  3. If the ELNES card or the EXELFS card is present in `feff.inp', the electron energy loss spectrum is calculated based on the specified arguments. (module eels. See Section 4.7.)

    Note that steps 2, 3, 4, 5 and 6 are affected by the presence of the ELNES/EXELFS cards. See Section 3.1 for details on how the various module output files change.

This section describes how to control each module using the `feff.inp' file.