This appears to be an ENORMOUS pull request. While it is true that it introduces a lot of files, it involves relatively little code.
The vast majority of the files included in the PR are the output of feff runs on 6 sample materials. For each material, I ran Feff with and without SCF. The idea is that these files constitute the baseline calculation(s) using feff85exafs as it was delivered to us.
A unit test, then, compares the result of a fresh Feff calculation with content from the baseline calculations. Currently, these comparisons are pretty simple -- plots are made of columns from the arrays in Larch's feffpath._feffdat group, one for the baseline, one for the fresh calculation. A simple R-factor is also calculated. Currently, since Feff has not yet been hacked up, these R-factors are all 0 and the lines overplot exactly.
The unit testing framework is implemented as a plugin, see f85ut.py. See testcopper.lar for an example of its use.
The todo list is long-ish. See the comments near the top of f85ut.py.
The README in the t/materials/ folder explains what everything is.
Note that I have used termcolor in f85ut.py, which is among larch's list of recommended modules. For a templating application, I have used pystache because it was readily available and a clean templating solution. I could easily be convinced to use string.Template from the standard library instead.
The unit testing currently fails on the bromoadamantane example. I'm looking into it, but I wanted to get this PR made before too long.
This appears to be an ENORMOUS pull request. While it is true that it introduces a lot of files, it involves relatively little code.
The vast majority of the files included in the PR are the output of feff runs on 6 sample materials. For each material, I ran Feff with and without SCF. The idea is that these files constitute the baseline calculation(s) using feff85exafs as it was delivered to us.
A unit test, then, compares the result of a fresh Feff calculation with content from the baseline calculations. Currently, these comparisons are pretty simple -- plots are made of columns from the arrays in Larch's
feffpath._feffdat
group, one for the baseline, one for the fresh calculation. A simple R-factor is also calculated. Currently, since Feff has not yet been hacked up, these R-factors are all 0 and the lines overplot exactly.The unit testing framework is implemented as a plugin, see
f85ut.py
. Seetestcopper.lar
for an example of its use.The todo list is long-ish. See the comments near the top of
f85ut.py
.The README in the
t/materials/
folder explains what everything is.Note that I have used termcolor in
f85ut.py
, which is among larch's list of recommended modules. For a templating application, I have used pystache because it was readily available and a clean templating solution. I could easily be convinced to use string.Template from the standard library instead.The unit testing currently fails on the bromoadamantane example. I'm looking into it, but I wanted to get this PR made before too long.