superball¶
Superball with uniform scattering length density.
Parameter |
Description |
Units |
Default value |
---|---|---|---|
scale |
Scale factor or Volume fraction |
None |
1 |
background |
Source background |
cm-1 |
0.001 |
sld |
Superball scattering length density |
10-6Å-2 |
4 |
sld_solvent |
Solvent scattering length density |
10-6Å-2 |
1 |
length_a |
Cube edge length of the superball |
Å |
50 |
exponent_p |
Exponent describing the roundness of the superball |
None |
2.5 |
theta |
c axis to beam angle |
degree |
0 |
phi |
rotation about beam |
degree |
0 |
psi |
rotation about c axis |
degree |
0 |
The returned value is scaled to units of cm-1 sr-1, absolute scale.
Definition
This model calculates the scattering of a superball, which represents a cube with rounded edges. It can be used to describe nanoparticles that deviate from the perfect cube shape as it is often observed experimentally [1]. The shape is described by
with \(a\) the cube edge length of the superball and \(p\) a parameter that describes the roundness of the edges. In the limiting cases \(p=1\) the superball corresponds to a sphere with radius \(R = a/2\) and for \(p = \infty\) to a cube with edge length \(a\). The exponent \(p\) is related to \(a\) and the face diagonal \(d\) via
The oriented form factor is determined by solving
with
The integral can be transformed to
which can be solved numerically.
The orientational average is then obtained by calculating
with
The implemented orientationally averaged superball model is then fully given by [2]
FITTING NOTES
Validation
The code is validated by reproducing the spherical form factor implemented in SasView for \(p = 1\) and the parallelepiped form factor with \(a = b = c\) for \(p = 1000\). The form factors match in the first order oscillation with a precision in the order of \(10^{-4}\). The agreement worsens for higher order oscillations and beyond the third order oscillations a higher order Gauss quadrature rule needs to be used to keep the agreement below \(10^{-3}\). This is however avoided in this implementation to keep the computation time fast.
Source
superball.py
\(\ \star\ \) superball.c
\(\ \star\ \) sas_gamma.c
\(\ \star\ \) gauss20.c
References
Source
Authorship and Verification
Author: Dominique Dresen Date: March 27, 2019
Last Modified by: Dominique Dresen Date: March 27, 2019
Last Reviewed by: Dirk Honecker Date: November 05, 2021
Source added by : Dominique Dresen Date: March 27, 2019