If you have any good suggestions for expanding the functionality of Normal, please contact the author.
Netlib
software archive,
AT&TMINPACK
package of subroutines
from AT&T's Netlib repository. This is freely available software.
Several other algorithms are taken from Numerical Recipes
by Press, et al. By the terms stated in that book, the
algorithms contained therein are freely available to anyone who
transcribes them. The rest of routines in
If you do not have a license to use FEFF or the UWXAFS analysis programs and are interested in obtaining one contact:
Ed Stern c/o UWXAFS Project University of Washington Department of Physics, FM-15 Seattle WA, 98195, USA phone: (206) 543-2023 fax: (206) 543-0635 electronic mail: stern@phys.washington.edu url: http://krazy.phys.washington.edu/people/ed.html
or
John Rehr c/o FEFF Project University of Washington Department of Physics, FM-15 Seattle WA, 98195, USA phone: (206) 543-8593 fax: (206) 543-0635 electronic mail: jjr@phys.washington.edu url=http://pauli.phys.washington.edu/~jjr/
You should request copies of the licensing agreements for
Normal is shipped with the following hard-wired parameters:
parameter (nptx=2**11, nfilx=50, ndocx=25)
These parameters are defined as follows:
nptx
max number of input or output data points
nrangx
max number of data sets to process
ndocx
max number of documents in i/o data
If any of these are too small, they can be changed in the source code and the source code can be recompiled.
The 1977 ANSI Standard for Fortran has been followed closely, so that
feffit should easily compile on any machine and run without any
problems. The only significant departures from Fortran 77 are the
assumption of the ASCII character set and the use of
integer*2
variables for the UWXAFS binary file handling
routines. A non standard trick is occasionally used in manipulating
character strings, but the author has never seen this fail on any
machine in his experience.
There are, unfortunately, aspects of Fortran which are machine- and
compiler-dependent by design. One such aspect occurs in lvax = .false.
to lvax = .true.
will make the code work on a Vax.
The UWXAFS binary file handling routines also use character strings which are 2048 characters long. Though standard, some compilers need to be told to accept character strings this long. The notable example of such a compiler is xlf (for AIX, IBM's Unix flavor), which needs the compiler switch "-qcharlen=2048". While compiling on any machine, we recommend including some form of array bounds checking. And if you have any problems with the compilation, it may be worthwhile to turn off compiler optimization flags. There may be some persistent, benign compiler warnings when you compile feffit. There may also be "comparison is always false" warnings when using f2c. These can both be safely ignored.
If the two data file formats (UWXAFS, ASCII) are not acceptable or
convenient to your needs (that is, if you prefer using some other
format), other choices could be added with a minimal amount of coding.
The input and output of data files is fairly well-isolated, with
subroutine inpdat
and outdat
controlling
which data format to use. If you'd like another file format either
contact us about it or follow the example of the routines
inpcol
and outcol
, which read and write
files in the ASCII column data format.
This document was composed using a mark-up language called
linuxdoc-sgml
. This is the documentation standard of the
Linux Documentation Project. linuxdoc-sgml
is an
adaptation of the QWERTZ document type definition written by Tom
Gordon. linuxdoc-sgml
is available on
the net.
The value of a Standard Generalized Markup Language (SGML) is that it
can be processed into any number of formats from a common source.
Using linuxdoc-sgml
, a single marked up file can be used to produce
LaTeX, PostScript, plain ASCII, HTML, TeXinfo, or dvi
documentation.