From: Francisco Garcia
I want to compute the ?average EXAFS spectra? using 500 snapshots of atomic coordinates from my MD simulations.
Dear Francisco and others,
I am still exploring this area myself, but as suggested by Matt Newville, the best approach probably is to search through the MD configuration file for each absorber atom, generate its feff.inp file (based on a neighbour list), then execute FEFF and add the resulting chi(k) to an accumulator.
I have a Windows program that will do this for a system with up to 3 atom types (e.g. O, Zn, H only) for both FEFF 7 and 8. It is easy to use, but does not recognize bonds that cross periodic boundaries. It is thus necessary to specify a central region of interest that is representative of the "bulk" of the system. This could be a problem if you have used a small MD simulation cell.
Typically 10,000 absorbers require about 1 day of execution time, so doing 500 snapshots should be fairly easy. This is not the end of the fitting problem, unfortunately.
Before making a comparison of the "synthetic" XAFS spectrum with experimental data, you need to fit E0 and S02. FEFF cannot necessarily calculate these accurately, but they have no bearing on the accuracy of your MD structural model.
I feel that the E0 and S02 fits are best done using experimental standards. Attempting to fit them without knowledge of structure (e.g. by alignment-type operations between experimental and MD data) produces only approximate values - such fits also attempt to compensate, inappropriately, for any MD-related errors.
After adjusting the MD-XAFS spectra for E0 and S02, you will likely find that the R-space peaks differ significantly from the experimental values in terms of position, height and width. Assuming your snapshots are representative of the canonical distribution, these remaining differences reflect the limitations of the potential. The structural sensitivity of XAFS is such that even quite small differences between potentials (e.g. cut-off distance) can produce visibly significant results.
There are at least 2 ways to compare the experimental and (adjusted) MD XAFS spectra.
(a) Visible or least-squares comparison of the spectra (in the R range of interest).
(b) Direct extraction of cumulants from the MD data (by statistical analysis of atoms in the same region used to generate the XAFS), which are then used (with the inclusion of global scaling factors for dR and C2) to fit/reconstruct the experimental spectrum in Artemis (good MD data should produce not only good fits, but also scale factors near 1.0).
Please contact me directly if you are interested to discuss further, or in using the code. I have glossed over some minor details (e.g. input data format, FEFF versions, chik.dat quirks, how to extract cumulants).
Regards,
Marcus Karolewski
Message: 2
Date: Mon, 11 Apr 2011 13:18:04 -0700
From: Francisco Garcia