source: sasmodels/sasmodels/models/gel_fit.py @ 168052c

core_shell_microgelscostrafo411magnetic_modelrelease_v0.94release_v0.95ticket-1257-vesicle-productticket_1156ticket_1265_superballticket_822_more_unit_tests
Last change on this file since 168052c was 168052c, checked in by piotr, 8 years ago

pylint prettification

  • Property mode set to 100644
File size: 3.2 KB
Line 
1r"""
2*This model was implemented by an interested user!*
3
4Unlike a concentrated polymer solution, the fine-scale polymer distribution
5in a gel involves at least two characteristic length scales,
6a shorter correlation length ( $a1$ ) to describe the rapid fluctuations
7in the position of the polymer chains that ensure thermodynamic equilibrium,
8and a longer distance (denoted here as $a2$ ) needed to account for the static
9accumulations of polymer pinned down by junction points or clusters of such
10points. The latter is derived from a simple Guinier function.
11
12
13Definition
14----------
15
16The scattered intensity $I(q)$ is calculated as
17
18.. math::
19
20    I(Q) = I(0)_L \frac{1}{\left( 1+\left[ ((D+1/3)Q^2a_{1}^2
21    \right]\right)^{D/2}} + I(0)_G exp\left( -Q^2a_{2}^2\right) + B
22
23where
24
25.. math::
26
27    a_{2}^2 \approx \frac{R_{g}^2}{3}
28
29Note that the first term reduces to the Ornstein-Zernicke equation
30when $D = 2$; ie, when the Flory exponent is 0.5 (theta conditions).
31In gels with significant hydrogen bonding $D$ has been reported to be
32~2.6 to 2.8.
33
34
35.. figure:: img/gel_fit_1d.gif
36
37    1D plot using the default values (with 300 data points).
38
39Reference
40---------
41
42Mitsuhiro Shibayama, Toyoichi Tanaka, Charles C Han,
43*J. Chem. Phys.* 1992, 97 (9), 6829-6841
44
45Simon Mallam, Ferenc Horkay, Anne-Marie Hecht, Adrian R Rennie, Erik Geissler,
46*Macromolecules* 1991, 24, 543-548
47
48"""
49
50from numpy import inf
51
52name = "gel_fit"
53title = "Fitting using fine-scale polymer distribution in a gel."
54description = """\
55    Structure factor for interacting particles:
56
57    Shibayama-Geissler Two-Length Scale Fit for Gels (GelFit)
58
59    Shibayama; Tanaka; Han J Chem Phys (1992), 97(9), 6829-6841
60    Mallam; Horkay; Hecht; Rennie; Geissler, Macromol (1991), 24, 543
61"""
62category = "shape-independent"
63
64# pylint: disable=bad-whitespace, line-too-long
65#             ["name", "units", default, [lower, upper], "type","description"],
66parameters = [["guinier_scale",    "cm^{-1}",   1.7, [-inf, inf], "", "Guinier length scale"],
67              ["lorentzian_scale", "cm^{-1}",   3.5, [-inf, inf], "", "Lorentzian length scale"],
68              ["gyration_radius",  "Ang",     104.0, [2, inf],    "", "Radius of gyration"],
69              ["fractal_exp",      "",          2.0, [0, inf],    "", "Fractal exponent"],
70              ["cor_length",       "Ang",      16.0, [0, inf],    "", "Correlation length"]
71             ]
72# pylint: enable=bad-whitespace, line-too-long
73
74source = ["gel_fit.c"]
75
76demo = dict(background=0.01,
77            guinier_scale=1.7,
78            lorentzian_scale=3.5,
79            gyration_radius=104,
80            fractal_exp=2.0,
81            cor_length=16.0)
82
83oldname = 'GelFitModel'
84oldpars = dict(guinier_scale='gScale',
85               lorentzian_scale='lScale',
86               gyration_radius='radius',
87               fractal_exp='FractalExp',
88               cor_length='zeta')
89
90tests = [[{'guinier_scale': 1.0,
91           'lorentzian_scale': 1.0,
92           'gyration_radius': 10.0,
93           'fractal_exp': 10.0,
94           'cor_length': 20.0
95          }, 0.1, 0.716532],
96
97         [{'guinier_scale': 4.0,
98           'lorentzian_scale': 10.0,
99           'gyration_radius': 500.0,
100           'fractal_exp': 1.0,
101           'cor_length': 20.0,
102           'background': 20.0,
103          }, 5.0, 20.1224653026],
104        ]
Note: See TracBrowser for help on using the repository browser.