NCNR has a number of programs to aid in reflectometry.
Reductus is a web application providing support for data reduction and simple fitting of NCNR data. Reduction is driven by the reflred python libraries, which support the common operations required to convert raw X-Ray and neutron reflectivity data to a reflectivity curve in physical units.
Data files are accessed directly by URL from the NCNR online data repository and the reduction templates (recipes) can be modified with a graphical editor, and downloaded and reused or shared by email. Reduced data can be downloaded in columnar text-file form. No login or password is required to use the application.
Reductus replaces the Reflpak application.
Refl1D is a more powerful fitting program which adds capabilities for simultaneous fitting and uncertainty analysis. See the Refl1D manual for more details. Refl1D uses Bumps for fitting and PeriodicTable for scattering length density calculations.
Installation from the Python Package Index
- Install Python 2.7 or Python 3.6 (such as from Python.org or Anaconda)
- open a terminal window (plain terminal on mac, Anaconda Prompt on Windows) and issue these commands:
- pip install numpy scipy matplotlib wxpython periodictable
- pip install refl1d
Then issuing the command "refl1d" from the command line will start the command-line client, and "refl1d --edit" will start an interactive fitting session. "pip install --upgrade refl1d" will update to the latest version, any time.
NOTE: on Mac, if you use an Anaconda python distribution, to start an interactive refl1d session you will have to type "pythonw -m refl1d.main --edit" instead of the command above
NOTE: on Windows, you might need to install a compatible C++ compiler (but you probably don't)
- for python2.7: C++ compiler for Python 2.7
- for python3.6: Build Tools for Visual Studio (install C++ compiler from list)
There is also a binary installer for Windows, that is not updated as often as the pip version.
Online SLD Calculator: The online SLD/activation calculator uses the same PeriodicTable package as Refl1D and SasView to compute scattering length density and neutron activation.
Web Reflectivity Calculators
We provide a browser-based magnetic reflectivity calculator as well a non-magnetic (unpolarized) reflectivity calculator. The user-generated SLD profiles can be exported to a heavily-commented Python Refl1D model file to provide an easy way to get started with modeling data in Refl1D. Please see the article in J. Res. NIST for more details.
If no other citation is provided, acknowledging the use of these tools in publications may be done by making a reference to this site. For example:
The Refl1D and Reductus programs were used for elements of the data reduction and analysis.
 P.A. Kienzle, B.B. Maranville, K.V. O'Donovan, J.F. Ankner, N.F. Berk, C.F. Majkrzak; https://www.nist.gov/ncnr/reflectometry-software 2017-
This software was developed at the National Institute of Standards and Technology at the NIST Center for Neutron Research by employees of the Federal Government in the course of their official duties. Pursuant to title 17 section 105* of the United States Code this software is not subject to copyright protection and is in the public domain. NIST does not assume any responsibility whatsoever for the use of this software, and makes no guarantees, expressed or implied, about its quality, reliability, or any other characteristic. The use of certain trade names or commercial products does not imply any endorsement of a particular product, nor does it imply that the named product is necessarily the best product for the stated purpose. We would appreciate acknowledgment if the software is used.
*Subject matter of copyright: United States Government works
Copyright protection under this title is not available for any work of the United States Government, but the United States Government is not precluded from receiving and holding copyrights transferred to it by assignment, bequest, or otherwise.
Portions of this work are based upon activities supported by the National Science Foundation under Agreement No. DMR-0412074.
- Calculating polarized neutron reflectometry
- C.F. Majrkzak, K.V. O'Donovan, N.F. Berk (2006); Polarized neutron reflectometry. In Neutron Scattering from Magnetic Materials, T. Chatterji, editor. Elsevier.
- Polarization corrections
- C.F. Majkrzak (1996); Neutron scattering studies of magnetic thin films and multilayers, Physica B 221, 342-356.
- Modelling interfaces with slabs
- J.F. Ankner, C.F. Majkrzak (1992); Subsurface profile refinement for neutron specular reflectivity. In S.P.I.E. Conference Proceedings, Vol. 1738. C.F. Majkrzak and J.L. Wood, editors. S.P.I.E., Bellingham, WA.