\(\renewcommand\AA{\unicode{x212B}}\)
Absorption and Multiple Scattering Corrections¶
Introduction¶
To discuss sample corrections, specifically the absorption and multiple scattering, we must first define terms pertinent to the calculations of these corrections.
Total cross section (\(\sigma_t\))¶
First, we define the total cross section per atom, which for the majority of elements, is equal to the sum of the element’s scattering and absorption cross sections:
where \(\lambda\) is the neutron wavelength, \(\sigma_s = \int_{\Omega} \frac{d\sigma}{d\Omega} \left( \lambda, 2\theta \right) d\Omega\), and \(\frac{d\sigma}{d\Omega} \left( \lambda, 2\theta \right)\) is the differential crosssection which is the crosssection (\(\sigma\)) per solid angle (\(d\Omega\)).
Scattering cross section (\(\sigma_s\) )¶
Typically, the scattering cross section is directly found from tabulated single atom values [1] and with good approximation, assumed independent of wavelength. If we observe the equation above for \(\sigma_s\), we have that it is equal to the integration of the differential cross section. Yet, for the typical diffraction experiment, the differential crosssection is exactly the quantity we wish to measure. Thus, to proceed one could chose from the following:
Measure the sample and integrate over all \(d\Omega\) (very difficult to do exactly since instruments typically cannot cover all \(4 \pi\) of \(\Omega\)).
Perform a transmission measurement to directly measure \(\sigma_t\) and subtract a known value for \(\sigma_a\) (also not typical).
Use tabulated single atom values for \(\sigma_s\) [1] (bingo!).
For the energies used to measure structure of materials, \(\sigma_s\) is to reasonable approximation independent of \(\lambda\). However, exceptions include nuclear resonances, strong Bragg scattering as in beryllium, and significant inelastic effects. [2]
Absorption cross section (\(\sigma_a\))¶
For the absorption cross section, again typically the cross section is used from the same tabulated single atom values [1] but is only valid for the reference wavelength, 1.7982 \(\AA\), at which it was measured at. Thus, we can look up the value of \(\sigma_a (1.7982 \AA)\). Yet, the absorption cross section is a linear function of wavelength (away from nuclear resonances). Thus, we can calculate the absorption cross section at other wavelengths from:
NOTE: In Mantid, the reference wavelength is defined as a variable ReferenceLambda
in NeutronAtom.cpp
[3]. This variable should be used for consistency in all sample correction algorithms that
calculate \(\sigma_a (\lambda)\) from this reference wavelength.
Attenuation Length (\(\mu\))¶
The attenuation length is defined as:
where \(\rho\) is the atomic number density of the sample. Note that \(\rho\) is not the crystallographic or microscopic density of a unit cell but the macroscopic density of the bulk sample. If one were to measure a powder sample, the powder would not pack perfectly and thus there would be a given packing fraction, \(f\). Then, if the microscopic density is given as \(\rho_{micro}\), it is related to \(\rho\) via:
The definition of \(\rho\) is used throughout the rest of this documentation.
Techniques for Calculating Corrections¶
Methods for calculating the absorption corrections (and also the multiple scattering) generally fall into these categories:
Analytical solutions. For some simple situations it is possible to do an exact, analytical integration to produce a formula for the absorption correction based on parameters of the sample
Very fast.
Results are often stored in look up tables.
Use often involves interpolating between tabulated results.
Implemented in Mantid
Numerical integration
Generally provides quicker solutions than Monte Carlo methods.
Some assumptions are included: sample geometries and the scattering processes.
Less flexible than the Monte Carlo integration or raytracing for tackling different problems.
Implemented in Mantid
Monte Carlo integration
Monte Carlo is used for the numerical integration technique.
The performance relative to classical numerical integration depends on the number of dimensions in the integration. Monte Carlo integration is faster for a large number of dimensions
Relaxation of most assumptions needed by analytical solutions.
More flexible than the analytical techniques for shapes, beam profiles, and mixed number of scattering processes.
Implemented in Mantid
Monte Carlo ray tracing
Most general solution in that it is a virtual neutron experiment with all neutron histories kept. Slowest to solution.
Relatively no assumptions needed. Can simulate mixed numbers of scattering, complex scattering processes (ie scattering sample to sample environment back to sample then to detector), moderator and guides included.
Most flexible but mainly a tool for designing new instruments than for calculating sample corrections.
Typically calculated in another program specific to ray tracing and then imported into Mantid.
Some ray tracing solutions reduce the cost of simulating neutrons that never reach a detector by forcing neutrons into certain trajectories and assigning weights. This type of enhanced ray tracing approach is very similar to a Monte Carlo integration
The analytical and numerical integration methods generally provide a quicker solution, but at the expense of having to make assumptions about sample geometries and scattering processes that make them less flexible than the Monte Carlo techniques (integration and raytracing). However, in many cases analytical and numerical integration solutions are satisfactory and allow much more efficient analysis of results.
Absorption¶
(Source code, png, hires.png, pdf)
Introduction¶
Determination of the structure and/or dynamics of samples depends on the analysis of single scattering data. Overall, the absorption correction is a factor, \(A\), such that 0 < \(A\) < 1 . It is a factor that accounts for the loss of intensity from single scattering in the sample (or other component in the instrument). due to both scattering and capture events in the sample. The factor \(A\) is divided by the measured intensity. Thus, the absorption correction has an overall multiplicative enhancement of the measured intensity.
Basic Sample Absorption Theory¶
The figure shows how a general single scattering process might occur. The neutron travels a certain distance \(l_1\) through the sample before a single scattering event occurs in the volume element \(dV\) of the sample. Then, the neutron travels a final length \(l_2\) before leaving the sample and being picked up by a detector.
To formulate the absorption sample correction, first, we assume we have a homogeneous sample of a given shape that is fully illuminated by the incident beam. Then, the number of neutrons per unit solid angle scattered once by a volume element \(dV\) of the sample and seen by a detector is given by:
where \(J_0\) is the incident flux, \(\rho\) is the atomic number density, \(\frac{d\sigma}{d\Omega} \left( \theta \right)\) is the differential crosssection, \(l_1\) and \(l_2\) are the path lengths for incident neutrons to \(dV\) and from \(dV\) to the detector, respectively, and \(\lambda_1\) and \(\lambda_2\) are the incident and scattered wavelength, respectively.
Yet, this is only the contribution from a single volume element, or voxel, of the sample volume that contributes to a detector. Thus, if we integrate over the entire sample volume (all the voxels), we arrive at the total intensity of neutrons scattered once through an angle \(\theta\) and then leaving the sample without further scattering, given as:
In the last part of the equation for \(I_1(\theta)\), we have introduced the term \(A\), given as:
This is the basic absorption correction for a single sample volume (i.e. no container included, no partial correction factors, no partial illumination, etc.). NOTE: In some references, this term \(A\) is instead defined as the inverse \(A^{1}\). Some references use the notation here: [2] [4] [5] [7] [8] and [10], while others use the inverse notation: [6].
For elastic scattering, \(\lambda_1\) = \(\lambda_2\) = \(\lambda\) and we can simplify to:
Partial Absorption Correction Factors: Paalman and Pings Formalism¶
When the scattering of a sample (liquid, powder, gas, etc.) is measured, the sample is often held in a thick sample container. This container contributes significantly to the measured neutron beam. Often the empty container is measured and the signal from the container (\(C\)) subtracted from the signal of sample plus container (\(S+C\)).
The PaalmanPings formalism (PPF) [4] provides a framework for correcting for individual component absorption contributions, or the partial absorption correction factors, when a sample is measured in a container and, possibly, one or more sample environments. PPF builds on the earlier work of Ritter [5], who described a graphical approach of accounting for partial absorption correction factors. The PPF goes beyond the work of Ritter in two important ways
The graphical approach is formulated instead using numerical integration.
The contribution from the sample/container correlation region, or the interface, where the density of each is affected due to their intermaterial interactions.
In their analysis, Paalman and Pings show that the latter point is not generally of consequence since this region only exists for a few angstroms in most materials, but the ability to account for it is reassuring. The sample/container interaction could be of significant importance in cases where the container and sample are single crystal or polycrystalline.
Generally, the container measurement (neglecting multiple scattering and inelastic effects) is written:
\(I^E_C\) experimental intensity from the isolated container.
\(I_C\) theoretical intensity from the isolated container.
\(A_{C,C}\) is the absorption factor for scattering in the container region and absorption in the container.
The full PPF for the sample and container measurement (neglecting multiple scattering and inelastic effects) is written:
\(I^E_{S+C}\) experimentally measured intensity from \(S+C\).
\(I_S\) theoretical intensity from the isolated sample.
\(I_C\) theoretical intensity from the isolated container.
\(I_{SC}\) theoretical intensity from the correlated sample and container interface.
\(A_{S,SC}\) is the absorption factor for scattering in the sample region and absorption by the sample and container.
\(A_{C,SC}\) is the absorption factor for scattering in the container region and absorption by the sample and container.
\(A_{SC,SC}\) is the absorption factor for scattering in the correlated sample and container interface and absorption by the sample and container.
As discussed above, the final term in this expression is generally neglected.
General Notes¶
Integration Methods¶
The numerical and Monte Carlo integration approaches can be further extended in a number of ways:
The beam profile (and similarly the detector visibility of the sample) can also be included to accommodate partial illumination of the sample by the beam by means of a convolution function for the shape of the profile. [10] The beam profile and detector profile can be defined as a function of the volume element \(dV\) as \(P(dV)\) and \(D(dV)\), respectively. These can then be included into Eq. (7) as:
where \(V = \int_V P(dV) D(dV) dV\) is the effective volume of the cylinder in the beam.
Building on (1), the PPF can also be generalized to include the beam and detector profiles. [10]
Legends for Absorption Correction Algorithms in Mantid Table¶
Indicates the energy modes that the algorithm can accommodate:
Legend for Energy Mode 


