Demeter

Description Perl tools for X-ray Absorption Spectroscopy
Demeter > Perl Modules > Demeter::ThreeBody
Source

NAME

Demeter::ThreeBody - Multiple scattering from an arbitrary three-body configuration

VERSION

This documentation refers to Demeter version 0.9.26.

SYNOPSIS

Build a single scattering path of arbitrary length from the potentials of a Feff calculation:

  my $tb = Demeter::ThreeBody->new(parent   => $feff_object,
                                   data     => $data_object,
                                   r1       => 2.7,
                                   r2       => 2.6,
                                   beta     => 1.1,
                                   ipot1    => 1,
                                   ipot2    => 3,
                                  );
  $tb -> plot('R');

DESCRIPTION

Given an arrangement of three atoms -- presmuably a nearly collinear configuration -- generate the double and tripple scattering paths associated with that configuration.

This object is treated just like a normal Path object in that it is parameterized in much the same way:

  $tb -> set(s02 => 'amp', e0 => 'enot');

These parameters are passed along to the double and triple scattering paths that are generated by the use of this object. The assumption, therefore, is that the double and triple scattering paths would get the same parameters. This is probably a decent assumption for a nearly collinear configuration. In the collinear case, the fourth shell of copper metal for instance, deltaR and sigma^2 really should be parametrized the same as the single scattering path to th distant atom.

The degeneracies of the double and triple scattering paths are set to 2 and 1. It is up to you to make sure that the s02 path parameter is set correctly, presumably the same as the number of single scattering paths to the distant atom.

ATTRIBUTES

As with any Moose object, the attribute names are the name of the accessor methods.

This extends Demeter::Path. Along with the standard attributes of any Demeter object (name, plottable, data, and so on), and of the Path object, a ThreeBody object has the following:

The r1, r2, beta, ipot1, and ipot2 attributes must be specified as these are used to construct the constituent paths.

The dspath and tspath attributes are set as the output of creating a ThreeBody object. Sensible things will happen when plotting or using in a fit, so it should not normally be necessary to access these directly.

When a ThreeBody is used in a fit, the Path objects contained in dspath and tspath will be pushed onto the Fit objects list of paths. When plotting a ThreeBody, each of those Path objects will beplotted. When added to a VPath, both will be added.

r1

The length of the leg between the absorber and the nearer atom.

r2

The length of the leg between the nearer atom and the more distant atom.

beta

The scattering angle through the intervening atom.

ipot1

From the Feff object specified by the parent attribute, the potential index of the intervening atom.

ipot2

From the Feff object specified by the parent attribute, the potential index of the distant atom.

dspath

This contains the Path object for the double scattering (3-legged) path.

tspath

This contains the Path object for the triple scattering (4-legged) path.

through

When true, this computes paths which scatter through the absorber:

     Absorber ---> Atom1 ---> Absorber ---> Atom2 ---> Absorber

plus the three-legged path which skips the absorber

When false, this computes paths which scatter through the first atom:

     Absorber ---> Atom1 ---> Atom2 ---> Atom1 ---> Absorber

plus the three-legged path which skips Atom1.

METHODS

There are no outward-looking methods for the ThreeBody object beyond those of the Path object. All methods in this module are used behind the scenes and need never be called by the user.

SERIALIZATION AND DESERIALIZATION

Good question ...

CONFIGURATION AND ENVIRONMENT

See Demeter::Config for a description of the configuration system.

DEPENDENCIES

Demeter's dependencies are in the Build.PL file.

BUGS AND LIMITATIONS

Please report problems to the Ifeffit Mailing List (http://cars9.uchicago.edu/mailman/listinfo/ifeffit/)

Patches are welcome.

AUTHOR

Bruce Ravel, http://bruceravel.github.io/home

http://bruceravel.github.io/demeter/

LICENCE AND COPYRIGHT

Copyright (c) 2006-2018 Bruce Ravel (http://bruceravel.github.io/home). All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlgpl.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.