source: sasmodels/sasmodels/models/core_shell_bicelle.py @ b0c4271

core_shell_microgelscostrafo411magnetic_modelticket-1257-vesicle-productticket_1156ticket_1265_superballticket_822_more_unit_tests
Last change on this file since b0c4271 was b0c4271, checked in by butler, 8 years ago

model documentation final format through core_shell_bicelle re: #646

  • Property mode set to 100644
File size: 5.1 KB
RevLine 
[8007311]1r"""
2Definition
3----------
[40a87fa]4This model provides the form factor for a circular cylinder with a
5core-shell scattering length density profile. Thus this is a variation
6of a core-shell cylinder or disc where the shell on the walls and ends
7may be of different thicknesses and scattering length densities. The form
8factor is normalized by the particle volume.
[8007311]9
[fa8011eb]10.. _core-shell-bicelle-geometry:
[8007311]11
12.. figure:: img/core_shell_bicelle_geometry.png
13
[b0c4271]14    Core shell geometry (Graphic from ref [#Matusmori]_).
15    Note however that the model here calculates for rectangular, not curved, rims.
[8007311]16
17The output of the 1D scattering intensity function for randomly oriented
18cylinders is then given by the equation above.
19
20The *theta* and *phi* parameters are not used for the 1D output.
21Our implementation of the scattering kernel and the 1D scattering intensity
22use the c-library from NIST.
23
[2f0c07d]24.. figure:: img/cylinder_angle_definition.jpg
[8007311]25
[2f0c07d]26    Definition of the angles for the oriented core shell bicelle tmodel.
[8007311]27
[2f0c07d]28.. figure:: img/cylinder_angle_projection.jpg
[b0c4271]29    :width: 600px
[8007311]30
31    Examples of the angles for oriented pp against the detector plane.
32
33References
34----------
35
[b0c4271]36.. [#Matusmori] `N Matsumori and M Murata <http://dx.doi.org/10.1039/C0NP0000
37   2G>`_, *Nat. Prod. Rep.* 27 (2010) 1480-1492
38.. [#] L A Feigin and D I Svergun, *Structure Analysis by Small-Angle X-Ray and
39   Neutron Scattering,* Plenum Press, New York, (1987)
40
41Authorship and Verification
42----------------------------
43
44* **Author:** NIST IGOR/DANSE **Date:** pre 2010
45* **Last Modified by:** Paul Butler **Date:** Septmber 30, 2016
46* **Last Reviewed by:** Under Review **Date:** October 5, 2016
[8007311]47
48"""
49
50from numpy import inf, sin, cos
51
52name = "core_shell_bicelle"
53title = "Circular cylinder with a core-shell scattering length density profile.."
54description = """
[aad336c]55    P(q,alpha)= scale/Vs*f(q)^(2) + bkg,  where: f(q)= 2(sld_core
[8007311]56    - solvant_sld)* Vc*sin[qLcos(alpha/2)]
57    /[qLcos(alpha/2)]*J1(qRsin(alpha))
[aad336c]58    /[qRsin(alpha)]+2(shell_sld-sld_solvent)
[8007311]59    *Vs*sin[q(L+T)cos(alpha/2)][[q(L+T)
60    *cos(alpha/2)]*J1(q(R+T)sin(alpha))
61    /q(R+T)sin(alpha)]
62
63    alpha:is the angle between the axis of
64    the cylinder and the q-vector
65    Vs: the volume of the outer shell
66    Vc: the volume of the core
67    L: the length of the core
68    shell_sld: the scattering length density
69    of the shell
[aad336c]70    sld_solvent: the scattering length density
[8007311]71    of the solvent
72    bkg: the background
73    T: the thickness
74    R+T: is the outer radius
75    L+2T: The total length of the outershell
76    J1: the first order Bessel function
77    theta: axis_theta of the cylinder
78    phi: the axis_phi of the cylinder...
79        """
80category = "shape:cylinder"
81
82# pylint: disable=bad-whitespace, line-too-long
83#             ["name", "units", default, [lower, upper], "type", "description"],
84parameters = [
85    ["radius",         "Ang",       20, [0, inf],    "volume",      "Cylinder core radius"],
[2222134]86    ["thick_rim",  "Ang",       10, [0, inf],    "volume",      "Rim shell thickness"],
87    ["thick_face", "Ang",       10, [0, inf],    "volume",      "Cylinder face thickness"],
[8007311]88    ["length",         "Ang",      400, [0, inf],    "volume",      "Cylinder length"],
[42356c8]89    ["sld_core",       "1e-6/Ang^2", 1, [-inf, inf], "sld",         "Cylinder core scattering length density"],
90    ["sld_face",       "1e-6/Ang^2", 4, [-inf, inf], "sld",         "Cylinder face scattering length density"],
91    ["sld_rim",        "1e-6/Ang^2", 4, [-inf, inf], "sld",         "Cylinder rim scattering length density"],
92    ["sld_solvent",    "1e-6/Ang^2", 1, [-inf, inf], "sld",         "Solvent scattering length density"],
[8007311]93    ["theta",          "degrees",   90, [-inf, inf], "orientation", "In plane angle"],
94    ["phi",            "degrees",    0, [-inf, inf], "orientation", "Out of plane angle"],
95    ]
96
97# pylint: enable=bad-whitespace, line-too-long
98
[40a87fa]99source = ["lib/Si.c", "lib/polevl.c", "lib/sas_J1.c", "lib/gauss76.c",
100          "core_shell_bicelle.c"]
[8007311]101
102demo = dict(scale=1, background=0,
103            radius=20.0,
[2222134]104            thick_rim=10.0,
105            thick_face=10.0,
[8007311]106            length=400.0,
[aad336c]107            sld_core=1.0,
108            sld_face=4.0,
109            sld_rim=4.0,
110            sld_solvent=1.0,
[8007311]111            theta=90,
112            phi=0)
113
114qx, qy = 0.4 * cos(90), 0.5 * sin(0)
115tests = [
116    # Accuracy tests based on content in test/utest_other_models.py
117    [{'radius': 20.0,
[2222134]118      'thick_rim': 10.0,
119      'thick_face': 10.0,
[8007311]120      'length': 400.0,
[aad336c]121      'sld_core': 1.0,
122      'sld_face': 4.0,
123      'sld_rim': 4.0,
124      'sld_solvent': 1.0,
[8007311]125      'background': 0.0,
126     }, 0.001, 353.550],
127
128    [{'radius': 20.0,
[2222134]129      'thick_rim': 10.0,
130      'thick_face': 10.0,
[8007311]131      'length': 400.0,
[aad336c]132      'sld_core': 1.0,
133      'sld_face': 4.0,
134      'sld_rim': 4.0,
135      'sld_solvent': 1.0,
[8007311]136      'theta': 90.0,
137      'phi': 0.0,
138      'background': 0.00,
139     }, (qx, qy), 24.9167],
140
141    # Additional tests with larger range of parameters
142    [{'radius': 3.0,
[2222134]143      'thick_rim': 100.0,
144      'thick_face': 100.0,
[8007311]145      'length': 1200.0,
[aad336c]146      'sld_core': 5.0,
147      'sld_face': 41.0,
148      'sld_rim': 42.0,
149      'sld_solvent': 21.0,
[8007311]150     }, 0.05, 1670.1828],
151    ]
Note: See TracBrowser for help on using the repository browser.