source: sasmodels/sasmodels/models/lamellar.py @ d1fe925

gh-pages
Last change on this file since d1fe925 was d1fe925, checked in by ajj, 8 years ago

Creating gh_pages branch for docs

  • Property mode set to 100644
File size: 2.4 KB
Line 
1r"""
2Polydispersity in the bilayer thickness can be applied from the GUI.
3
4Definition
5----------
6
7The scattering intensity *I(Q)* is
8
9.. math::
10
11    I(Q) = 2\pi{P(Q) \over \delta Q^2}
12
13
14The form factor is
15
16.. math::
17
18    P(Q) = {2\Delta\rho^2 \over Q^2}(1-cos(Q\delta))
19
20
21where |delta| = bilayer thickness.
22
23The 2D scattering intensity is calculated in the same way as 1D, where the $Q$ vector is defined as
24
25.. math::
26
27    Q = \sqrt{Q_x^2 + Q_y^2}
28
29
30
31Our model uses the form factor calculations implemented in a c-library provided by the NIST Center for Neutron Research
32(Kline, 2006).
33
34.. figure:: img/lamellar_1d.jpg
35
36    1D plot using the default values (w/1000 data point).
37
38
39Reference
40---------
41
42F Nallet, R Laversanne, and D Roux, J. Phys. II France, 3, (1993) 487-502
43
44also in J. Phys. Chem. B, 105, (2001) 11081-11088
45
46
47"""
48
49from numpy import inf
50
51name = "lamellar"
52title = "Lyotropic lamellar phase with uniform SLD and random distribution"
53description = """\
54    [Dilute Lamellar Form Factor](from a lyotropic lamellar phase)
55        I(q)= 2*pi*P(q)/(delta *q^(2)), where
56        P(q)=2*(contrast/q)^(2)*(1-cos(q*delta))^(2))
57        thickness = layer thickness
58        sld = layer scattering length density
59        sld_solvent = solvent scattering length density
60        background = incoherent background
61        scale = scale factor
62"""
63category = "shape:lamellae"
64
65#             ["name", "units", default, [lower, upper], "type","description"],
66parameters = [["sld", "1e-6/Ang^2", 1, [-inf, inf], "",
67               "Layer scattering length density" ],
68              ["solvent_sld", "1e-6/Ang^2", 6, [-inf, inf], "",
69               "Solvent scattering length density" ],
70              ["thickness", "Ang", 50, [0, inf], "volume","Bilayer thickness" ],
71             ]
72
73
74# No volume normalization despite having a volume parameter
75# This should perhaps be volume normalized?
76form_volume = """
77    return 1.0;
78    """
79
80Iq = """
81    const double sub = sld - solvent_sld;
82    const double qsq = q*q;
83    return 4.0e-4*M_PI*sub*sub/qsq * (1.0-cos(q*thickness))
84        / (thickness*qsq);
85    """
86
87Iqxy = """
88    return Iq(sqrt(qx*qx+qy*qy), IQ_PARAMETERS);
89    """
90
91# ER defaults to 0.0
92# VR defaults to 1.0
93
94demo = dict(scale=1, background=0,
95            sld=6, solvent_sld=1,
96            thickness=40,
97            thickness_pd=0.2, thickness_pd_n=40)
98oldname = 'LamellarModel'
99oldpars = dict(sld='sld_bi', solvent_sld='sld_sol', thickness='bi_thick')
100
Note: See TracBrowser for help on using the repository browser.