NAME

Ifeffit::Demeter::Feff - OO interface to Feff calculations


VERSION

This documentation refers to Ifeffit::Demeter version 0.0.1


SYNOPSIS

  my $feff = Ifeffit::Demeter::Feff -> new();
  $feff->set({workspace=>"temp", screen=>1, buffer=>q{}});
  $feff->rdinp("feff.inp");
  $feff->potentials;
  $feff->pathfinder;


DESCRIPTION

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.


ATTRIBUTES

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


METHODS

Accessor methods

Feff replacement methods

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;
paths.dat writer

Feff running methods

make_feffinp
potentials
genfmt
run_feff
report

Convenience methods

pathlist and central return lists rather than a references to lists.


COERCIONS


SERIALIZATION AND DESERIALIZATION

Describe serialize/deserialize methods

Dump/Load

freeze/thaw

describe file format


CONFIGURATION AND ENVIRONMENT

See the Ifeffit::Demeter manpage for a description of the configuration system.


DEPENDENCIES

The dependencies of the Ifeffit::Demeter system are in the DemeterBundle.pm file.


BUGS AND LIMITATIONS

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.


AUTHOR

Bruce Ravel (bravel AT anl DOT gov)

http://cars9.uchicago.edu/~ravel/software/


LICENCE AND COPYRIGHT

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.