Data flow

From FEFF

Other files required by the various modules are created by feff from ‘feff.inp’. Some of these other files may be edited by the user as a way to modify the input data to the modules, see Section 3.3. See the PRINT card in Section 2.2 to obtain various diagnostic files. This section summarizes that structure.

Contents

Module 0 . . . rdinp

Purpose of Module: Process input data

  • Input files: `feff.inp'
  • Output files: `geom.dat', `global.inp', 'pot.inp', `xsph.inp', `fms.inp', `path.inp', `genfmt.inp', `ff2x.inp', `ldos.inp', and `eels.inp'
  • Other output: `paths.dat' (only if the SS card is used)
  • Description: Reads the `feff.inp' file, makes appropriate operations on the data, and writes the resulting information into several intermediate files, which contain formatted data needed for all modules.

Module 1 . . . atomic

Purpose of Module: Calculate atomic potentials for the photoelectron

  • Input files: `pot.inp' and `geom.dat'
  • Output files: `apot.bin'
  • Other output: `fpf0.dat'
  • Description: Reads `pot.inp' and calculates atomic potentials for the photoelectron, which are written into `apot.bin'.

Module 2 . . . pot

Purpose of Module: Calculate embedded atomic potentials for the photoelectron

  • Input files: `pot.inp',`apot.bin' and `geom.dat'
  • Output files: `pot.bin'
  • Other output: diagnostic files (see PRINT card)
  • Description: Reads `pot.inp' and calculates potentials for the photoelectron, which are written into `pot.bin'. Optionally, pot will write other diagnostic files with information about the potentials.

Module 3 . . . screen

  • Purpose of Module: Calculate embedded atomic potentials for the photoelectron
  • Input files: `pot.bin' and, optionally, `screen.inp'
  • Output files: `wscrn.dat'
  • Description: Calculates screening, which is written into `wscrn.dat'.

Module 4 . . . ldos

Purpose of Module: Calculate LDOS

  • Input files: `ldos.inp', `geom.dat', and `pot.bin'.
  • Output files: `ldosNN.dat' (`DOS) and `logdos.dat'
  • Other output:
  • Description: LDOS runs only if the LDOS card is present in `feff.inp'. It outputs the angular momentum (`) projected DOS into `ldosNN.dat' files, with each value of NN corresponding to each unique potential.

Module 5 . . . xsph

Purpose of Module: Calculate cross-section and phase shifts

  • Input files: `xsph.inp', `geom.dat', `global.dat' and `pot.bin'
  • Output files: `phase.bin', and `xsect.dat',
  • Other output: diagnostic files (see PRINT card), and `axafs.dat'.
  • Description: xsph writes the binary file `phase.bin', which contains the scattering phase shifts and other information needed by path and genfmt. The atomic crosssection data is written in `xsect.dat' and used in the module (ff2x) for overall normalization. Optionally, xsph will write other diagnostic files with information about the phase shift calculations.

Module 6 . . . fms

Purpose of Module: Calculate full multiple scattering for XANES, ELNES and `DOS

  • Input files: `fms.inp', `global.dat', `geom.dat', and `phase.bin'
  • Output files: `gg.bin'
  • Other output: optionally `gg.dat'
  • Description: Performs the full multiple scattering algorithm. Writes the Green's function matrix to `gg.bin'.

Module 7 . . . mkgtr

Purpose of Module: Calculate full multiple scattering for XANES, ELNES and `DOS

  • Input files: `fms.inp', `global.dat', `geom.dat', `gg.bin' and `phase.bin'
  • Output files: `fms.bin'
  • Other output: optionally `gtr.dat'
  • Description: Traces the Green's function matrix and adds in matrix elemtens. Output written to `fms.bin'. Writes output into `fms.bin' for the ff2x module, which contains the chi(k) from fms. If an ELNES/EXELFS card is present, all of the requested components of the sigma tensor are written to `fms.bin', instead of just one.

Module 8 . . . path