E 
Elastic 
D 
Direct 
I 
Indirect 
Indicates the technique used for calculating the absorption correction:
Legend for Technique 


A 
Analytical 
NI 
Numerical Integration 
MC 
Monte Carlo 
Due to the overlap between the Monte Carlo integration and Monte Carlo ray tracing techniques a single classification of “Monte Carlo” is used
Options that describe what functions the algorithm is capable of and the output types:
Legend for Functions 


L 
Loads correction from file 
MS 
Multiple scattering correction calculated 
FI 
Full illumination of sample by beam 
PI 
Full or partial illumination of sample by beam 
W 
Outputs a corrected sample workspace 
A 
Absorption correction calculated 
A+ 
Calculates both sample and container absorption corrections (\(A_{s,s}\), \(A_{c,c}\)) 
A++ 
Calculates full set of partial absorption corrections (\(A_{s,s}\), \(A_{s,sc}\), \(A_{c,c}\), \(A_{c,sc}\)) 
Absorption Correction Algorithms in Mantid Table¶
Algorithm 
Energy Mode 
Technique 
Geometry 
Input Units 
Functions 
Notes 

E,D,I 
NI 
Any Shape 
Wavelength 
A,PI 
Approximates sample shape using cuboid mesh of given element size
Base class: AbsorptionCorrection


