source: sasmodels/sasmodels/models/lamellarPC.py @ eb69cce

core_shell_microgelscostrafo411magnetic_modelrelease_v0.94release_v0.95ticket-1257-vesicle-productticket_1156ticket_1265_superballticket_822_more_unit_tests
Last change on this file since eb69cce was eb69cce, checked in by Paul Kienzle <pkienzle@…>, 8 years ago

make model docs more consistent; build pdf docs

  • Property mode set to 100644
File size: 4.2 KB
RevLine 
[dc02af0]1# Note: model title and parameter table are inserted automatically
2r"""
[3c56da87]3This model calculates the scattering from a stack of repeating lamellar
4structures. The stacks of lamellae (infinite in lateral dimension) are
5treated as a paracrystal to account for the repeating spacing. The repeat
6distance is further characterized by a Gaussian polydispersity. **This model
7can be used for large multilamellar vesicles.**
[dc02af0]8
[d138d43]9Definition
10----------
[dc02af0]11
[d138d43]12In the equations below,
[dc02af0]13
[d138d43]14- *scale* is used instead of the mass per area of the bilayer $\Gamma_m$
15  (this corresponds to the volume fraction of the material in the bilayer,
16  *not* the total excluded volume of the paracrystal),
17
18- *sld* $-$ *solvent_sld* is the contrast $\Delta \rho$,
19
20- *thickness* is the layer thickness $t$,
21
22- *Nlayers* is the number of layers $N$,
23
24- *spacing* is the average distance between adjacent layers
[eb69cce]25  $\left<D\right>$, and
[d138d43]26
27- *spacing_polydisp* is the relative standard deviation of the Gaussian
[eb69cce]28  layer distance distribution $\sigma_D / \left<D\right>$.
[d138d43]29
30
31The scattering intensity $I(q)$ is calculated as
32
33.. math::
34
35    I(q) = 2\pi\Delta\rho^2\Gamma_m\frac{P_\text{bil}(q)}{q^2} Z_N(q)
[dc02af0]36
[3c56da87]37The form factor of the bilayer is approximated as the cross section of an
[d138d43]38infinite, planar bilayer of thickness $t$
39
40.. math::
[dc02af0]41
[d138d43]42    P_\text{bil}(q) = \left(\frac{\sin(qt/2)}{qt/2}\right)^2
[dc02af0]43
[d138d43]44$Z_N(q)$ describes the interference effects for aggregates
[3c56da87]45consisting of more than one bilayer. The equations used are (3-5)
[d138d43]46from the Bergstrom reference:
47
48.. math::
49
50
[eb69cce]51    Z_N(q) = \frac{1 - w^2}{1 + w^2 - 2w \cos(q \left<D\right>)}
[d138d43]52        + x_N S_N + (1 - x_N) S_{N+1}
53
54where
55
56.. math::
57
[eb69cce]58    S_N(q) = \frac{a_N}{N}[1 + w^2 - 2 w \cos(q \left<D\right>)]^2
[d138d43]59
60and
61
62.. math::
63
[eb69cce]64    \begin{array}{rcl}
65    a_N &=& 4w^2 - 2(w^3 + w) \cos(q \left<D\right>)
66        - 4w^{N+2}\cos(Nq \left<D\right>) \\
67        &&{} + 2 w^{N+3}\cos[(N-1)q \left<D\right>]
68        + 2w^{N+1}\cos[(N+1)q \left<D\right>]
69    \end{array}
[d138d43]70
71for the layer spacing distribution $w = \exp(-\sigma_D^2 q^2/2)$.
[dc02af0]72
[3c56da87]73Non-integer numbers of stacks are calculated as a linear combination of
74the lower and higher values
[dc02af0]75
[d138d43]76.. math::
77
78    N_L = x_N N + (1 - x_N)(N+1)
[dc02af0]79
[3c56da87]80The 2D scattering intensity is the same as 1D, regardless of the orientation
[d138d43]81of the $q$ vector which is defined as
[dc02af0]82
83.. math::
84
[d138d43]85    q = \sqrt{q_x^2 + q_y^2}
[dc02af0]86
87
[d138d43]88.. figure:: img/lamellarPC_1d.jpg
[dc02af0]89
[d138d43]90    1D plot using the default values above (w/20000 data point).
[dc02af0]91
[d138d43]92Reference
93---------
[dc02af0]94
[3c56da87]95M Bergstrom, J S Pedersen, P Schurtenberger, S U Egelhaaf,
96*J. Phys. Chem. B*, 103 (1999) 9888-9897
[dc02af0]97
98"""
99
[3c56da87]100from numpy import inf
[dc02af0]101
102name = "lamellarPC"
103title = "Random lamellar sheet with paracrystal structure factor"
104description = """\
[3e428ec]105    [Random lamellar phase with paracrystal structure factor]
[dc02af0]106        randomly oriented stacks of infinite sheets
[3e428ec]107        with paracrytal S(Q), having polydisperse spacing.
108        sld = sheet scattering length density
109        sld_solvent = solvent scattering length density
110        background = incoherent background
111        scale = scale factor
[dc02af0]112"""
[a5d0d00]113category = "shape:lamellae"
[dc02af0]114
[3e428ec]115#             ["name", "units", default, [lower, upper], "type","description"],
116parameters = [["thickness", "Ang", 33.0, [0, inf], "volume",
117               "sheet thickness"],
118              ["Nlayers", "", 20, [0, inf], "",
119               "Number of layers"],
120              ["spacing", "Ang", 250., [0.0, inf], "",
121               "d-spacing of paracrystal stack"],
122              ["spacing_polydisp", "Ang", 0.0, [0.0, inf], "",
[d138d43]123               "d-spacing polydispersity"],
[3e428ec]124              ["sld", "1e-6/Ang^2", 1.0, [-inf, inf], "",
125               "layer scattering length density"],
126              ["solvent_sld", "1e-6/Ang^2", 6.34, [-inf, inf], "",
127               "Solvent scattering length density"],
128             ]
129
130
131source = ["lamellarPC_kernel.c"]
[dc02af0]132
133form_volume = """
134    return 1.0;
135    """
136
137Iqxy = """
[f734e7d]138    return Iq(sqrt(qx*qx+qy*qy), IQ_PARAMETERS);
[dc02af0]139    """
140
141# ER defaults to 0.0
142# VR defaults to 1.0
143
[3e428ec]144demo = dict(scale=1, background=0,
145            thickness=33, Nlayers=20, spacing=250, spacing_polydisp=0.2,
146            sld=1.0, solvent_sld=6.34,
147            thickness_pd=0.2, thickness_pd_n=40)
[3c56da87]148
[dc02af0]149oldname = 'LamellarPCrystalModel'
[3e428ec]150oldpars = dict(spacing_polydisp='pd_spacing', sld='sld_layer',
151               solvent_sld='sld_solvent')
Note: See TracBrowser for help on using the repository browser.