This program is Yet Another NEutron Reflectivity Analyzer (YANERA).
- Simulates or fits neutron reflectometry data.
- It can simultaneously fit up to ten data sets. This can be useful:
- For multiple contrast conditions, e.g. the same sample was measured in more than one D2O/H2O concentrations. It is now possible to fit all contrast conditions at the same time, using shared parameters for the underlying layers that are not changing their scattering length density.
- For changing samples, e.g. if a layer was added or removed in situ, and the underlying structure was unaltered.
- For polarized neutron reflectometry, e.g. fit both spin-up, spin-down, and unpolarized, all at the same time, since the only difference is the application of the magnetic scattering length density.
- Specify layers in different ways:
- Homogeneous slabs with gaussian roughness. This is like the Parratt formalism.
- Functional components made of a sum of Gaussian and Box functions. Construct many novel scattering length density profiles from these components, which can share parameters.
- A user supplied functional expression. Any inhomogeneous layer can have a user-supplied expression to represent its scattering length density, e.g..
a*exp(-(x-21.2)/c)
, where a
and c
are fitting parameters
- Yanera can fit data using several different fitting algorithms provided by the GNU Scientific Library. Since modeling of reflectometry can yield multiple solutions for a given data set, this can be useful.
- Fitting can include parameter constraints.
- Instrumental resolution smearing can be applied point-by-point, or across the whole range of data, and is taken into account with fitting.
- Input and output are through an easy to read XML file. The specification of this file is in the Related Pages section.
- Command line only, no user interface, although a front-end that can read and write XML files would be relatively easy to make.
The program is suitable for modeling and fitting in its current state, although I am still actively improving and checking for bugs.
You can download the source code for Linux, or an execuable for Windows XP that can be run from a console.
Benchmarks: I have begun to bechmark yanera using the benchmark data of Motofit. See the page Benchmarks.
Requirements
Options
License
"yanera" is released under the GNU GENERAL PUBLIC LICENSE v3.
Download
Download source code from here : yanera-2008-05-29.tgz
Or by Subversion svn://139.57.97.112/yanera
For Windows, download all the files from this directory, place into your working directory and run from a console command line.
All comments and questions are welcome, see my main page for my email address. Feel free to browse these documentation pages, as I have tried to include all the equations used.