Skip to main content
U.S. flag

An official website of the United States government

Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Secure .gov websites use HTTPS
A lock ( ) or https:// means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites.

Fitting Polarized Neutron Reflectometry Data: A Beginner's Guide

This guide is intended to provide NIST Center for Neutron Research (NCNR) users with a non-rigorous introduction to fitting polarized neutron reflectometry (PNR) data, focusing mainly on the practical elements of analyzing PNR with the Refl1D software. If you are looking for a more detailed treatment or derivation of PNR formalism starting from the wave equations, the work of Majkrzak, O’Donovan, and Berk or of Fitzsimmons and Majkrzak are also available on the NCNR website. If you would rather jump straight into fitting and interpreting your data, you are in the right place. Any questions about this guide (or any other fitting questions you might have) can be send to alexander.grutter [at] (alexander[dot]grutter[at]nist[dot]gov).

Installing and Running Refl1D

Instructions for setting up and running Refl1D can be found here. The full, detailed documentation is also available.

PNR Analysis Basics 

This section will discuss what sorts of features appear in PNR data, and what kind of information is contained these features. You will learn about "best practices" to follow when fitting your data. Among many other topics, we'll talk about what it means to have a good fit vs. a bad fit, how to tell whether you are sensitive to a given fitting parameter, and how to properly evaluate uncertainty. 


Refl1D Fitting Examples

To analyze PNR data with the Refl1D program, users must load up an analysis script which defines the parameters of the theoretical model which will be used as a basis for fitting the data. This script is written in Python and determines the number of layers within the thin film structure, sets initial guesses for parameters such as thicknesses, selects which parameters will be fit, constrains parameters to a range selected by the user, etc. Here, we present a series of example scripts which may be used to fit real datasets taken by users and instrument scientists at the NCNR. These scripts have been modified and heavily commented so that NCNR users can use them as a tool for learning the syntax of Refl1D or modify the scripts for their own fitting needs. The examples below cover a wide range of fitting problems and are presented below in order of increasing complexity.

Note that these models may deviate somewhat from the models used to fit the data in actual publications, as they have been modified and (in some cases) simplified for instructional purposes. Certain constraints and choices in the modeling may also be based on information extracted from supplemental measurements such as X-ray reflectometry, X-ray diffraction, bulk magnetometry, magnetic X-ray spectroscopy, etc.

Simple Models

Advanced Models

  • User-defined functional shapes
  • Spline with control points
  • Dataset with multiple temperatures
  • Sample with multiple distinct regions
Created May 6, 2019, Updated June 9, 2023