Demeter

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

NAME

Demeter::Feff::Aggregate - Perform the pathfinder fuzzily over inequivalent sites

VERSION

This documentation refers to Demeter version 0.9.26.

SYNOPSIS

   my $atoms = Demeter::Atoms->new(file=>'BaFe12O19.inp');
   my $bigfeff = Demeter::Feff::Aggregate->new;
   $bigfeff->setup($atoms, 'Fe');
   $bigfeff->run;

The run method calls overridden potph and pathfinder methods which iterate over all inequivalent sites in the unit cell. The degeneracies of the paths are weighted by the number of each site in the fully populated unit cell.

See the file examples/recipes/FuzzyOverSites/pfo.pl in the Demeter distribution for an example.

DESCRIPTION

This organizes a sequence of partial Feff calculations, one for each inequivalent site in the unit cell containing the absorber species. The potph method is run on each Feff object. Then, for each, Feff object the first few steps of the pathfinder method are run. For each Feff, the tree of scattering geometries is constructed and the heap of paths is filled.

Each heap is then unloaded onto a master heap. This master heap is collapsed in the nomral manner so that fuzzy degeneracies are found over all the inequivalent sites in the aggregate.

Care is taken to compute the degeneracies and fuzzy half lengths considering the fractional representation of each site in the unit cell. As a result, degeneracies are unlikely to be integer valued.

This object extends the normal Feff object. At the end, therefore, the pathlist attribute is filled with fuzzily degenerate path list computed in the aggregate over all sites. In that sense, the Aggregate object can be used just like a normal Feff object when it comes time to build a fitting model or do something else with the Feff claculation.

Each individual Feff calculation is retained and used when it comes time to compute the actual paths. A few attributes of the Aggregate object may be a bit surprising. The miscdat attribute is filled with that value from the Feff object from first site in the list of inequivalent sites. The nsites attribute is filled with average of the nsites of the constituent Feff objects, rounded to the nearest integer.

Many parameters are made common to all the Feff objects, included rmax, fuzz, and betafuzz.

Note that this runs Feff and Demeter's pathfinder once for each inequivalent site. It, therefore, takes exactly N times longer to run than a normal Feff calculation. Set rmax sensibly!

ATTRIBUTES

parts

This is a reference to an array containing the Feff objects from each inequivalent site.

METHODS

setup

Load up the Feff::Aggregate object with its consitutent Feff objects.

   my $atoms = Demeter::Atoms->new(file=>'BaFe12O19.inp');
   my $bigfeff = Demeter::Feff::Aggregate->new;
   my $ret = $bigfeff->setup($atoms, 'Fe');

The arguments are an atoms object containing the crystal data and the symbol of the absorbing element. The Aggregate object will then contain one Feff object for each inequivalent site in the unit cell.

The clusters computed for each site will be examined to verify that they contain the same number of unique potentials which are listed in the ipot list in the same order.

This method returns a Demeter::Return object. This will be loaded with a message containin any problem discovered in the analysis of the ipot lists from the constituent atoms calculations.

fractions

This populates a unit cell and counts how many of each inequivalent site is present. It then sets the site_fraction attribute of each Feff object in the Aggregate so that path degeneracies and fuzzy halflengths are corectly calculated.

CONFIGURATION AND ENVIRONMENT

See Demeter for a description of the configuration system.

DEPENDENCIES

The dependencies of the Demeter system 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.