SANS Polarization Analysis Methodology#

Notation#

Note on notation:

  • subscripts = discretization variable from measurement

  • superscripts = Names

  • () = continuous function of….

Value

Meaning

shape

How acquired?

\(I^{\pm\pm}_{t,\lambda}\)

uncorrected sample data of ++/+-/-+/– channels

data arrays with columns for \(I\), \(\lambda\), \(t\)

neutron data

\(S^{\pm\pm}_{t,\lambda}\)

corrected sample data of ++/+-/-+/– channels

data arrays with columns for \(I\), \(\lambda\), \(t\)

by pol-correction

\(p^{cell}\)

pressure of 3He-polarizer/analyzer

scalar, 1-dim

from metadata

\(l^{cell}\)

length of 3He-polarizer/analyzer

scalar, 1-dim

from metadata

\(T^{\textup{g}, cell}(\lambda)\)

transmission of empty glass of polarizer/analyzer

scalar, 1-dim

from metadata

\(O^{cell}(\lambda)=O^{0, cell}\cdot\lambda\)

wavelength-dependent opacity of 3He-polarizer/analyzer

continuous function of \(\lambda\)

\(O^{0, cell}\) fit to data

\(O^{0, cell}\)

wavelength-independent pre-factor of opacity of 3He-polarizer/analyzer

scalar, 1-dim

fit to data

\(P^{^3\textup{He}, cell}(t) = C^{cell}e^{-t/T^{1, cell}}\)

time-dependent nuclear polarization of 3He-polarizer/analyzer

continuous function of \(t\)

\(C^{cell}, T^{1, cell}\) fit to data

\(C^{cell}\)

Pre-factor of nuclear polarization exponential decay of 3He-polarizer/analyzer

scalar, 1-dim

fit to data

\(T^{1, cell}\)

Decay constant of nuclear polarization exponential decay of 3He-polarizer/analyzer

scalar, 1-dim

fit to data

\(I^{\textup{DB},unpol-in,cell}_{\lambda, t}\)

Intensity of direct-beam of an unpolarized-incoming beam to the polarized 3He-polarizer/analyzer

data array with columns for \(I\), \(\lambda\), \(t\)

neutron data

\(I^{\textup{DB},{\textup{depol}},cell}_{\lambda}\)

Intensity of direct-beam of an unpolarized-incoming beam to the depolarized 3He-polarizer/analyzer

data array with columns for \(I\), \(\lambda\)

neutron data

\(I^{\textup{DB}, no-cell}_{\lambda}\)

Intensity of direct-beam of an unpolarized-incoming beam to detector without passing cells or sample

data array with columns for \(I\), \(\lambda\)

neutron data

\(\hat{T}^{\pm, cell}(t,\lambda)\)

Transmission-function of a in-coming polarized neutron beam into 3He-polarizer/analyzer

Row 1

by inserting \(P^{^3\textup{He}, cell}(t)\), \(O^{cell}(\lambda)\)

Overview and general workflow#

Different to unpolarized SANS, the spin-dependent cross section \(\vec{S}\) after sample-scattering are correlated and cannot be corrected individually [Ref 1, 2, 3]. Instead, a beamline-component dependent correction Matrix \(\hat{M}\) has to be applied to all spin-dependent measurements simultaneously to retrieve \(\vec{S}\) from the measured intensities \(\vec{I}\):

\[\begin{split}\begin{pmatrix} I^{++}_{t,\lambda} \\ I^{+-}_{t,\lambda} \\ I^{-+}_{t,\lambda} \\ I^{--}_{t,\lambda}\end{pmatrix} = \hat{M}(t,\lambda) \cdot \begin{pmatrix} S^{++}_{t,\lambda} \\ S^{+-}_{t,\lambda} \\ S^{-+}_{t,\lambda} \\ S^{--}_{t,\lambda}\end{pmatrix}\end{split}\]

Here, we describe the correction of TOF-SANS data with polarization analysis of the esspolarization package using two time-dependent 3He-polarized cells. Hence, the polarization-related beamline components in \(\hat{M}\) are the time- and spin-dependent transmission matrices of the 3He-polarizer \(\hat{T^p}\) and 3He-analyzer \(\hat{T^a}\):

