[Ifeffit] ifeffit 1.0077

Matt Newville newville at cars.uchicago.edu
Mon May 5 14:53:09 CDT 2003


Hi Everyone,

I've just posted Ifeffit version 1.0077.  It's been a while
since the last release, and there have been several changes
and improvements.  The highlights are:

 - The spline() and bkg_cl() now uses a new
   rebinning/interpolation algorithm to convert data from
   chi(E) to chi(k).  For finely-spaced energy data such as 
   from QEXAFS measurements, this averages over all energy 
   points within the corresponding k range.  For data that 
   isn't finely-spaced, a three-point interpolation is used 
   (as before). There is also a rebin() function that works 
   like other interpolation functions:
     new.y = rebin(old.x, old.y, new.x)
   which will use the the same algorithm.  Again, this is not 
   normally needed, as spline() and bkg_cl() do this as well.

 - feffit() now supports multiple-k-weights in a single fit:
       feffit(..., kweight=2, kweight=0, kweight=4,...)
   That is, listing multiple values of 'kweight' will use all
   of them (up to the first 5).  Each portion of the fit will
   be properly weighted, but the error bars reported for such
   fits always reflect the fact that only 1 data set is really
   is used (and if 'bkg=true' is used, only 1 set of bkg
   parameters will be used).
   
   The output arrays generated for this form of
   multiple-k-weight fits will use the FIRST kweight listed.  
   Other outputs will have to be created explicitly.

 - other improvements to feffit:
       feffit(bkg=true) now works with multiple-data-set fits.       
       feffit() and minimize() now list 'bad variables' after
            a fit for which error bars could not be estimated.
       feffit() now produces correct chi(R) data when input
            chi(k) data is not on a k=0.05Ang^-1 grid.
       feffit() with multiple-data-set fits now looks closely
            to see if repeated data is used, to avoid 'double 
            counting' for N_idp.

 - f1f2() now looks up and uses the 'known core-width of an
   edge' by default.  That is, if the atom given has an edge
   energy in the supplied energy range, the corresponding
   core-width is used.  Of course, you can still supply a
   value for 'width'.  Other improvements to f1f2() were made
   in the Lorentzian convolution, and the precision of the
   Cromer-Libermann data.

 - read_data() no longer sorts on the first column by default.

 - plotting improvements: 
       plot() now interprets 'key=""' correctly (ie, 'no legend')
       plot(reset) now works to reset the color/style tables.


Notes on the windows installation:
 
 - I included the latest versions of athena, artemis, and
   sixpack as of this morning (05/05/2003).

 - Source and binary installers for the Ifeffit Python module
   are included in wrappers/python.

 - I tried (briefly) to build sixpack with python2.2, but
   ended up installing the binary sixpack from Sam's' web
   page. Sixpack uses python2.1, which is fine, but clashes
   with python2.2.  To avoid version conflicts, I put sixpack
   in a completely separate directory 'sixpack'.  The batch
   file and icons point to that version.  This means some
   duplication of files, so we may eventually want to move
   uniformly to python2.2.
   
 - The executables for feffit.exe and autobk.exe have been
   updated.  These should a) write output files more reliably, 
   and b) auto-sense RDF files better.  This last feature is
   not extensively tested.
   
There are lots of changes in this version, and so plenty of
room for mistakes.  Please give this version and these new
features a try and let me know if there are any problems.  
And, as always, suggestions for what to include in the next
version are welcome.

Thanks,

--Matt



More information about the Ifeffit mailing list