PATHS: Path enumeration
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 ‘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 Å) but are fail-safe; that is, no paths will be lost. All paths which are completely inside the FMS cluster are automatically excluded from the paths list, if specified by the FMS card.
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.
In the event of a k-space calculation, the rdinp module will generate a large real-space list of atom coordinates from the unit cell information in `feff.inp'. This list will be used for the path and genfmt modules, which always work in real space, as this is the optimal space for treating the extended spectrum.
Control Card Categories
- Structural Information Cards
- Spectrum Information Cards
- General Cards
- POT: Scattering potentials
- XSPH: Cross-section and phase shifts
- FMS: Full multiple scattering
- PATHS: Path enumeration
- GENFMT: XAFS parameters
- FF2CHI: XAFS spectrum
- SFCONV: Spectral Function Convolution
- EELS: EELS spectrum