\[\begin{split}\begin{pmatrix} I^{++}_{t,\lambda} \\ I^{+-}_{t,\lambda} \\ I^{-+}_{t,\lambda} \\ I^{--}_{t,\lambda}\end{pmatrix} = \hat{T}^{\textup{a}}(t,\lambda)\cdot\hat{T}^{\textup{p}}(t,\lambda) \cdot \begin{pmatrix} S^{++}_{t,\lambda} \\ S^{+-}_{t,\lambda} \\ S^{-+}_{t,\lambda} \\ S^{--}_{t,\lambda}\end{pmatrix}\end{split}\]

Both \(\hat{T^{\textup{p}}}\) and \(\hat{T^{\textup{a}}}\) can be derived from their cell parameters (the transmission of the empty cell \(T^{\textup{g}}\), and the cell opacity \(O\)), and the time-dependent nuclear polarization of the cell \(P^{^3\textup{He}}(t)\). This general method for time-dependent 3He-cells can be adapted for other use-cases such as using supermirrors or in-situ polarized 3He-cells, see “Note” at the end of the page.

First, the created test-data needs to be readout and grouped by purpose, e.g., if it describes a sample-run, a direct-beam-run, or a background measurement without cells and sample. All data will be reduced using the normalization term described in https://scipp.github.io/ess/techniques/sans/sans-beam-center-finder.html. Second, for the calculation of time-dependent \(P^{^3\textup{He}}(t)\), the ROI’s of the direct-beam region and background region have to be defined (USING BEAMCENTER FINDER OPTION OF SANS2D?). Third, we will describe the data correction workflow with a calculation of \(O\), \(P^{^3\textup{He}}(t)\), and \(T^{\pm}\) of the polarizer and analyzer, and the application on the sample-data.

To facilitate an in-situ data correction during the experiments, we have implemented two different approaches:

  1. A rough data-correction based on a 3He-cell opacity calculated by its cell parameters and filling pressure (see Workflow 1) which can be used in-situ during the experiment.

  2. precise calculation based on the calculation of opacity by a direct-beam measurement on the depolarized cell at its end of lifetime (i.e., end of cell-usage for this experiment) (see Workflow 2).

Data correction#

Calculation of 3He opacity#

The 3He opacity is a cell-specific parameter and can vary after each filling process. Hence, for precise data correction, it must be measured for each newly filled cell. It linearly depends on the neutron wavelength as follows:

\[O(\lambda)=n\cdot \sigma_0\cdot l \cdot\lambda\]

with n being the number density of 3He gas in the cell, \(\sigma_0\) the absorption cross section of \(1~Å\) neutrons by 3He (\(\sigma_0 = (2966\pm 1) \cdot 10^{−24} cm^2\) [Ref. 4]), and the path length through the cell \(l\) [Ref. 1]. Note that \((2966\pm 1) \cdot 10^{−24} cm^2\) at 1 \(1~Å\) is the unpolarised neutron cross-section. For polarised neutrons, it is a polarization dependent value with \((5933\pm 1) \cdot 10^{−24} cm^2\) at 1 \(1~Å\) for neutrons with spin anti-parallel to the 3He and 0 for neutrons with spin parallel to the 3He. As 3He can be considered to follow the ideal gas law, \(n\) can be replaced via \(p=n\cdot k_{\textup{B}}\cdot T\):

\[O(\lambda)=\frac{\sigma_0}{k_{\textup{B}}\cdot T}\cdot p\cdot l \cdot\lambda\]

For this workflow, we will calculate the wavelength independent part \(O^{0, cell}\) of the opacity for each cell in the beamline, and multiply by the neutron wavelength:

\[O^{cell}(\lambda)=O^{0, cell}\cdot\lambda\]

In the following, two different approaches are presented to measure \(O^{0, cell}\).

Workflow 1#

For an in-situ quick data correction, a measure of the cell pressure \(p\) (typically taken at 20°C) during filling the cell can be used to calculate \(O^{0, cell}\) by following relation (Ref 1):

