Path interpretation

The hard part of using FEFF effectively is keeping track of all the paths. The main tool DEMETER offers for this is the path interpretation.

  1. #!/usr/bin/perl
  2. use Demeter;
  3. my $feff = Demeter::Feff -> new(file => "feff/feff.inp");
  4. $feff -> set(workspace => "feff/", screen => 0,);
  5. $feff -> potph
  6. $feff -> pathfinder;
  7. print $feff -> intrp;

or, using the serialization file introduced in the last section,

  1. #!/usr/bin/perl
  2. use Demeter;
  3. my $feff = Demeter::Feff -> new(yaml => "feff/feff.yaml");
  4. print $feff -> intrp;

Here is what gets printed out by the line with the intrp method:

# Hg at site 15 in thymidine            
# This paths.dat file was written by Demeter 0.3.0
# The central atom is denoted by this token: <+>  
# Cluster size = 4.50000 Angstrom, containing 21 atoms
# 23 paths were found                                  
# Forward scattering cutoff 25.00                      
# Distance fuzz = 0.0300 Angstroms
# Angle fuzz = 3.0000 degrees                          
# Suppressing eta: yes                                 
# -------------------------------------------------------------------------------
#     degen   Reff       scattering path                       I legs   type
 0001   1    2.040  ----  <+> N16    <+>                       2  2 single scattering
 0002   2    2.923  ----  <+> C      <+>                       2  2 single scattering
 0003   2    3.036  ----  <+> O      <+>                       2  2 single scattering
 0004   4    3.171  ----  <+> C      N16    <+>                1  3 obtuse triangle
 0005   2    3.418  ----  <+> N16    C      N16    <+>         0  4 dog-leg
 0006   4    3.591  ----  <+> C      O      <+>                0  3 other double scattering
 0007   4    3.676  ----  <+> O      N16    <+>                0  3 other double scattering
 0008   1    4.080  ----  <+> N16    <+>    N16    <+>         1  4 rattle
 0009   2    4.146  ----  <+> C      O      C      <+>         0  4 dog-leg
 0010   2    4.159  ----  <+> C      C      <+>                1  3 acute triangle
 0011   1    4.191  ----  <+> N13    <+>                       2  2 single scattering
 0012   2    4.244  ----  <+> N13    C      <+>                1  3 obtuse triangle
 0013   2    4.258  ----  <+> O      C      O      <+>         0  4 dog-leg
 0014   1    4.263  ----  <+> C      <+>                       2  2 single scattering
 0015   2    4.267  ----  <+> N13    N16    <+>                1  3 obtuse triangle
 0016   2    4.301  ----  <+> C      N16    C      <+>         0  4 dog-leg
 0017   1    4.297  ----  <+> C      N13    C      <+>         0  4 dog-leg
 0018   2    4.317  ----  <+> N16    O      N16    <+>         0  4 dog-leg
 0019   2    4.314  ----  <+> C      C      <+>                1  3 obtuse triangle
 0020   2    4.342  ----  <+> N16    C      <+>                1  3 obtuse triangle
 0021   1    4.343  ----  <+> N16    N13    N16    <+>         0  4 dog-leg
 0022   1    4.364  ----  <+> C      C      C      <+>         0  4 dog-leg
 0023   1    4.420  ----  <+> N16    C      N16    <+>         0  4 dog-leg

This should be familiar to the ARTEMIS user. The paths are presented in order of increasing half-path-length and each line provides an overview of the geometry of the path, starting with the degeneracy, the half-path-length, and a textual description of the atoms in the path.

The line labeled I is the “importance” of the path. This is an integer -- 0, 1, or 2 -- which DEMETER assigns based on some heuristics for the likelihood that the path will contribute significantly to the fit. The high importance paths with value 2 are the single scattering and colinear multiple scattering paths. The mid importance paths tend to be short triangles.

The last column is a description of the shape of the path. The header contains some statistics about the cluster and the values of some of the relevant configuration parameters.

As you will see in the next chapter, there is a way of obtaining a single lines from the path interpretation.


 

Interpretaton output targets.

The intrp method can take an optional argument which is used to format the path interpretation. The argument can be either a string or an anonymous hash. The string can be either “latex” or “css”. With those, the path interpretation will be mark-up such that it can be inserted into a latex document using a tabular environment or into an html document using CSS and span tags to format the text. This formatting works by inserting text at the beginning and ending of each line appropriate to the header or to the importance of the path.

The anonymous hash option allows you to specify a different set of starting and ending tags for the lines in the interpretation. It looks like this:


      my $formatting = {'comment' => $comment_start_tag,
                        'close'   => $closing_tag,
                        '1'       => $mid_start_tag,
                        '2'       => $high_start_tag,
                        '0'       => $low_start_tag,
                       };
      $feff -> intrp($formatting);

The command line intrp program that comes with DEMETER colorizes the text on the screen by assigning ANSI color control sequences as the values of the anonymous hash.