E,D,I 
MC 
Annular / Hollow Cylinder 
Wavelength 
A,PI 
Wrapper for MonteCarloAbsorption for hollow cylindrical sample 

E 
A 
Sphere 
Wavelength or TOF 
A,FI,W 
Absorption for spheres with additional corrections in ANVRED program from ISAW:
 weight factors for pixels of instrument
 correct for the slant path through the scintillator glass and scale factors


E,D,I 
Cylinder or Flat Plate / Slab 
Wavelength 
W 
Simply applies the correction workspaces from other PaalmanPingsstyle algorithms
Can also apply shift and scale factors to container workspaces


E 
A 
Cylinder 
Wavelength 
A,MS,FI 
Only applicable to Vanadium
Inplane only


E,D,I 
MC 
Cylinder or
Flat Plate / Slab or
Annular / Hollow Cylinder

Wavelength 
A+,PI 
Uses multiple calls to SimpleShapeMonteCarloAbsorption to calculate
sample and container correction workspaces
(Deprecated)


E 
A 
Cylinder 
Wavelength 
A,MS,FI,W 
Calls CalculateCarpenterSampleCorrection


E,D,I 
NI 
Cuboid section in Any Shape sample 
Wavelength 
A,PI 
Base class: AbsorptionCorrection via wrapping via wrapping FlatPlateAbsorption 

E,D,I 
NI 
Cylinder 
Wavelength 
A,FI 
Base class: AbsorptionCorrection 

