8.3. Path parameters

Once the ScatteringPath object is imported, the next step to setting up a Path object for use in a fit is to set the path parameters. The available path parameters are

A text string describing the path.
The path degeneracy. This typically is set the degeneracy of the ScatteringPath object when the sp attribute is set, but can be modified by the user as part of the fitting model.
Nominally, this is the amplitude reduction factor, but can be parameterized to include any amplitude effects in the fitting model.
The energy shift, in units of eV, which changes the zero of k.
A change in the path length, in units of Å.
The mean square disorder parameters, σ2, in units of Å2.
An adjustment to the “imaginary energy”, which has the effect of adjusting the broadening due to core-hole lifetime, instrumental resolution, etc. This has units of eV.
The third cumulant of the partial pair distribution in units of Å3.
The fourth cumulant of the partial pair distribution in units of Å4.
A constant offset to the scattering phase shift. Note that this should only be used for fits to χ(k) data derived from a DAFS or reflectivity-XAFS measurement. For normal XAFS, this path parameter has no physical intepretation.

Except for label which takes a descriptive string and degen which takes a number, all the path parameter attributes take text strings which are for interpretion as math expressions by IFEFFIT.

The accessor methods for each of these path parameters is label in the list above. For example:

## get path parameter math expression:
printf "deltaR=%s and sigma2=%s\n", $path->delr, $path->sigma2;
## set a path parameter:
$path->s02("(1-x) * amp");

For the path parameter attributes that take math expression text strings, there is another set of attributes that have the same names but with _value appended to the end. Whenever a Path object is plotted, used in a fit, or other wise evaluated in IFEFFIT, the evaluation of the math expression is stored in the _value attribute. Although you can set one of the _value attributes, that will usually have no effect as the value will be overwritten the next time DEMETER uses the path. However, the _value attributes are very useful for obtaining the evaluations of the math expressions:

## get path parameter math expression:
printf "deltaR evaluated to =%.5d\n", $path->delr_value;

In fact, this is done repeatedly during the construction of the logfile.

8.3.1. Other methods The R method

The R method is used to return the fitted half path length, that is the sum of Reff and delr.

printf "half path length is %.5d\n", $path->R; The paragraph method

This method returns a multiline text string reporting on the evaluation of the Path's math expressions. This text looks very much like the text that IFEFFIT returns when you use IFEFFIT's show @group command.

print $path_object -> paragraph; The make_name method

This method is used to construct a descriptive label for the path and is called when the feffNNNN.dat file is imported. Since that usually happens behind the scenes, it is very rarely necessry to call this method. However, it is important to understand how this method works as it can be used to configure how the Path object gets labeled. This is determined using the ♦Pathfinder→name configuration parameter. The default value of this parameter is %P, which means that the default label is the the interpretation list of the associated ScatteringPath object with the absorber tokens removed from the ends.

  • %i: Replaced by the path index used by IFEFFIT for this path. Note that this may not be constant throughout a session.
  • %I: Like the %i tag, but zero padded to be 4 characters wide.
  • %p: Replaced with the return value of the ScatteringPath intrplist method.
  • %P: Like the %p but with the absorber tokens removed from both ends.
  • %r: The Reff of the path. In the case of a fuzzily degenerate path, the average Reff value of the fuzzily degenerate paths is reported.
  • %n: The number of legs of the path.
  • %d: The (fuzzy) degeneracy of the Path.
  • %t: The description of the scattering geometry as determined by DEMETER's path finder.
  • %m: The importance of this Path as determined by DEMETER's path finder.
  • %g: The group name used in IFEFFIT to hold the arrays of this path.
  • %f: The name of the associated Feff object.
  • %%: A literal percent sign.

This line resets the default Path label to a string that includes the half path length and the path degeneracy

$path_object -> co -> set_default("pathfinder", "label", '%r (%d)';

8.3.2. Uncertainties in path parameters


Propagation of uncertainties into path parameter math expressions is a missing feature of DEMETER.

DEMETER is copyright © 2009-2016 Bruce Ravel – This document is copyright © 2016 Bruce Ravel

This document is licensed under The Creative Commons Attribution-ShareAlike License.

If DEMETER and this document are useful to you, please consider supporting The Creative Commons.