Mustafa, If you have or can extract atomic positions (coordinates x, y, z in Angstroms with an arbitrary origin and atomic number Z), then simulating the EXAFS spectra is not too difficult with FEFF and IFEFFIT. There is a graphical user interface program Artemis that can help with this, but much of the process is essentially editing text files, so if you're comfortable with it, it may end up being faster to skip the GUI. The process goes like this: 1. create a file called feff.inp that contains a list of x,y,z coordinates for a cluster of atoms and also a little bit of information such as what the absorbing atom is, and what other atoms are in the cluster (more on this below). 2. run feff to generate a list of theoretical XAFS contributions from each of the scattering paths found for the cluster and the chosen absorbing atom. 3. use Ifeffit or Artemis to sum a set of these paths together. These programs can apply overall factors (to model disorder, for example) and either limit the number of paths used or use paths from different calculations. One thing to emphasize here is that a single Feff calculation uses exactly one absorbing atom. To average over multiple sites, you'll need to re-run the calculation to generate paths with the selected absorbing atom. So, how to proceed. Creating the first feff.inp is by far the most daunting task. You could pick a crystal structure that is sort of close to your system from this database: http://cars9.uchicago.edu/~newville/adb/search.html and click 'Run WebAtoms', and from there make sure you have the correct absorbing atom chosen from the list of atoms, and hit 'Run Atoms'. The result is a feff.inp that will run (usually!). You could also just write a feff.inp that looks like this: -----feff.inp ----- * The * is the comment character! TITLE My cluster .... * this means K edge: HOLE 1 1.0 * now give a list of atom types to calculate for (I'm assuming it's Mn oxide here) POTENTIALS * ipot Z symbol 0 25 Mn * ipot=0 is ALWAYS the absorbing atom 1 25 Mn * a potential for Mn scattering atoms 2 8 O *** *** you can have up to 7 different potentials / atom types. If you need more, ask for help *** * The list of atomic coordnates ATOMS ** units are Angstroms!!! * x y z ipot symbol 0.00000 0.00000 0.00000 0 Mn * The absorbing atom does NOT have to be at 0,0,0 -1.32759 1.32759 0.00000 2 O 1.32759 -1.32759 0.00000 2 O 0.87041 0.87041 1.43550 2 O -0.87041 -0.87041 1.43550 2 O 0.87041 0.87041 -1.43550 2 O -0.87041 -0.87041 -1.43550 2 O 0.00000 0.00000 2.87100 1 Mn .... --------- Generally, feff.inp needs no more than a few hundred atoms (once you get 6Ang from the absorbing atom, you're losing EXAFS signal). With a feff.inp file, run feff, to create a pile of paths for each scattering path: feff0001.dat, feff0002.data,..... If you want to average over multiple absorbing atoms in your cluster, you should make separate subdirectories for each calculation. These can be added together with Ifeffit or the Artemis GUI. For Ifeffit, you could write a script that looks like this: # Ifeffit script (# is the comment character!) # define Paths from feff.dat files -- you can add paths from different calculations here path(1, file=feff0001.dat) path(2, file=feff0002.dat) path(3, file=feff0003.dat) ff2chi(1-3, group=mycalc) # adds the paths 1-3 together to create arrays mycalc.k for wavenumber, mycalc.chi for chi. plot mycalc.k, mycalc.chi # plot chi(R) v. k fftf(mycalc.chi, kmin=2, kmax=15, dk=4, kwiindow='hanning') # Fourier transform data to chi(R) plot mycalc.r, mycalc.chir_mag # plot |chi(R)| v. R ########## Hope that's a good start. Again, this can all be done with the Artemis GUI, and there are lots of bells-and-whistles (say, adjusting parameters to best match experimental spectra) that I've left out. --Matt