Ifeffit::Demeter::Feff - OO interface to Feff calculations
This documentation refers to Ifeffit::Demeter version 0.0.1
my $feff = Ifeffit::Demeter::Feff -> new();
$feff->set({workspace=>"temp", screen=>1, buffer=>q{}});
$feff->rdinp("feff.inp");
$feff->potentials;
$feff->pathfinder;
This subclass of the Ifeffit::Demeter class is for interacting with
theory from Feff. Computing the phase.bin file is done by Feff via
a pipe, as is running the genfmt portion of Feff. Parsing the input
file, pathfinding, and generating the paths.dat to control genfmt
have been implemented as methods of this object.
sites
Reference to a list containing all the sites found in the input structure. Each element of the list is a reference to a list containing the site's x, y , and z coordinates, followed by its potential index.
potentials
Reference to a list containing all the unique potentials. Each element of the list is a reference to a list containing the site's ipot, Z-number, and tag.
titles
Reference to a list containing all the title lines.
absorber
Reference to a list containing the x, y, and z coordinates of the absorbing atoms.
abs_index
Index of the absorber in the sites list. Remember that this is a 0
based list.
edge
The edge of the calculation. This can be any of 1, 2, 3, 4, K, L1, L2, or L3.
s02
The S02 value.
rmax
The Rmax value, i.e. the half length of the longest path.
nlegs
The maximum number of legs of paths to be calculated. In Feff this can be as large as 7. Demeter's implementation of the path finder is curretnly limited to 4.
rmultiplier
The value of Rmultiplier.
pcrit
The value of the plane wave criterion.
ccrit
The value of the curved wave criterion.
workspace
A valid directory in which to run Feff.
misc.dat
The contents of the misc.dat file, slurped up after the phase.bin
file is generated.
pathlist
A reference to the list of ScatteringPath objects found during the
pathfinder mthod.
screen
Boolean controlling whether Feff's output is sent to STDOUT.
buffer
A reference to a array or scalar for containing the output from Feff. This array or scalar can then be handled by the caller.
save
A boolean saying whether to save the minimal feff.inp file after a
Feff running step is finished
rdinp
Parse the feff input file.
my $feff = Feff -> new();
$feff -> rdinp("somefeff.inp");
pathfinder
Find all unique paths, recording degeneracies.
my $feff = Feff -> new();
$feff -> rdinp("somefeff.inp");
$feff -> pathfinder;
make_feffinp
potentials
genfmt
run_feff
report
pathlist and central return lists rather than a references to lists.
Describe serialize/deserialize methods
Dump/Load
freeze/thaw
describe file format
See the Ifeffit::Demeter manpage for a description of the configuration system.
The dependencies of the Ifeffit::Demeter system are in the DemeterBundle.pm file.
Automated indexing currently only works when doing a fit. If you want to plot paths before doing a fit, you will need to assign indeces by hand.
See the Ifeffit::Demeter::ScatteringPath manpage for limitations of the pathfinder.
Please report problems to Bruce Ravel (bravel AT anl DOT gov)
Patches are welcome.
Bruce Ravel (bravel AT anl DOT gov)
http://cars9.uchicago.edu/~ravel/software/
Copyright (c) 2006-2007 Bruce Ravel (bravel AT anl DOT gov). All rights reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.
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.