% Copyright (c) 2000 Bruce Ravel % Permission is granted to copy, distribute and/or modify this % document under the terms of the GNU Free Documentation License, % Version 1.0 or any later version published by the Free Software % Foundation; with the Invariant Sections being "EXAFS Analysis % Using FEFF and FEFFIT, Part 1: Presentation", "EXAFS Analysis % Using FEFF and FEFFIT, Part 2: Commentary", and all related % analysis examples, with no Front-Cover Texts, and with no % Back-Cover Texts. A copy of the license is included in the % section entitled "GNU Free Documentation License". % % % This file (and all files associated with `EXAFS Analysis Using FEFF % and FEFFIT') are free documentation; you can redistribute it and/or % modify it under the terms of the GNU Free Documentation License as % published by the Free Software Foundation; either version 1, or (at % your option) any later version. % % You should have received a copy of the GNU Free Documentation License % along with `EXAFS Analysis Using FEFF and FEFFIT'; see the file % COPYING. If not, write to the Free Software Foundation, 675 % Massachusettes Ave, Cambridge, MA 02139, USA. % % Permission is granted to make and distribute verbatim copies of this % manual provided the copyright notice and this permission notice are % preserved on all copies. % % Permission is granted to copy and distribute modified versions of this % manual under the conditions for verbatim copying, provided that the % entire resulting derived work is distributed under the terms of a % permission notice identical to this one. % % Permission is granted to copy and distribute translations of this % manual into another language, under the above conditions for modified % versions, except that this permission notice may be stated in a % translation approved by the author. title = Copper example, four shells data = data/cu10kk.chi out = fits/cu10k kmin = 2 kmax = 18 dk = 1 kw = 1 rmin = 1 rmax = 6 %% Note the value of rmax for this multishell fit format = ascii all = no rspout = yes qspout = no kspout = yes %% Background refinement in feffit: %% Feffit allows you the option of refining a background spline at %% the same time that it refines structural parameters. This spline %% is of exactly the same sort as used in autobk and a number of %% knots corresponding to the k-range and the value of rmin is used. %% You should choose as large a value of rmin as possible without %% introducing significant correlations between the spline and the %% structural parameters. %% The background spline refinement is enabled by setting "bkg" to %% true and leaving bkgfile commented out. Once you have found a %% background spline that you like, you may want to fix the %% background and not refine it further. This is a handy thing to do %% while playing with the fitting model as refining the spline adds a %% lot of parameters and time to the fit. %% To fix the spline, set "bkg" to false and set "bkgfile" to the %% name of the file containing the background spline fit by feffit in %% k space. This was probably written to STEMk.bkg, where STEM is %% the value of "out". You need that "kspout" be set to true in %% order to have that file written. (Note: bkgfile should NOT be the %% background file in energy written by autobk!) %% WARNING: There is a bug in feffit. If you do not rename the %% file STEMk.bkg to something else, it will be overwritten by a file %% of zeros with the next fit. To avoid loosing the file you want to %% use as the value of "bkgfile", it is wise to rename STEMk.bkg to %% something else. % bkg = true % bkgfile = fits/cu10kk.background %% The following is a simple multi-shell fit which considers single %% and multiple scattering contributions. The correlated Debye model %% and an isotropic expansion coefficient is used. Copper metal is %% the simplest possible example of a fit that goes beyond normal %% first shell analysis and is a good introduction to the syntax and %% construction of feffit's input files. %% %% The isotropic expansion coefficient is a generalization of what %% what done with the delr path parameters in feffit_2.inp. The %% relationship between alpha in this input file and deltaR in %% feffit_2.inp is %% alpha = deltaR / 2.5527 %% %% Some things to try: %% %% 1. Set all=true and look at each individual path. You will see %% that a lot of them are very tiny. How do your fit results %% change if you remove all the tiny paths from the fit? %% 2. Play around with the background function. Familiarize %% yourself with how it works. Notice that refining the %% background adds a lot of parameters to the fit. So play %% around with the bkgfile keyword. Be careful not to overwrite %% your background function. %% 3. Play around with the {krq}pout keywords and the all keyword. %% Check out all the different kinds of output files feff can %% write. %% 4. Play around with the {krq}spfit keywords. For a problem this %% simple, the fit should be pretty insensitive to the fitting %% space. %% 5. What other sigma^2 models might you use? How does the fit %% change if you allow the each shell to use a single vibration %% frequency model (i.e. an Einstein model, i.e. allow each %% shell its own sigma^2 fitting parameter) %==+==+==+==+==+==+==+==+==+==+==+==+==+==+==+==+== guess amp 0.9 guess e0 0.0 guess thetad 350 guess alpha 0.0 set temp 10 set sigmm 0.00052 %==+==+==+==+==+==+==+==+==+==+==+==+==+==+==+==+== %% some things to note: individual deltaR's and sigma^2's for each %% path have been dropped in favor of isotropic expansion and a Debye %% model. This demonstrates the utility of defining fitting %% parameters above and using them in the exafs equation below. In %% this way we are able to build interesting constraints into our %% fitting model. path 1 feff/feff0001.dat id 1 First shell SS, deg=12.000, r_eff=2.5527 delr 1 alpha*reff sigma2 1 debye(temp, thetad) + sigmm s02 1 amp e0 1 e0 path 2 feff/feff0002.dat id 2 Second shell SS, deg=6.000, r_eff=3.6100 delr 2 alpha*reff sigma2 2 debye(temp, thetad) + sigmm s02 2 amp e0 2 e0 path 3 feff/feff0005.dat id 3 Third shell SS, deg=24.000, r_eff=4.4213 delr 3 alpha*reff sigma2 3 debye(temp, thetad) + sigmm s02 3 amp e0 3 e0 %% note that there need be no correspondance between path index and %% the value of NNNN in feffNNNN.dat %% %% Is the lack of correspondance between path indeces and NNNN a %% needless level of abstraction and confusion, or can you imagine a %% situation where this might be needed and desirable? (Hint, %% consider the copper edge in YBa2Cu3O7, which has copper in two %% distinct crystallographic environments.) path 4 feff/feff0003.dat id 4 amp=10.585, deg=48.000, nleg=3, r_eff=3.8290 delr 4 alpha*reff sigma2 4 debye(temp, thetad) + sigmm s02 4 amp e0 4 e0 %% Where do those id lines come from? Look at the `files.dat', one of %% the outputs from the feff run. Much of this input file was %% generated by a program whose purpose is to convert `files.dat' into %% a `feffit.inp' skeleton. path 5 feff/feff0004.dat id 5 amp=8.649, deg=48.000, nleg=3, r_eff=4.3577 delr 5 alpha*reff sigma2 5 debye(temp, thetad) + sigmm s02 5 amp e0 5 e0 path 6 feff/feff0006.dat id 6 amp=10.625, deg=48.000, nleg=3, r_eff=4.7633 delr 6 alpha*reff sigma2 6 debye(temp, thetad) + sigmm s02 6 amp e0 6 e0 path 7 feff/feff0007.dat id 7 amp=21.819, deg=96.000, nleg=3, r_eff=4.7633 delr 7 alpha*reff sigma2 7 debye(temp, thetad) + sigmm s02 7 amp e0 7 e0 %% here come the paths at the fourth shell distance path 8 feff/feff0008.dat id 8 amp=18.935, deg=12.000, nleg=2, r_eff=5.1053 delr 8 alpha*reff sigma2 8 debye(temp, thetad) + sigmm s02 8 amp e0 8 e0 path 9 feff/feff0009.dat id 9 amp=8.459, deg=12.000, nleg=3, r_eff=5.1053 delr 9 alpha*reff sigma2 9 debye(temp, thetad) + sigmm s02 9 amp e0 9 e0 path 10 feff/feff0010.dat id 10 amp=43.714, deg=24.000, nleg=3, r_eff=5.1053 delr 10 alpha*reff sigma2 10 debye(temp, thetad) + sigmm s02 10 amp e0 10 e0 path 11 feff/feff0011.dat id 11 amp=8.208, deg=12.000, nleg=4, r_eff=5.1053 delr 11 alpha*reff sigma2 11 debye(temp, thetad) + sigmm s02 11 amp e0 11 e0 path 12 feff/feff0012.dat id 12 amp=3.565, deg=12.000, nleg=4, r_eff=5.1053 delr 12 alpha*reff sigma2 12 debye(temp, thetad) + sigmm s02 12 amp e0 12 e0 %% notice that paths 13, 16, and 17 are missing. They fell below %% feff's pathfinder cutoff path 13 feff/feff0014.dat id 13 amp=32.795, deg=12.000, nleg=4, r_eff=5.1053 delr 13 alpha*reff sigma2 13 debye(temp, thetad) + sigmm s02 13 amp e0 13 e0 path 14 feff/feff0015.dat id 14 amp=3.260, deg=48.000, nleg=4, r_eff=5.1053 delr 14 alpha*reff sigma2 14 debye(temp, thetad) + sigmm s02 14 amp e0 14 e0 path 15 feff/feff0018.dat id 15 amp=4.141, deg=48.000, nleg=3, r_eff=5.2920 delr 15 alpha*reff sigma2 15 debye(temp, thetad) + sigmm s02 15 amp e0 15 e0 path 16 feff/feff0019.dat id 16 amp=4.091, deg=48.000, nleg=3, r_eff=5.2920 delr 16 alpha*reff sigma2 16 debye(temp, thetad) + sigmm s02 16 amp e0 16 e0 path 17 feff/feff0020.dat id 17 amp=2.735, deg=96.000, nleg=3, r_eff=5.6977 delr 17 alpha*reff sigma2 17 debye(temp, thetad) + sigmm s02 17 amp e0 17 e0 path 18 feff/feff0021.dat id 18 amp=4.796, deg=48.000, nleg=3, r_eff=5.6977 delr 18 alpha*reff sigma2 18 debye(temp, thetad) + sigmm s02 18 amp e0 18 e0 path 19 feff/feff0022.dat id 19 amp=27.856, deg=24.000, nleg=2, r_eff=5.7079 delr 19 alpha*reff sigma2 19 debye(temp, thetad) + sigmm s02 19 amp e0 19 e0 path 20 feff/feff0023.dat id 20 amp=8.656, deg=48.000, nleg=3, r_eff=5.9353 delr 20 alpha*reff sigma2 20 debye(temp, thetad) + sigmm s02 20 amp e0 20 e0 path 21 feff/feff0024.dat id 21 amp=7.112, deg=48.000, nleg=3, r_eff=5.9353 delr 21 alpha*reff sigma2 21 debye(temp, thetad) + sigmm s02 21 amp e0 21 e0 path 22 feff/feff0025.dat id 22 amp=7.696, deg=48.000, nleg=3, r_eff=5.9353 delr 22 alpha*reff sigma2 22 debye(temp, thetad) + sigmm s02 22 amp e0 22 e0 path 23 feff/feff0026.dat id 23 amp=5.079, deg=96.000, nleg=3, r_eff=6.0396 delr 23 alpha*reff sigma2 23 debye(temp, thetad) + sigmm s02 23 amp e0 23 e0 path 24 feff/feff0027.dat id 24 amp=5.497, deg=96.000, nleg=3, r_eff=6.0396 delr 24 alpha*reff sigma2 24 debye(temp, thetad) + sigmm s02 24 amp e0 24 e0 path 25 feff/feff0028.dat id 25 amp=5.279, deg=96.000, nleg=4, r_eff=6.0396 delr 25 alpha*reff sigma2 25 debye(temp, thetad) + sigmm s02 25 amp e0 25 e0 path 26 feff/feff0029.dat id 26 amp=5.387, deg=96.000, nleg=4, r_eff=6.0396 delr 26 alpha*reff sigma2 26 debye(temp, thetad) + sigmm s02 26 amp e0 26 e0 path 27 feff/feff0035.dat id 27 amp=7.168, deg=8.000, nleg=2, r_eff=6.2527 delr 27 alpha*reff sigma2 27 debye(temp, thetad) + sigmm s02 27 amp e0 27 e0 path 28 feff/feff0036.dat id 28 amp=4.406, deg=96.000, nleg=3, r_eff=6.3409 delr 28 alpha*reff sigma2 28 debye(temp, thetad) + sigmm s02 28 amp e0 28 e0 path 29 feff/feff0037.dat id 29 amp=5.993, deg=96.000, nleg=3, r_eff=6.3409 delr 29 alpha*reff sigma2 29 debye(temp, thetad) + sigmm s02 29 amp e0 29 e0 path 30 feff/feff0038.dat id 30 amp=4.922, deg=96.000, nleg=3, r_eff=6.3409 delr 30 alpha*reff sigma2 30 debye(temp, thetad) + sigmm s02 30 amp e0 30 e0 !!&& Local Variables: !!&& input-out-path: "fits/" !!&& input-feff-path: "feff/" !!&& input-data-path: "data/" !!&& input-program-name: "feffit" !!&& End: %# Input-mode Time-stamp: <2000/06/11 09:56:45 bruce>