6.3. Form and Structure Factors#

6.3.1. General Note#

Note

This section is planned.

References:

6.3.2. Definition for SEC-SAXS Solution Context#

For the discussion in the following chapters, the definitions of form factor and structure factor are presented here. According to [GJF21], these two factors are pedagogically distinguished as follows:

  • form factor — scattering by individual particles

  • structure factor — scattering by collections of particles

In simple terms, we can understand them pragmatically as:

  • \( I(q) \sim P(q) \) when interpaticle effects are ignored (i.e., \(S(q)=1\) in this case)

  • \( I(q) \sim P(q)S(q) \) when interpaticle effects are considered.

6.3.3. Form Factor#

For an individual particle, the form factor is defined as

\[ I(q) = \rho^2V^2P(q) \qquad \qquad (1) \]

where

  • \(I(q)\) : scattered intensity

  • \(\rho\) : electron density

  • \(V\) : particle volume

  • \(P(q)\) : form factor (normalized so that P(q) = 1 for small q).

For a sample, ignoring interparticle effects, it can be written as

\[ I(q) = c\rho^2V^2P(q) \qquad \qquad (2) \]

where

  • \(c\) : particle concentration.

6.3.4. Structure Factor#

When you consider the interparticle effects, they are expressed as

\[ I(q) = c\rho^2V^2P(q)S(q) \qquad \qquad (3) \]

where

  • \(S(q)\) : structure factor.

In other words, we can just think that the structure factor is a reprentaion of interparticle effects.

6.3.5. Form Factor Models#

Following [Ped97], we will give some known examples of form factor models.

Homogeneous Sphere#

from molass import get_version
assert get_version() >= '0.5.0', "This tutorial requires molass version 0.5.0 or higher."
import numpy as np
import matplotlib.pyplot as plt
from molass.Shapes import Sphere
from molass.DensitySpace import VoxelSpace
from molass.SAXS.Models.Formfactors import homogeneous_sphere

q = np.linspace(0.005, 0.7, 100)
R = 30

I = homogeneous_sphere(q, R)

sphere = Sphere(radius=10)
space = VoxelSpace(64, sphere)

fig = plt.figure(figsize=(12, 5))
fig.suptitle('Form factor of a Homogeneous Sphere')
ax1 = fig.add_subplot(121, projection='3d')
ax1.set_title('Electron density')
space.plot_as_dots(ax1)

ax2 = fig.add_subplot(122)
ax2.set_title('SAXS intensity')
ax2.set_yscale('log')
ax2.plot(q, I, label='Analitical formula')
ax2.legend()
ax2.set_xlabel('q (1/Å)')
Text(0.5, 0, 'q (1/Å)')
../../_images/2c3d2442d7ee5cfe2bb4b45168dbc2c9091bf8579204e4e840fccdecce9ff1de.png

Tri-axial Ellipsoid#

from molass.Shapes import Ellipsoid
from molass.DensitySpace import VoxelSpace
from molass.SAXS.Models.Formfactors import tri_axial_ellipsoid
I = tri_axial_ellipsoid(q, 30, 20, 10)

ellipsoid = Ellipsoid(30, 20, 10)
space = VoxelSpace(64, ellipsoid)

fig = plt.figure(figsize=(12, 5))
fig.suptitle('Form factor of a Tri-axial Ellipsoid')
ax1 = fig.add_subplot(121, projection='3d')
ax1.set_title('Electron density')
space.plot_as_dots(ax1)

ax2 = fig.add_subplot(122)
ax2.set_title('SAXS intensity')
ax2.set_yscale('log')
ax2.plot(q, I, label='Analitical formula')
ax2.legend()
ax2.set_xlabel('q (1/Å)')
Text(0.5, 0, 'q (1/Å)')
../../_images/2301e1517bf3d6f6288c38d90a0c6cf3b6ea198814ca831821a1f20fa1e85c53.png

6.3.6. Structure Factor Models#

Following [KT84], we will give some known examples of structure factor models.

from molass import get_version
assert get_version() >= '0.5.0', "This tutorial requires molass version 0.5.0 or higher."
from molass.SAXS.Theory.DjKinning1984 import demo1
demo1()
../../_images/48f429eed16e31558d4d53990eb7c86048968feedb56c17f613a2c0058fee652.png