Changeset bf227cd in sasmodels for sasmodels/models/mono_gauss_coil.py
- Timestamp:
- Mar 16, 2016 3:40:01 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:
- a1c91c2
- Parents:
- cb97bff
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sasmodels/models/mono_gauss_coil.py
rcb97bff rbf227cd 8 8 This model strictly describes the scattering from *monodisperse* polymer chains in theta solvents or polymer melts, conditions under which the distances between segments follow a Gaussian distribution. Provided the number of segments is large (ie, high molecular weight polymers) the single-chain form factor P(Q) is that described by Debye (1947). 9 9 10 To describe the scattering from *polydisperse* polymer chains, see the poly_gauss_coilmodel.10 To describe the scattering from *polydisperse* polymer chains, see the To describe the scattering from *monodisperse* polymer chains, see the :ref:`poly_gauss_coil <poly-gauss-coil>` model. 11 11 12 12 Definition 13 13 ---------- 14 14 15 *I(q)* = *scale* |cdot| * P(q)* + *background*15 *I(q)* = *scale* |cdot| *I* \ :sub:`0` |cdot| *P(q)* + *background* 16 16 17 17 where 18 18 19 * scale*= |phi|\ :sub:`poly` |cdot| *V* |cdot| (|rho|\ :sub:`poly` - |rho|\ :sub:`solv`)\ :sup:`2`19 *I*\ :sub:`0` = |phi|\ :sub:`poly` |cdot| *V* |cdot| (|rho|\ :sub:`poly` - |rho|\ :sub:`solv`)\ :sup:`2` 20 20 21 21 *P(q)* = 2 [exp(-Z) + Z - 1] / Z \ :sup:`2` … … 28 28 29 29 Here, |phi|\ :sub:`poly` is the volume fraction of polymer, *V* is the volume of a polymer coil, *M* is the molecular weight of the polymer, *N*\ :sub:`A` is Avogadro's Number, |delta| is the bulk density of the polymer, |rho|\ :sub:`poly` is the sld of the polymer, |rho|\ :sub:`solv` is the sld of the solvent, and *R*\ :sub:`g` is the radius of gyration of the polymer coil. 30 31 .. figure:: img/mono_gauss_coil_1d.jpg32 33 1D plot using the default values.34 30 35 31 The 2D scattering intensity is calculated in the same way as the 1D, but where the *q* vector is redefined as … … 59 55 60 56 # ["name", "units", default, [lower, upper], "type", "description"], 61 parameters = [["radius_gyration", "Ang", 50.0, [0.0, inf], "", "Radius of gyration"]] 57 parameters = [["i_zero", "1/cm", 1.0, [-inf, inf], "", "Intensity at q=0"], 58 ["radius_gyration", "Ang", 50.0, [0.0, inf], "", "Radius of gyration"]] 62 59 63 60 # NB: Scale and Background are implicit parameters on every model … … 68 65 inten = 1.0 69 66 else: 70 inten = 2.0 * (exp(-z) + z - 1.0 ) / (z * z)67 inten = i_zero * 2.0 * (exp(-z) + z - 1.0 ) / (z * z) 71 68 return inten 72 69 Iq.vectorized = True # Iq accepts an array of q values … … 78 75 79 76 demo = dict(scale = 1.0, 77 i_zero = 1.0, 80 78 radius_gyration = 50.0, 81 79 background = 0.0)
Note: See TracChangeset
for help on using the changeset viewer.