\[O^{0, cell}= \frac{\sigma_0}{k_{\textup{B}}\cdot T}\cdot p\cdot l\]

However, a measurement of the opacity by neutron transmission in a depolarized cell condition yields more precise values and can be performed at the end of the cell-lifetime during the user’s neutron experiments, i.e., leading to Workflow 2.

  • Note: \(l\) is assumed constant over the area of the 3He-cell. In case of too large cell volumes, only the fraction with constant \(l\) & constant \(O\) will be used for the neutron measurements. The same assumption holds for both SANS-cells as well as wide-angle cells

  • Note: until now, we have treated \(T^{\textup{g}, cell}\) as constant parameter and ignored its wavelength-dependence, as its variation with wavelength is small enough to not impact the correction procedure. However, to keep it generic and enable to insert a wavelength-dependent \(T^{\textup{g}, cell}(\lambda)\), the dependence on wavelength will be pre-characterized (during fabrication of the cell) and inserted as function into this workflow instead of a scalar.

Workflow 2#

A more precise data correction is based on a direct-beam measurement through the depolarized cell (i.e., \(P_{^3\textup{He}}(t) \rightarrow 0\))(Ref. 2). For such a depolarized cell and an unpolarized incident beam (i.e., \(\hat{T}^\textup{depol} = (\hat{T}^++\hat{T}^-)/2\)), the neutron transmission becomes:

\[T^{\textup{depol}, cell}(\lambda)=T^{\textup{g}, cell}(\lambda)e^{-O^{0, cell}\cdot\lambda}\]

This leads to following direct beam intensity \(I^{\textup{DB},\textup{depol},cell}_{\lambda}\) measured on a depolarized cell:

\[\frac{I^{\textup{DB},\textup{depol},cell}_{\lambda}}{I^{\textup{DB,no-cell}}_{\lambda}}=T^{\textup{g}, cell}(\lambda)e^{-O^{0, cell}\cdot\lambda}\]

where \(I^{\textup{DB,no-cell}}_{\lambda}\) is the intensity of a direct beam through an open neutron path (without cell and sample) and acts as a background measurement. For a measurement of \(I^{\textup{DB},\textup{depol},cell}_{\lambda}\), the 3He cell needs to be depolarized at the end of its lifetime and \(I^{\textup{DB},\textup{depol},cell}_{\lambda}\) has to be acquired for each cell (having the other cell and the sample out of beam). The wavelength-independent opacity can be acquired by a fit of above equation to the ratio \(\frac{I^{\textup{DB},\textup{depol},cell}_{\lambda}}{I^{\textup{DB,no-cell}}_{\lambda}}\). As this procedure results in a more precise value of \(O^{0, cell}\) than using workflow 1, we will use these two workflows in following way:

  1. During the user experiment, \(O^{0, cell}\) will be calculated by its cell parameters via workflow 1 and inserted to the 3He nuclear polarization and cell transmission functions (described in the following) for a first in-situ data correction.

  2. At the end of its lifetime of each employed 3He-cell, the cell will be depolarized. After a measurement of \(I^{DB,\textup{depol},cell}\), workflow 2 can be used for a precise evaluation of \(O^{0, cell}\), and the user may overwrite the data correction results from workflow 1 with results from workflow 2 for post-experiment analysis.

  • Note: Different to the sample data, \(I^{\textup{DB},\textup{depol},cell}\) and \(I^{DB,no-cell}\) are not time-dependent

  • Note: It is important to fit \(I_{\textup{depol}}/I^{\textup{DB, no-cell}}_{\lambda}\) instead of \(I_\textup{depol}\), such that all the parameters in the fit-functions are scalars.

Calculation of time-dependent 3He-polarization#

Now \(O^{cell}(\lambda)=O^{0, cell}\cdot\lambda\) is known. The next step for getting the transmission functions \(\hat{T}^{\pm}\) is to calculate the nuclear polarization of the 3He-cell, which decays exponentially with a decay-time \(T^{1, cell}\) and is given by:

\[P^{^3\textup{He}, cell}(t) = C^{cell}e^{-t/T^{1, cell}}\]

.