E,D,I 
NI 
Cylinder 
Wavelength 
A++,PI 
inplane only 

E,D,I 
NI 
Flat Plate / Slab 
Wavelength 
A,FI 
Base class: AbsorptionCorrection 

E,D,I 
NI 
Flat Plate / Slab 
Wavelength 
A++,FI 

E 
NI 
HRPD aluminium flat plate only
with HRPD vanadium windows
with HRPD vanadium windows

Wavelength 
A+*,FI 
Only for HRPD via hardcoded dimensions.
Uses FlatPlateAbsorption for sample.
Uses slightly different analytical formula for aluminium holder and vanadium windows
for the HRPD instrument.
*Outputs a single correction workspace with both sample and container corrections


I 
MC 
Annular / Hollow Cylinder for
both sample and container

Wavelength 
A+,W 
Workflow algorithm specific to Indirect geometry spectrometers.
Uses MonteCarloAbsorption for sample and container.
Will apply calculated absorption corrections and subtract container from sample.


I 
MC 
Cylinder for sample and
Annular / Hollow Cylinder
for container

Wavelength 
A+,W 
Workflow algorithm specific to Indirect geometry spectrometers.
Uses MonteCarloAbsorption for sample and container.
Will apply calculated absorption corrections and subtract container from sample.


I 
MC 
Flat Plate / Slab for both
sample and container

Wavelength 
A+,W 
Workflow algorithm specific to Indirect geometry spectrometers.
Uses MonteCarloAbsorption for sample and container.
Will apply calculated absorption corrections and subtract container from sample.


E 
NI 
Cylinder 
TOF 
A,MS,FI,W 

E,D,I 
MC 
Any Shape 
Wavelength 
A+*,PI 
“Workhorse” of the MCbased algorithms
*Outputs a single correction workspace with both sample and container corrections


E, EI 

E 
NI 
Any Shape

Wavelength

A++,PI 
Calculates Paalman Pings partial absorption factors based on AbsorptionCorrection


E,D,I 
MC 
Cylinder or
Flat Plate / Slab or
Annular / Hollow Cylinder

Wavelength
Energy Transfer
Momentum Transfer

A++,PI 
Calculates Paalman Pings partial absorption factors using MonteCarloAbsorption


E 
MC 
Any Shape 
N/A 
L 
Simply reads in precomputed \(\mu\) values for PEARL instrument from an
external Monte Carlo program. Uses LoadAscii


E,D,I 
MC 
Cylinder or
Flat Plate / Slab or
Annular / Hollow Cylinder

Wavelength 
A,PI 
Wrapper for MonteCarloAbsorption for 3 shape types


