1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
|
#+TITLE: feff85exafs to do list
#+AUTHOR: Bruce Ravel
#+STARTUP: showall
* The feff85exafs to do list
** feffpath library [10/12]
1. [X] write header into ~f3ffNNNN.dat~ files
2. [X] deg --> degen to match larch's _feffdat group
3. [X] use polarization correctly in feffpath library (fix
test_materials.py around line 56)
4. [X] +capture rat and ipot from STRUCT+, accumulate ipot and rat
wrappers as part of call to add_scatterer, also geom for python wrapper
5. [X] capture a list of Z numbers so ipots can be readily translated
to atomic species
6. [X] capture header information in C struct, propagated into wrappers
7. [X] check for existance/readability of phase.pad at level of
feffpath.c
8. [X] python wrapper / Larch plugin
9. [X] nose testing for feffpath generated ~f3ffNNNN.dat~ files
10. [X] SWIG-less perl library /(uses Inline::C)/
11. [ ] SWIG-less python library /(Matt has started this)/
12. [ ] _wrapper tests not currently working
** libpotph library [4/6]
1. [X] get stand-along potph program to run all the way through
2. [X] test that stand-alone works all the way through
3. [X] turn it into a library with content of libpotph.json as it's input
4. [X] write a C wrapper with the content of libpotph.json as its struct
5. [ ] write a stand-alone feff.inp --> libpotph.json converter
6. [ ] write a larch plugin which is a feff.inp --> struct wrapper
converter, i.e. take a feff.inp as input and give a libpotph
object as its output
*** libpotph issues and things to test
* does NOHOLE work?
* does SPIN work? is it needed for exafs?
* how much of AFOLP, FOLP, ION, RGRID, UNFREEZEF, INTERSTITIAL,
JUMPRM do we want to support?
- AFOLP: yes
- FOLP: yes
- ION: reluctantly, yes
- RGRID: no idea...
- UNFREEZEF: no idea...
- INTERSTITIAL: no idea...
- JUMPRM: probably not
* does the iafolp parameter need to be carried around? seems that it
serves to indicate that folp was filled with the value given with
AFOLP.
* what is the point of capturing polarization and ellipticity at
this stage? is there any effect on the potantials? or can they
be put off until libfeffpath?
* are we safe ignoring CFAVERAGE, MULTIPOLE, RPHASES
* the following seem outside the scope of feff85exafs and outside
what the FP wanted to share: PMBSE, TDLDA, PLASMON
* the following *are* outside the scope of feff85exafs: XANES, FMS
* Bruce wants OVERLAP to be retired -- the concept is better done in
the sense of a Demeter::SSPath using libfeffpath
* might want flags for triggering the various output files controled
by feff's PRINT card...
** big jobs [0/6]
1. [ ] build on Mac
2. [ ] make scatteringpath a drop in replacement for feffdat in larch
3. [ ] nosetests on result of scatteringpath with nnnn=False
4. [ ] fit with different feff versions -- comparison framework /(begun in Bruce's privat SCFtests git repo)/
6. [ ] capture information about muffin tin radii, norman radii,
ionization, a lá Larch _feffdat's potentials attribute
** build on Windows [1/4]
1. [ ] f85ut.py needs to be installed into a place where larch will find
it. (see ~larch> show _sys.path~, but plugins rather than modules)
2. [X] +need to replace ~bin/f85e~ with something that works on windows.+
made a runfeff method in f85ut instead
3. [ ] ~platforms/windows/prep.sh~ needs aliases for running nosetests
and larch
4. [ ] perl wrapper cannot be linked successfully under Strawberry until
a version of Strawberry using gcc 4.9 become available.
** compilation issues
* ~src/PAR/parallel.f~ cannot be copmpiled -- ~mpif.h~ is missing
* It seems as though the NOHOLE option won't work. ~rdinp~ allows
it, but ~src/XSPH/xsph.f~ wants, when ~nohole.eq.2~, some data
files (see lines 209 to 224) that are nowhere written in f85e
* In file ~src.EXCH/mpse.f~, ~mpse.f~ did not compile with rank
mismatches at lines 37 and 57. Variable ~edens~ is defined as rank
2 and called as rank 1. I "fixed" this by adding ",1" to the
argument of ~edens~. This does not, in fact, get exercised in
feff85exafs -- triggering this bit of code was disabled when the
code base was delivered to us.
* ~src/EXCH/xcpot~ writes to numbered output, but in places that
shouldn't get exercised by feff85exafs.
|