From the neutron measurement, this again can be retrieved by measuring the transmission through each cell (i.e., for an unpolarized incoming beam into the polarized cell):

\[\hat{T}^{\textup{unpol-in}}(\lambda, t) = T^{\textup{g}, cell}(\lambda)e^{-O^{0, cell}\cdot\lambda}\cosh({P_{^3\textup{He}}(t)\cdot O^{0, cell}\cdot\lambda})\]

\[\frac{I^{\textup{DB,unpol-in},cell}_{\lambda, t}}{I^{\textup{DB, no-cell}}_{\lambda}} = T^{\textup{g}, cell}(\lambda)e^{-O^{0, cell}\cdot\lambda}\cosh({P^{^3\textup{He}, cell}(t)\cdot O^{0, cell}\cdot\lambda})\]

Fitting this equation to the direct-beam data will yield \(C^{cell}\) and \(T^{1, cell}\), which then can be used to calculate \(P^{^3\textup{He}, cell}(t)\), which shall be the output of the procedure.

  • Note: Some instruments cannot move the polarizer, and in those cases the incoming beam on the analyzer would be polarized. In such cases, another workflow has to be used.

  • Note: The readout of which spin-channel to use for \(I^{\textup{DB,unpol-in},cell}_{\lambda, t}\) is irrelevant, as they are the same.

Spin-dependent transmission values#

Now both \(O^{cell}(\lambda)=O^{0, cell}\cdot\lambda\) and \(P^{^3\textup{He}, cell}(t)\) are known. Following Refs (1, 3), the polarization-dependent transmission matrices of a polarized neutron beam through the ^3:nbsphinx-math:textup{He} cells can be computed by inserting

\[\hat{T}^{\pm, cell}(t,\lambda) = T^\textup{g}\cdot \exp\left(-O^{0, cell}\cdot\lambda\left(1\mp P^{^3\textup{He}, cell}(t)\right)\right)\]

into:

\[\begin{split}\hat{T}^{\textup{p}}= \begin{pmatrix} T^\textup{p,+}(t,\lambda) & 0 & T^\textup{p,-}(t,\lambda) & 0 \\ 0 & T^\textup{p,+}(t,\lambda) & 0 & T^\textup{p,-}(t,\lambda) \\ T^\textup{p,-}(t,\lambda) & 0 & T^\textup{p,+}(t,\lambda) & 0 \\ 0 & T^\textup{p,-}(t,\lambda) & 0 & T^\textup{p,+}(t,\lambda) \end{pmatrix}\end{split}\]
\[\begin{split}\hat{T}^{\textup{a}}= \begin{pmatrix} T^\textup{a,+}(t,\lambda) & T^\textup{a,-}(t,\lambda) & 0 &0\\ T^\textup{a,-}(t,\lambda) & T^\textup{a,+}(t,\lambda) & 0 & 0\\ 0&0& T^\textup{a,+}(t,\lambda) & T^\textup{a,-}(t,\lambda) \\ 0&0& T^\textup{a,-}(t,\lambda) & T^\textup{a,+}(t,\lambda) \end{pmatrix}\end{split}\]
  • Note: same function for both cells, but with different input parameters

  • Note: in principle the incoming beam to the polarizer is unpolarized, so \(\hat{T}^{\textup{unpol-in}}(\lambda, t)\) instead of \(\hat{T}^{\pm, cell}(t,\lambda)\) could be used. However, the results will be the same in this case without the need to differ between the cases.

Sample data correction#

For polarizing 3He-cells without neutron flippers in the beamline, the correction matrix \(\hat{M}\) becomes \(\hat{M} = \hat{T}^{\textup{a}}\hat{T}^{\textup{p}}\). To correct the measured data I, we need to apply the inverse matrix to the data \((\hat{M})^{-1}\):