E 
NI 
Sphere 
Wavelength 
A,FI,W 
Wrapper around AnvredCorrection 
Multiple Scattering¶
(Source code, png, hires.png, pdf)
Introduction¶
Determination of the structure and/or dynamics of samples depends on the analysis of single scattering data. Small but unwanted higherorder scattering is always present although in many typical experiments multiple scattering effects are negligible. However, in some cases the data may contain a significant contribution from multiple scattering. In neutron scattering, the absorption crosssection is often much smaller than the scattering crosssection. For this reason it is necessary to account for multiple scattering events. Using the PPF notation from previously, the measured beam from \(S+C\) (neglecting multiple scattering and inelastic effects) is given as:
Thus, the multiple scattering is a parasitic signal that needs to be subtracted from the experimentally measured \(I^E\) intensity. To get an idea of when and why multiple scattering corrections are needed, let us define \(\sigma_n\) as the likelihood of a neutron being scattered \(n\) times. Then it is possible to show [6] that:
Where practical, the shape and thickness of a sample are carefully chosen to minimize as much unwanted multiple. This may be achieved by using a sample that is either [7]
Small in comparison with its mean free path.
Strongly absorbing (the absorption cross section is much greater than the scattering cross section. Usually this means the dimensions of a sample are chosen to ensure that between 10% and 20% of incident neutrons end up being scattered [8] ).
Increasing the absorption cross section is not always attainable  due to the type of material in question  or desirable, due to the accompanying intensity losses becoming overly prohibitive.
Theory¶
The figure shows how a general double scattering process might occur. The neutron travels a certain distance \(l_1\) through the sample before the first scattering event in the volume element \(dV_1\). The second scattering occurs in another volume element \(dV_2\) after a distance \(l_{12}\) has been traversed following which the neutron travels a final length \(l_2\) before leaving the sample and being picked up by a detector.
We define the multiple scattering intensity, \(I_m\), in terms of the total scattering intensity, \(I_{total}\), from \(n\) number of orders of scattering intensity, \(I_n\), as:
Then, we see that to compute the multiple scattering, we must compute \(n1\) scattering intensity terms to subtract from the total, \(I_{total}\).
Let us first just consider the secondary scattering term, \(I_2\). We again assume we have a homogeneous sample of a given shape that is fully illuminated by the incident beam. Then, extending from Eq. (5), we have that the number of neutrons per unit solid angle scattered once by a volume element \(dV_1\) and then a second time by a volume element \(dV_2\) of the sample and seen by a detector is given by:
where \(\theta_1\) is the angle between the incident path and scatter path from \(dV_1\), \(\theta_2\) is the angle between scatter path from \(dV_1\) and scatter path from dV_2, \(\theta_s\) is the angle between the incident path and scatter path from \(dV_2\) to the detector, \(\mu_{12}\) is the scattered wavelength from volume element \(dV_1\), and the \(l_12\) term is due to the inverse square law (that as the distance increases between \(dV_1\) and \(dV_2\), the solid angle subtended by \(dV_2\) at \(dV_1\) decreases as the inverse square of \(l_{12}\)).
And the total secondary scattering intensity seen by a detector is:
We can generalize this for \(i^{th}\) order of scatter terms as:
and
Which then the multiple scattering up to the \(n\) order scattering term is given as:
Thus, some of the difficulties in correcting multiple scattering arises from:
For each \(i^{th}\) order of scattering we must perform \(i\) volume integrals \(dV^{i}\) over the sample (although these terms tend to zero as explained in the introduction).
Without the elastic scattering assumption, we need to know each emerging \(\lambda_i\) due to energy transfer of the \(i^{th}\) scattering event.
Without the isotropic approximation, we need to know each \(\frac{d\sigma}{d\Omega} \left( \theta_i \right)\) of the \(i^{th}\) scattering event. This requires knowledge of \(\frac{d\sigma}{d\Omega}\), which is exactly what we are usually trying to measure (for diffraction)!
It is arbitrary at which \(n^{th}\) order of scatter should the correction be cutoff.
This kind of calculation is difficult for all but the simplest of geometries (i.e. cylindrical, planar and spherical) although Monte Carlo integration methods may be utilized for the multiple scattering calculations of more general shapes.
Assumptions¶
Elastic Scattering¶
To address (2) above, we can assume elastic scattering and then Eq. (19) becomes:
Isotropic Scattering¶
To address (3) above, we can assume isotropic scattering and then Eq. (19) becomes:
Elastic + Isotropic Scattering¶
Combining both the elastic and isotropic assumptions, we have:
Constant Ratio for \(\frac{I_n}{I_{n1}} = \Delta\)¶
To address (4), a typical assumption in the analytical method [6] [9] approaches is to assume that the ratio \(\frac{I_n}{I_{n1}}\) is a constant, \(\Delta\), thus:
Then, with the assumption that \(\Delta < 1\), Eq. (19) can be manipulated into a geometric series:
Similarly:
Subtracting Eq. (25) from Eq. (24), we have:
Which, solving for \(I_m\) and based on the assumption \(\Delta < 1\), implying \(\Delta^n << \Delta\), we arrive at:
NOTE: Sears arrived at a separate equation for \(I_m\) based on flat plate samples but supposedly general enough for any shape sample: \(I_{m,Sears} = I_1 \left( \frac{exp(2\delta)1}{2\delta}  1 \right)\). However, comparisons of both equations for cylinders show that Eq. (27) is more accurate solution. [10]
From Eq. (27), we are left with calculating \(\Delta\):
Using the isotropic approximation, we arrive at:
where \(A_2\) is the secondary scattering absorption factor and \(A_1\) is the single scattering absorption factor, equivalent to \(A\) in Eq. (7). The absorption factors can be further simplified by using the elastic scattering assumption from Eq. (8).
We can now begin to solve for \(I_m\) by taking Eq. (27) and substituting this into Eq. (14):
Solving this for \(I_1\), we see that:
Thus, comparing Eq. (31) and Eq. (29) with Eq. (14), we see that:
General Notes¶
Analytical Methods¶
The analytical approach has been further extended in a number of ways:
The beam profile (and similarly the detector visibility of the sample) can also be included to accommodate partial illumination of the sample by the beam by means of a convolution function for the shape of the profile. [10]
The isotropic approximation can be relaxed, giving anisotropic scattering for the single scattering term \(I_1\) in Eq. (21). This can be realized by either producing a solvable equation for \(\frac{d\sigma}{d\Omega}\) [6] or by using a model equation for \(\frac{d\sigma}{d\Omega}\). [11]
The constant ratio assumption can be tested by computing the higher orders of scattering terms with comparison to Monte Carlo (for flat plate and cylinder comparisons to Monte Carlo, see [12]).
Monte Carlo Methods¶
Monte Carlo approaches are a “brute force” technique that does require more computational time than the analytical approaches yet does not suffer many of the drawbacks to the analytical approach. Such drawbacks included assumptions of isotropic scattering required to formulate the solvable equations, not being able to include the intermediate energy transfers for scattering, and easier flexibility to handle complicated shapes for sample, container, and/or sample environments.
In the Monte Carlo ray tracing technique, a virtual experiment is performed such that individual neutrons are put on a trajectory through a model of the instrument with scattering kernels defined for samples, containers, and other components of the instrument. Neutron histories are recorded so there is a clear distinction between single and multiple scattered neutrons and the multiple scattering correction is easily obtained from the result.
Small Angle Scattering¶
In some areas, such as small angle scattering, there may be useful approximations that can be applied that are not present for the more general wide angle scattering case. Again matters may become complicated, as for example small angle scatter followed by incoherent scatter from hydrogen can be more significant in blurring sharp features than double small angle scatter. For early considerations of multiple small angle scattering see for example [13] [14].
Legends for Multiple Scattering Correction Algorithms in Mantid Table¶
Indicates the energy modes that the algorithm can accommodate:
Legend for Energy Mode 


E 
Elastic 
D 
Direct 
I 
Indirect 
Indicates the technique used for calculating the absorption correction:
Legend for Technique 


NI 
Numerical Integration 
MC 
Monte Carlo 
Options that describe what functions the algorithm is capable of, assumptions, and the output types:
Functions 


L 
Loads correction from file 
FI 
Full illumination of sample by beam 
PI 
Full or partial illumination of sample by beam 
W 
Outputs a corrected sample workspace 
IA 
Isotropic assumption is used for all orders of scattering 
EA 
Elastic scattering assumption is used 
Multiple Scattering Correction Algorithms in Mantid Table¶
Algorithm 
Energy Mode 
Technique 
Geometry 
Input Units 
Functions 
Notes 

E 
A 
Cylinder 
Wavelength 
IA,EA,FI 
Only applicable to Vanadium
Inplane only


E 
A 
Cylinder 
Wavelength 
IA,EA,FI,W 
Only applicable to Vanadium
Inplane only


E,D,I 
MC 
Any Shape 
Momentum (elastic) DeltaE (inelastic) 
PI 
Based on Monte Carlo program DISCUS [16] (or MINUS).
It has been ported to C++ and integrated in to the Mantid framework featuring:
 Mantid geometry (mesh\CSG shape descriptions)
 multithreading for reduced run times
 spatial interpolation and wavelength interpolation


E,D,I 
MC 
Any Shape 
L 
Loads McStas [15] v2.1 histogram or event data files.
Can extract multiple scattering and subtract from scattering in Mantid


E,D,I 
MC 
Any Shape 
L 
Loads McStas [15] v2.0 histogram data files.
Can extract multiple scattering and subtract from scattering in Mantid


E 
NI+MC 
Cylinder 
TOF 
IA,EA,FI,W 
Uses Monte Carlo integration to evaluate the analytical integral. 

E 
NI 
Any shape 
Wavelength 
FI,IA,EA 

I 
MC 
Flat Plate / Slab 
TOF 
IA,FI 
Monte Carlo ray tracing algorithm for deep inelastic neutron scattering.
Calculates both total and multiple scattering output workspaces. Specific to
Vesuvio but possibly general.

References¶
Category: Concepts