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..
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.
"yanera" is released under the GNU GENERAL PUBLIC LICENSE v3.
Download source code from here : yanera-2008-05-29.tgz
Or by Subversion svn://220.127.116.11/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.