\[\begin{split}\begin{pmatrix} I^{++}_{t,\lambda} \\ I^{+-}_{t,\lambda} \\ I^{-+}_{t,\lambda} \\ I^{--}_{t,\lambda}\end{pmatrix} = \hat{T}^{\textup{a}}(t,\lambda)\cdot\hat{T}^{\textup{p}}(t,\lambda) \begin{pmatrix} S^{++}_{t,\lambda} \\ S^{+-}_{t,\lambda} \\ S^{-+}_{t,\lambda} \\ S^{--}_{t,\lambda}\end{pmatrix}\end{split}\]
\[\begin{split}\left(\hat{T}^{\textup{a}}(t,\lambda)\cdot\hat{T}^\textup{p}t,\lambda)\right)^{-1} \begin{pmatrix} I^{++}_{t,\lambda} \\ I^{+-}_{t,\lambda} \\ I^{-+}_{t,\lambda} \\ I^{--}_{t,\lambda}\end{pmatrix} = \begin{pmatrix} S^{++}_{t,\lambda} \\ S^{+-}_{t,\lambda} \\ S^{-+}_{t,\lambda} \\ S^{--}_{t,\lambda}\end{pmatrix}\end{split}\]
  • Note: probably easier to first put functions into the matrix product \(T^\textup{a}\) \(\cdot\) \(T^\textup{p}\), then analytically get the inverse of that matrix product.

  • Note: we need to perform computation of matrix on channels all together, so we always need all four sets of T+-, a,p together

Literature#

      1. Lee et al., Polarisation Development at the European Spallation Source

    1. Krycka et al., Polarization-analyzed small-angle neutron scattering. I. Polarized data reduction using Pol-Corr

    1. Wildes, The polarizer-analyzer correction problem in neutron polarization analysis experiments

    1. McLane et al., “Neutron Cross. Sections, Vol. 2, Neutron Cross Section Curves”, Academic. Press Inc., New York (1988)

    1. Gentile et al., Optically polarized 3He

Note 1: This workflow can be applied on polarization analyzed sample-data using two time-dependent ex-situ polarized 3He-based spin filters as both polarizer and analyzer. To be used for the instruments SKADI and DREAM, following adaptations have to be made:

1: DREAM-SANS: operated with a movable in-situ SEOP 3He-polarizer and a movable ex-situ SEOP small-angle 3He-analyzer (nm-SANS-option): –> the polarizer is continuously pumped and considered as time-independent. Values like the opacity, nuclear polarization, and transmission will be pre-characterized and inserted to the workflow as constant parameters.

2: DREAM-Diffraction: operated with a movable in-situ SEOP 3He-polarizer and a NOT-movable ex-situ MEOP wide-angle 3He-analyzer –> for the polarizer, the same treatment as stated in 1. will be applied. For the analyzer a new workflow considering that the analyzer cannot be moved out of the beam has to be written.

3: SKADI: operated with a movable supermirror V-cavity polarizer, a spin flipper, and a movable ex-situ SEOP/MEOP 3He-analyzer: –> The supermirror polarizer (time-independent and wavelength-dependent) and spin flipper transmission values can be pre-characterized and inserted to the workflow as constant parameters. For the analyzer, the current workflow can be adapted.

Open questions regarding DREAM#

  • Should the incident beam monitor be moved behind the polarizer?

  • –> we would need a monitor after polarizer if analyzer cannot be moved and polarizer also needs to be characterized

  • –> current decision: moving monitor to after polarizer (but on another stage, so moves of polarizer do not move monitor

  • –> The “unpolarized SANS” data correction then will be taken on the monitor AFTER polarizer. But as it is an in-situ polarizer with constant polarization, this just leads to a constant offset which will be corrected for using this workflow. If sudden fluctuations in intensity are observed, the polarizer has to be moved out to characterize the neutron beam from the target.

  • How to treat an in-situ polarizer?

  • –> instead of exponential decay use a step-function, something like: “if C changes, then shift P” - basically constant in time, but with adaptable C (piecewise constant function)

  • How to adapt workflow for the non-movable wide-angle analyzer?

  • –> needs to be changed as following: instead of moving analyzer out during measuring P, measure with different monitor for P, and just move out polarizer for measuring analyzer

  • How to treat the “SANS-window” of the high-angle analyzer?

  • –> characterizing the wide-angle would be done outside user experiments, just measured sometimes in between by beamline scientists - here then parameters are treated constant for both parts (big part and SANS-window-part)