Hi Ronald,
I am forwarding my response to your questions to the Ifeffit mailing
list. As you will see in my attempt to answer your question, it will
be useful to solicit Matt Newville's opinion. This is, of course, the
great benefit of a mailing list. Issues with the software are hashed
out more quickly and more efficiently when discussed in a public
forum.
Athena, as we all know, does not actually do much numerical work by
itself. Instead it relies upon Matt's Ifeffit for all those chores
(which, in turn, uses a variety of freely available numerical
packages, including http://www.netlib.org/fftpack/). You ask about
the Fourier transform -- Matt explains all of Ifeffit's deep, dark
secrets in this part of the reference manual:
http://cars9.uchicago.edu/~ifeffit/refman/node141.html
I think that all of the discrepancies you are asking about are
explained by two things: (1) Ifeffit zero-pads its arrays. (2)
Ifeffit treats chi(k) as the real part of the orginal function which
is transformed by a complex Fourier transform.
Additionally, if you want to do two Foruier transforms in Athena
without filtering, you need to explicitly set both FT ranges to the
entire data range and you need to set the window sill widths to 0. It
is unclear from what you said whether you did that.
So, how worried should we be that your software and ours did not do
quite the same thing? Not much, I suspect. There are some places
where different conventions may have been adopted. In the end,
internal consistency is probably the most important thing. Whatever
set of conventions Ifeffit uses (and, thus, Athena and Artemis also
use), those conventions get used when transforming both theory and
data during a fit.
Of course, if you still feel I am not understanding part of the
problem, please let me know. As I have said many times on this
mailing list, the only reason that Athena and Artemis are any good at
all is because of the excellent feedback I get from the folks who read
this list.
Regards,
B
---------- Forwarded Message ----------
Subject: Athena
Date: Saturday 09 January 2010
From: "Frahm, Ronald, Prof. Dr."
To: bravel@bnl.gov
Dear Bruce,
I hope you are doing well!
Recently, I just made some calculations using Athena, comparing the
results to my own analysis software. With my programs, when I Fourier
transform simulated spectar, I get exactly the input amplitude and
phase back after a Fourier transform pair.
Perhaps I made a mistake using Athena. By importing and transforming
a single shell (Feff output, chip001, Cu K-edge) I assumed from your
documentation that the 5th column of the backtransform output file is
the scattering phase (modulo 2*Pi) for a +...sin() EXAFS formula, and
column 4 the modulus. However, Athena's phases seem to be too low by
an amount very close to pi/2.
Phases:
======
Values at k= 10.0:
FEFF input: 37.62 [rad], Athena output: 42.39 [rad]
Values at k= 15.0:
FEFF input: 60.78 [rad], Athena output: 65.422 [rad]
If I calculate chi with the Athena output using
Chi(k) = col4 * sin(col5 + 90°)
the correct chi in Athena colum 2 is reproduced (see png-files),
otherwise there is a significant mismatch.
I am also somewhat puzzled about the amplitude in the chi data
import, and the amplitude of the resulting backtransform. Is there
some scaling/weighting done automatically?
Are you calculating the FT by using just the real positive part from
0 to kmax, filling the rest with zeros? The imaginary and real parts
of the forward transform look significantly different from my
transforms.
Perhaps I missed something in your manuals, but there might be an
easy explanation for my phase problem! I'd appreciate your comments.
Best regards from snowy Germany
Ronald
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Prof. Dr. Ronald R. Frahm
Fachbereich C / Physik, Bergische Universität Wuppertal
Gaußstr. 20, 42097 Wuppertal, Germany
E-mail: frahm@uni-wuppertal.de
phone: +49 202 439-3100, fax: -3101, secretary: -3102
http://hydrogen.physik.uni-wuppertal.de/index.html
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-------------------------------------------------------
--
Bruce Ravel ------------------------------------ bravel@bnl.gov
National Institute of Standards and Technology
Synchrotron Methods Group at NSLS --- Beamlines U7A, X24A, X23A2
Building 535A
Upton NY, 11973
My homepage: http://xafs.org/BruceRavel
EXAFS software: http://cars9.uchicago.edu/~ravel/software/exafs/