Purpose of Module: Path enumeration

  • Input files: `path.inp', `geom.dat', `global.dat' and `phase.bin'
  • Output files: `paths.dat'
  • Other output: `crit.dat'
  • Description: path writes `paths.dat' for use by genfmt and as a complete description of each path for use of the user. path will optionally write other diagnostic files. The file `crit.dat' is particularly useful when studying large numbers of paths. When studying large numbers of paths, this module will optionally write only `crit.dat' and not `paths.dat'. If an ELNES/EXELFS card is present, a separate `list.dat' file is written for each polarization component (i.e., `list.dat', `list02.dat', etc.).

Module 9 . . . genfmt

Purpose of Module: Calculate scattering amplitudes and other XAFS parameters

  • Input files: `genfmt.inp', `global.dat', `phase.bin', and `paths.dat'
  • Output files: `feff.bin', and `list.dat'
  • Other output:
  • Description: genfmt reads input files, and writes a file `feff.bin', which contains all the EXAFS information for the paths, and `list.dat', which contains some basic information about them. These files are the main output of feff for EXAFS analysis. To read `feff.bin' into your own program, use the subroutine feffdt as an example. If an ELNES/EXELFS card is present, a `listNN.dat' file is written for each polarization component, and a separate `feff.bin' file is written (i.e., `feff.bin', `feff02.bin', etc.). The format of the files is unchanged.

Module 10 . . . ff2x

Purpose of Module: Calculate specified x-ray spectrum

  • Input files: `ff2x.inp', `global.dat', `list.dat', `feff.bin', `fms.bin', `xsect.bin'
  • Output files: `chi.dat' and `xmu.dat'
  • Other output: `chipNNNN.dat' and `feffNNNN.dat'
  • Description: ff2x reads `list.dat', `fms.bin', `feff.bin', and writes `chi.dat' with the total XAFS from the paths specified in `list.dat'. Additional instructions are passed to ff2x from `feff.bin', so you can change S02, the Debye temperature and some other parameters without re-doing the whole calculation. The file `list.dat' can be edited by hand to change the paths being considered, and individual `chipNNNN.dat' files with chi(k) from each path are optionally written. If any of the XANES, DANES, FPRIME or XNCD cards are specified, ff2x will write the corresponding calculated data in `xmu.dat'. Various corrections are possible at this point in the calculations- see the input cards above. If an ELNES/EXELFS card is present, this module reads the large `fms.bin' and all the `feffNN.bin' files, and produces a `xmuNN.dat' file containing the corresponding component of the sigma tensor (`xmu.dat', `xmu02.dat', ..., `xmu09.dat'). Those files have the traditional `xmu.dat' format. Similarly, `chiNN.dat' files are produced.

Module 11 . . . sfconv

Purpose of Module: Convolve output files with the spectral function.

  • Input files: `sfconv.inp', `xmu.dat', `chi.dat', `chipNNNN.dat', or `feffNNNN.dat'
  • Output files: `specfunct.dat',
  • Other output: The following files are overwritten with convolved spectral data: `xmu.dat',

`chi.dat', `chipNNNN.dat', and `feffNNNN.dat'.

  • Description: SFCONV convolutes the single particle XAS files with a many body spectral function to include many body effects on the spectra, including an ab-initio calculation of the amplitude reduction factor S20 . This module runs after ff2x if the SFCONV card is present in `feff.inp'. In the presence of an EELS card, the module is run for all components of the sigma tensor: each `xmu.dat' file is opened and altered individually.

Module 12 . . . eels

Purpose of Module: Calculate EELS

  • Input files: `eels.inp'
  • Output files: `eels.dat' and `logeels.dat'
  • Other output: optionally, `magic.dat'
  • Description: EELS runs only in the presence of an EELS card. It reads `eels.inp', and sums the partial spectra from the various polarizations to assemble a physical EELS spectrum. This module is active if one of the EELS cards (ELNES and EXELFS) is specified.




FEFF Input and Output Files

Back to FEFF Document Contents

developer's resources