SANS@Tools
SANS@ToDo
SANS@MLZ
Useful Links
… under construction …
SANS mode is used for fitting small-angle scattering data including:
It enables fitting of real experimental data where measured intensity differs from the ideal model.
Fit.Curve(s)Instrument mode (SANS)
| q | Scattering vector |
|---|---|
| I | Intensity |
| dI | Uncertainty |
| σ | Resolution width (optional but recommended) |
$$ I_{meas}(q) = \int I(q') \cdot R(q,q', \sigma(q)) \, dq' $$
| 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” |
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) $
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:
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 $$
Relative Gaussian distribution.
Parameters:
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$$
Used for asymmetric size distributions.
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)} \]
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)} $$
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) $$
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})\).
Piecewise linear distribution.
Parameters:
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()`.
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 \]