Feff Testing framework
Feff testing framework
Table of Contents
The SCFtest repository contains tools which use larch to test how making changes to Feff effects the results of EXAFS analysis on real materials. This website documents the use of these tools and the results of various tests made using these tools.
1 Documents
- Read the use file for an explanation of how the testing framework work.
- Read the SCF file for a discussion of the effect of self-consistent potentials on EXAFS analysis.
- Read the iorder file for a discussion of the effect of Feff’s IORDER parameter on EXAFS analysis.
2 Background and purpose of the testing framework
One of the first chores that was done for Feff85exafs was the creation of a unit testing framework. This was used to validate changes made to the code and to verify that errors were not introduced as changes were made.
The basis of the unit testing was a sequence of calculations made with Feff85exafs in the state it was in when it was first released by The Feff Project. The unit testing was a lengthy series of comparisons of numbers and arrays as computed by Feff in its original state and as computed by the newly compiled version. Also implemented were a series of tests to verify that EXAFS fitting results were consistent between the original and newly compiled Feff.
This mechanism of comparing EXAFS fitting results between Feff in two states was a particularly interesting aspect of the unit testing framework. This basic idea of comparing fitting results between Feff in two states was then expanded to this more generalize testing framework.
The concept here is that the effect of changes to Feff’s theory could be tested against real data. A curated set of standards was chosen, including
- Copper foil
- FeS2
- NiO
- UO2
- BaZrO3
- bomoadamantane
- uranyl hydrate
Each of these is a material for which excellent prior knowledge about the structure of the local configuration environment is known. For each of these materials a successful, defensible fitting model is known. This allows us to separate the effect of changes in the theoretical model from uncertainty in assumptions about the structural configuration.
More specifically, this framework allows testing of the effect of later versions of Feff compared to the version of Feff6 that has long been distributed with Demeter and Ifeffit. (Hint: the answer is that later versions of Feff have scant effect on EXAFS analysis.)
Currently, two tests have been implemented. One examines the effect
of self-consistent potentials, the other examines the effect of
changing Feff’s IORDER
parameter.
3 Acknowledgments
This work depends principally on Feff85exafs and larch.
The web pages are made using org-mode and two tools by Fabrice Niessen: his ReadTheOrg theme (modified slightly by Bruce) and his super-handy orgmk tool.