Changeset 6b4f7f6 in sasmodels for sasmodels/models/star_polymer.py
- Timestamp:
- Mar 22, 2016 1:51:26 PM (8 years ago)
- Branches:
- master, core_shell_microgels, costrafo411, magnetic_model, release_v0.94, release_v0.95, ticket-1257-vesicle-product, ticket_1156, ticket_1265_superball, ticket_822_more_unit_tests
- Children:
- 55b2b232
- Parents:
- e664a11
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sasmodels/models/star_polymer.py
raa2edb2 r6b4f7f6 1 1 r""" 2 Calculates the scattering from fractal-like aggregates based on 3 the Mildner reference. This model is also known as the Benoit Star model.2 The Benoit model for a simple star polymer, with Gaussian coils arms from 3 a common point. 4 4 5 5 Definition … … 25 25 u = \left\langle R_{g}^2\right\rangle q^2 26 26 27 is the square of the ensemble average radius-of-gyration of an arm. 27 contains the square of the ensemble average radius-of-gyration of an arm. Note that 28 when there is only one arm, $f$ = 1, the Debye Gaussian coil equation is recovered. 29 Star polymers in solutions tend to have strong interparticle and osmotic effects, so 30 the Benoit equation may not work well. At small q the Guinier term and hence I(q=0) 31 is the same as for $f$ arms of radius of gyration $R_g$, as described for the :ref:`mono_gauss_coil <mono-gauss-coil>`. 28 32 29 33 30 Reference 31 --------- 34 References 35 ---------- 32 36 33 37 H Benoit *J. Polymer Science*, 11, 596-599 (1953) … … 41 45 title = "Star polymer model with Gaussian statistics" 42 46 description = """ 43 Scattering model class for'Star polymer with Gaussian statistics'47 Benoit 'Star polymer with Gaussian statistics' 44 48 with 45 49 P(q) = 2/{fv^2} * (v - (1-exp(-v)) + {f-1}/2 * (1-exp(-v))^2) … … 47 51 - v = u^2f/(3f-2) 48 52 - u = <R_g^2>q^2, where <R_g^2> is the ensemble average radius of 49 g iration squared of an arm53 gyration squared of an arm 50 54 - f is the number of arms on the star 51 55 """ … … 54 58 # pylint: disable=bad-whitespace, line-too-long 55 59 # ["name", "units", default, [lower, upper], "type","description"], 56 parameters = [["r adius2", "Ang", 100.0, [0.0, inf], "", "Ensemble radius of gyration squaredof an arm"],60 parameters = [["rg_squared", "Ang^2", 100.0, [0.0, inf], "", "Ensemble radius of gyration SQUARED of an arm"], 57 61 ["arms", "", 3, [1.0, 6.0], "", "Number of arms in the model"], 58 62 ] … … 62 66 63 67 demo = dict(scale=1, background=0, 64 r adius2=100.0,68 rg_squared=100.0, 65 69 arms=3.0) 66 70 67 71 oldname = 'StarPolymer' 68 72 69 oldpars = dict(r adius2='R2',73 oldpars = dict(rg_squared='R2', 70 74 arms='arms') 71 75 72 tests = [[{'r adius2': 2.0,76 tests = [[{'rg_squared': 2.0, 73 77 'arms': 3.3, 74 78 }, 0.5, 0.851646091108], 75 79 76 [{'r adius2': 1.0,80 [{'rg_squared': 1.0, 77 81 'arms': 2.0, 78 82 'background': 1.8, 79 83 }, 1.0, 2.53575888234], 80 84 ] 85 # 23Mar2016 RKH edited docs, would this better use rg not rg^2 ? Numerical noise at extremely small q.rg
Note: See TracChangeset
for help on using the changeset viewer.