SQ (Module)

Unweighted structure factors

Overview

The SQ module calculates the atomic structure factors, $S(Q)$, via Fourier transform of a source set of radial distribution functions. The total structure factor, $F(Q)$, is also generated through summation of the atomic partials.

The required radial distribution functions must be calculated by an GR module and referenced using the SourceRDFs keyword.

The GR module dictates the target configurations from which the $g(r)$, and hence the $S(Q)$, are generated - as such, the SQ module does not target any configurations itself. If Bragg scattering is to be explicitly included, a source Bragg module can be specified with the IncludeBragg keyword.

Description

Basic Theory

For a configuration containing $N$ distinct atom types there are $\frac{1}{2}N(N+1)$ unique partial structure factors $S_{ij}(Q)$, where $i$ and $j$ are the $i^{th}$ and $j^{th}$ atom type respectively. In the Faber-Ziman formalism, these partial structure factors are related to the radial distribution function via Fourier transform as follows:

$$ S_{ij}(Q) = 4\pi\rho \int_0^\inf [g_{ij}(r)-1] \frac{sin(Qr)}{Qr} r^2 dr $$

where $g_{ij}(r)$ is the radial distribution function between atom types $i$ and $j$, and $\rho$ is the atomic number density of the system. The full structure factor $F(Q)$, is the sum of the partials weighted by the atomic concentrations $c$ of the atom type involved:

$$ F(Q) = \sum^N_{i,j,i \geq j} [2-\delta_{ij}] c_i c_j S_{ij}(Q) $$

Instrumental Broadening

Any broadening arising from instrumental effects (i.e. instrumental broadening) can be applied to the calculated $S(Q)$ with the QBroadening keyword. Any modules that apply weighting factors (e.g. NeutronSQ) to the structure factors generated by SQ will therefore also contain this broadening. If data from different sources with differing broadening functions is required, then multiple SQ modules must be used.

Bragg Scattering

Intensity information from a Bragg module calculation can be incorporated into the calculate S(Q) and F(Q) by setting the IncludeBragg keyword to the name of the relevant module. Intensities will be broadened according to the BraggQBroadening keyword - note that the QBroadening keyword has no effect on the broadening of Bragg intensities.

Options

Targets

Keyword Arguments Default Description
SourceRDFs Module

Required

Source GR module from which to take $g(r)$ and transform to $S(Q)$.

Range

Keyword Arguments Default Description
QDelta qdelta 0.01 Step size in $Q$ for Fourier transform.
QMax qmax 30.0 $Q_{max}$ limit of Fourier transform.
QMin qmin 0.01 $Q_{min}$ limit of Fourier transform.

Broadening & Windowing

Keyword Arguments Default Description
QBroadening Function1D None Broadening function to convolve in the Fourier transform.
WindowFunction WindowFunction None Window function to apply in the Fourier transform.

Bragg Scattering

Keyword Arguments Default Description
IncludeBragg [Module] Source Bragg module from which to take and incorporate reflection information. The reflections are broadened according to the function specified by the BraggQBroadening keyword.
BraggQBroadening Function1D None Broadening function to apply to Bragg reflection data.

Averaging

Keyword Arguments Default Description
Averaging int 5 Number of historical partial sets to combine into final partials
AveragingScheme AveragingScheme Linear Weighting scheme to use when averaging partials

Export

Keyword Arguments Default Description
Export bool false Whether to save partials to disk after calculation. A separate file is written for each individual atomic partial between types $i$ and $j$, as well as the summed total.
Last modified March 28, 2023: Update Examples 2023 (#1379) (0b33faf6b)