The program FEFF8 is provided as a single source file 'feff8.f', which contains a main program and all necessary subroutines, and a single dimensions file 'dim.h', that sets all main dimensions for the code. Simply compile (and link) on your system using a Fortran 77 compiler (and your usual linker), e.g., for any UNIX system the command f77 -o feff8 feff8.f is usually sufficient. The executable file FEFF8 produced is all you will need. Typically FEFF8 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 nclusx parameter in the 'dim.h' file. The required memory scales approximately as . For larger clusters, you may wish to reduce the maximum angular momentum lx to keep the total size reasonable, e.g., set , .
FEFF8 will also run on older 'feff.inp' files for FEFF7 (and also FEFF6) and will yield results for EXAFS and XANES comparable to older versions of FEFF. The first module of FEFF7 has now been split into 3 modules and therefore FEFF8 will use the first value in FEFF7 CONTROL and PRINT cards for the first 3 modules of FEFF8. But we suggest that users make use of the SCF, FMS and LDOS cards to take advantage of FEFF8's new capabilities.
The FEFF code is written in ANSI Fortran 77, except that complex*16 variables are required. Since data type 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: complex*16 variables and arrays; dimag(arg) returns a double precision imaginary part of it argument; dcmplx(arg) returns a complex*16 version of its argument; DBLE(arg) returns a double precision real part of its argument; sqrt, exp, abs and other generic math functions are assumed to accept complex*16 arguments and return double precision or complex*16 results.
Files are opened with the open statement. As the ANSI definition gives some leeway in how the 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.