%% $Id: feff8.tex,v 1.12 2000/03/21 00:24:22 alex Exp $
\documentclass[11pt,oneside]{report} % one-sided or two-sided hardcopy
\usepackage{html} % it seems that this line must be in the main file
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% hypertext (pdf and dvi, html handled elsewhere):
%%
%% uncomment these two lines when running pdflatex (i.e. pdf output)
%  \usepackage[pdftex]{color}
%  \usepackage[pdftex,colorlinks,breaklinks,backref]{hyperref}
%%
%% uncomment this line when running normal latex (i.e. dvi output)
  \usepackage{hyperref}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% all the rest of the feffdoc stuff:
\usepackage{feffdoc}


\begin{document}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% these lines handle html and pdf issues that cannot be addressed in
%% the feffdoc.sty file
\bodytext{bgcolor=white}
%%\HTMLset{TITLE}{FEFF8 Documentation}
\begin{latexonly}
  \renewcommand{\htmlref}[2]{\hyperlink{#2}{#1}}
  \renewcommand{\htmladdnormallink}[2]{\href{#2}{#1}}
\end{latexonly}
\begin{htmlonly}
  \newcommand{hypertarget}[2]{}
\end{htmlonly}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\pagenumbering{roman}           % Roman numerals in front matter
\MakeTitle                      % write out a title page

\newchapter{}

\begin{abstract}
  {\it Ab initio} self-consistent real space Green's function code for
  simultaneous multiple-scattering calculations of x-ray-absorption spectra
  and electronic
  structure. Output includes extended x-ray-absorption fine structure
  (EXAFS), full multiple scattering calculations of x-ray absorption
  near edge structure (XANES), and projected local densities of states
  (LDOS).   Calculations of x-ray scattering amplitudes (Thomson and
  anomalous parts) and nonresonant x-ray emission,
   spin dependent calculations of x-ray magnetic circular
  dichroism (XMCD) and spin polarized x-ray absorption spectra (SPXAS
  and SPEXAFS) are also possible, but less automated.

  This work has been supported in part by grants from the United
  States Department of Energy and by the University of Washington
  Office of Technology Transfer.  {\feff} is copyright \copyright\
  1992--2000, The {\feff} Project, Department of Physics, University
  of Washington, Seattle, WA 98195-1560

  \vspace*{\stretch{1}}

  \noindent This document is copyright \copyright\ 2000 by A. Ankudinov,
  B. Ravel, and J.J. Rehr.

  \noindent Permission is granted to reproduce and distribute this
  document in any form so long as the copyright notice and this
  statement of permission are preserved on all copies.
\end{abstract}

\newchapter{}
\tableofcontents
\newchapter{}

\setcounter{page}{1}
\pagenumbering{arabic}

\chapter{Synopsis} % -- PLEASE READ THIS ENTIRE SECTION}
\label{sec:Synopsis}

{\feffcur} calculates extended x-ray-absorption fine structure
(EXAFS), x-ray-absorption near-edge structure (XANES) and local
densities of state (LDOS), using an \textit{ab initio} self-consistent
real space Green's function (RSGF) approach for clusters of atoms
($Z < 99$), including polarization dependence.  Calculations are based
on an all-electron, relativistic Green's function formalism. The
method combines both full multiple scattering and a high-order path
expansion based on the Rehr--Albers multiple scattering formalism.
Calculation of the x-ray
elastic scattering amplitude, nonresonant x-ray emission and
x-ray natural circular dichroism,
spin dependent calculations of x-ray magnetic circular dichroism
(XMCD) and spin polarized x-ray absorption (SPXAS and SPEXAFS) are
also possible, but much less automated.

For a quick start we suggest that users try a few of the examples in Section
\ref{sec:Calc-Strat-Exampl}.  For details on use of the code, examples
and suggestions for calculation strategies, see Sections
\ref{sec:Input-File-Controls}, \ref{sec:Output-Files}, and
\ref{sec:Calc-Strat-Exampl}.  For details about the algorithms used
see the discussion for the appropriate module in Section
\ref{sec:Input-File-Controls} and, for more detail, the published
references listed in Appendix~\ref{sec:Append-C.-Refer}.

{\feff} is written in ANSI Fortran 77, with the non-standard extension
of double precision complex (\texttt{complex*16}) variables. It requires at
least 18 megabytes (MB) of available memory (RAM) to run. For XANES
calculations, one generally needs more memory (about 60 MB of RAM for
a cluster of 100 atoms, about 170 MB for a cluster of 200 atoms, and
so on depending on computer type).
 See Appendix~\ref{sec:Append-B.-Inst} for installation instructions.



The main developers of {\feffcur} are:
\begin{description}
\item[Alexei L.~Ankudinov]\hfill\\
Department of Physics, BOX 351560\\
University of Washington\\
Seattle, WA 98195-1560\\
email: \htmladdnormallink{alex@phys.washington.edu}
{mailto:alex@phys.washington.edu}\\
Telephone: (206) 543-9420; FAX (206) 685-0635

\item[Bruce Ravel ]\hfill\\
email: \htmladdnormallink{ravel@phys.washington.edu}
{mailto:ravel@phys.washington.edu}

\item[John J.~Rehr, Principal Investigator]\hfill\\
Department of Physics, BOX 351560\\
University of Washington\\
Seattle, WA 98195-1560\\
email: \htmladdnormallink{jjr@phys.washington.edu}
{mailto:jjr@phys.washington.edu}\\
Telephone: (206) 543-8593\\
FAX: (206) 685-0635
\end{description}


Please contact the authors concerning any problems with the code.  See
Appendix~\ref{sec:Appendix-F.-Trouble} for trouble-shooting hints and
problem/bug reports.


{\feff} is copyright protected software and users must obtain a
license from the University of Washington Office of Technology
Transfer for its use.  See Appendix~\ref{sec:Append-A.-Copyr} for
complete copyright notice and other details.  Documentation and
information on how to obtain the code can be found at the {\feff}
Project WWW URL:

\centerline{\htmladdnormallink{http://leonardo.phys.washington.edu/feff/}
  {http://leonardo.phys.washington.edu/feff/}}

\noindent or by e-mail to the {\feff} Project Coordinator at
\htmladdnormallink{feff@phys.washington.edu}{mailto:feff@phys.washington.edu}.


Please cite {\feff} and an appropriate {\feff} reference if the code
or its results are used in published work.  See
Appendix~\ref{sec:Append-C.-Refer} for a list of appropriate
citations.

\noindent
The main published reference for {\feff}8 is: \emph{ Real
  Space Multiple Scattering Calculation and Interpretation of X-ray
  Absorption Near Edge Structure}, A.L.~Ankudinov, B.~Ravel, 
J.J.~Rehr, and S.D.~Conradson Phys. Rev.  B\textbf{58}, 7565 (1998).

\noindent
The reference for the additional spectroscopies added in {\feffcur}
is \emph{Theory of solid state contributions to the x-ray elastic scattering
amplitude}, by A. L.  Ankudinov, and J. J. Rehr, Phys. Rev. B,
{\bf62}, 2437 (2000).

\noindent
A review covering all earlier {\feff} codes is:
\emph{ Theoretical approaches to x-ray absorption fine structure},
J.J.~Rehr, R.C.~Albers Rev. Mod. Phys. \textbf{72}, 621-654 (2000).

Several new features have been added to {\feff}8 compared to
{\feff}7 and earlier versions of {\feff}, largely by Alexei Ankudinov.
These include an automated self-consistent potential algorithm and 
calculations of LDOS, the Fermi level, and charge transfer.
For version {\feffcur} he also added calculations of other spectroscopies
including the x-ray elastic scattering amplitude, x-ray natural circular
dichroism and nonresonant x-ray emission.
\htmladdnormallink{Bruce
  Ravel}{http://feff.phys.washington.edu/~ravel/} developed the full
multiple scattering (FMS) algorithms, which are necessary both for LDOS and
for accurate XANES calculations. The format of the {\feff}8  document was also
developed primarily by B. Ravel.  Anna Poiarkova contributed two new approaches
for calculating multiple-scattering Debye--Waller factors.  Matthew
Newville added an improved, portable output structure to facilitate file
transfer between machines and the 
interface to XAFS analysis codes.  The high-order multiple-scattering
routines, pathfinder, and standard input/output routines were developed by
Steven Zabinsky for {\feff}5 and 6, and are still in use.  The 
Hedin--Lundqvist plasmon-pole self-energy and phase shift routines were developed
for early versions of {\feff} in collaboration with Jose Mustre de
Leon, Dan Lu and R.C.~Albers and are still part of {\feff}8.


  {\feff} is compatible with a number of XAFS analysis packages. For
details see the links at the {\feff} Project home page 
{http://leonardo.phys.washington.edu/feff/}.
An extensive course dealing with XAFS analysis using {\feff} and the
{\feffit} code of M. Newville has been developed by B. Ravel; for details
see {http://leonardo.phys.washington.edu/~ravel/course/Welcome.html}
and the {\feffit} home page {http://cars9.uchicago.edu/~newville/feffit/}.

 The authors thank many users of experimental versions of {\feff}8
for feedback and suggestions.  The authors also thank R.C.\
Albers, K.\ Baberschke, F.\ Bridges, C.\ Brouder, G.\ Brown,
S.D.\ Conradson, G.\ Hug, M.\ Jaouen, and E.\ Stern for useful comments.

\vspace*{\stretch{1}}
\begin{table}[htbp]
  \begin{center}
    \begin{tabular}[h]{ll}
      \hline\hline
      \quad font & \quad denotes \\
      \hline
      \program{small caps} & names of programs\\
      \texttt{typewriter font} &  contents of files\\
      \file{quoted typewriter font} & file names\\
      ROMAN CAPITALS & names of cards in the \file{feff.inp} file\\
      \texttt{\textsl{slanted typewriter font}} &
      commands executed at a command line \\
      \hline\hline
    \end{tabular}
  \end{center}
  \caption{Typographic conventions in this document}
  \label{tab:typographic}
\end{table}




\chapter{Input File Controls}
\label{sec:Input-File-Controls}


The main program {\feff} reads only one file created directly by the
user, the file \file{feff.inp} and executes the various program
modules described below.  An auxiliary program ({\atoms}), developed
by \htmladdnormallink{Bruce
  Ravel}{http://feff.phys.washington.edu/~ravel/}, is provided which
can generate the \file{feff.inp} file from crystallographic input
parameters.  Information about {\atoms} can be found on the WWW at

\centerline{\htmladdnormallink{http://feff.phys.washington.edu/$\sim$
ravel/atoms/}
{http://feff.phys.washington.edu/~ravel/atoms/}}

This section describes \file{feff.inp} and the commands that tell
{\feff} what to do.  It may be helpful to look at one or more of the
sample input files in Section \ref{sec:Calc-Strat-Exampl} while
reading this section.  The input file for {\feffcur} is similar to
{\feff} version 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~\ref{sec:Complete-list-FEFF8}.


The input file \file{feff.inp} follows the free format style introduced by
S. Zabinsky in previous versions of {\feff} and is mostly
backward compatible with previous versions.
 It is a loosely formated, line oriented
text file.  Each type of input read by the program is on a line which
starts with a \emph{card} or \emph{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.  Alpha-numeric values are listed in free format,
separated by blanks.  Tab characters are \emph{not allowed} (due to
Fortran 77 portability constraints) and may cause confusing error
messages.  Any characters appearing after the card and any required or
optional data on a given line are ignored by {\feff} and can be used
as end-of-line comments.  All distances are in {\AA}ngstroms and
energies in eV.  Spaces between lines (empty lines) are ignored.  Any
line beginning with an asterisk (\texttt{*}) is regarded as a comment
and is also ignored.



After reading the \file{feff.inp} file, the calculations are
done sequentially in six steps:

\begin{enumerate}
\item  The scattering potentials are calculated using atomic
overlap (Mattheiss) prescription or self-consistently using
an automated SCF loop. Absolute energies are estimated.
(module {\bfseries POT}, potentials).
\item  The scattering  phase shifts, dipole matrix
elements, x-ray cross-section
and angular momentum projected density of states (LDOS) are calculated.
(module {\bfseries XSPH}, cross-section and phases).
\item  Full multiple scattering XANES calculations are
done for a specified cluster size.
(module {\bfseries FMS}, full multiple scattering).
\item  The leading multiple scattering paths for the cluster are enumerated.
(module {\bfseries PATHS}).
\item  The effective scattering amplitudes $f_{\rm eff}$ and other XAFS
parameters are calculated for each scattering path.
(module {\bfseries GENFMT}, general-path F-matrix calculation).
\item  The XAFS parameters from one or more paths are combined to
calculate a total XAFS or XANES spectrum.
(module {\bfseries FF2CHI}, scattering
amplitude to chi).
\end{enumerate}


This section describes how to control each module using the
\file{feff.inp} file.



\section{Complete list of FEFF8 control cards}
\label{sec:Complete-list-FEFF8}




The list of \file{feff.inp} options falls into three categories,
\textsl{standard} options frequently and easily used, \textsl{useful}
options that are often used, and \textsl{advanced} options that are
seldom necessary or helpful.  Every card in \file{feff.inp} file will
influence the calculations, starting from some module. Thus for better
understanding how each module can be affected by the input cards, we
list three categories (standard, useful, and advanced) for each
module separately.


\begin{description}
  %%
  %% Module 0
\item[\large\textbf{Module 0}]\dotfill\  {\large\textrm{RDINP}}
  \begin{description}
  \item[\textbf{Purpose:}] Read input data
  \item[\textbf{Standard cards:}] \htmlref{ATOMS}{card:ato},
    \htmlref{CONTROL}{card:con}, \htmlref{PRINT}{card:pri}, and
    \htmlref{TITLE}{card:tit}
  \item[\textbf{Useful Cards:}] \htmlref{END}{card:end},
    \htmlref{NOGEOM}{card:nog}, and \htmlref{RMULTIPLIER}{card:rmu}
  \item[\textbf{Advanced Cards:}] \htmlref{CFAVERAGE}{card:cfa} and
    \htmlref{OVERLAP}{card:ove}
  \end{description}
  %%
  %% Module 1
\item[\large\textbf{Module 1}]\dotfill\  {\large\textrm{POT}}
  \begin{description}
  \item[\textbf{Purpose:}] Calculate (self-consistent)
    scattering potentials and Fermi energy
  \item[\textbf{Standard cards:}] \htmlref{POTENTIALS}{card:pot},
    \htmlref{AFOLP}{card:afo}, \htmlref{S02}{card:s02}
  \item[\textbf{Useful Cards:}] \htmlref{EXCHANGE}{card:exc},
    \htmlref{NOHOLE}{card:noh}, \htmlref{RGRID}{card:rgr}, and
    \htmlref{SCF}{card:scf}
  \item[\textbf{Advanced Cards:}] \htmlref{FOLP}{card:fol},
    \htmlref{INTERSTITIAL}{card:int},
    \htmlref{ION}{card:ion}, and \htmlref{SPIN}{card:spi}
  \end{description}
  %%
  %% Module 2
\item[\large\textbf{Module 2}]\dotfill\  {\large\textrm{XSPH}}
  \begin{description}
  \item[\textbf{Purpose:}] Calculate cross-section, phase
    shifts and $\ell$DOS
  \item[\textbf{Standard cards:}] \htmlref{EXAFS}{card:exa},
    \htmlref{XANES}{card:xan}, \htmlref{EDGE}{card:edg} and
    \htmlref{HOLE}{card:hol},
  \item[\textbf{Useful Cards:}] \htmlref{ELLIPTICITY}{card:ell},
    \htmlref{POLARIZATION}{card:pol}, and \htmlref{LDOS}{card:ldo}
  \item[\textbf{Advanced Cards:}] \htmlref{RPHASES}{card:rph},
    \htmlref{DANES}{card:dan}, \htmlref{FPRIME}{card:fpr},
    \htmlref{XES}{card:xes}, \htmlref{XNCD}{card:xnc}
  \end{description}
  %%
  %% Module 3
\item[\large\textbf{Module 3}]\dotfill\  {\large\textrm{FMS}}
  \begin{description}
  \item[\textbf{Purpose:}] Calculate full multiple
    scattering for XANES
  \item[\textbf{Standard cards:}] \htmlref{FMS}{card:fms}
  \item[\textbf{Useful Cards:}] \htmlref{DEBYE}{card:deb1}
  \item[\textbf{Advanced Cards:}]
  \end{description}
  %%
  %% Module 4
\item[\large\textbf{Module 4}]\dotfill\  {\large\textrm{PATHS}}
  \begin{description}
  \item[\textbf{Purpose:}] Path enumeration
  \item[\textbf{Standard cards:}] \htmlref{RPATH}{card:rpa}
  \item[\textbf{Useful Cards:}] \htmlref{NLEG}{card:nle}
  \item[\textbf{Advanced Cards:}] \htmlref{PCRITERIA}{card:pcr} and
    \htmlref{SS}{card:ss}
  \end{description}
  %%
  %% Module 5
\item[\large\textbf{Module 5}]\dotfill\  {\large\textrm{GENFMT}}
  \begin{description}
  \item[\textbf{Purpose:}] Calculate scattering amplitudes
    and other XAFS parameters
  \item[\textbf{Standard cards:}]
  \item[\textbf{Useful Cards:}] \htmlref{CRITERIA}{card:cri}
  \item[\textbf{Advanced Cards:}] \htmlref{IORDER}{card:ior} and
    \htmlref{NSTAR}{card:nst}
  \end{description}
  %%
  %% Module 6
\item[\large\textbf{Module 6}]\dotfill\  {\large\textrm{FF2CHI}}
  \begin{description}
  \item[\textbf{Purpose:}] Calculate EXAFS or XANES spectra
  \item[\textbf{Standard cards:}] \htmlref{DEBYE}{card:deb2}
  \item[\textbf{Useful Cards:}] \htmlref{CORRECTIONS}{card:cor} and
    \htmlref{SIG2}{card:sig}
  \item[\textbf{Advanced Cards:}]
  \end{description}
  %%
\end{description}


These data types are listed below in the same order as in the table above.
Each description is of this form:

\begin{Card}{CARD}{argument list}{type}{}
  The type is one of \textsl{Standard}, \textsl{Useful}, or
  \textsl{Advanced}.  The argument list is a brief statement of the
  valid arguments to the card.  The text description will explain the
  arguments and their uses more fully.  Example uses of the card look
  like this:
\begin{verbatim}
  * brief description of the example
  CARD  argument list
\end{verbatim}
\end{Card}



\section{Main Control Cards}
\label{sec:Main-Control-Cards}


These cards in this section are not associated with any particular
module, but are used throughout the {\feff} calculation.  The ATOMS
card is used to specify the absorbing atom and its environment.  (If
atomic coordinates are not known, then the OVERLAP card can be used to
construct approximate potentials).  Without this structural
information no calculations can be done.  The CONTROL card is used to
selectively run parts of {\feff}.  The PRINT card controls which
output files are written by the modules.



\begin{Card}{ATOMS}{}{Standard}{ato}
  Cartesian coordinates (in \AA ngstroms) and unique potential indices
  of each atom in the cluster are entered following the ATOMS card,
  one per line.  See also the discussion of the
  \htmlref{POTENTIALS}{card:pot} card.  An auxiliary code, {\atoms}
  written by \htmladdnormallink{Bruce
    Ravel}{http://feff.phys.washington.edu/~ravel/}, is supplied with
  {\feff} to generate the ATOMS list from crystallographic data.  See
  the document file for {\atoms} for more information.
\begin{verbatim}
  ATOMS
  * x      y      z     ipot     SF6 molecule
    0.0    0.0    0.0     0      S K-shell hole

    1.56   0.00   0.00    1      F 1st shell atoms
    0.00   1.56   0.00    1
    0.00   0.00   1.56    1
   -1.56   0.00   0.00    1
    0.00  -1.56   0.00    1
    0.00   0.00  -1.56    1
\end{verbatim}
\end{Card}


\begin{Card}{CONTROL}{ipot ixsph ifms ipaths igenfmt iff2chi}{Standard}{con}
  The CONTROL card lets you run one or more of the modules separately.
  There is a switch for each module: 0 means not to run that module, 1
  meaning to run it.  You can do the whole run in sequence, one module
  at a time, but you \emph{must} run all modules sequentially.
  \emph{Do not} skip modules: \hbox{\texttt{CONTROL 1 1 1 0 0 1}}
  is incorrect.  The default is \hbox{\texttt{CONTROL 1 1 1 1 1 1}},
  i.e.\ run all 6 modules.
\begin{verbatim}

  * example 1
  * calculate self consistent potentials, phase shifts and fms only
  CONTROL  1 1 1 0 0 0   ipot  ixsph  ifms   ipaths  igenfmt  iff2chi

  * example 2
  * run paths, genfmt and ff2chi; do not run pot, xsph, fms
  * this run assumes previous modules have already been run and
  * adds MS paths between rfms  and rpath to the MS expansion
  CONTROL  0 0 0 1 1 1    ipot  ixsph  ifms   ipaths  igenfmt  iff2chi
\end{verbatim}

\end{Card}


%% the use of \vspace{-4ex} in PRINT is a crufty hack to avoid having to
%% use the array package
\begin{Card}{PRINT}{ppot pxsph pfms ppaths pgenfmt pff2chi}{Standard}{pri}
  The PRINT card determines which output files are printed by each
  module.  The default is print level 0 for each module.  See
  Section~\ref{sec:Output-Files} for details about the contents of
  these files.
\begin{verbatim}
  * add crit.dat and feffNNNN.dat files to minimum output
  PRINT  0  0  0  1  0  3
\end{verbatim}
  The print levels for each module are summarized in
  Table~\ref{tab:printlevels} on page \pageref{tab:printlevels}.
\end{Card}



%% the use of \vspace{-4ex} in this table is a crufty hack to avoid
%% having to use the array package
\begin{table}[htbp]
  \begin{center}
    \begin{tabular}[h]{p{0.1\linewidth}p{0.8\linewidth}}
      module & \hspace{5em} print levels \\
      \hline \hline
      \texttt{pot} &
      \vspace{-4ex}
      \begin{itemize}
        \tightlist
      \item[0] write \file{pot.bin} and \file{logpot.dat} only
      \item[1] add \file{misc.dat}
      \item[2] add \file{pot.dat}
      \item[3] add \file{fpf0.dat}
      \item[5] add \file{atomNN.dat}
      \end{itemize}\\
      %%
      \texttt{xsph} &
      \vspace{-4ex}
      \begin{itemize}
        \tightlist
      \item[0] \file{phase.bin}, \file{rkk.bin} and \file{xsect.bin} only
      \item[1] add \file{psisqNN.dat} and \file{axafs.dat}
      \item[2] add \file{phase.dat} and \file{phmin.dat}
      \item[3] add \file{ratio.dat} for XMCD normalization
      \end{itemize} \\
      %%
      \texttt{fms} &
      \vspace{-4ex}
      \begin{itemize}
        \tightlist
      \item[0] \file{gtr00.dat}
      \end{itemize}\\
      %%
      \texttt{paths} &
      \vspace{-4ex}
      \begin{itemize}
        \tightlist
      \item[0] \file{path00.dat} only
      \item[1] add \file{crit.dat}
      \item[2] add \file{geom.dat}
      \item[3] add \file{fbeta} files (plane wave $|f(\beta)|$ approximations)
      \item[5] Write only \file{crit.dat} and save \file{geom.dat} and
        do not write \file{path00.dat}.  (This is useful when exploring
        the importance of paths for large runs.)
      \end{itemize}\\
      %%
      \texttt{genfmt} &
      \vspace{-4ex}
      \begin{itemize}
        \tightlist
      \item[0] \file{list.dat}, all paths with importance greater than
        or equal to two thirds of the curved wave importance criterion
        written to \file{feff.bin}
      \item[1] keep paths written to \file{feff.bin}
      \end{itemize}\\
      %%
      \texttt{ff2chi} &
      \vspace{-4ex}
      \begin{itemize}
        \tightlist
      \item[0] \file{chi.dat} and \file{xmu.dat}
      \item[1] add \file{sig2.dat} with Debye--Waller factors;
      \item[2] add \file{chiNNNN.dat} ($\chi(k)$ from each path
        individually) This can quickly fill up your disk if you're doing
        a large run.
      \item[3] add \file{feffNNNN.dat} (input files for Matt Newville's
        {\feffit} program), and do not add \file{chiNNNN.dat} files.
      \end{itemize}\\
      \hline \hline
    \end{tabular}
    \caption[Print levels]{Print levels controlling output files
      from the modules.}
    \label{tab:printlevels}
  \end{center}
\end{table}



\begin{Card}{TITLE}{title\_line}{Standard}{tit}
  User supplied title lines.  You may have up to 10 of these.  Titles
  may have up to 75 characters.  Leading blanks in the titles will be
  removed.
\begin{verbatim}
TITLE  Andradite  (Novak and Gibbs, Am.Mineral 56,791 1971)
TITLE  K-shell 300K
\end{verbatim}
\end{Card}




\begin{Card}{END}{}{Useful}{end}
  The END card marks the end of portion of the \file{feff.inp} file
  read by {\feff}.  All data following the END card is ignored.
  Without an END card, the entire input file is read.
\begin{verbatim}
END    ignore any lines in feff.inp that follow this card
\end{verbatim}
\end{Card}


\begin{Card}{RMULTIPLIER}{rmult}{Useful}{rmu}
  With RMULTIPLIER all atomic coordinates are multiplied by the
  supplied value.  This is useful to adjust lattice spacing, for
  example, when fractional unit cell coordinates are used.  By
  default, \texttt{rmult}=1.
\begin{verbatim}
*increase distances by 1%
RMULTIPLIER 1.01
\end{verbatim}
\end{Card}



\begin{Card}{CFAVERAGE}{iphabs nabs rclabs}{Advanced}{cfa}
  A ``configuration'' average over absorbers is done if the CFAVERAGE
  card is given.  CFAVERAGE currently assumes phase transferability,
  which is usually good for EXAFS calculations, but may not be accurate for
  XANES.  Note that the CFAVERAGE card is currently incompatible with
  the NOGEOM card and with the DEBYE card for options other than
  correlated Debye model ($\texttt{idwopt} > 0$).
  \begin{description}
  \item[\texttt{iphabs}] potential index for the type of absorber to
    over which to make the configuration average (potential 0 is also
    allowed)
  \item[\texttt{nabs}]\hfill\\ the configuration average is made over
    the first \texttt{nabs} absorbers in the \file{feff.inp} file of
    type \texttt{iphabs}.  You don't have to have potential of index 0
    in your input file when using the CFAVERAGE card, but you must
    have the same type of potential for iph=0 and iph=iphabs.  The
    configurational average is done over ALL atoms of type
    \texttt{iphabs}, if \texttt{nabs} is less or equal zero.
  \item[\texttt{rclabs}]\hfill\\ radius to make small atom list from a
    bigger one allowed in \file{feff.inp}.  Currently the parameter
    controlling the maximum size of the list \texttt{natxx}, is
    100,000 but can be increased.  The pathfinder will choke on too
    big an atoms list.  You must choose \texttt{rclabs} to have less
    than 1,000 atoms in small atom list.  If your cluster is less 1000
    atoms simply use \texttt{rclabs}=0 or negative always to include
    all atoms.
  \end{description}
  Default values are \texttt{iphabs}=0, \texttt{nabs}=1,
  \texttt{rclabs}=0 (where $\mathtt{rclabs}=0$ means to consider an
  infinite cluster size).
\begin{verbatim}
*average over all atoms with iph=2 in feff.inp with less than 1000 atoms
CFAVERAGE 2  0  0
\end{verbatim}
\end{Card}


\begin{Card}{OVERLAP}{iph}{Advanced}{ove}
  The OVERLAP card can be used to construct approximate overlapped
  atom potentials in terms of approximate near neighbor coordinations,
  when atomic coordinates are not known or specified.
  If the atomic positions are listed following the ATOMS cards, the
  OVERLAP cards are not needed.  {\feffcur} will stop if both ATOMS and
  OVERLAP cards are used.  The OVERLAP card contains the potential
  index of the atom being overlapped and is followed by a list
  specifying the potential index, number of atoms of a given type to
  be overlapped and their distance to the atom being overlapped.  The
  examples below demonstrate the use of an OVERLAP list.  This option
  can be useful for initial single scattering XAFS calculations in
  complex materials where very little is known about the structure.

  A user should verify that the coordination chemistry built in using the
  OVERLAP cards is realistic. It is particularly important to specify
  all the nearest neighbors of a typical atom in the shell to be
  overlapped. The most important factor in determining the scattering
  amplitudes is the atomic number of the scatterer, but the
  coordination chemistry should be approximately correct to ensure
  good scattering potentials. Thus it is important to specify as
  accurately as possible the coordination environment of the
  scatterer.  Note: If you use the OVERLAP card then you cannot use
  the FMS or SCF cards. Also the pathfinder won't be called, and you
  must explicitly specify single scattering paths using SS card, which
  is described in Section~\ref{sec:Path-enum-modul}.

\begin{verbatim}
* Example 1. Simple usage
* Determine approximate overlap for central and 1st nn in Cu
OVERLAP 0         determine overlap for central atom of Cu
  *iphovr   novr   rovr       * ipot, number in shell, distance
   1        12     2.55266
OVERLAP 1         determine approximate overlap for 1st shell atoms
  *iphovr   novr   rovr       * ipot, number in shell, distance
   0        12     2.55266

* Example 2. More precise usage
* Determine approximate overlap for 3rd shell atoms of Cu
OVERLAP 3
  0  1 2.55266    ipot, number in shell, distance
  1  4 2.55266
  2  7 2.55266
  2  6 3.61000
  2 24 4.42133
\end{verbatim}
\end{Card}


\section{POT: Scattering potentials}
\label{sec:Scatt-potent-modul}

{\feff}8 has the capability for either non-self consistent (as in
{\feff}7 and earlier versions) or self-consistent scattering potentials.
The calculation begins with free atom potentials of each atomic type
(i.e., as if the atoms were isolated in space) using a relativistic
Dirac--Fock atom code.  Non-self-consistent scattering potentials are then
calculated by overlapping the free atom densities within the muffin tin
approximation (Mattheiss prescription), solving the Poisson equation,
and for the Coulomb potential,  and then including the complex
Hedin--Lundqvist/Quinn self energy for excited states.  Non
overlapping muffin-tin radii are determined automatically from
calculated the Norman radii.  Automatic overlapping of muffin tin
spheres (see the AFOLP card) is done by default, since it typically
leads to better results than non overlapping muffin-tin spheres. Optionally
{\feffcur} determines self-consistent potentials by  successively
calculating the electron density of states, electron density and Fermi
level at each stage within a small cluster and then iterating, starting
from the Mattheiss prescription for the initial iteration.

XAFS spectra are referenced to the threshold Fermi level.  This
quantity is best determined with the self-consistent field procedure (typically
to within a fraction of an eV), or (less accurately but much faster) can be
estimated from the electron
gas result at the mean interstitial density within Mattheiss prescription, as
in {\feff}7.  An absolute energy scale is obtained by an atomic
calculation of the total energy of the system with and without the
core-hole.  Atomic configurations and core-hole lifetimes are built
in, and mean free paths are determined from the imaginary part of the
average interstitial potential, including self-energy and lifetime
contributions.

The potential calculations need as input only the atomic number of the
atoms, and, for the absorbing atom, the type of the core hole being
considered.  To do the overlapping of the unique potentials, the
neighboring atoms must be identified, either by position (from a list
of the cartesian coordinates of each atom) or by explicit overlapping
instructions using the OVERLAP card described in
Section~\ref{sec:Scatt-potent-modul}.

To save time the code calculates the overlapped atom potential for each
unique potential only once, using as a sample geometry for an atom with
a a given unique potential index that for the atom that is closest to
the absorbing atom.  Thus it is essential that the neighborhood of each
sample atom be appropriate.


\begin{Card}{AFOLP}{folpx}{Standard}{afo}
  This automatically overlaps all muffin-tins up to a specified
  maximum value (default \texttt{folpx}=1.15) to reduce the effects of
  potential discontinuities at the muffin-tins.  Automatic overlapping
  is done by default and is useful in highly inhomogeneous materials.
  Typical values of the overlapping fraction should be between 1.0 and
  1.3.  See FOLP for a non-automated version.  Automatic overlapping
  is done by default; to switch off overlapping, use 1.0 as the
  argument for AFOLP.
\begin{verbatim}
* touching muffin-tins; do not use automatic overlapping
* recommended for AXAFS calculation
AFOLP  1.0
\end{verbatim}
\end{Card}


\begin{Card}{EDGE}{label s02}{Standard}{edg}
  The EDGE card is equivalent to the HOLE card, but eliminates the need to
  look up the appropriate integer index. Simply use the hole label:
  \texttt{NO} means no hole, \texttt{K} means $K$-shell, \texttt{L1}
  means $L_{I}$, and so on.  As with the HOLE card you may also use
  the integer index instead of the label.  All comments for HOLE card
  are valid for EDGE card - see the description below. Thus if the
  entry for $S_0^2$ is less than 0.1, $S_0^2$ will be estimated from
  atomic overlap integrals.
\begin{verbatim}
* L1-shell core hole, S02 = 0.9
  EDGE  L1   0.9
\end{verbatim}
\end{Card}

\begin{Card}{HOLE}{ihole s02}{Standard}{hol}
  The HOLE card includes the hole-code index and the amplitude
  reduction factor $S_0^2$. If the entry for $S_0^2$ is less than 0.1,
  then $S_0^2$ will be estimated from atomic overlap
  integrals.  Experimental values of $S_0^2$ are typically
  between 0.8 and 1.0.  The defaults if the HOLE card is omitted are
  \texttt{ihole}=1 for the $K$ shell and $S_0^2$=1.  The hole codes
  are shown in Table~\ref{tab:holecodes}.

  {\feff} is designed to calculate absorption only from completely filled
  shells.  You can try to simulate absorption from valence electrons
  with {\feff}, but you may get unreliable results. If you
  encounter difficulties, and need valence shell absorption, please
  contact the authors.

  For $\texttt{ihole}>4$, the core-hole lifetime parameter
  ($\gamma_{\textrm{ch}}$) is not tabulated in {\feff} and is set
  equal to 0.1 eV, since the final state losses are then dominated by
  the self-energy. Use the \htmlref{EXCHANGE}{card:exc} card to make
  adjustments ($\gamma_{\textrm{ch}} = 0.1 + 2\cdot\mathtt{vi0}$).

\begin{verbatim}
* K-shell core hole, S02 estimated by atomic overlap integrals
  HOLE  1   0.0
\end{verbatim}
\end{Card}

\begin{table}[htbp]
  \begin{center}
    \begin{tabular}[h]{|c>{\ttfamily}c|c>{\ttfamily}c|c>{\ttfamily}c|c>{\ttfamily}c|}
      \hline
      index & \textrm{edge} & index & \textrm{edge} & index &
      \textrm{edge} & index & \textrm{edge} \\
      \hline
      0  & NO & 7  & M3 & 14 & N5 & 21 & O5 \\
      1  & K  & 8  & M4 & 15 & N6 & 22 & O6 \\
      2  & L1 & 9  & M5 & 16 & N7 & 23 & O7 \\
      3  & L2 & 10 & N1 & 17 & O1 & 24 & P1 \\
      4  & L3 & 11 & N2 & 18 & O2 & 25 & P2 \\
      5  & M1 & 12 & N3 & 19 & O3 & 26 & P3 \\
      6  & M2 & 13 & N4 & 20 & O4 &    &    \\
      \hline
    \end{tabular}
    \caption[Available hole codes]{Available hole codes.  The entries
      in the columns marked edge are written as they are recognized by
      the EDGE card.  Index 0, \texttt{NO}, is the no hole option
      described in the \htmlref{NOHOLE}{card:noh} card.}
    \label{tab:holecodes}
  \end{center}
\end{table}

\begin{Card}{POTENTIALS}{}{Standard}{pot}
  The POTENTIALS card is followed by a list which assigns a unique
  potential index to each distinguishable atom. The potential index
  ipot is the index of the potential to be used for the phase shift
  calculation.  The list is of this form
\begin{verbatim}
  *    ipot   Z   [tag   lmax1   lmax2  xnatph]
\end{verbatim}
  The required list entries are the unique potential index
  \texttt{ipot} and the atomic number \texttt{Z}.  The \texttt{tag} is
  at most 6 characters and is used to identify the unique potential in
  the \file{path00.dat} output file.  The optional list entries
  \texttt{lmax1} and \texttt{lmax2} are used to limit the angular
  momentum bases of the self-consistent potentials (XSPH) and full
  multiple scattering calculations (FMS), respectively. 
  If the values are not specified, or if a negative number (e.g.,
  $\mathtt{lmax1}=-1$) is specified for either \texttt{lmax1} or
  \texttt{lmax2}, {\feff} will automatically use a default based upon the
  atomic number of the species normally lmax(atomic).  The last
  optional entry \texttt{xnatph} can be used to specify the
  stoichiometric number of each unique potential in the unit cell of a
  crystalline material.  This helps in the calculation of the Fermi
  level.  For an infinite solid, $\mathtt{xnatph}=0.01$
  (default value) is a suitable value for the absorbing atom (ipot=0).

  The absorbing atom must be given unique potential index 0.  These
  unique potential indices are simply labels, so the order is not
  important, except that the absorbing atom is index 0, and you may not
  have missing indices (i.e., if you use index 3, you must also have
  defined unique potentials 1 and 2).

  To save time the code calculates the overlapped atom potential for
  each unique potential only once, using as a sample geometry the
  first atom in the atom list with a given unique potential index.
  Thus it is essential that the neighborhood of that sample atom be
  representative.  Failure to do so may cause the code to generate
  inaccurate potentials and phase shifts and poor XAS results.

  It is often useful to assume that the potential for a given shell of
  atoms is the same as that of a previously calculated shell in order
  to save calculation time. For example, in Cu it is a good
  approximation to determine potentials only for the central atom and
  the first shell and to use the first shell potential
  ($\mathtt{ipot}=1$) for all higher shells.  Such approximations should
  be checked in each case, however.
\begin{verbatim}
  * molecular SF6  Sulfur K edge, lamx1=default, lmax2=3 (spdf basis)
  POTENTIALS
  *   ipot     Z  tag  lmax1 lmax2  xnat
       0      16   S    -1     3      1
       1       9   F    -1     3      6
\end{verbatim}
\end{Card}


\begin{Card}{S02}{s02}{Standard}{s02}
  The S02 card specifies the amplitude reduction factor $S_0^2$. If
  the entry for $S_0^2$ is less than 0.1, then the value of $S_0^2$ is
  estimated from atomic overlap integrals.  Experimental values of
  $S_0^2$ are typically between 0.8 and 1.0. This estimate is accurate
  to about 10\% .

  Alternatively, you can specify the value of $S_0^2$ in the HOLE or
  EDGE card; however, the meaning of the parameters in the
  \file{feff.inp} file is more clear if you use the S02 card.
\begin{verbatim}
  * let FEFF calculate approximate S02
  S02    0.0
\end{verbatim}
\end{Card}


\begin{Card}{FOLP}{ipot folp}{Useful}{fol}
  The FOLP card sets a parameter which determines by what factor the
  muffin-tin radii are overlapped.  We recommend that the AFOLP card
  be used in cases with severe anisotropy, and FOLP only be used for
  diagnostic purposes.  Typically only values larger than 1 and less
  than 1.3 should be used.  The AFOLP card will be ignored once FOLP
  is used for any potential type: touching muffin tin radius is
  used for each potential type, unless it is changed with FOLP.
\begin{verbatim}
*  10% increase of touching muffin tin radius for unique potential 0
*  20% decrease of touching muffin tin radius for unique potential 1
*  a 20% decrease is often needed for hydrogen atoms
FOLP 0  1.1
FOLP 1  0.8
\end{verbatim}
\end{Card}


\begin{Card}{EXCHANGE}{ixc vr0 vi0 [ixc0]}{Useful}{exc}
  The EXCHANGE card specifies the energy dependent exchange
  correlation potential to be used for the fine structure and for the
  atomic background.  \texttt{ixc} is an index specifying the
  potential model to use for the fine structure and the optional
  \texttt{ixc0} is the index of the model to use for the background
  function.  The calculated potential can be corrected by adding a
  constant shift to the Fermi level given by \texttt{vr0} and to a
  pure imaginary ``optical'' potential (i.e., uniform decay)
  given by \texttt{vi0}. Typical errors in {\feff}'s self-consistent
  Fermi level estimate are about 1 eV.  (The
  \htmlref{CORRECTIONS}{card:cor} card in Section~\ref{sec:Comb-contr-from} is
  similar but allows the user to make small changes in \texttt{vi0}
  and \texttt{vr0} {\it after}  the rest of the calculation is completed,
  for example in a fitting process.)  The
  Hedin--Lundqvist self-energy is used by default and appears to be the
  best choice for most applications we have tested in detail.  The
  partially nonlocal model (ixc=5) gives slightly better results in some
  cases, but has not been tested extensively and will be improved in the future.

  Another useful exchange model is the Dirac-Hara exchange correlation
  potential with a specified imaginary potential vi0.  This may be
  useful to correct the typical error in non-self-consistent estimates of
  the Fermi level of about +3 eV and to add final state and
  instrumental broadening.

  Defaults if EXCHANGE card is omitted are: \texttt{ixc}=0
  (Hedin--Lundquist), vr0=0.0, vi0=0.0.  For XANES, the ground state
  potential (\texttt{ixc0}=0) is used for the background function and
  for EXAFS the Hedin--Lundqvist (\texttt{ixc0}=0) is used.

  Indices for the available exchange models:
  \begin{itemize}
    \tightlist
  \item[ \texttt{0}\quad] Hedin--Lundqvist + constant imaginary part
  \item[ \texttt{1}\quad] Dirac--Hara + constant imaginary part
  \item[ \texttt{2}\quad] Ground state + constant imaginary part
  \item[ \texttt{3}\quad] Dirac--Hara + HL imag part + constant
    imaginary part
  \item[ \texttt{5}\quad] Partially nonlocal: Dirac--Fock for core +
    HL for valence electrons + constant imaginary part
  \end{itemize}
\begin{verbatim}
*Hedin-Lundqvist -2 eV edge shift and 1 eV expt broadening
EXCHANGE 0 2. 1.

*Dirac-Hara exchange -3 eV edge shift and 5 eV broadening
EXCHANGE 1 3. 5.
\end{verbatim}


\end{Card}


\begin{Card}{NOHOLE}{}{Useful}{noh}
  This card roughly simulates the effect of complete core-hole
  screening.  It is useful to test the final state rule for
  calculated XAS, and to compare to other calculations (such as band
  structure or other codes) that do not use a core hole.
   The code will use as the final state that specified by the HOLE card
   for the matrix element calculation --- the NOHOLE card will cause
  {\feff} to calculate potentials and phase shifts as if
  there is no core hole.  For $d$DOS and $L_{II}$ or $L_{III}$
  absorption calculations, for example,  NOHOLE often gives better
  agreement for white line intensities. Conversely NOHOLE tends to give
  poor XANES intensities for K-shell absorption in insulators such as BN.
\end{Card}


\begin{Card}{RGRID}{delta}{Useful}{rgr}
  The radial grid used for the potential and phase shift calculation
  is $$r(i) = \exp(-8.8 + (i-1)\cdot\delta)$$ with $\mathtt{delta} =
  0.05$ by default.  The default is sufficient for most cases.  However,
  occasionally there are
  convergence problems in the atomic background at very high
  energies (e.g., the background curves upward) and in the phase
  shifts for very large atoms.  If such convergence problems are encountered
  we suggest reducing \texttt{delta} to 0.03 (or even 0.01). This will solve
  these problems at the cost of longer computation times (the time is
  proportional to $1/\delta $).  This option is also useful for testing
  and improving convergence of atomic background calculations.
\begin{verbatim}
* use smaller radial grid step for accurate high energy calculations
RGRID  0.03
\end{verbatim}

\end{Card}


\begin{Card}{SCF}{rfms1 [lfms1 nscmt ca nmix]}{Useful}{scf}
  This card controls {\feff}'s automated self-consistent potential
  calculations. Thus all fields except rfms1 are optional and not 
  necessary except when some problems occur during SCF procedure.
  If this card is not specified then all calculations are done with the
  non self-consistent (overlapped atomic) potential.
 By default \texttt{lfms1}=0, \texttt{nscmt}=30 and \texttt{ca}=0.2.
  \begin{description}
  \item[\texttt{rfms1}]\hfill\\ This specifies the radius of cluster
    for full multiple scattering during the self-consistency loop.
    Typically one needs only about 30 atoms within sphere specified by
    \texttt{rfms1}, e.g. it is typically necessary to include first two
    coordination shells.
    Usually this value is smaller than the value \texttt{rfms}
    used in the FMS card, but should be larger than the radius of
    the second coordination shell.
  \item[\texttt{lfms1}]\hfill\\ The default value 0 is appropriate for
    all solids; in this case the sphere defined by \texttt{rfms1} is
    located on the atom for which the density of states is calculated.
    The value 1 is appropriate for molecular calculations and will
    probably save computation time, but may lead to inaccurate
    potentials for solids. When $\mathtt{lfms1} = 1$ the center of the
    sphere is located on absorbing atom.
  \item[\texttt{nscmt}]\hfill\\ This is the maximum number of iterations
    the potential will be recalculated.  A value of 0 leads to
    non-self consistent potentials and Fermi energy estimates.  A value of
    1 also yields non-self consistent potentials but the Fermi energy is
    estimated more reliably from calculations of the LDOS.
    Otherwise, the value of \texttt{nscmt} sets an
    upper bound on the number of iterations in the self-consistency
    loop.  Usually self-consistency is reached in about 10 iterations.
  \item[\texttt{ca}]\hfill\\ The convergence accelerator factor.  This
    is needed only for the first iteration, since {\feff} uses
    the Broyden algorithm to reach self-consistency. A typical value
    is 0.2; however, you may want to try smaller values if there are
    problems with convergence.  After a new density is calculated from
    new Fermi level, the density after the first iteration is
    $\rho_\mathrm{next} = ca*\rho_\mathrm{new} +
    (1-ca)*\rho_\mathrm{old}$.  $\mathtt{ca}=1.0$ is extremely unstable
    and should not be used.
  \item[\texttt{nmix}]\hfill\\ The nmix specifies how many iteration to do 
    with mixing algorithm, before starting Broyden algorithm.
    The calculations of SCF in materials
    which contain f-elements may not converge. We encountered such
    problem for Pu. However, SCF procedure converged if we started
    Broyden algorithm after 10 iterations with mixing algorithm with
    ca=0.05. 
  \end{description}

\begin{verbatim}
* Automated FMS SCF potentials for solids from 3.1 Ang clusters
  SCF  3.1 

* Automated FMS SCF potentials for a molecule of radius 3.1 Angstroms
  SCF  3.1 1

* To reach SCF for f-elements we sometimes had to use
  SCF  3.7 0  30  0.05  10
\end{verbatim}
\end{Card}


\begin{Card}{INTERSTITIAL}{inters  vtot}{Advanced}{int}
  The construction of interstitial potential and density may be
  changed by using INTERSTITIAL card. inters = ipot + 2*irav + 6*irmt.
  ipot=1 might be useful when only the surroundings of the absorbing
  atom are specified in \file{feff.inp}.  The extra parameters were
  introduced for test purposes: irav and irmt are described only
  for completeness and nonzero values are strongly not recommended.
  \begin{description}
  \item[\texttt{ipot}]\hfill\\ defines how to find interstitial
    potential: ipot=0 (default) the interstitial potential is found by
    averaging over the entire extended cluster in \file{feff.inp}.  ipot = 1
    the interstitial potential is found locally around absorbing atom.
  \item[\texttt{irav}]\hfill\\ also changes how interstitial potential
    is found.  0 (default) equation for V\_int is constructed at
    rav=r\_nrm, 1 - at rav=(r\_mt+r\_nrm)/2 , 2 - at rav=r\_mt
  \item[\texttt{irmt}]\hfill\\ 0 : Norman prescription for mt radii
    (default) 1 : Matching point prescription for mt radii (do not
    use)
  \item[\texttt{vtot}]\hfill\\ is the volume per atom normalized
   by the volume ratmin$^3$.  (The quantity ${\rm vtot} = {\rm (volume per atom)} /
{\rm ratmin}^3$), where ratmin is the shortest bond for the
    absorbing atom.  This quantity defines total volume (needed to
    calculate interstitial density) of the extended cluster specified
    in \file{feff.inp}.  If \texttt{vtot} $\leq0$ then the total volume is calculated
    as a sum of Norman sphere volumes. Otherwise,
    ${\rm total volume} = {\rm nat} * ({\rm vtot}*{\rm ratmin}^3)$;
    where nat is a number of atoms in extended cluster.
    Thus vtot=1.0 is appropriate for cubic structures, such as NaCl.
    The INTERSTITIAL card may be useful for open systems
    (e.g.  those which have ZnS structure.
  \end{description}

\begin{verbatim}
* improve interstitial density for ZnS structures.
* vtot = (unit_cell_volume/number_of_atoms_in_unit_cell)/ratmin**3)=1.54
INTERSTITIAL  0 1.54
\end{verbatim}
\end{Card}


\begin{Card}{ION}{ipot ionization}{Advance}{ion}
  The ION card ionizes all atoms with unique potential index
  \texttt{ipot}.  Negative values and non-integers are permitted,
  however ionicities larger than 2 and less than $-1$ often yield
  unphysical results.  Our experience with charge transfers using the
  SCF card suggests values for \texttt{ionization} about 5--10 times
  smaller than the formal oxidation state.  The ION card is usually
  not needed if the potential is self-consistent.  However, it can be
  used to put some total charge on a finite cluster. To do this we suggest
  using the same ionicity for all atoms in cluster (i.e. total
  ionization divided by number of atoms).  For diatomics
  like Br$_2$, the fully relaxed configuration has a formal ionization of
  1 on the scattering atom.  Because of charge transfer, however, the actual
  degree of ionization is will be much smaller. In non-self-consistent
  calculations the default (non-ionized) scattering potentials are
  often superior to those empirically ionized, and the results should
  be checked both ways.  The default if ION cards are omitted is that
  the atoms are not ionized.
\begin{verbatim}
* Simulates effective ionization for formal valence state +1
* ipot, ionization
  ION  1  0.1

* To put charge +1 on GeCl4 molecule use equal ionicity
  ION 0  0.2
  ION 1  0.2
\end{verbatim}
\end{Card}



\begin{Card}{SPIN}{ispin [x  y  z] }{Advanced}{spi}
  This card is used to specify the type of spin-dependent calculation
  for spin along (x, y, z) direction.
  The complete description is given in
  Section~\ref{sec:Spin-depend-calc}, when dealing with spin-dependent
  calculations.
\begin{verbatim}
* XMCD calculation for spin along z-axis
  SPIN 1
\end{verbatim}
\end{Card}



\section{XSPH: Cross-section and phase shifts}
\label{sec:Cross-section-phase}


Relativistic dipole matrix elements (alpha form) are calculated using
atomic core and normalized continuum wavefunctions.  Polarization
dependence is optionally incorporated in the dipole-operator.
Scattering phase shifts are determined by matching at the muffin-tin
radius.  Additionally, $\ell$-projected density of states can be
calculated in this module, but it is of limited quality due to finite
cluster calculations and neglect of nonspherical corrections.


\begin{Card}{ELLIPTICITY}{$e$ x y z}{Useful}{ell}
  This card is used with the POLARIZATION card (see below).

  The ellipticity $e$ is the ratio of amplitudes of electric
  field in the two orthogonal directions of elliptically polarized
  light.  Only the absolute value of the ratio is important for
  nonmagnetic materials.  The present code cannot distinguish left and
  right circular polarization.  A zero value of the ellipticity
  corresponds to linear polarization, and unity to circular
  polarization.  The default value is zero.

  \texttt{x}, \texttt{y}, \texttt{z} are coordinates of any nonzero
  vector in the direction of incident beam. This vector should be
  approximately normal to the polarization vector.
\begin{verbatim}
* light propagates along the x-axis, most of the light is polarized
* along y-axis, and only about 4% of photons polarized along z-axis
  ELLIPTICITY  0.2  1.0  0.0  0.0
  POLARIZATION      0.0  1.0  0.0

* circular polarization about the z-axis
* can be used to average over polarization vector in xy-plane
  ELLIPTICITY  1.0  0.0  0.0  1.0
\end{verbatim}
\end{Card}


\begin{Card}{POLARIZATION}{x y z}{Useful}{pol}
  This card specifies the direction of the electric field of the
  incident beam or the main axis of the ellipse in the case of
  elliptical polarization.  \texttt{x}, \texttt{y}, \texttt{z} are the
  coordinates of the nonzero polarization vector.  The ELLIPTICITY
  card is not needed for linear polarization.  If the POLARIZATION
  card is omitted, spherically averaged xafs will be calculated.

  Note that polarization reduces the degeneracy of the paths,
  increasing the calculation time.  Choosing polarization in the
  directions of symmetry axes will result in a faster calculation.
\begin{verbatim}
POLARIZATION  1.0  2.5  0.0
\end{verbatim}
\end{Card}


\begin{Card}{EXAFS}{[xkmax]}{Standard}{exa}
  The EXAFS card is used to change the maximum value of $k$ for
EXAFS calculations.  Default value is 20 \AA$^-1$. Now code can calculate
even to higher values, however user will be prompted to increase
dimensions in \file{dim.h} file and must recompile the code.
For high $k$ calculations it might be necessary to make smaller radial step
using RGRID card.
\begin{verbatim}
EXAFS 25
\end{verbatim}
\end{Card}


\begin{Card}{LDOS}{emin   emax   eimag}{Useful}{ldo}
  The angular momentum projected density of states is placed by
  default on a standard grid currently fixed at 84 points.  \texttt{emin} and
  \texttt{emax} are the minimum and maximum energies of the $\ell$DOS
  calculation and \texttt{eimag} is the imaginary part of potential
  used in the calculations.  This is equivalent to Lorentzian
  broadening of the $\ell$DOS with half-width = \texttt{eimag}.  If
  \texttt{eimag} is negative, the code automatically sets it to be 1/3
  of the energy step.  The output will be written again into
  \file{rholNN.dat} files. To obtain LDOS you must run the second module by
  setting the second CONTROL argument to 1.  If 84 points are not
  enough, you can divide the energy range by 2 and run the code twice.
  The LDOS card is very useful when examining densities of states for
  interpreting XANES or when the self-consistency loop fails or gives
  very strange results.  For crystals our LDOS will always
  be broadened due to the effect of finite cluster size.
  The DOS is typically accurate for energies below E$_{max}\approx lmax2^2 $
  in Hartree (atomic) units, where $lmax2$ is specified in POTENTIAL card.
\begin{verbatim}
*       emin emax eimag
  LDOS  -20  20   0.2
\end{verbatim}
\end{Card}



\begin{Card}{XANES}{[xkmax xkstep estep]}{Standard}{xan}
  The XANES card is used when a calculation of the near edge structure
  including the atomic background and absolute energies are desired.

  The XANES calculation is currently limited to the (extended) continuum
  spectrum beyond the Fermi level. Thus bound states are not generally
  included; however, in molecules weakly bound states that are below the
  vacuum but above the muffin-tin zero will show up as resonances.  The
  absolute energies are based on atomic total energy calculations
  using the Dirac-Fock-Desclaux atom code.  The accuracy of this approximation
  varies from a few eV at low Z to a few hundred eV for very large Z.
  All parameters are optional.  Default: XANES not calculated unless
  XANES card is present.

  The optional parameters are used to change the output energy mesh
  for the XANES calculation.  \texttt{xkstep} specifies the size of
  the output $k$ grid far from the edge.  \texttt{xkmax} is the
  maximum $k$ value of the XANES calculation. FMS calculations are
  are not accurate beyond about $k=6$; for larger values of $k$, e.g.
  $k=20$ with the path expansion, FMS must be turned off.  The grid at the edge
  will be regular in energy with a step size of \texttt{estep}.  The
  default values are $\mathtt{xkstep}=0.07$, $\mathtt{xkmax}=8$, and
  $\mathtt{estep}= \gamma_{\mathrm{ch}}/4+\mathtt{vi0}/2$, where
  \texttt{vi0} is given by the EXCHANGE card described in
  Section~\ref{sec:Scatt-potent-modul}.

\begin{verbatim}
* finer grid for XANES calculation
XANES  6. .05 .3
\end{verbatim}
\end{Card}

\begin{Card}{DANES}{[xkmax xkstep estep]}{Advanced}{dan}
  Calculates x-ray elastic scattering amplitude $f'$ instead of absorption
  $f"$, including solid state effects. DANES calculates the
  contribution from  a specified
  edge for a grid, which is specified exactly as in XANES card.
  This card is still experimental.
\end{Card}
 
\begin{Card}{FPRIME}{emin  emax estep}{Advanced}{fpr}
  Calculates scattering factor $f'$ far from the edge (only atomic part).
  The energy grid is regular in energy with estep between emin and emax.
  This is typically needed to find out contribution from other edges
  to the edge calculated with DANES card. Later it may be automated.
  total scattering amplitude  $f'(Q,E) = f_0(Q) + f'(E) +if"(E)$
  In the dipole approximation $f'$ and $f"$ do not depend on $Q$, which does not
  hold with quadrupole transitions added. This is currently neglected
  and $f'(E)={\rm DANES(edge)}+{\rm FPRIME (all-other-edges)} +
{\rm total-energy-term}$ in fpf0.dat.  $f"$ is printed out
  by FPRIME in electronic units, and can be used to obtain total $f'$.
  The total energy correction to $f'$ is given in first line of \file{fpf0.dat}
  in Cromer-Liberman, and the more accurate Kissel-Pratt form. See our paper
  on the x-ray elastic scattering amplitude for references and details.
  $f_0(Q)$ is tabulated in fpf0.dat for several values of $Q$.
\end{Card}

\begin{Card}{XES}{emin  emax estep}{Advanced}{xes}
  Calculates nonresonant x-ray emission spectra (XES) for a specified
  grid. It may be compared to DOS below Fermi level.
\end{Card}

\begin{Card}{XNCD}{[xkmax xkstep estep]}{Advanced}{xnc}
  Calculates x-ray natural circular dichroism.
  XNCD calculates contribution from specified
  edge and grid, which is specified exactly as in XANES card.
  This card has been used to calculate XNCD in our paper on
  elastic scattering amplitude (see list of references).
  This card is still experimental.
\end{Card}
 
\begin{Card}{RPHASES}{}{Advanced}{rph}
  If this card is present, real phase shifts rather than complex phase
  shifts will be used.  The results of the calculation will not be
  accurate.  This option is intended to allow users to obtain real
  scattering phase shifts for use with other programs, or for
  diagnostic purposes.  The phase shifts can be written to output
  files \file{phaseNN.dat} using the PRINT card.  If the RPHASES card
  is present, these will be the real phase shifts.
\end{Card}


\begin{Card}{RSIGMA}{}{Advanced}{rsi}
  If this card is present, the imaginary part of self-energy will be neglected.
  This can be useful for calculations in XANES region, since the imaginary
  part of Hedin--Lundqvist self-energy tends to overestimate losses in this
  region. It is also useful for generating real phase-shifts with {\feff}.
\end{Card}


\section{FMS: Full multiple scattering}
\label{sec:Full-mult-scatt}

This module carries out a full multiple scattering XANES calculation
for a cluster centered on the absorbing atom.  Thus all
multiple-scattering paths within this cluster are summed to infinite
order.  This is useful for XANES calculations, but usually cannot be
used for EXAFS analysis.  FMS loses accuracy beyond $k =
(l_{\mathrm{max}}+1)/r_{\mathrm{mt}}$, which is typically about 4
\AA$^{-1}$ since the muffin-tin radius $r_{\mathrm{mt}}$ is
typically about 1 \AA.


\begin{Card}{FMS}{rfms  lfms2}{Standard}{fms}
  Compute full multiple scattering within a sphere of radius
  \texttt{rfms} centered on the absorbing atom.  If you don't use FMS
  card, the multiple scattering path expansion is used.

  \texttt{rfms} is the cluster radius used in all modules but POT.
  Specifically is is used for in the LDOS, FMS, and as the lower limit
  of pathfinder calculations.  Typically a converged XANES calculation requires
  about 50-150 atoms in a cluster.  The FMS module sums all MS paths within
  the specified cluster.  The number of atoms in this
  cluster is limited to 87 by default, but one can manually increase
  the dimension parameter \texttt{nclusx} in the {\feffcur} source code
  \file{dim.h} (this has to be changed globally, since \file{dim.h} is not a
  separate file in {\feffcur}) to alter the maximum cluster size.  If there
  are more than \texttt{nclusx} atoms within the specified cluster size, {\feff}
  will reduce the cluster size and issue a warning.

  For EXAFS analysis one typically calculates to $k=20$, but FMS results
  are not accurate at high energies.  Thus if you are running
  {\feffcur} for EXAFS you should not use FMS and XANES cards.  It is,
  however, desirable to calculate self-consistent potentials even for
  EXAFS calculations as in the example below:
\begin{verbatim}
   *calculate EXAFS with SCF potentials and paths to R=6 angstroms
   CONTROL  1  1  1  1  1  1
   *FMS
   SCF   3.1
   RPATH 6.0
   EXAFS
\end{verbatim}

  If the value of RPATH as described in
  Section~\ref{sec:Path-enum-modul} is greater than \texttt{rfms}, the
  pathfinder will look for paths which extend beyond the cluster used
  for the FMS and add them to the FMS calculation of the $\ell$DOS and
  XANES:
  $$G_{\mathrm{tot}}=G_{\mathtt{fms}} + G_0t_iG_0 +
  G_0t_iG_0t_jG_0+...$$
  where at least one atoms $i$ in the path is outside the FMS cluster
  and the value of RPATH is the maximum half path length for LDOS, FMS and
  pathfinder modules.

  The MS expansion sometimes does not converge well in the XANES energy
  region.  Thus one should avoid adding paths for LDOS and XANES, and
  RPATH should be less than \texttt{rfms}.  Adding single scattering
  path only (NLEG 2) usually works well to check the convergence of
  FMS. But adding double scattering (NLEG 3) often leads to very bad
  results in XANES.  Thus RPATH is useful for EXAFS or for XANES only
  when the path expansion is stable.

  The optional \texttt{lfms2} argument is a logical flag which defines
  how the FMS is done, similar to the flag \texttt{lfms1} in the
  SCF card.  With the default value of 0 (appropriate for
  solids), the FMS is calculated for a cluster of size \texttt{rfms}
  around each representative unique potential.  With \texttt{lfms}=1
  (appropriate for molecules), FMS is done only once
  for a cluster of size \texttt{rfms} around absorbing atom only.
  The proper use of this flag can lead to a considerable time
  savings.

  For example, if you calculate FMS for a molecule smaller than 40
  atoms, there is no need to invert $\mathtt{nph}+1$ matrices, and
  $\mathtt{lfms1}=1$ will reduce time for calculations by factor
  ($\mathtt{nph}+1$), where \texttt{nph} is a number of unique
  potentials listed in POTENTIAL card).

  A typical use of the FMS card uses $\mathtt{lfms2}=0$, for example,

\begin{verbatim}
     FMS  6.0     ! for XANES and LDOS need about 100 atom cluster
     RPATH 8.0    ! usually use rpath < rfms
     NLEG  2      ! adds 2 leg paths between 6 and 8 angstroms
\end{verbatim}

  For molecules of less than 30 atoms of radius 4.0 {\AA} we suggest
  using $\mathtt{lfms2}=\mathtt{lfms1}=1$, as in

 \begin{verbatim}
     FMS  5.0 1
     RPATH  -1
 \end{verbatim}
\end{Card}


\begin{Card}{DEBYE}{temp thetad [idwopt]}{Useful}{deb1}
  See the full description in Section~\ref{sec:Comb-contr-from} 
  of the effect of temperature on EXAFS.

  For XANES calculations the Debye-Waller factors are less important
  and the temperature effect can be approximated by multiplying each free
  propagator $G_0$ by $\exp(-\sigma^2 k^2)$. This leads to the correct DW
  factors for single scattering $\exp(-2\sigma^2 k^2)$.  The DW factors for multiple
  scattering are not exact, but their contribution is reduced both by
  thermal factors and by the mean free path.  Also if you are using
  the FMS module, then you can obtain only XANES at low energies
  and this approximate treatment is probably adequate.
\end{Card}


\section{PATHS: Path enumeration}
\label{sec:Path-enum-modul}

The code uses a constructive algorithm with several path importance
filters to explore all significant multiple-scattering paths in order
of increasing path length.  The paths are determined from the list of
atomic coordinates in \file{feff.inp}.  An efficient degeneracy
checker is used to identify equivalent paths (based on similar
geometry, path reversal symmetry, and space inversion symmetry). To
avoid roundoff errors, the degeneracy checker is conservative and
occasionally treats two degenerate paths as not degenerate.
These errors occur in the third or fourth decimal place (less than
0.001 Ang) but are fail safe; that is, no paths will be lost.  Of course,
all paths which are completely inside the FMS cluster are automatically
excluded from paths list.

The criteria used in filtering are based on increasingly accurate
estimates of each path's amplitude.  The earliest filters, the
pathfinder heap and keep filters, are applied as the paths are being
searched for.  A plane wave filter based on the plane wave approximation
(plus a curved wave correction for multiple-scattering paths) and
accurate to about 30\% is applied after the paths have been enumerated
and sorted.  Finally, an accurate curved wave filter is applied to
all remaining paths.





\begin{Card}{NOGEOM}{}{Useful}{nog}
  When this card is present, the file \file{geom.dat} will not be
  produced.  This option is useful to take advantage of the symmetry
  in a cluster to speed the path calculation by using the
  \file{geom.dat} file produced by the auxiliary code {\atoms} rather
  than letting {\feff} produce \file{geom.dat} from the atom list in
  \file{feff.inp}.  CAUTION: \emph{DO NOT} use this option with the
  POLARIZATION card, since you would have to redo \file{geom.dat}
  yourself for every polarization direction and you cannot use
  {\atoms} to do that.
\end{Card}



\begin{Card}{PCRITERIA}{keep-criterion heap-criterion}{Advanced}{pcr}
  These criteria, like those described in the CRITERIA card, also
  limit the number of paths. However, they are applied in the
  pathfinder and eliminate unimportant paths while the pathfinder is
  doing its search.  The pathfinder criteria (pcrit's) do not know the
  degeneracy of a path and are therefore much less reliable than the
  curved wave and plane wave criteria in the CRITERIA card above.
  These path finder criteria (keep and heap) are turned off by
  default, and we recommend that they be used only with very large
  runs, and then with caution.

  The keep-criterion looks at the approximate amplitude of the XAFS $\chi$
  in the plane wave
  approx) for the current path and compares it to a single scattering
  path of the same effective length.  To set this value, consider the
  maximum degeneracy you expect and divide your plane wave criterion
  by this number.  For example, in fcc Cu, typical degeneracies are
  196 for paths with large r, and the minimum degeneracy is 6.  So a
  keep criterion of 0.08\% is appropriate for a pw criteria of 2.5\%.

  The heap-criterion filters paths as the pathfinder puts all paths
  into a heap (a partially ordered data structure), then removes them
  in order of increasing total path length.  Each path that is removed
  from the heap is modified and then considered again as part of the
  search algorithm. The heap filter is used to decide if a path has
  enough amplitude in it to be worth further consideration.  If we can
  eliminate a path at this point, entire trees of derivative paths can
  be neglected, leading to enormous time savings.  This test does not
  come into play until paths with at least 4 legs are being
  considered, so single scattering and triangular (2 and 3 legged)
  paths will always pass this test.  Because only a small part of a
  path is used for this criterion, it is difficult to predict what
  appropriate values will be.  To use this (it is only necessary if
  your heap is filling up, and if limiting rpath doesn't help), study
  the results in \file{crit.dat} from runs with shorter rpath and experiment
  with the heap criterion accordingly.  In the future, we hope to
  improve this filter.

  Before using these criteria, study the output in the file
  \file{crit.dat} (use print option 1 for paths, see
  Table~\ref{tab:printlevels}), which has the values of critpw, keep
  factor and heap factor for all paths which pass the critpw filter.

  Default: If this card is omitted, the keep and heap criteria are set
  to zero, that is, no filtering will be done at this step in the
  calculation.

\begin{verbatim}
* fcc Cu had degeneracies from 6 to 196, so correct for this by
* dividing pw-crit of 2.5% by 30 to get 0.08 for keep crit.  Check this
* empirically by running with pcrits turned off and studying crit.dat.
* After studying crit.dat, choose 0.5 for heap crit.
PCRITERIA   0.08  0.5
\end{verbatim}
\end{Card}


\begin{Card}{RPATH}{rpath}{Useful}{rpa}
  The RPATH card determines the maximum effective (half-path)
  distance, \texttt{rpath}, of a given path. RPATH is equivalent to
  the RMAX card in the {\feff}7 code. We changed the name because it provides
  a clearer distinction between the max distance in the MS path expansion
  and that for FMS calculations.
  Typically \texttt{rpath} is needed for EXAFS calculations only to
  set limits on the number of calculated paths.  Note that
  \texttt{rpath} is one-half of the total path length in
  multiple-scattering paths.  Setting this too large can cause the
  heap in the pathfinder to fill up.  Default is \texttt{rpath} = 2.2
  times the nearest neighbor distance.  Since the multiple scattering
  expansion is unstable close to the absorption edge, the path (MS)
  expansion should be used only for EXAFS calculations or for
  diagnosing the XANES or LDOS calculations.  If you use FMS for XANES
  calculations, better results are obtained without the MS
  contribution.  For EXAFS analysis this card is extremely useful,
  since rpath cuts off long paths which give contribution only at high
  R values in R-space.
\begin{verbatim}
* include MS paths with effective length up to 5.10 Ang
RPATH     5.10
\end{verbatim}
\end{Card}


\begin{Card}{SS}{index ipot deg rss}{Advanced}{ss}
  The SS card can {\it only} be used with OVERLAP cards when the atomic
  structure is unknown but one does know the distance and coordination
  numbers and wants to generate an approximate EXAFS contribution.
  Thus the pathfinder cannot be used in this
  case. Instead the user has to specify explicitly the single
  scattering paths and their degeneracy.  OVERLAP cards must be used
  to construct the potentials for the use with SS card.  The
  parameters are a shell index, which is a label used for
  \file{feffNNNN.dat} file name, a unique potential index \texttt{ipot}
  identifying the unique potential of the scattering atom, the
  degeneracy (or multiplicity) of the single scattering path,
  and the distance to central atom \texttt{rss}.

  This information is used to write the file \file{path00.dat} and is not
  needed when ATOMS card is used.  To generate SS paths with ATOMS use
  (NLEG 2) card.
\begin{verbatim}
*  index  ipot   deg  rss    generate single scattering results
SS   29     1     48  5.98       parameters for 19th shell of Cu
\end{verbatim}
\end{Card}




\section{GENFMT: XAFS parameters}
\label{sec:Calc-contr-from}

For each path the code calculates the effective scattering amplitude
($f_{\mathrm{eff}}$ from which {\feff} gets its name, see
Section~\ref{sec:Vari-EXAFS-form}) and the total scattering phase
shift along with other XAFS parameters using the scattering matrix
algorithm of Rehr and Albers.  Once the scattering phase shifts and
the paths are determined, no other input is necessary for this
calculation.


\begin{Card}{CRITERIA}{critcw critpw}{Useful}{cri}

  Since the number of multiple scattering paths gets large very
  quickly, it is necessary to eliminate as many paths as possible.
  Fortunately, we have found that most multiple scattering paths have
  small amplitudes and can be neglected.  Various cutoff criteria
  are used in {\feffcur} to limit the number of paths to consider.  These
  criteria are based on the importance of the path, defined as the
  integral over the full energy range of $\chi(k)\cdot\mathtt{dk}$.
  Very close to the edge these cutoff criteria should be examined
 with care and in some cases reduced from the values used for EXAFS.

  \texttt{critcw} is the cutoff for a full curved wave calculation.  A
  typical curved wave calculation requires a complete spherical wave
  calculation, which typically takes seconds of CPU time per path.
  The default value of \texttt{critcw} is 4\%, meaning that any path
  with mean amplitude exceeding 4\% of largest path will be used in
  calculation of chi. The criterion \texttt{critcw} is used by GENFMT.
  Since the XAFS parameter calculation is already done, the savings is
  not in computer time, but in disk space and ease of analysis.  The
  values of critcw for each path are written in the file \file{list.dat}
  written by module GENFMT.

  \texttt{critpw} is a plane-wave approximation to $\chi$.  This is
  extremely fast to calculate, and is used in the pathfinder.  The
  default value of critpw is 2.5, meaning that any path with mean
  amplitude 2.5\% of largest path, including degeneracy factors, (in
  plane wave approximation) will be kept. Any path that does not meet
  this criterion will not be written to \file{path00.dat}, and there
  is no need to calculate the XAFS parameters for this path.  The
  default for \texttt{critpw} is less than that for \texttt{critcw}
  since some paths are more important when the full curved wave
  calculation is done than they appear in the plane wave
  approximation.  Since the plane wave estimate is extremely fast, use
  this to filter out as many paths as you can.  The file
  \file{crit.dat} (written by the module PATHS) tells you
  \texttt{critpw} for each path that passes the criterion.

  The method of calculation of these importance factors has been
  improved for {\feffcur}, so don't worry if the values for
  some paths have changed slightly from previous versions.  (Default
  values critcw=4.\% critpw=2.5\%)

\begin{verbatim}
CRITERIA  6.0  3.0   * critcw 6%, critpw 3%
CRITERIA  0    0     * use all paths (cw and pw criteria turned off)
\end{verbatim}
\end{Card}


\begin{Card}{NLEG}{nleg}{Useful}{nle}
  The NLEG card limits the number of scattering paths to
  \texttt{nleg}. If \texttt{nleg} is set to 2, only single scattering
  paths are found. The default is nleg = 8.

\begin{verbatim}
* only single scattering paths (i.e. 2 legged paths)
NLEG 2
\end{verbatim}
\end{Card}




\begin{Card}{IORDER}{iord}{Advanced}{ior}
  Order of the approximation used in module GENFMT.  {\feff} uses
  order 2 by default which is correct to terms of order $1/(pR)^2$,
  and corresponds to 6x6 scattering matrices in the Rehr--Albers
  formalism.  Single scattering is calculated exactly to this order.
  The 6x6 approximation is accurate to within a few percent in every
  case we have tried (that is, higher order doesn't change the result
  more than a few percent). However $M_{\mathit{IV}}$ shells and
  higher shells may require increased iorder for coupling the matrix
  elements.  Changing the default values requires some familiarity
  with the Rehr--Albers paper and the structure of the module GENFMT.
  To do so, follow the instructions in the {\feff} source code in
  subroutine \texttt{setlam}.  The key \texttt{iord} is passed to
  \texttt{setlam} for processing.  You may need to change the code
  parameter \texttt{lamtot} if you want to do higher order
  calculations.  For details of the algorithm used by GENFMT, see the
  paper by J.J. Rehr and R.C.  Albers (see the references in
  Appendix~\ref{sec:Append-C.-Refer}).  For the
  $M_{\mathit{IV}}$ and higher edges, you may receive the error
  message like: \texttt{Lambda array overfilled}.  In that case the
  calculations should be repeated with IORDER -70202 (10x10 matrices).
\begin{verbatim}
* change iorder for M4 calculations
IORDER -70202
\end{verbatim}
\end{Card}


\begin{Card}{NSTAR}{}{Advanced}{nst}
  When this card is present, GENFMT will write the file
  \file{nstar.dat} with the effective coordination number $N^\star$
  which is the coordination number weighted by $\cos^2(\theta)$ to
  correct for polarization dependence in SEXAFS calculations.
  This is accurate only for the core hole in s-states (e.g. K, L$_1$ edges),
  but can be used as a guide for other edges.
  
\end{Card}




\section{FF2CHI: XAFS spectrum}
\label{sec:Comb-contr-from}

The module FF2CHI constructs the XAS spectrum $\chi(k)$ or $\mu$ using the
XAFS parameters described in Section~\ref{sec:Vari-EXAFS-form} from
one or more paths, including any FMS contributions.
Single and multiple scattering Debye--Waller
factors are calculated using, for example, the correlated Debye model.
Output from this module is the total XAFS spectrum and optionally, the
contribution to the XAFS from each path individually.  Numerous
options for filtering, Debye--Waller factors, and other corrections are
available.


\begin{Card}{DEBYE}{temperature  Debye-temperature [idwopt]}{Standard}{deb2}
  The Debye card is used to calculate Debye--Waller factors for each
  path using the correlated Debye Model. The model is best suited for
  homogeneous systems, where it is quite accurate.  CAUTION: in
  heterogeneous systems the model only gives approximate values which
  can easily be off by factors of two or more.  Temperatures are in
  Kelvin.  If this card is present, the correlated Debye model
  Debye--Waller factors will be summed with the DW factors from the
  SIG2 card and from the \file{list.dat} file, if present.

\begin{verbatim}
*Debye-Waller factors for Cu at 190K with correlated Debye Model
  DEBYE  190 315
\end{verbatim}

  By default, \texttt{idwopt}=0 specifies that the correlated Debye model is used
  to calculate EXAFS Debye--Waller factors. Two additional models for
  calculating DW factors are available in {\feffcur} based on the information
  about the harmonic force constants in the material.  \texttt{idwopt}=1
  means the equation of motion (EM) method is used to get Debye--Waller
  factors and \texttt{idwopt}=2 means the recursion method (RM) which
  is an improved correlated Einstein model.  Both
  methods are faster than molecular dynamics simulations, and the
  recursion method is much faster than the equation of motion method.
  However, the equation of motion method leads to somewhat more accurate
  results than the recursion. These additional methods seem to be superior to
  correlated Debye model in cases with tetrahedral
  coordination, such as solid Ge or many biological materials.  Both EM and RM
  methods need additional input (the force constants) and a complete
  description of both is given in Anna Poiarkova's thesis (see the
  {\feff} Project web site (http://feff.phys.washington.edu) and
  in the associated documentation.
\begin{verbatim}
* Calculate Debye-Waller factors for Cu at 190K with equation of motion
  DEBYE  190 0 1
\end{verbatim}

\end{Card}


\begin{Card}{CORRECTIONS}{real-energy-shift imaginary-energy-shift}{Useful}{cor}
  The real energy shift moves $E_0$ in the final $\chi(k)$ and the
  imaginary energy shift adds broadening to the result.  The real
  energy shift is useful to correct the error in {\feff}'s Fermi
  level estimate and the imaginary part can be used to correct
  for experimental resolution or errors in the core-hole lifetime.
  This error in the Fermi level is typically about 1 eV with self-consistent
  calculations and about 3 eV with overlapped atom potentials.  The imaginary
  energy is typically used to correct for instrument broadening or as
  a correction to the mean free path calculated by {\feff}. This
  affects only the module FF2CHI, which combines the results in all of
  the \file{feffNNNN.dat} files.  This card is useful in fitting loops
  because you can simply make such energy corrections and see the results
  without redoing the entire XAFS parameter calculation. CAUTION: the
  results are not as accurate as those obtained with the EXCHANGE card.
  Both energies are in eV.
  (See also the EXCHANGE card in Section~\ref{sec:Scatt-potent-modul}).
\begin{verbatim}
* Reduce E0 by 3.0 eV and add 1 eV of broadening (full width)
* This will only affect module 4, ff2chi
CORRECTIONS   3.0   1.0       real shift, imag shift
\end{verbatim}
\end{Card}


\begin{Card}{SIG2}{sig2}{Useful}{sig}
  Specify a global Debye--Waller factor to be used or added to
  Debye--Waller calculations (see DEBYE card) for all paths.  This
  value will be summed with the correlated Debye model value (if the
  DEBYE card is present) and any value added to \file{list.dat}.  Units are
  \AA$^2$.  This card can be used, for example to add Debye--Waller
  factors from structural disorder.

\begin{verbatim}
SIG2 0.001    add 0.001 globally to all DW factors
\end{verbatim}
\end{Card}



\chapter{Output Files}
\label{sec:Output-Files}

Other files required by the various modules are created by {\feff}
from \file{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~\ref{sec:Addit-progr-contr}.  See the PRINT card in
Section~\ref{sec:Main-Control-Cards} to obtain various diagnostic
files.  Section~\ref{sec:File-structure-code} summarizes this
structure, the rest of this section describes the structure in more
detail.


\section{Input and Output Files}
\label{sec:File-structure-code}

\begin{description}
  %%
  %% Module 0
\item[\large\textbf{Module 0}]\dotfill\  {\large\textrm{RDINP}}
  \begin{description}
  \item[\textbf{Purpose:}] Read input data
  \item[\textbf{Input files:}] \file{feff.inp}
  \item[\textbf{Output files:}] \file{info.bin}, \file{geom.dat},
    \file{potph.dat}, and \file{fms.dat}
  \item[\textbf{Other output:}] \file{pathNN.dat} (only if SS card is used)
  \item[\textbf{Description:}] Reads the \file{feff.inp} file, makes
    appropriate operations on the data, and writes resulting
    information into \file{info.bin} and other files.  The file
    \file{info.bin} contains the data needed for all modules.

    Note that \file{geom.dat} is written when \file{feff.inp} is read.
    If you are using a hand-made \file{geom.dat} (possibly to take
    advantage of some symmetry), use the NOGEOM card to prevent your
    \file{geom.dat} from being overwritten and save a copy.
  \end{description}
  %%
  %% Module 1
\item [\large\textbf{Module 1}]\dotfill\  {\large\textrm{POT}}
  \begin{description}
  \item[\textbf{Purpose:}] Calculate embedded atomic
    potentials for the photoelectron
  \item[\textbf{Input files:}] \file{info.bin}, \file{potph.dat}
  \item[\textbf{Output files:}] \file{pot.bin}
  \item[\textbf{Other output:}] diagnostic files (see
    Table~\ref{tab:printlevels} on page \pageref{tab:printlevels})
  \item[\textbf{Description:}] Reads \file{info.bin} and
    \file{potph.bin}, both created by RDINP, and calculates potentials
    for the photoelectron which are written into \file{pot.bin}.
    Optionally, POT will write other diagnostic files with information
    about the potentials.
  \end{description}
  %%
  %% Module 2
\item [\large\textbf{Module 2}]\dotfill\  {\large\textrm{XSPH}}
  \begin{description}
  \item[\textbf{Purpose:}] Calculate cross-section and phase
    shifts
  \item[\textbf{Input files:}] \file{info.bin}, \file{potph.dat}, and
    \file{pot.bin}
  \item[\textbf{Output files:}] \file{phase.bin}, \file{xsect.bin},
    and \file{rkk.bin}
  \item[\textbf{Other output:}] diagnostic files (see
  Table~\ref{tab:printlevels} on page \pageref{tab:printlevels}),
    \file{axafs.dat}, and \file{rholNN.dat} ($\ell$DOS)
  \item[\textbf{Description:}] Reads \file{info.bin},
    \file{potph.dat}, and \file{pot.bin}.  The file \file{potph.dat}
    is deleted by {\feff} after use.  XSPH writes the binary file
    \file{phase.bin}, which contains the scattering phase shifts and
    other information needed by PATHS and GENFMT. Also, XSPH prints
    binary file \file{rkk.bin}, which contains dipole matrix elements,
    normalized to cross-section data in \file{xsect.bin}. The last
    file is written only if XANES card is used.  Optionally, XSPH will
    write other diagnostic files with information about the phase
    shift calculations.
  \end{description}
  %%
  %% Module 3
\item [\large\textbf{Module 3}]\dotfill\  {\large\textrm{FMS}}
  \begin{description}
  \item[\textbf{Purpose:}] Calculate full multiple
  scattering for XANES and $\ell$DOS
  \item[\textbf{Input files:}] \file{info.bin}, \file{fms.dat},
    \file{phase.bin}, \file{rkk.bin}, and \file{geom.dat}
  \item[\textbf{Output files:}] \file{gtr00.bin}
  \item[\textbf{Other output:}]
  \item[\textbf{Description:}] Reads the \file{info.bin},
    \file{geom.dat}, \file{phase.bin} and \file{fms.dat} files.
    Writes output into \file{gtr00.bin} for the FF2CHI module, which
    contains the $\chi(k)$ from FMS.
  \end{description}
  %%
  %% Module 4
\item [\large\textbf{Module 4}]\dotfill\  {\large\textrm{PATHS}}
  \begin{description}
  \item[\textbf{Purpose:}] Path enumeration
  \item[\textbf{Input files:}] \file{info.bin}, \file{phase.bin}, and
    \file{geom.dat}
  \item[\textbf{Output files:}] \file{path00.bin}
  \item[\textbf{Other output:}] \file{crit.dat}
  \item[\textbf{Description:}] Reads \file{geom.dat}, which is created by
    {\feff} from the information in \file{feff.inp}, and
    \file{phase.bin}.  PATHS writes \file{path00.dat} for use by
    GENFMT and as a complete description of each path for use of the
    user.  PATHS will optionally write other diagnostic files.  The
    file \file{crit.dat} is particularly useful when studying large
    numbers of paths.  When studying large numbers of paths, this
    module will optionally write only \file{crit.dat} and save
    \file{geom.dat}, not writing \file{path00.dat}.
  \end{description}
  %%
  %% Module 5
\item [\large\textbf{Module 5}]\dotfill\  {\large\textrm{GENFMT}}
  \begin{description}
  \item[\textbf{Purpose:}] Calculate scattering amplitudes and other
    XAFS parameters
  \item[\textbf{Input files:}] \file{info.bin}, \file{phase.bin},
    \file{rkk.bin}, and \file{path00.dat}
  \item[\textbf{Output files:}] \file{feff.bin}, and \file{list.dat}
  \item[\textbf{Other output:}]
  \item[\textbf{Description:}] GENFMT reads \file{phase.bin},
    \file{rkk.bin} and \file{path00.dat}, and writes a file
    \file{feff.bin} which contains all the EXAFS information for the
    paths, and \file{list.dat} which tells you some basic information
    about them.  These files are the main output of {\feff}.  To read
    \file{feff.bin} into your own program, use the subroutine feffdt
    as an example.
  \end{description}
  %%
  %% Module 6
\item [\large\textbf{Module 6}]\dotfill\  {\large\textrm{FF2CHI}}
  \begin{description}
  \item[\textbf{Purpose:}] Calculate XAFS spectrum
  \item[\textbf{Input files:}] \file{info.bin}, \file{list.dat},
    \file{feff.bin}, \file{gtr00.bin}, and \file{xsect.bin}
  \item[\textbf{Output files:}] \file{chi.dat} and \file{xmu.dat}
  \item[\textbf{Other output:}] \file{chipNNNN.dat} and \file{feffNNNN.dat}
  \item[\textbf{Description:}] FF2CHI reads \file{list.dat},
    \file{gtr00.bin} and \file{feff.bin}, and writes \file{chi.dat}
    with the total XAFS from the paths specified in \file{list.dat}.
    Additional instructions are passed to FF2CHI from \file{feff.inp}, so you
    can change S02, Debye temperature and some other parameters
    without re-doing the whole calculation.  The file \file{list.dat}
    can be edited by hand to change the paths being considered, and
    individual \file{chipNNNN.dat} files with $\chi(k)$ from each path are
    optionally written. If the XANES card is specified and
    \file{xsect.bin} exists, FF2CHI will write the XANES data in
    \file{xmu.dat}.  Various filtering options and corrections are
    possible at this point --- see input cards above.
  \end{description}
  %%
\end{description}


There is an internal limit on the number of paths (set to 1200) that
will be read from \file{feff.bin}.  This limit was chosen to handle
any reasonable problem without using an excessive amount of memory.
If you must use more paths, change the parameter \texttt{npx} in the
{\feff} source in subroutine \texttt{ff2chi} to whatever you need.  It
will need more memory.  We have not had a case where the filter
criteria were not able to solve the problem with fewer than 1200
paths.










\section{Descriptions of output files}
\label{sec:Descr-Outp-Files}

\subsection{Intermediate output files}
\label{sec:Interm-Outp-Files}

\begin{description}
\item[\file{info.bin}]\hfill\\ This binary file contains basic information
  from \file{feff.inp} for all 6 modules.
\item[\file{pot.bin}]\hfill\\ Charge density and potential (SCF or not) for
  all types of atoms. This file is used by XSPH module.
\item[\file{phase.bin}]\hfill\\ This is a binary file with the scattering
  phase shifts for each unique potential.  It is used by the FMS,
  pathfinder and GENFMT.
\item[\file{xsect.bin}]\hfill\\ Total atomic cross section for x-ray
absorption.
\item[\file{rkk.bin}]\hfill\\ Relativistic dipole matrix elements, normalized
  to total cross section in \file{xsect.bin}.
\item[\file{rholNN.dat}]\hfill\\ $\ell$-projected density of sates for the
  NN$^{\mathrm{th}}$ potential index (see the LDOS card)
\item[\file{gtr00.dat}]\hfill\\ contains the results of FMS calculations. Used
  by FF2CHI to get total XAFS or XANES.
\item[\file{path00.dat}]\hfill\\ Written by the pathfinder, this is a
  description of all the paths that fit the criteria used by the
  pathfinder.  It is used by GENFMT. The path descriptions include
  cartesian coordinates of atoms in the path, scattering angles, leg
  lengths and degeneracy. For details on editing this by hand, see
  Section~\ref{sec:Addit-progr-contr}.  \file{pathNN.dat} files are
  created during the LDOS calculations for each type of potential, but
  they are deleted after use.
\item[\file{crit.dat}]\hfill\\ Values of the quantities tested against the
  various criteria in the pathfinder.
\item[\file{geom.dat}]\hfill\\ Written by feff for use with the
  pathfinder.  It is an atom list created from the user-input list in
  \file{feff.inp}.  For more information, see the NOGEOM card in
  Section~\ref{sec:Complete-list-FEFF8}.
\item[\file{list.dat}]\hfill\\ List of files to use to create \file{chi.dat}.
  Written by GENFMT when the xafs parameters are calculated and used
  by FF2CHI.  This contains the curved wave importance ratios, which
  you may wish to study. For details on editing this by hand, see
  Section~\ref{sec:Addit-progr-contr}.

  The curved wave importance ratios are the importance of a particular
  path relative to the shortest single scattering path.
\end{description}



\subsection{Diagnostic files from XSPH}
\label{sec:Diagn-Files-from}

\begin{description}
\item[\file{misc.dat}]\hfill\\ Header file for quick reference.
\item[\file{phaseNN.dat}] \hfill\\ Complex phase shifts for each
  shell.
\item[\file{phminNN.dat}] \hfill\\ Real part of phase shifts for
  $\ell$=0,1,2 only. They are smaller versions of corresponding
  \file{phaseNN.dat}.
\item[\file{potNN.dat}]\hfill\\  Detailed atomic potentials and
  densities.
\item[\file{atomNN.dat}] \hfill\\ Diagnostic information on Desclaux
  free atom NN.
\end{description}



\subsection{Main output data}
\label{sec:Final-Results-Calc}

\begin{description}
\item[\file{chi.dat}]\hfill\\ Standard xafs data containing $k$,
  $\chi(k)$, $|\chi(k)|$ relative to threshold ($k=0$).  The header
  also contains enough information to specify what model was used to
  create this file.
\item[\file{xmu.dat}]\hfill\\ The file \file{xmu.dat} contains both XANES and
  XAFS data $\mu$, $\mu_0$, and $\tilde \chi = \chi \mu_0/\mu_0({\rm edge} +
  50 {\rm eV} $ as functions of absolute energy
  $E$, relative energy $E-E_f$ and wave number $k$.
\item[\file{feff.bin}] \hfill\\ A binary file that contains all the
  information about the XAFS from all of the paths.  This replaces the
  old \file{feffNNNN.dat} files (which you can make using the PRINT
  card).  If you want to use this file with your own analysis package,
  use the code in subroutine feffdt as an example of how to read it.
\item[\file{feffNNNN.dat}]\hfill\\ You have to use the PRINT option to
  obtain these files.  Effective scattering amplitude and phase shift
  data, with $k$ referenced to threshold for shell nn: $k$, $\phi_c$,
  $|F_{\mathrm{eff}}|$, $\phi_{\mathrm{eff}}$, the reduction factor,
  $\lambda$, $\Re(p)$.

  If you need these, use the \htmlref{PRINT}{card:pri} option for FF2CHI
  greater than 3, which will read \file{feff.bin} and write the
  \file{feffNNNN.dat} files in exactly the form you're used to.
\item[\file{fpf0.dat}] \hfill\\ Thompson scattering amplitude $f_0(Q)$
  and constant contribution to $f'$ from total energy term.
\item[\file{ratio.dat}] \hfill\\ Ratio $\mu_0(E)$, $ \rho_0(E)$ and
  their ratio versus energy, for XMCD sum rules normalization.
\end{description}




\subsection{Variables in the EXAFS formula}
\label{sec:Vari-EXAFS-form}

\begin{Reflist}
\item[$k$] The wave number in units of \AA$^{-1}$.
  $k=\sqrt{E-E_f}$ where $E$ is energy and $E_f$ is the Fermi level
  computed from electron gas theory at the average interstitial charge
  density.
\item[$\chi(k)$]
  $$ \chi(k) = S_0^2  \mathcal{R}  \sum\limits_{\mathrm{shells}}
  \frac{Nf_\mathrm{eff}}{kR^2} \exp(-2r/\lambda)
  \sin(2kR + \phi_{\mathrm{eff}} + \phi_c)
  \exp(-2k^2\sigma^2) \notag $$
\item[$\phi_c$]
  The total central atom phase shift, $\phi_c=2\delta_{\ell,c} - \ell\pi$
\item[$f_{\mathrm{eff}}$]
  The effective curved-wave backscattering amplitude in the EXAFS
  formula for each shell.
\item[$\phi_{\mathrm{eff}}$]
  The phase shift for each shell
\item[$\mathcal{R}$]
  The total central atom extrinsic loss, $\mathcal{R}=\exp(-2\Im(\delta_c))$
\item[$R$]
  The distance to central atom for each shell
\item[$N$]
  The mean number atoms in each shell
\item[$\sigma^2$]
  The mean square fluctuation in $R$ for each shell
\item[$\lambda$]
  The mean free path in \AA, $\lambda = {-1/\Im(p)}$
\item[$k_f$]
  The Fermi momentum at the average interstitial charge density
\item[$p(r)$]
  The local momentum, $p^2(r)=k^2+k_f^2(r)+\Sigma-\Sigma_f$
\item[$\Sigma(E)$]
  The energy dependent self energy at energy, $\Sigma_f$ is the self
  energy at the Fermi energy.
\item[$\mu(E)$]
  The total absorption cross-section
\item[$\mu_0(E)$]
  The embedded atomic background absorption
\end{Reflist}





\section{Program control using intermediate output files}
\label{sec:Addit-progr-contr}




In addition to the CONTROL card and other options in \file{feff.inp},
some parameters in the files read by the various modules can be
changed.  For example, you can create your own paths by editing
\file{path00.dat} and explicit change Debye--Waller factors in the
final result by editing \file{list.dat}.

Users may edit the some files as a quick and sometimes convenient way
to prepare a given run.  It is easiest to use an existing file as a
template as the code which reads these files is fussy about the format
of the files.



\subsection{Using \file{path00.dat}}
\label{sec:path00.dat}

You can modify a path, or even invent new ones, such as paths
with more than the pathfinder maximum of 8 legs.  For example, you
could make a path to determine the effect of a focusing atom on a
distant scatterer.  Whatever index you enter for the path will be used
in the filename given to the \file{feffnnnn.dat} file.  For example,
for the choice of index 845, the EXAFS parameters will appear in
\file{feff0845.dat}.
A handy way to add a single scattering path of length $R$ is to make a
2-leg path with the central atom at (0, 0, 0) and the scatterer at
($R$, 0, 0).

GENFMT will need the positions, unique potentials, and character tags
for each atom in the path.  The angles and leg lengths are printed out
for your information, and you can omit them when creating your own
paths by hand.  The label lines in the file are required (there is code
that skips them, and if they're missing, you'll get wrong results).






\subsection{Using \file{list.dat}}
\label{sec:list.dat}

This is the list of files that ff2chi uses to calculate chi.  It
includes the paths written by module GENFMT, curved wave importance
factors, and user-defined Debye--Waller factors.  If you want to set
Debye--Waller factors for individual paths, you may edit this file to
set them.  FF2CHI will sum the Debye--Waller factors in this file with
the correlated Debye model $\sigma^2$ and the global $\sigma^2$, if
present.  You may also delete paths from this file if you want to
combine some particular set of paths.  (CAUTION: Save the original, or
you'll have to re-run GENFMT!)










\chapter{Calculation Strategies and Examples}
\label{sec:Calc-Strat-Exampl}





\section{General comments}
\label{sec:EXAFS-Calculations}


Self-consistent or overlapped atom potentials are needed
for the calculation of the scattering phase shifts. Self-consistent
calculations take more time and are often essential for XANES,
especially for cases with significant charge transfer.
Although the effect of self-consistency on EXAFS is small,
such calculations give an accurate determination of $E_0$,
thus eliminating an important parameter in EXAFS
distance determinations.

Scattering phase shifts for each unique potential are necessary for
FMS, PATHS and GENFMT.  They are needed for the importance filters in
PATHS and are the basis of the XAFS parameters calculation in GENFMT.
This part of the calculation is relatively slow, so it is usually best to run
it only once and use the results while studying the paths and XAFS.

To enumerate the necessary paths, the pathfinder module PATHS needs the
atomic positions of any atoms from which scattering is expected.  If
the structure is completely unknown, only single-scattering paths can be
created explicitly.  Because the number of possible paths increases
exponentially with total path length, one should start with a short total path
length, examine the few paths (representing scattering from the nearest
neighbors), and gradually increase the total path length, possibly
studying the path importance coefficients and using the filters to
limit the number of paths.  This process is not automated, and if done
carelessly can yield so many paths that no analysis will be possible.

Finally, use GENFMT to calculate the XAFS parameters, and FF2CHI to
assemble the results into a chi curve.  Here, the slow part is GENFMT
and FF2CHI is very fast.  Therefore, to explore parameters such as
Debye--Waller factors, mean free path and energy zero shifts, various
combinations of paths and coordination numbers, run only module FF2CHI
using the results saved from GENFMT.

There are three ways to modify the Debye--Waller factor, all of which affect
only the module FF2CHI.  The DEBYE card
calculates a Debye--Waller factor for each path.  The SIG2 card adds
a constant Debye--Waller factor to each path.  And you can edit \file{list.dat}
to add a particular Debye--Waller factor to a particular path.  These three
Debye--Waller factors are summed, so if the DEBYE and SIG2 cards are present,
and if you have added a Debye--Waller factor to a particular path, the Debye-
Waller factor used will be the sum of all three.  See documentation below
for details.

If your model changes significantly, the phase shifts (which are based
in part on the structure of the material) should be recalculated.
Any time the phase shifts change, the XAFS parameters will also have to be
re-calculated.  If the path filters have been used, the path list will
also have to be recomputed.




\section{EXAFS calculation}
\label{sec:EXAFS-calculation}





\subsection{SF$_6$ Molecule}
\label{sec:Molecule}


SF6 Molecule. This is a simplest example of running {\feff} to obtain
EXAFS. This example is for fast, non self-consistent potential calculations.
 Only 2 input cards are necessary. Only \file{chi.dat} file will be
produced.

\begin{verbatim}
TITLE Molecular SF6

POTENTIALS
*    ipot    z   tag
       0    16   S        absorbing atom must be unique pot 0
       1     9   F

* uncomment below for SCF calculations
* SCF 4.0   1

ATOMS
*  x      y      z     ipot
   0      0      0       0          S absorber
   1.56   0      0       1          6 F backscatters
   0      1.56   0       1
   0      0      1.56    1
  -1.56   0      0       1
   0     -1.56   0       1
   0      0     -1.56    1
\end{verbatim}




\subsection{Solids}
\label{sec:Solid}


\subsubsection{Cu metal}
\label{sec:Cu-metal}

Cu, fcc metal, 4 shells.  The list of atomic coordinates
(\htmlref{ATOMS}{card:ato} card) for crystals can be produced by program
{\atoms}. Thus instead of giving long atoms list, we present a short
\file{atoms.inp} file.  For connection with EXAFS fitting programs see
Section~\ref{sec:Output-Files} and also the \htmlref{PRINT}{card:pri}
card on page \pageref{card:pri}.

\begin{verbatim}
TITLE Cu crystal, 4 shells
* Cu is fcc, lattice parameter a=3.61 (Kittel)

*Cu at 190K, Debye temp 315K (Ashcroft & Mermin)
DEBYE  190  315 0

POTENTIALS
  0  29  Cu0
  1  29  Cu

ATOMS
atoms list is generated using atoms.inp file below
--------------------------------------------
title Cu  metal  fcc a=3.6032
fcc                   ! shorthand for F M 3 M
rmax= 11.13   a=3.6032
out=feff.inp          ! index=true
geom = true
atom
!   At.type    x    y    z
Cu       0.0  0.0  0.0
--------------------------------------------
\end{verbatim}



\subsubsection{YBCO High-Tc superconductor}
\label{sec:YBCO-High-Tc}


\begin{verbatim}
TITLE  YBCO: Y Ba2 Cu3 O7      Cu2 core hole

* FEFF7 input file can be used to run FEFF8
CONTROL  1  1  1  1
PRINT    0  0  0  0

RPATH   4.5

POTENTIALS
*    ipot  z  tag
      0   29  Cu2
      1    8  O
      2   39  Y
      3   29  Cu1
      4   56  Ba

ATOMS
atoms list is generated by atoms.inp file
-----------------------------------
title YBCO: Y Ba2 Cu3 O7  (1-2-3 structure)
space P M M M
rmax=5.2         a=3.823  b=3.886  c=11.681
core = Cu1
atom
! At.type  x     y     z       tag
  Y       0.5   0.5   0.5
  Ba      0.5   0.5   0.184
  Cu      0     0     0        Cu1
  Cu      0     0     0.356    Cu2
  O       0     0.5   0        O1
  O       0     0     0.158    O2
  O       0     0.5   0.379    O3
  O       0.5   0     0.377    O4
--------------------------------------
\end{verbatim}











\subsection{Estimate of S$_0^2$}
\label{sec:S02-estimate}


All above examples yield calculations for K edge (default). To do
calculations for other edges use EDGE (or HOLE) cards. These cards
will also yield an estimate of $S_0^2$ from atomic overlap integral
calculations if you set $\mathtt{S02}=0$ in those cards.
\begin{verbatim}
       EDGE   L3    0.0
\end{verbatim}

The result for S02 is written in the header of
\file{chi.dat} or \file{xmu.dat} files.
$S_0^2$ is a square of determinant of overlap integrals for core
orbitals calculated with and without core hole. Core-valence
separation can be changed by editing subroutine \texttt{getorb}, but
it is currently set by default to the most chemically reasonable one.




\subsection{Configuration averaging over absorbers}
\label{sec:Aver-over-absorb}


In amorphous materials or materials with distortions from regular
crystals the absorbing atoms (with the same number in periodic table)
may have different surroundings. Thus one may want to average the
calculation over different types of sites for the same atom or even
over all atoms in the \file{feff.inp} file. This can be accomplished using
CFAVERAGE card of Section~\ref{sec:Main-Control-Cards}.
\begin{verbatim}
  *average over all atoms with iph=2 in feff.inp with less than 1000 atoms
  CFAVERAGE 2  0  0
\end{verbatim}





\subsection{Adding self-consistency}
\label{sec:Adding-self-cons}


Self-consistency is expected to be more important for the XANES
calculations, but even for EXAFS one may want to have more reliable
determination of Fermi level or to account for the charge transfers in
order to do fits with single energy shift $E_0$. Our experience shows
that reliable self-consistent results are best achieved by using both
SCF and FMS cards.
\begin{verbatim}
*  SCF for infinite systems (bulk or surfaces)
       SCF   3.8
\end{verbatim}

The above example works for
solids or large molecules, but for molecules with less than 30 atoms
calculations can be done faster if you set $\mathtt{lfms1}=1$,
\begin{verbatim}
*  SCF for small molecules and clusters
       SCF   10.0  1
\end{verbatim}

For details see SCF and FMS cards in
Sections~\ref{sec:Scatt-potent-modul} and \ref{sec:Full-mult-scatt}.


\section{XANES calculations}
\label{sec:XANES-calculations}

\subsection{Additional difficulties}
\label{sec:Addit-diff}

XANES calculations are more challenging than EXAFS calculations.
They usually take more time and require more experience from the user.
Fortunately {\feffcur} automates many steps in the procedure and includes
important full multiple scattering terms and self-consistency. This improves on the
the high order path expansion approach to XANES in {\feff}7 which
only allowed the maximum number of paths of amplitude larger than a plane wave
criteria in PCRITERIA  card. To account for the poor electron gas estimates of
the Fermi level, CORRECTIONS cards were needed.  Moreover, to obtain
good results for the spectra, one had also to play with AFOLP, EXCHANGE
and ION cards, which alter the way the scattering potential is constructed
in somewhat uncontrolled ways.

One of the main advantages of the SCF card in {\feffcur} is
that it can make a more reliable self-consistent estimate of Fermi level
(the CORRECTIONS card can still be used, since the error in Fermi level
position can still be about one eV or so)
{\feffcur} also accounts for charge transfer. The ION card should be used only
to specify the total charge of a cluster. AFOLP in general
leads to better results for XANES and is done by default. With
{\feff}7 we also had to use EXCHANGE 5 model for Pu hydrates,
but with the self-consistent {\feffcur} the standard EXCHANGE 0
works well.  Thus the use of self-consistency leads to
closer results for different exchange correlation models.

The use of the high order MS path expansion and PCRITERIA  can
lead to unreliable XANES calculations when the MS series converges
poorly (for example, near the Fermi level). Thus the inclusion
of FMS capabilities in {\feffcur} is essential for calculations of LDOS and
electronic densities and is often an improvement on path calculations
of XANES.  Actually we suggest that one use FMS exclusively for LDOS
calculations and for testing convergence of the path
expansion. This will cost CPU time, but will lead to more
reliable results. The FMS calculations for a cluster of 87 atoms
typically take more time and memory than the other 5 modules. The
results can be somewhat better with larger clusters, but typically
one achieves convergence with about 50-200 atoms and calculational
time scales as a third power of number of atoms in a cluster and
quickly becomes prohibitive.
Below we present several sample input files for XANES calculations.


\subsection{GeCl$_4$ Molecule}
\label{sec:Molecule-1}

This is a first molecule for which EXAFS was calculated
by Hartree, Kronig and Peterson (1934), using the short range order
theory.

\begin{verbatim}
TITLE   GeCl_4  r=2.09 /AA

HOLE 1   1.0
* NOHOLE is used to calculate absorption with ground state potential
* comment out below to see the effect of core-hole potential
 NOHOLE

CONTROL   1  1  1  1  1  1

 SCF    3.0  1
* uncomment below to calculate the density of states
*LDOS  -10   50  0.1
 FMS    3.0  1
 RPATH  1.0
 XANES  8.0 0.05

 AFOLP  1.30

POTENTIALS
 *   ipot   z  label
       0   32   Ge -1 3
       1   17   Cl -1 3
ATOMS
*     x          y          z     ipot atom           distance
   0.0000     0.0000     0.0000     0   Ge
   1.2100     1.2100     1.2198     1   Cl
   1.2100    -1.2100    -1.2198     1   Cl
  -1.2100     1.2100    -1.2198     1   Cl
  -1.2100    -1.2100     1.2198     1   Cl
END
\end{verbatim}


\subsection{Solid}
\label{sec:Solid-1}

BN crystal has a zinc sulfide structure, and is a case in which a
multiple scattering expansion does not converge near the Fermi level.
Using the full multiple scattering approach leads to good agreement
with experiment.

\begin{verbatim}
 TITLE   BN cubic zinc sulfide structure
 CONTROL   1 1 1 1 1 1
 PRINT     5 0 0 0 0 0

 SCF  3.1
 HOLE 1   1.0     1=k edge, s0^2=1.0
 EXCHANGE  0  0  1.0
 LDOS -40  10  0.5
 FMS  5.1
 RPATH   1.0
 XANES 4.0

 INTERSTITIAL 0  1.54

 POTENTIALS
*   ipot   z  label lmax1  lmax2
       0    5   B     2    2
       1    7   N     2    2
       2    5   B     2    2

 ATOMS
list generated by ATOMS program
-------------------------------------
title BN (zincblende structure)
Space  zns
a=3.615 rmax=8.0   core=B
atom
! At.type  x        y       z      tag
   B      0.0      0.0     0.0
   N      0.25     0.25    0.25
----------------------------------------
\end{verbatim}


\subsection{Absolute cross-section}
\label{sec:Absol-cross-sect}

The absolute cross section can be obtained from the output in
\file{xmu.dat}.  Look for the line:

\begin{verbatim}
xsedge+100, used to normalize mu           2.5908E-04
\end{verbatim}

Multiplying the 4-th or 5-th column by this normalization value,
yields the absolute cross section in \AA$^2$. (1 \AA$^2 = 100\,
\mathrm{Mbarn}$)


\appendix

\chapter{Copyright Information,  Restrictions and License}
\label{sec:Append-A.-Copyr}

\section{Restrictions and license information}
\label{sec:Restr-License-Inform}

{\feff} is copyrighted software and a license from the University of
Washington Office of Technology Transfer must be obtained for its use.
This is necessary to protect the interests both of users and the
University of Washington.  Both academic/non-profit and commercial
licenses are available --- see Section~\ref{sec:ADDEND-Governm-Copyr}
to this document for details.  New users should request the latest
version of this code from the authors.  The license form may be
obtained from the {\feff} WWW page,

\centerline{\htmladdnormallink{http://leonardo.phys.washington.edu/feff/}
  {http://leonardo.phys.washington.edu/feff/}}

\bigskip
\noindent or by writing or sending a FAX to

\begin{quotation}
\noindent The {\feff} Project c/o Mark Centuori \\
Department of Physics, BOX 351560\\
University of Washington\\
Seattle, WA 98195-1560\\[2ex]
E-mail: \htmladdnormallink{feff@phys.washington.edu}
{mailto:feff@phys.washington.edu}\\
Telephone: (206) 543-4615 \\
FAX (206) 685-0635
\end{quotation}


\vfill\eject

\section{ADDENDUM: Government Copyrights}
\label{sec:ADDEND-Governm-Copyr}

This work was supported in part by Grants from DOE. In accordance with
the DOE FAR rules part 600.33 ``Rights in Technical Data - Modified
Short Form'' the following clause applies to {\feff}:

(c)(1)The grantee agrees to and does hereby grant to the U.S.
Government and to others acting on its behalf:

(i) A royalty-free, nonexclusive, irrevocable, world-wide license for
Governmental purposes to reproduce, distribute, display, and perform
all copyrightable material first produced or composed in the
performance of this grant by the grantee, its employees or any
individual or concern specifically employed or assigned to originate
and prepare such material and to prepare derivative works based
thereon,

(ii) A license as aforesaid under any and all copyrighted or
copyrightable work not first produced or composed by the grantee in the
performance of this grant but which is incorporated in the material
furnished under the grant, provided that such license shall be only to
the extent the grantee now has, or prior to completion or close-out of
the grant, may acquire the right to grant such license without becoming
liable to pay compensation to others solely because of such grant.

(c)(2) The grantee agrees that it will not knowingly include any
material copyrighted by others in any written or copyrightable material
furnished or delivered under this grant without a license as provided
for in paragraph (c)(1)(ii) of this section, or without the consent of
the copyright owner, unless it obtains specific written approval of the
Contracting Officer for the inclusion of such copyright material.


\chapter{Installation Instructions}
\label{sec:Append-B.-Inst}

The program {\feffcur} is provided as a single source file
\file{feff8.f}, which contains a main program and all necessary
subroutines. Code dimensions are listed in each subroutine
in a section labeled \file{dim.h}. [In the future, this may
be moved to a separate ancilliary file, but the present monolithic
approach was adopted to ensure portability.]
Simply compile (and link) on your system
using a FORTRAN 77  (or FORTRAN 90) compiler (and your usual linker), e.g., for any
UNIX system the command \command{f77 -o feff8 feff8.f} is usually
sufficient.  The executable file {\feffcur} produced is all you will
need.  Typically {\feffcur} requires about 64 MB of RAM to run for
clusters of up to 87 atoms. To adjust the required memory to your
computer, change the \texttt{nclusx} parameter in \file{dim.h}.
The required memory scales approximately as $\mathtt{nclusx}^2$.
For larger clusters, you may wish to reduce the maximum angular
momentum \texttt{lx} to keep the total size reasonable, e.g., set
$\mathtt{nclusx=200}$, $\mathtt{lx=2}$.

{\feffcur} will also run on older \file{feff.inp} files for {\feff}7
(and also {\feff}6) and will yield results for EXAFS and XANES comparable
to older versions of {\feff}.  The first module of {\feff}7 has now
been split into 3 modules and therefore {\feffcur} will use the first
value in {\feff}7 CONTROL and PRINT cards for the first 3 modules of
{\feffcur}.  But we suggest that users make use of the SCF, FMS and
LDOS cards to take advantage of {\feffcur}'s new capabilities.

The {\feff} code is written in ANSI Fortran 77, except that
\texttt{complex*16} variables are required.  Since data type
\texttt{complex*16} is not part of the ANSI standard, minor
compiler-dependent modification may be necessary.  We have used the
VAX extensions to ANSI Fortran 77 since they seem to be the most
portable.  The non-standard statements and intrinsic functions used
are: \texttt{complex*16} variables and arrays; \texttt{dimag(arg)}
returns a double precision imaginary part of it argument;
\texttt{dcmplx(arg)} returns a \texttt{complex*16} version of its
argument; \texttt{DBLE(arg)} returns a double precision real part of
its argument; \texttt{sqrt}, \texttt{exp}, \texttt{abs} and other
generic math functions are assumed to accept \texttt{complex*16}
arguments and return double precision or \texttt{complex*16} results.

Files are opened with the \texttt{open} statement.  As the ANSI
definition gives some leeway in how the \texttt{open} statement
interacts with the operating system, we have chosen file names and
conventions that work on UNIX, VAX/VMS, IBM PCs (and clones) with MS
FORTRAN, CRAY, MAC's and and CDC machines.  It may be necessary to
modify the open statements on other systems.

\section{UNIX}
\label{sec:UNIX-machines}
We have endeavored to make {\feff} portable to most UNIX machines
without any modification.  If your machine does not reproduce the test
output files \file{xmu.dat} and/or \file{chi.dat} to high accuracy,
some changes may be needed.  Please report any problems or warning
messages to the authors, as this will help us achieve full
portability.  If changes are needed, keep in mind the following
points:

Floating point calculations must be done to precision 64 bits. Thus
the code uses double precision variables throughout, i.e.,
\texttt{real*8} for real numbers and \texttt{complex*16} for complex
numbers.  If your machine uses 8 bytes for single precision floating
point numbers (for example, Crays and some CDC machines), use the
compiler option to ignore double precision statements in the code.
This option is available (in various forms) on all Cray and CDC
machines that we have seen.  On the CRAY YMP at Ohio State, the
compiler option to ignore double precision in the source code is
\begin{center}
  \command{cf77 -c -Wf"-dp"}
\end{center}

On SGI machines a significant increase in speed may be achieved with
the following optimization flags
\begin{center}
  \command{f77 -Ofast -LNO:opt=0 feff8.f -o feff8}
\end{center}


On many unix systems it may be necessary to increase the memory stack
size to allow calculations on large clusters.  For example, for a 200
atom clusters, execute for following command before running
{\feffcur} if you use \program{csh} or one of its derivatives
\begin{center}
  \command{limit stacksize 170000}
\end{center}
\noindent or this command if you use the Bourne shell or on of its
derivatives:
\begin{center}
  \command{ulimit -s 170000}
\end{center}


If you use the GNU g77 compiler, a common compiler on LINUX, BSD, and
other systems try for example:
\begin{center}
  \command{g77 -O2 -ffast-math -m486 -Wall -g -fno-silent}
\end{center}
\noindent The precise syntax can change, depending on the version of g77;
in case of difficulty please contact the authors.
Do not use the \command{-pedantic} flag, although a casual
reading of the g77 document would suggest it is a good idea;
\command{-pedantic} will not allow the use of double complex.


\section{MS-DOS, Win9x, and Win-NT}
\label{sec:Win32-users}

Because of the awkwardness of DOS, many users do not have FORTRAN
compilers and many of those compilers are difficult to use with large
codes.  Thus we have made executable versions of {\feff} for PCs
available.  You will need an 486 with a math coprocessor or pentium
chip and 64 MB of RAM in addition to that needed for DOS and any
-resident utilities.  Further details are supplied with the
executables.

If you prefer your own compiler (e.g., WATCOM or DEC/Compaq Visual
Fortran), or are using an operating system other
than DOS, compile the source code using your FORTRAN compiler
and linker as you would for any other machine.



\section{Macintosh}
\label{sec:MAC-users}

{\feff} is often difficult to compile on Macintosh machines, but
Executable versions of {\feff} for Macintosh computers
are also available.  Please contact us if you need a copy.
For the G4 Macintosh computers the Absoft altivec compiler is recommended.

\section{VMS}
\label{sec:VMS-machines}


To compile {\feffcur} on VMS (6.0 to 6.2 versions) machine we had to increase
virtual memory using \program{sysgen} from a SYSTEM account.
\begin{center}
  \begin{minipage}[h]{0.7\linewidth}
    \begin{flushleft}
      \command{\$mc sysgen}\\
      \command{\quad  sysgen> use current}\\
      \command{\quad  sysgen>show virtualpagecnt}\\
      \command{\quad  sysgen>set virtualpagecnt  (value + 25\%)}\\
      \command{\quad  sysgen>write current}\\
      \command{\quad  sysgen>exit}\\
      \command{\$reboot}
    \end{flushleft}
  \end{minipage}
\end{center}

If the code still does not compile one should further increase virtual
memory.  It may be impossible to compile the full code on old VAX
stations.  To run {\feffcur} on VMS machines, you may need to increase
quotas (\command{pgflquo=500,000}) for the users using
\program{authorize} from a SYSTEM account.
\begin{center}
  \begin{minipage}[h]{0.7\linewidth}
    \begin{flushleft}
      \command{\$run authorize}\\
      \command{\quad authorize> modify  username /pgflquo=500000}\\
      \command{\quad authorize>exit}\\
      \command{\$reboot}
    \end{flushleft}
  \end{minipage}
\end{center}


\section{NeXT}
\label{sec:NeXT-users}


Use the following options with Absoft's \program{f}77 for NeXT
\begin{center}
  \command{f77 -N53 -f -s -O  feff.f}
\end{center}
\command{-f} makes \program{f}77 case insensitive.  \command{-s} makes
a code for units larger than 512K.  \command{-N53} uses the 68030/68040
processors with 68881/2 math coprocessor.  \command{-O} is an
optimization flag.



\chapter{References}
\label{sec:Append-C.-Refer}

Please cite at least one of the following articles if
{\feff} is used in published work.


\begin{Reflist}
\item[\textbf{The primary reference for FEFF8}] A.L. Ankudinov, B. Ravel,
  J.J. Rehr, and S.D. Conradson, \emph{Real Space Multiple Scattering
    Calculation of XANES}, Phys. Rev. B \textbf{58}, 7565, (1998).
  %%
\item[\textbf{A general review of modern EXAFS theory and
previous versions of FEFF}]
  J.J.~Rehr, R.C.~Albers, 
\emph{ Theoretical approaches to x-ray absorption fine structure},
 Rev. Mod. Phys. \textbf{72}, 621-654 (2000).
  %%
\item[\textbf{New features in FEFF8.1: $f'$, DAFS, XNCD, etc.}]
  A.L.\ Ankudinov, and
  J.J.\ Rehr, \emph{Theory of solid state contributions to the x-ray
  elastic scattering amplitude}, Phys. Rev. B \textbf{62}, 2437 (2000).
%%
\item[{\feff}7] A.L. Ankudinov and J.J. Rehr, \emph{Relativistic
    Spin-dependent X-ray Absorption Theory}, Phys. Rev. B \textbf{56},
  R1712 (1997).

  A.L.\ Ankoudinov, PhD Thesis, \emph{Relativistic Spin-dependent
    X-ray Absorption Theory}, University of Washington, (1996).  There
  you will find a review of x-ray absorption theory, a whole chapter
  of information about {\feff}7 for expert users, examples of the code
  applications, and a full list of the {\feff}7 program tree.
  %%
\item[{\feff}6] S.I.\ Zabinsky, J.J.\ Rehr, A.\ Ankudinov, R.C.\
  Albers and M.J.\ Eller, \emph{Multiple Scattering Calculations of
    X-ray Absorption Spectra}, Phys. Rev. B. \textbf{52}, 2995 (1995).
  %%
\item[{\feff}5] J.J.\ Rehr, S.I.\ Zabinsky and R.C.\ Albers,
  \emph{High-order multiple scattering calculations of
    x-ray-absorption fine structure}, Phys. Rev. Let. \textbf{69},
  3397 (1992).
  %%
\item[{\feff}3 and {\feff}4] J.\ Mustre de Leon, J.J.\ Rehr, S.I.\
  Zabinsky, and R.C.\ Albers, \emph{Ab initio curved-wave
    x-ray-absorption fine structure}, Phys. Rev. B \textbf{44}, 4146
  (1991).
  %%
\item[{\feff}3] J.J.\ Rehr, J.\ Mustre de Leon, S.I.\ Zabinsky, and
  R.C.\ Albers, \emph{Theoretical X-ray Absorption Fine Structure
    Standards}, J. Am. Chem. Soc. \textbf{113}, 5135 (1991).
  %%
\item[Scattering theory in FEFF] J.J.\ Rehr and R.C.\ Albers,
  \emph{Scattering-matrix formulation of curved-wave
    multiple-scattering theory: Application to x-ray-absorption fine
    structure}, Phys. Rev. B \textbf{41}, 8139 (1990).
  %%
\item[Dirac--Fock atom code] A.L.\ Ankudinov, S.I.\ Zabinsky and J.J.\
  Rehr, \emph{Single configuration Dirac-Fock atom code}, Comp. Phys.
  Comm. \textbf{98}, 359 (1996).
\end{Reflist}


\chapter{Code Variables and Dimensions}
\label{sec:Appendix-D.-Code}

The array names in {\feff} are a bit cryptic due to the six character
limit in standard FORTRAN --- comments given in the list \file{dim.h}
(which is included in the header of each subroutine for code portability) and
elsewhere in the source code explain what the names mean.  If you need
to run larger problems than the dimension statements in the code
allow, you must change the dimensions globally in all the relevant parameter
statements and recompile. 

Thus you can adjust the main code dimensions in the \file{dim.h} area
of the headers to
adjust the code for your computer or for a system of interest.  If you want or
need to modify the {\feff} code for other reasons, please contact the authors.
 No part of {\feff} can be included in other codes without a license or
without permission from the authors.  Our development version with all the
comments (and subroutines in individual files!) is also available,
although it makes use of some features that are not standard FORTRAN.
We do not guarantee that any new version will be compatible at the
code level with any changes you may make.


\chapter{Changes From FEFF 7}
\label{sec:Appendix-E.-Changes}

{\feff}8 potentials can now be calculated self-consistently (SCF
card) which also gives a more accurate Fermi level position and
accounts for charge transfer.  Full multiple scattering capability
was also added (FMS card).  This is essential for SCF potentials,
angular-momentum-projected density of states (LDOS also is a new card) and often
XANES. All these new cards are not essential for EXAFS calculations,
but the SCF potential can be used to reduce number of EXAFS fitting
parameters by calculating the Fermi level and non-integral charge
counts on each site.  The possibility of calculating
multiple-scattering Debye--Waller factors from force constants and/or
dynamical matrices has also been added.  The possibility of
configurational averages (CFAVERAGE card) of EXAFS (or XANES) over
different absorbers of the same type has been added.  The CONTROL
structure has been changed to accommodate the new cards, but backward
compatibility has been maintained.  Also several cards (e.g.\ EXAFS,
XANES and POTENTIALS) now have additional optional fields.

The latest release {\feffcur} is similar to the original release of {\feff}8,
but adds several new spectroscopies
such as calculations of $f'$, DAFS, DANES, XES, and XNCD, which
are also based on the same self-consistent, real-space multiple scattering
formalism.
Also an additional output file has been added \file{ratio.dat} for
the use in a new procedure for normalizing XAS sum rules.

{\feffcur} also fixed a few bugs in the first release {\feff}8.0.
The most serious bug in {\feffcur} was in polarization dependent
calculations for initial states of non-$s$-character (e.g L2, L3
edges). 

\chapter{Trouble-Shooting FEFF Problems}
\label{sec:Appendix-F.-Trouble}

{\feff} has been extensively tested but occasionally new bugs show
up.  In an effort to maintain portable and trouble-free codes we take
all bug reports seriously.  Often we receive reports by users of older
versions of {\feff} of bugs that have been fixed in the latest
releases. Other code failures can often be traced to input file
errors, sometimes quite subtle.

Some known difficulties are:
\begin{itemize}
\item Non-physical widely spaced distributions of atoms. Symptoms of
  this common problem are very large muffin-tin radii (see the header
  of any \file{.dat} file) and possibly a failure of the phase-shift
  program to converge.  This gives error message \texttt{hard test
    fails in fovrg}.
\item An error in assigning potential indices; the first atom with a
  given potential index must have the geometry representative of this
  potential type. This is sometimes fixed by using a somewhat larger
  cluster; in fact it is usually desirable to have a larger cluster
  for potential construction than that used in the XAFS calculation
  due to errors in the potentials at surfaces.  Unless the atom
  distribution is physically possible, you can expect the code to have
  problems.
\item Hash collision in the pathfinder. This is now rare, but can
  usually be corrected simply by changing distances in the fourth
  decimal place.
\item For the $M_{\mathit{IV}}$ and higher edges you may receive the
  error message like: \texttt{Lambda array overfilled}. The
  calculations should be repeated with IORDER -70202 card.
\end{itemize}


\chapter{Advanced applications}
\section{Spin dependent calculations}
\label{sec:Spin-depend-calc}

\subsection{General description}
\label{sec:General-description}

These calculations are not currently automated. Code is not
self-consistent with respect to spin variables and one has to specify
the relative spin alignment and/or amplitudes by editing \texttt{ovrlp}
subroutine. The default amplitudes are set in \texttt{getorb} subroutine.
Ferromagnetic (all spins in the same direction) spin order is assumed
for default, which is probably good enough to get corrections for the
sum rules decribed below.
Thus results in XANES may be
questionable, but are often better than those obtained with other
codes. Thus this code gave the best result to date for XMCD at Fe K
edge, both in XANES and EXAFS, when compared to other calculations and
experiment.

One can easily make mistakes in spin-dependent calculations with our code.
It is probably best to ask Alexei Ankudinov for assistance. However, if you
want to do them on your own, the spin-dependent calculations are described
below. We plan to automate spin-dependent calculation in future
versions of {\feff}.

To accommodate spin dependent calculations, the \htmlref{SPIN}{card:spi}
card is added to {\feff}.  The values of the \texttt{ispin}
argument correspond to:

\begin{table}[htbp]
  \begin{center}
    \begin{tabular}[h]{rl}
      \hline\hline
      \texttt{ispin} & \quad meaning \\
      \hline
      $-2$ & Calculate the spin-down SPXAS \\
      2    & Calculate the spin-up SPXAS \\
      $-1$ & Make the spin-down portion of XMCD calculations \\
      1    & Make the spin-up portion of XMCD calculations \\
      \hline\hline
    \end{tabular}
    \caption{Allowed values of the \texttt{ispin} argument of the SPIN card.}
    \label{tab:spin}
  \end{center}
\end{table}

To get the XMCD signal you have to combine data from two \file{xmu.dat}
files. A simple program to do this, \file{spin.f} is available on the
{\feff} web site, and also printed below.

These subroutines may need to be modified by the user:
\begin{description}
\item[\texttt{getorb}]\hfill\\ The default values for spin amplitudes
  are set in this subroutine. The approximate atomic Hund's rule has
  been used to set values for d and f elemnts. Spin 1/2 is assigned for
  s, and p elements. This does not affect much XMCD calculations, however
  nonzero value is needed to get finite integration correction for
  these elements. You can reset the spin amplitudes by editing this subroutine
  and recompiling the code.
\item[\texttt{ovrlp}]\hfill\\ overlaps atomic densities and construct
  the total density magnetization, relative to the central atom. 
  (SPIN card is used to define the sign of central atom density
  magnetization.) This subroutine requires user's attention, since
  the code is set for ferromagnets.
  There are commented out examples for antiferromagnet
  and ferrimagnet inside this subroutine. 
  In later versions the relative spin orientation should be specified in
  \file{feff.inp} (add 7-th column in POTENTIAL card). Currently it does
  not overlap magnetization, thus in interstitial region it is zero.
  It should be fine for antiferromagnets and f-element ferromagnets,
  but can lead to important corrections for d-element ferromagnets.
\end{description}



The spin-dependent
potentials are calculated from the spin-dependent densities,
using von Barth-Hedin results for the uniform electron gas.

We use the rough prescription to construct the spin-dependent
muffin-tin potential. It should be fine for EXAFS where small details of
the potential are irrelevant, but may be not good enough in the XANES region,
where the self-consistent spin-dependent muffin-tin potential can lead to
better results.

In order to use this spin dependent program you have to: 1) Check the
construction of atomic density magnetization in the subroutine GETORB;
2) Check the construction of spin-dependent potential by OVRLP (examples
for ferromagnets and antiferromagnets are there). 
3) Be especially careful with antiferromagnets, since you may want to use
the parity of iph to specify the relative directions of spin.
4) Now you can simply use the
SPIN card to calculate SPXAS and XMCD. An additional simple program
\file{spin.f} is needed to take care of the different normalizations
and give the finite results. If this experimental version will work,
then later versions of {\feff} will be automated to work with the SPIN
card and the 7-th column of POTENTIALS to specify the relative spin
directions on atoms.

An auxiliary program \file{spin.f} can be used to get XMCD or SPXAS
\begin{verbatim}
      implicit double precision (a-h,o-z)
c     This program read two xmu.dat files for spin -up and -down,
c     calculated with Feff8.01 for the SAME paths list.
c     spin-up file is fort.1, spin-down file is fort.2
c     Both have to be edited: All lines should be deleted except
c       1) line: xsedge+100, used to normalize mu           1.3953E-04
c          leave only on this line:  1.3953E-04
c       2) 6-column data lines
c     The output will be written in fort.3 in 6 columns
c     E+shift1  E(edge)+shift2  xk cmd_total cmd_background  cmd_fs
c     where total = atomic background + fine structure

c     There are 3 possibilities
c     case 1) you want XMCD signal and used SPIN \pm 1
c     case 2) you want XMCD signal and used SPIN \pm 2, in order
c       to use nonrelativistic formula for XMCD
c       factor li/2j+1 which was not convinient to do in a program
c     case 3) you want SPXAFS and used  SPIN \pm 2
c     ENTER your case here (icase is positive integer only)
      icase = 2

c     if icase=2 ENTER factor=(-1)**(L+1/2-J) * L/(2*J+1)
c     where L,J are for your edge (ex. for L3 L=1 J=3/2, for L2 L=1 J=1/2)
c     for L3
      factor = 0.25
c     for L2
c     factor = -0.5

c     ENTER the energy shift you want for coulumns 1 and 2 in xmu.dat
      shift1 = 0
      shift2 = 0

c     everything below is automated further
      read (1,*,end=10) ap
      read (2,*,end=10) am
      xnorm = 0.5 *(ap+am)
c     read the data
   3     read(1,*,end=10)   x1, x2, ek, y1, y2, y3
         read(2,*,end=10)  x1, x2, ek, z1, z2, z3
         if (icase.eq.1) then
c           no xafs in this case:xfs - atomic part of XMCD
            t1 = (y1*ap + z1*am)/xnorm
            t2 = (y2*ap + z2*am)/xnorm
            t3 = (y3*ap + z3*am) /xnorm

         elseif (icase.eq.2) then
            t1 = (y1*ap - z1*am)*factor /xnorm
            t2 = (y2*ap - z2*am)*factor /xnorm
            t3 = (y3*ap - z3*am)*factor /xnorm

         elseif (icase.eq.3) then
c           factor=0.5 always for SPXAFS
            t1 = (y1*ap - z1*am)/2.0/xnorm
            t2 = (y2*ap - z2*am)/2.0/xnorm
            t3 = (y3*ap - z3*am)/2.0/xnorm
c           you may want average total XAS as output in last column
c           t3 = (y1*ap + z1*am)/2.0/xnorm
         endif
         x1 =x1 + shift1
         x2 =x2 + shift2
         write(3,5)    x1, x2, ek, t1, t2, t3
   5     format (6e13.5)
      goto 3
  10  continue
      stop
      end
\end{verbatim}


You really want to have the same paths used for spin up and down
calculation, otherwise the difference between 2 calculations may be
due to different paths used. Typically the paths list in
\file{path00.dat} should be generated by running the usual EXAFS
calculations and comparing with experiment (to make sure that all
important paths included). Then when running with SPIN turn off the
pathfinder module using CONTROL card.  This is probably the only place
when you have to skip the pathfinder module.  There is no rule without
exception.


\subsection{XMCD}
\label{sec:XMCD}

XMCD has recently become popular due, in part, to the utility of
many sum rules in XANES region. The EXAFS region can be used
to determine the position of spins relative to magnetic field.
Consider for example, the Gd L$_1$  edge.

\begin{verbatim}
 TITLE   Gd  l1  hcp

 HOLE 2   1.0     2=l1 edge, s0^2=1.0
 SPIN    1
 EXCHANGE  2   0.0  0.0

 CONTROL   1      1     1     1    1    1

 RPATH    7.29
 PRINT   5 0 0 0 0 3

 CRITERIA   0.0  0.0  curved   plane
 DEBYE   150    176   temp     debye-temp
 XANES

 POTENTIALS
 *   ipot   z  label
       0   64   Gd
       1   64   Gd

 ATOMS
the list of atoms is created by ATOMS program
---------------------------------------------
title    Gd , hcp
! Wycoff, vol.1 p.331
space  hcp
rmax = 9.0
a = 3.6354
c = 5.7817
atom
  Gd   0.33333   0.66667   0.25   center
-----------------------------------
\end{verbatim}

\subsection{XMCD sum rules normalization}
\label{sec:XMCDNORM}

A procedure for relating XAS to LDOS and XMCD sum rule normalization has
been described in a recent paper, A. Nesvizhskii, A. L. Ankudinov
and J. J. Rehr, {\it Normalization and convergence of x-ray absorption
sum rules}, Phys. Rev. B (in press) 2001. To carry out this procedure
use the appropriate PRINT card option to print \file{ratio.dat}, which contains 
$\rho_0$, $\mu_0$ and their ratio $\rho_0/\mu_0$.
The calculations have to be performed
without the SPIN card. The correction due to the difference between $j+$ and $j-$
DOS is already included in the calculated ratio.
This correction practically does not affect $S_z$, but may increase
$L_z$ by 10 \% .  No correction is added (or needed) for K and other $l=0$ edges.

To get the finite integration range correction you have to run
the code 4 times (will automate later): 1) Two times for SPIN $\pm 1$ to get
estimated values of $S_z$ and $L_z$ (these are reported on the screen).
Ideally one has to adjust amplitudes in subroutine getorb to have
approximately correct value for $S_z$ but the correction is few per cent
and does not depend much once you are in the vicinity of correct value;
2) Two times for SPIN +/- 1 and Fermi level shifted 
to the end of integration range, which can be easily done
using EXCHANGE card: e.g EXCHANGE 2  20 0  2 
if you stopped integration 20 eV from the edge. The nonzero
values for $S_z$ and $L_z$ are the corrections. $dSz= S_z' - S_z$.
We suggest to take ratio and appropriately scale $S_z$ and $L_z$.
This is usually negligible correction for $L_z$, but increase $S_z$ 
up to 5 per cent.

\subsection{SPXAS}
\label{sec:SPXAS}

For antiferromagnets, the XMCD should be zero.  SPXAS is a different technique
where you measure spin-up and spin-down
signal by measuring intensity of two spin-split Kbeta lines. This corresponds to measuring
spin-order relative to the spin on the absorber ( not relative to the external
magnetic field as in XMCD). As an example, let us look at the Mn K edge of
antiferromagnetic MnF2.
Our calculations agree well with experiment in
EXAFS region.

Here is the input file for MnF2.

\begin{verbatim}
 TITLE   MnF2 (rutile) cassiterite (Wykoff)

 HOLE 1   1.0     1=k edge, s0^2=1.0
 SPIN  -2

 CONTROL   1      1     1     1     1     1
 PRINT     0      0     0     2     0     4
 EXCHANGE  0  0.0  0.0
 CORRECTIONS  0.0   0.0

 RPATH  10.0
 XANES

 PCRITERIA       0.8     40.0
 *CRITERIA     curved   plane
 CRITERIA       0.0     0.0
 *DEBYE        temp     debye-temp
  DEBYE        300       350
 NLEG         4

 POTENTIALS
 *   ipot   z  label
       0   25   Mnup
       1    9   F
       2   25   Mnup
       3   25   Mndown

 ATOMS
   0.0000     0.0000     0.0000    0   Mnup             0.0000
   1.4864     1.4864     0.0000    1   F                2.1021
  -1.4864    -1.4864     0.0000    1   F                2.1021
   0.9503    -0.9503     1.6550    1   F                2.1319
   0.9503    -0.9503    -1.6550    1   F                2.1319
  -0.9503     0.9503     1.6550    1   F                2.1319
  -0.9503     0.9503    -1.6550    1   F                2.1319
   0.0000     0.0000    -3.3099    3   Mndown           3.3099
   0.0000     0.0000     3.3099    3   Mndown           3.3099
  -3.3870     1.4864     0.0000    1   F                3.6988
   3.3870    -1.4864     0.0000    1   F                3.6988
   1.4864    -3.3870     0.0000    1   F                3.6988
  -1.4864     3.3870     0.0000    1   F                3.6988
   2.4367     2.4367    -1.6550    2   Mnup             3.8228
  -2.4367    -2.4367    -1.6550    2   Mnup             3.8228
   2.4367    -2.4367    -1.6550    3   Mndown           3.8228
  -2.4367    -2.4367     1.6550    3   Mndown           3.8228
  -2.4367     2.4367    -1.6550    3   Mndown           3.8228
   2.4367     2.4367     1.6550    3   Mndown           3.8228
   2.4367    -2.4367     1.6550    2   Mnup             3.8228
  -2.4367     2.4367     1.6550    2   Mnup             3.8228
 ...
END

\end{verbatim}

\section{XNCD}
\label{sec:XNCD}

XNCD calculations due in nonmagnetic materials due
to E1-E2 mechanism is performed, i.e. due to
cross electric dipole -quadrupole transitions. It has to be used with
XANES card. We performed calculations for LiIO$_3$ and found results
very similar to previous multiple scattering XNCD calculations.

\section{X-ray elastic scattering amplitude $f'$, DAFS, DANES}
\label{sec:DANES}

All necessary components to obtain  elastic scattering amplitude
can be calculated with {\feffcur}. Thus Thomson scattering
amplitudes are written in file \file{fpf0.dat}, elastic amplitude
near some specific edge are calculated with DANES card while far from
the edge with FPRIME card which neglects solid state effects on $f'$.
The $f''$ can be obtained with XANES card. The formula connecting
$f''$ and absorption cross section $\sigma $ is (in atomic units)
$f'' = \omega c \sigma /4/\pi $.  


\end{document}



%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% End:
