Re: [Ifeffit] Possible bug in atoms files generation by Artemis

2013-03-27 Thread Matt Newville
Hi Matthew, Bruce,


On Wed, Mar 27, 2013 at 10:33 AM, Matthew Marcus  wrote:
> Some users do have FEFFx (x>6l) on their own, so it would be useful to
> prepare Artemis/Demeter/Larch... for them and provide
> methods for using higher versions if an executable is present.

I completely agree that this would be valuable, and that it's not
quite moot because many people do have Feff8 or Feff9 available to
them.

But, I also want to be clear that I totally agree with Bruce's point
on this as well.  It's really hard to support code that is actually
poorly defined and cannot be changed.  The Feff input file format is a
complete mess, and it's not Bruce's (or my) fault.  In fact, this *is*
what the original question was about.  Feff changed form one awful
form to another -- why is this Bruce's problem to solve? There is
no API or library provided for reading feff.inp.  We are forbidden
from changing it or redistributing a changed version of Feff8.   It
is, to be very clear,  the choice of the Feff project to break these
input files.If we had a "Feff8 for EXAFS" that could be relied
upon and redistributed, it would be a totally different story.   We
don't.

We've lobbied (begged) for changes in the i/o and freer access to the
code for many, many years.  I can't explain the restrictions in any
rational terms, fathom why this restriction is a priority for John or
anyone else, or understand how anyone who writes scientific software
would use anything except an open-source license.  I've given up on
pestering them about it.  I was told last summer that a version of
Feff8 for EXAFS that we can distribute would be made, but haven't
heard a thing about it since.  It could happen soon  that would be
great.  The license they use is their choice, and I respect that even
if I don't actually like their choice, and actually have real
reservations about the choice being solely theirs to make.
Ultimately, science will demand that all versions of Feff will be made
free or be forgotten.  It is completely believable that Feff6L will be
what is used twenty years from now.  I expect that Feff8 for XANES
calculations codes will never be made free and will be forgotten in
time.

I actually don't have a copy of Feff9.  Kevin J did a great job with
JFEFF, and emulating or including this approach of using a remote
cluster in the analysis codes would be interesting to think about.
>From a practical point of view,  it would be easier to reproduce a
similar system than to have to argue about licensing.  Then again,
without the calculation engine being freely available, running it on a
cluster actually seems like a problem... wouldn't you need a license
key or something?  Right, sorry, the Feff license actually makes no
sense -- it's better to not think about this.

> What does the multipole self-energy do?  Is that the thing that requires the
> dielectric response?  As you point out, the purpose of
> the exercise is to analyze unknowns, so by definition one doesn't have the
> dielectric response.  We can't expect a program that runs on
> a PC to do a proper, all-electrons, excited-state calculation.

Yes, the multipole self-energy uses a better model for the self-energy
based on the dielectric response of the system in the low (electron)
energy regime -- in short, how a "free" photo-electron will travel
through the multi-electron system.  So, yes, in principle one needs to
know the dielectric function.  That's conceivable for Cu metal, and
maybe an ion in an aqueous solution, but not so much for lots of
systems really studied.  Still, if you think that a single-pole model
works pretty well (the current normal implementation of the
self-energy), perhaps a mediocre dielectric response function (say,
treating 'iron oxides' as all more or less the same) would be an
improvement.

> One thing I do is to use experimental data from models as sources of
> amplitudes and phases.  At present, I do this using my own
> multishell fit program.  Is there an easy way to do this in your programs?
> What I think would be nice is a subsystem which allows one
> to do the filtering and extraction of amp and phase from a model .chi file
> from within the program, rather than having to create
> FEFF-path-like files.

Creating a model "Path" from experimental data is definitely possible,
but not conveniently encapsulated in Larch -- it would not be hard to
do, and is a fine idea.  It's now on the to-do list.  In years past,
Anatoly has done similar things by making "fake feff.dat files" and
using them in Feffit.  It can work, but it should be made easier.

> As long as we're talking wish-list, I'd love to have some way of defining
> atom positions using symbolic variables and have the system
> compute the path distances automatically as functions of those variables.
> That way, I could, for instance, define a dopant system in terms
> of the displacements of the near-neighbors without having to do the geometry
> by hand, which is difficult, tedious and e

Re: [Ifeffit] Possible bug in atoms files generation by Artemis

2013-03-27 Thread Matthew Marcus

As I just mentioned to Matt, this conversation is NOT moot because a 
significant fraction of users have bought access.
I wonder if it would be possible to make some sort of 'crippleware' version of 
FEFF(>6) which ONLY runs from within DemLarchTemis?
That might make the UW folks a little more comfortable with letting it be 
available.

FEFF9+ will be a harder case because it seems to have been designed to be run 
by the jfeff interface and consists of separate programs
which have to be run in sequence.  I suppose a wrapper could be written to 
orchestrate that.
mam

On 3/27/2013 5:44 AM, Bruce Ravel wrote:

On Tuesday, March 26, 2013 01:21:58 PM Matthew Marcus wrote:

Just to put my bit in, I believe that the most significant advantage of
higher FEFF versions for EXAFS analysis is that it results in more
reasonable values for E0 for high-Z elements.  I forget whether the issue
is high-Z scatterer or absorber.  If you use any of the common
prescriptions for defining E0 with, say, Pt metal in FEFF6l, your fit will
want large values of enot.  That said, I have not done a real test by
comparing FEFF8 and FEFF6 paths.  Has anyone done that?



This is *exactly* my point.  Except, as Matt said, for the rather
limited, unpublished tests made by him and John many years ago, no one
has reported on a substantive test comparing the efficacy of feff6 and
feff8 for analysis of EXAFS.  (Of course, computation of XANES and
other spectroscopies is a different topic entirely.)

Perhaps I would be more interested in fully implementing use of feff8
in my software if someone would offer a better justification than "8
is a bigger number than 6".

FWIW, I agree with Matt that the multi-pole self-energies is a very
promising thing that could have a substantial impact on EXAFS
analysis.  But few of those who claim to want to use feff8 with my
software are actually computing and using the multi-pole
self-energies.

In any case, I do not have permission to redistribute feff8.  So, on a
very real level, this conversation is moot.

B



It would be
interesting to know what happens if you simulate a k^n*chi(k) with one
program and fit it with the other.




___
Ifeffit mailing list
Ifeffit@millenia.cars.aps.anl.gov
http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit


Re: [Ifeffit] Possible bug in atoms files generation by Artemis

2013-03-27 Thread Matthew Marcus

Some users do have FEFFx (x>6l) on their own, so it would be useful to prepare 
Artemis/Demeter/Larch... for them and provide
methods for using higher versions if an executable is present.

What does the multipole self-energy do?  Is that the thing that requires the 
dielectric response?  As you point out, the purpose of
the exercise is to analyze unknowns, so by definition one doesn't have the 
dielectric response.  We can't expect a program that runs on
a PC to do a proper, all-electrons, excited-state calculation.

One thing I do is to use experimental data from models as sources of amplitudes 
and phases.  At present, I do this using my own
multishell fit program.  Is there an easy way to do this in your programs?  
What I think would be nice is a subsystem which allows one
to do the filtering and extraction of amp and phase from a model .chi file from 
within the program, rather than having to create
FEFF-path-like files.

As long as we're talking wish-list, I'd love to have some way of defining atom 
positions using symbolic variables and have the system
compute the path distances automatically as functions of those variables.  That 
way, I could, for instance, define a dopant system in terms
of the displacements of the near-neighbors without having to do the geometry by 
hand, which is difficult, tedious and error-prone.
mam

On 3/26/2013 9:24 PM, Matt Newville wrote:

Hi Matthew,

On Tue, 26 Mar 2013, Matthew Marcus wrote:


Just to put my bit in, I believe that the most significant advantage of higher 
FEFF versions for EXAFS analysis is that it results in
more reasonable values for E0 for high-Z elements.  I forget whether the issue 
is high-Z scatterer or absorber.  If you use any of the
common prescriptions for defining E0 with, say, Pt metal in FEFF6l, your fit 
will want large values of enot.  That said, I have not done
a real test by comparing FEFF8 and FEFF6 paths.  Has anyone done that?  It 
would be interesting to know what happens if you simulate a
k^n*chi(k) with one program and fit it with the other.
mam


It's been a very long time since I've tried, but, yes I've made such comparisons in the 
past, as well as comparing Feff6 and Feff8 to the same "very good data".

Feff 8 actually has a long history.  Initially, EXAFS was noticeably worse with 
Feff8, but it got better over the years to the point where I think it's hard to 
say that Feff8 is worse than Feff6 for EXAFS.  As you say, E0 is better (though 
still needs refinement), as is S02.  Feff8 also appears that it is better for 
heavy elements (perhaps Z > 50, but I'm not sure anyone has looked at that 
carefully).  But: the multi-pole self-energy introduced around Feff8.5 or so can 
make a very large improvement for the EXAFS.  Whether this can be made generally 
applicable is a separate question.

Just to echo some of Bruce's frustration and build on that (and, speaking only 
for myself):  Basically, we're stuck with Feff6 because we do not have access 
to Feff8.  Last I heard, John and Josh were working on this, so that 
Feff8-for-EXAFS would be made freely available.  I haven't seen the code yet, 
but I'm optimistic that it will be released someday.

Once this happens, I'll happily start incorporating this into Larch.  I'd very 
much like to replace the pathfinder (as Bruce has done in Perl for Demeter) so 
that distortions are easier to track, and allow the EXAFS calculation for a 
Path to be done automatically inside the fitting loop.  That will be some real 
work (anyone out there interested in helping?), and could take awhile, but 
could actually make a difference for modeling.

I'm pretty sure that getting the multi-pole self-energies more universally 
useful would be a big help, but I think there still some unknowns there 
(basically -- how well do you have to know the dielectric response for a 
general system?) that have to be worked out.  Getting 1/epsilon for Cu metal is 
one thing (a first step!), but getting it for As sorbed onto ferrihydrite or 
would be more challenging

--Matt
___
Ifeffit mailing list
Ifeffit@millenia.cars.aps.anl.gov
http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit

___
Ifeffit mailing list
Ifeffit@millenia.cars.aps.anl.gov
http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit


Re: [Ifeffit] Possible bug in atoms files generation by Artemis

2013-03-27 Thread Bruce Ravel
On Tuesday, March 26, 2013 01:21:58 PM Matthew Marcus wrote:
> Just to put my bit in, I believe that the most significant advantage of
> higher FEFF versions for EXAFS analysis is that it results in more
> reasonable values for E0 for high-Z elements.  I forget whether the issue
> is high-Z scatterer or absorber.  If you use any of the common
> prescriptions for defining E0 with, say, Pt metal in FEFF6l, your fit will
> want large values of enot.  That said, I have not done a real test by
> comparing FEFF8 and FEFF6 paths.  Has anyone done that?  


This is *exactly* my point.  Except, as Matt said, for the rather
limited, unpublished tests made by him and John many years ago, no one
has reported on a substantive test comparing the efficacy of feff6 and
feff8 for analysis of EXAFS.  (Of course, computation of XANES and
other spectroscopies is a different topic entirely.)

Perhaps I would be more interested in fully implementing use of feff8
in my software if someone would offer a better justification than "8
is a bigger number than 6".

FWIW, I agree with Matt that the multi-pole self-energies is a very
promising thing that could have a substantial impact on EXAFS
analysis.  But few of those who claim to want to use feff8 with my
software are actually computing and using the multi-pole
self-energies.

In any case, I do not have permission to redistribute feff8.  So, on a
very real level, this conversation is moot.

B


> It would be
> interesting to know what happens if you simulate a k^n*chi(k) with one
> program and fit it with the other.


-- 

 Bruce Ravel   bra...@bnl.gov

 National Institute of Standards and Technology
 Synchrotron Methods Group at NSLS --- Beamlines U7A, X24A, X23A2
 Building 535A
 Upton NY, 11973

 Homepage:http://xafs.org/BruceRavel
 Software:https://github.com/bruceravel
___
Ifeffit mailing list
Ifeffit@millenia.cars.aps.anl.gov
http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit