QtiSAS|QtiKWS

SANS: reduction, analysis, global instrumental fit

User Tools

Site Tools


Sidebar


Vitaliy Pipich


Contact Form


SANS@Tools



SANS
Data
Reduction


ascii
SANS
1D


Compile
Fitting
Function

Fitting
Curve(s)
Tools


Singular
Value De-
composition


Jülich
NSE
Tools


SLD: Calculator


SANS@ToDo

SANS@MLZ




Very Small Angle Scattering KWS-3 ‘VerySANS’ www.verysans.com

JCNS :: Institutes

fit-curve:sas-fit

Curve(s) Fitting :: SA(N)S Fit [Instrumental Fit]


… under construction …


Overview

SANS mode is used for fitting small-angle scattering data including:

  • Instrumental resolution smearing integration
  • Polydispersity (size distribution) integration

It enables fitting of real experimental data where measured intensity differs from the ideal model.


How to Initiate SANS Mode

  1. Open Fit.Curve(s)
  2. Select a model function
  3. Enable Instrument mode (SANS)
  4. Select table (q, I, dI [,Sigma])


Required Data Format


q Scattering vector
I Intensity
dI Uncertainty
σ Resolution width (optional but recommended)



  • Initiate SANS Mode



  • Data Format



Resolution Smearing

Definition

$$ I_{meas}(q) = \int I(q') \cdot R(q,q', \sigma(q)) \, dq' $$

Resolution Options [modes]


ON/OFF
Resolution column - Table must contain xErr column - σ(q)
- Applied automatically during fitting
Manual resolution - Define resolution explicitly
- Relative: $\sigma(q) = \alpha \cdot q $
[$\alpha$ = 1%, 2%, … , 20% ]
σ(q) via “ASCII.1D.SANS”



Resolution Options [numerical integration]


Speed/Quality of the numerical integration could be adjusted.

Available resolution functions:

Gaussian: $ R(q,q') = \exp\left(-\frac{(q-q')^2}{2\sigma^2}\right) $

Triangular: Linear within \(q' \pm 2\sigma\)

Bessel: $R(q,q') \propto \frac{q}{\sigma^2} \exp\left(-\frac{q^2 + q'^2}{2\sigma^2}\right) I_0\left(\frac{q q'}{\sigma^2}\right) $


  • Activate of the Resolution Mode (On)
  • Select “Data_Sigma” column as $\sigma(q)$
  • Select numerical integral option of the resolution integral


  • Integration Options



Polydispersity

In SANS mode, polydispersity is implemented via numerical integration over a distribution of a selected parameter (e.g. radius, thickness). After activation of the polidispersity, polydisperse parameter (f.e. P) could be selected.

The scattering intensity is:

$$ I(q) = \int f(P)\, I_{\mathrm{model}}(q, P)\, dP $$

where:

  • $P$ — polydisperse parameter
  • $P_0$ — mean value (stored parameter)
  • $f(P)$ — distribution function

The model function is evaluated dynamically by replacing \(P_0 \rightarrow P\) during integration.

$\sigma$ in the parameter's table is relative. Absolute $\sigma_{abs}$ could be calculated as: $$ \sigma_{abs} = \sigma \cdot P_0 $$



Polydispersity Type: Gaussian

Relative Gaussian distribution.

Parameters:

  • $P_0$ — mean
  • $\sigma$ — relative width (in parameters)
  • $\sigma_{\text{abs}} = \sigma \cdot P_0$ - absolute width(should be calculated manually)

Distribution function: $$ f(P) = \frac{1}{\sqrt{2\pi}\,P_0\sigma} \exp\left(-\frac{(P-P_0)^2}{2(P_0\sigma)^2}\right) $$

Cutoff (truncation correction):
Because the physical domain is $P \ge 0$, the Gaussian is truncated and renormalized:

$$ C_{\mathrm{cutoff}} = 1 - \frac{1}{2}\operatorname{erfc}\left(\frac{1}{\sigma\sqrt{2}}\right) $$

$$ \int_{0}^{\infty} f(P)\, dP = 1 \quad \Rightarrow \quad f(P) \rightarrow \frac{f(P)}{C_{\mathrm{cutoff}}} $$

Scattering intensity:

$$ I(Q) = \int_{0}^{\infty} f(P)\, I_{\mathrm{model}}(Q,P)\, dP $$

Final implemented form:

$$ I(Q) = \int_{0}^{\infty} \frac{1}{\sqrt{2\pi}\,P_0\sigma\,C_{\mathrm{cutoff}}} \exp\left(-\frac{(P-P_0)^2}{2(P_0\sigma)^2}\right) I_{\mathrm{model}}(Q,P)\, dP$$



Polydispersity Type: Schultz–Zimm

Used for asymmetric size distributions.

  • $\sigma$ — relative standard deviation
  • $\sigma_{\text{abs}} = \sigma \cdot P_0$ - astandard deviation(should be calculated manually)
  • $z=1/\sigma-1$ — shape parameter (should be calculated manually)

Internal variables: \[ k = \frac{1}{\sigma^2}, \quad t = \frac{kP}{P_0} \]

Weight: \[ f(P) = \frac{k}{P_0} \, t^{k-1} e^{-t} \frac{1}{\Gamma(k)} \]



Polydispersity Type: Gamma

Equivalent to Schultz–Zimm but parameterized differently.

Internal variables: $$ \theta = \sigma^2 P_0, \quad k = \frac{P_0}{\theta}, \quad t = \frac{P}{\theta} $$

Weight: $$ f(P) = \frac{1}{\theta} t^{k-1} e^{-t} \frac{1}{\Gamma(k)} $$



Polydispersity Type: Log-Normal

Logarithmic distribution.

Weight: $$ f(P) = \frac{1}{\sqrt{2\pi}\sigma P_0} \exp\left(-\frac{(\ln(P/P_0))^2}{2\sigma^2}\right) $$



Polydispersity Type: Uniform

Flat distribution.

Range: $$ P \in [P_0(1-\sigma),\; P_0(1+\sigma)] $$

Weight: $$ f(P) = \text{const} $$

Final result normalized by dividing by \((P_{\max}-P_{\min})\).



Polydispersity Type: Triangular

Piecewise linear distribution.

Parameters:

  • \(A\) — minimum
  • \(B\) — maximum

Weight: $$ f(P) = \begin{cases} \frac{2(P-A)}{(B-A)(P_0-A)}, & P < P_0 \\ \frac{2(B-P)}{(B-A)(B-P_0)}, & P \ge P_0 \end{cases} $$

Implemented in `polyFunctionTriangular()`.


Integration Range

General case: \[ P_{\min} = \max\left(0,\; P_0(1 - \sigma \cdot N_\sigma)\right) \] \[ P_{\max} = P_0(1 + \sigma \cdot N_\sigma) \]

Triangular: \[ P_{\min} = A, \quad P_{\max} = B \]

fit-curve/sas-fit.txt · Last modified: 2026/04/17 11:50 by Vitaliy Pipich