On Sunday 07 January 2007 20:31, Bernd Griesebock wrote:
I have a little problem using ifeffit with program code taken from athena. I try to make some linear combination calculations. Using Athena it works but using the code with ifeffit, I get some errors. Everything works fine untill the following lines:
unguess erase @group l___cf set l___cf.eee = rh.energy+0 set l___cf_npts = npts(l___cf.energy) set l___cf.data = splint(l___cf.eee, rh.flat, l___cf.energy)
** cannot set scalar value to array ** l___cf.data = splint(l___cf.eee,rh.flat,l___cf.energy)
The problem here seems to be the array "l___cf.energy". It is empty and I never found some declarations for it. At the beginning of my program I also load all macros athena is loading. Someone have an idea what is wrong with that code?
For some reason, when I wrote the code that generates those lines of Ifeffit commands, I decided not to use Ifefift's slice and nofx commands to construct the energy array. The thing that is missing from that sequence of commands is the bit where the energy array is set to the contents of the eee array between emin and emax. This is done because the interpolations of the data and the minimization are then done on the grid of the fit. Rather than doing that chore using Ifeffit commands, I chose to manipulate those arrays directly in perl. I wrote that code almost 3 years ago, so I don't remember my reasoning. The lines I suggest below should do what you need done, assuming that you replace emin and emax with the correct values of absolute energy of the range over which you are doing the fit. set l___cf.eee = rh.energy+0 set xmin = nofx(l___cf.eee, emin) set xmax = nofx(l___cf.eee, emax) set l___cf.energy = slice(l___cf.eee, xmin, xmax) set l___cf_npts = npts(l___cf.energy) set l___cf.data = splint(l___cf.eee, rh.flat, l___cf.energy) B -- Bruce Ravel ---------------------------------------------- bravel@anl.gov Molecular Environmental Science Group, Building 203, Room E-165 MRCAT, Sector 10, Advance Photon Source, Building 433, Room B007 Argonne National Laboratory phone and voice mail: (1) 630 252 5033 Argonne IL 60439, USA fax: (1) 630 252 9793 My homepage: http://cars9.uchicago.edu/~ravel EXAFS software: http://cars9.uchicago.edu/~ravel/software/