[Ifeffit] Ifeffit 1.2.5
Matt Newville
newville at cars.uchicago.edu
Thu Feb 5 12:41:21 CST 2004
Hi Everyone,
I've just posted Ifeffit 1.2.5 on the Ifeffit web pages and to
Sourceforge.net. Source code, full windows installer, and Mac OS
10.3 installer are available. The automatic update for windows
should be posted in the next couple of days.
There are several bug fixes / improvements in the base Ifeffit
library. Very briefly, the changes are:
- improved feff path lists
- fixed problems with spline() clamps
- fixed problems with restraints in feffit(),
- chi_noise() now estimates 'kmax_suggest', approximately
the k-value above which the data is dominated by noise.
- added random() command to generate arrays of random numbers.
- screen messages for autobk/feffit/feff6 are now sent to a
*.run file, and any errors cause a *.err file to be written.
On Windows and Mac, the 'choose an input file' wrapper for
these programs warn if an error happened, and offer to show
you the *.run file.
A more complete list of changes is below.
The Windows installer contains (what I believe are) the latest
versions of Athena, Artemis, and SixPack. The Mac version includes
the latest versions of Athena and Artemis.
Let me know if you have any questions or problems,
--Matt
* Version 1.2.5: bug fixes, improved feff path lists, fixed
problems with spline() clamps, restraints in feffit(), altered
screen messages for autobk/feffit/feff6, and added random()
command to generate arrays of random numbers.
- path lists for feffit(), ff2chi(), erase(), and show() can now
range over undefined paths, so that
feffit(1-100,...)
will use all *currently defined* paths between 1 and 100
(inclusive), even if only paths 2, 8, and 55 are defined. Here
are some related changes:
o path indices are strictly checked to be in the range 1..9999.
o since the maximum path index is 9999, the list '1-9999' means
'all defined paths'. This can be abbreviated as 'all', as in:
ff2chi(all,group=ff)
which will sum all curently defined paths.
o erase(@paths) and erase(@path=all) are now equivalent, both
erasing all defined paths.
o when erasing a path, the feff data associated with a path will
be freed (if it's not in use by another path) so that new feff
paths can be used.
- added random() command, to generate an array of random numbers,
using uniform, gaussian, or normal distributions. syntax is:
random(output=my.random, npts=200, dist=normal, sigma=2.)
where sigma will be (approximately) the standard deviation of the
normal and gaussian distributions, or the scale of the uniform
distribution. Sigma is 1 unless explicitly set. You can optionally
reset the seed of the random number generator with the seed
keyword. The gaussian and normal distribution appear very
similar, and can both be used to simulate noise in data.
- chi_noise() now generates 'kmax_suggest', an estimate of the
maximum usable k-value for the data, based on the estimated noise
in the data. In early tests, this appears to be a reasonable
estimate for 'noisy data', and a bit pessimistic for clean data.
Please use view this value as a guide.
- clamps in spline() now try to bring chi() to zero at kmax/emax
and kmin/emin instead af last and first data point.
- an error in feffit() for how multiple restraints were applied
has been fixed. multiple restraints can now be applied and mixed
freely with multiple k-weights and multiple data sets.
- improved screen messages printed by autobk/feffit/feff6:
o replaced all print* statements with 'call echo()'
o messages 'echo'ed to the screen are now 'tee'd to the
run files autobk/feffit/feff6.run
o replace all 'stop' statements with a 'call echo()' and
the creation of an error file autobk/feffit/feff6.err.
If this file exists after a run of autobk/feffit/feff6,
then an error did occur; after successful runs, the error
file will not exist.
More information about the Ifeffit
mailing list