rfms [lfms2 minv toler1 toler2 rdirec]

Compute full multiple scattering within a sphere of radius rfms centered on the absorbing atom. If the FMS card is not present in `feff.inp', the multiple scattering path expansion is used.

This is the cluster radius used in all modules but pot. Specifically, it is used for the $\ell $DOS and FMS, and as the lower limit of pathfinder calculations. The fms module sums all MS paths within the specified cluster. Typically, a converged XANES calculation requires about 50-150 atoms in a cluster, but sometimes more are needed. The number of atoms in this cluster is limited to 175 by default, but one can manually change the dimension parameter nclusx in the ancillary FEFF8 source code file `dim.h' to alter the maximum cluster size. If there are more than 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 FEFF8 for EXAFS, you should not use the FMS card.

If the value of RPATH is greater than 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:

\begin{displaymath}G_{\mathrm{tot}}=G_{\mathtt{fms}} + G_0t_iG_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 the ldos, fms and path modules. Note: this approximation may not be accurate and should be used with caution.

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 rfms. Adding single scattering paths 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.


Optional argument. This is a logical flag that defines how the FMS is done, similar to the flag lfms1 in the SCF card. With the default value of 0 (appropriate for solids), the FMS is calculated for a cluster of size rfms around each representative unique potential. With lfms=1 (appropriate for molecules), FMS is done only once for a cluster of size rfms around the 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 a factor ( $\mathtt{nph}+1$), where nph is the number of unique potentials listed in the POTENTIALS card).

Typically the FMS card will be used with $\mathtt{lfms2}=0$, for example:

  * for XANES and LDOS need about 100 atom cluster
  FMS  6.0

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

  SCF 5.0 1 
  FMS  5.0 1
  RPATH  -1


Optional. This is an index that defines the FMS algorithm used in the calculations. By default, ( $\mathtt{minv}=0$) the FMS matrix inversion is performed using LU decomposition. However, several alternatives have been designed for the FMS algorithm that start to work faster than LU decomposition for clusters of more than 100 atoms. (See the FEFF8.2 reference). We strongly recommend the Lanczos recursion method ( $\mathtt{minv}=2$) which is very robust and speeds the calculations by a factor of 3 or more. The Broyden algorithm ( $\mathtt{minv}=3$) is faster, but less reliable, and may fail to converge if the FMS matrix has large eigenvalues.


Optional. This defines the tolerance to stop recursion and Broyden algorithm. The default value of 0.001 gives results in agreement with LU decomposition to within a linewidth.


Optional. Sets the matrix element of the $Gt$ matrix to zero if its value is less than toler2 (default 0.001).


Optional. Sets the matrix element of the $Gt$ matrix to zero if the distance between atoms is larger than rdirec.
The last two variables can make the matrix $Gt$ very sparse so both recursion and Broyden algorithms work faster. For example for large Si calculations with the Lanczos algorithm, we used:
  FMS  29.4 0  2  0.001 0.001 40.0