source: sasmodels/sasmodels/models/polymer_micelle.py @ ec45c4f

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

remove oldname/oldpars from new models

  • Property mode set to 100644
File size: 2.7 KB
Line 
1r"""
2
3This model provides the form factor, $P(q)$, for a micelle with a spherical
4core and Gaussian polymer chains attached to the surface, thus may be applied
5to block copolymer micelles. To work well the Gaussian chains must be much smaller
6than the core, which is often not the case.  Please study the reference carefully.
7
8Definition
9----------
10
11The 1D scattering intensity for this model is calculated according to
12the equations given by Pedersen (Pedersen, 2000).
13
14Validation
15----------
16
17This model has not yet been validated. Feb2015
18
19
20References
21----------
22
23J Pedersen, *J. Appl. Cryst.*, 33 (2000) 637-640
24
25"""
26
27from numpy import inf
28
29name = "polymer_micelle"
30title = "Polymer micelle model"
31description = """
32    This model provides an approximate form factor, P(q), for a micelle with
33    a spherical core with Gaussian polymer chains attached to the surface.
34    """
35category = "shape:sphere"
36
37# pylint: disable=bad-whitespace, line-too-long
38#   ["name", "units", default, [lower, upper], "type","description"],
39parameters = [
40    ["ndensity",      "1e15/cm^3",  8.94, [0.0, inf], "", "Number density of micelles"],
41    ["v_core",        "Ang^3",  62624.0,  [0.0, inf], "", "Core volume "],
42    ["v_corona",      "Ang^3",  61940.0,  [0.0, inf], "", "Corona volume"],
43    ["sld_solvent",   "1e-6/Ang^2", 6.4,  [0.0, inf], "", "Solvent scattering length density"],
44    ["sld_core",      "1e-6/Ang^2", 0.34, [0.0, inf], "", "Core scattering length density"],
45    ["sld_corona",    "1e-6/Ang^2", 0.8,  [0.0, inf], "", "Corona scattering length density"],
46    ["radius_core",   "Ang",       45.0,  [0.0, inf], "", "Radius of core ( must be >> radius_gyr )"],
47    ["radius_gyr",    "Ang",       20.0,  [0.0, inf], "", "Radius of gyration of chains in corona"],
48    ["d_penetration", "",           1.0,  [-inf, inf], "", "Factor to mimic non-penetration of Gaussian chains"],
49    ["n_aggreg",      "",           6.0,  [-inf, inf], "", "Aggregation number of the micelle"],
50    ]
51# pylint: enable=bad-whitespace, line-too-long
52
53source = ["lib/sph_j1c.c", "polymer_micelle_kernel.c"]
54
55demo = dict(scale=1, background=0,
56            ndensity=8.94,
57            v_core=62624.0,
58            v_corona=61940.0,
59            sld_solvent=6.4,
60            sld_core=0.34,
61            sld_corona=0.8,
62            radius_core=45.0,
63            radius_gyr=20.0,
64            d_penetration=1.0,
65            n_aggreg=6.0)
66
67
68tests = [
69    [{}, 0.01, 15.3532],
70    ]
71# RKH 20Mar2016 - need to check whether the core & corona volumes are per monomer ??? and how aggregation number works!
72# renamed from micelle_spherical_core to polymer_micelle, moved from shape-independent to spheres section.
73# Ought to be able to add polydisp to core? And add ability to x by S(Q) ?
Note: See TracBrowser for help on using the repository browser.