Changeset 54954e1 in sasmodels
- Timestamp:
- Mar 17, 2016 9:58:53 AM (9 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:
- 03e8a6e, 3a45c2c
- Parents:
- 15bd6e7
- Location:
- sasmodels/models
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
sasmodels/models/adsorbed_layer.py
rcb97bff r54954e1 17 17 I(q) = \text{scale} \cdot(\rho_\text{poly}-\rho_\text{solvent})^2 \left[\frac{6\pi\phi_\text{core}}{Q^2}\frac{\Gamma^2}{\delta_\text{poly}^2R_\text{core}} \exp(-Q^2\sigma^2)\right] + \text{background} 18 18 19 where *scale* is a scale factor, |rho|\ :sub:`poly` is the sld of the polymer (or surfactant) layer, |rho|\ :sub:`solv` is the sld of the solvent/medium and cores, |phi|\ :sub:`core` is the volume fraction of the core par aticles, |delta|\ :sub:`poly` is the bulk density of the polymer, |biggamma| is the adsorbed amount, and |sigma| is the second moment of the thickness distribution.19 where *scale* is a scale factor, |rho|\ :sub:`poly` is the sld of the polymer (or surfactant) layer, |rho|\ :sub:`solv` is the sld of the solvent/medium and cores, |phi|\ :sub:`core` is the volume fraction of the core particles, |delta|\ :sub:`poly` is the bulk density of the polymer, |biggamma| is the adsorbed amount, and |sigma| is the second moment of the thickness distribution. 20 20 21 21 Note that all parameters except the |sigma| are correlated so fitting more than one of these parameters will generally fail. Also note that unlike other shape models, no volume normalization is applied to this model (the calculation is exact). … … 46 46 ["density_poly", "g/cm3", 0.7, [0.0, inf], "", "Polymer density"], 47 47 ["radius", "Ang", 500.0, [0.0, inf], "", "Particle radius"], 48 ["vol _frac", "None", 0.14, [0.0, inf], "", "Particle vol fraction"],48 ["volfraction", "None", 0.14, [0.0, inf], "", "Particle vol fraction"], 49 49 ["polymer_sld", "1/Ang^2", 1.5e-06, [-inf, inf], "", "Polymer SLD"], 50 50 ["solvent_sld", "1/Ang^2", 6.3e-06, [-inf, inf], "", "Solvent SLD"]] … … 52 52 # NB: Scale and Background are implicit parameters on every model 53 53 def Iq(q, second_moment, adsorbed_amount, density_poly, radius, 54 vol _frac, polymer_sld, solvent_sld):54 volfraction, polymer_sld, solvent_sld): 55 55 # pylint: disable = missing-docstring 56 56 deltarhosqrd = (polymer_sld - solvent_sld) * (polymer_sld - solvent_sld) 57 numerator = 6.0 * pi * vol _frac* (adsorbed_amount * adsorbed_amount)57 numerator = 6.0 * pi * volfraction * (adsorbed_amount * adsorbed_amount) 58 58 denominator = (q * q) * (density_poly * density_poly) * radius 59 59 eterm = exp(-1.0 * (q * q) * (second_moment * second_moment)) … … 73 73 density_poly = 0.7, 74 74 radius = 500.0, 75 vol _frac= 0.14,75 volfraction = 0.14, 76 76 polymer_sld = 1.5e-06, 77 77 solvent_sld = 6.3e-06, … … 84 84 density_poly = 'density_poly', 85 85 radius = 'radius_core', 86 vol _frac= 'volf_cores',86 volfraction = 'volf_cores', 87 87 polymer_sld = 'sld_poly', 88 88 solvent_sld = 'sld_solv', … … 91 91 tests = [ 92 92 [{'scale': 1.0, 'second_moment': 23.0, 'adsorbed_amount': 1.9, 93 'density_poly': 0.7, 'radius': 500.0, 'vol _frac': 0.14,93 'density_poly': 0.7, 'radius': 500.0, 'volfraction': 0.14, 94 94 'polymer_sld': 1.5e-06, 'solvent_sld': 6.3e-06, 'background': 0.0}, 95 95 [0.0106939, 0.469418], [73.741, 9.65391e-53]], -
sasmodels/models/hayter_msa.py
rd529d93 r54954e1 51 51 # dp[2] = volfraction(); 52 52 # dp[3] = temperature(); 53 # dp[4] = salt conc();53 # dp[4] = salt_concentration(); 54 54 # dp[5] = dielectconst(); 55 55 … … 76 76 ["volfraction", "None", 0.0192, [0, 0.74], "", "volume fraction of spheres"], 77 77 ["temperature", "K", 318.16, [0, inf], "", "temperature, in Kelvin, for Debye length calculation"], 78 ["salt conc", "M", 0.0, [-inf, inf], "", "conc of salt, moles/litre, 1:1 electolyte, for Debye length"],78 ["salt_concentration", "M", 0.0, [-inf, inf], "", "conc of salt, moles/litre, 1:1 electolyte, for Debye length"], 79 79 ["dielectconst", "None", 71.08, [-inf, inf], "", "dielectric constant (relative permittivity) of solvent, default water, for Debye length"] 80 80 ] … … 96 96 oldname = 'HayterMSAStructure' 97 97 #oldpars = dict(effect_radius="radius_effective",effect_radius_pd="radius_effective_pd",effect_radius_pd_n="radius_effective_pd_n") 98 oldpars = dict(radius_effective="effect_radius",radius_effective_pd="effect_radius_pd",radius_effective_pd_n="effect_radius_pd_n" )98 oldpars = dict(radius_effective="effect_radius",radius_effective_pd="effect_radius_pd",radius_effective_pd_n="effect_radius_pd_n",salt_concentration="saltconc") 99 99 #oldpars = dict( ) 100 100 # default parameter set, use compare.sh -midQ -linear 101 101 # note the calculation varies in different limiting cases so a wide range of 102 102 # parameters will be required for a thorough test! 103 # odd that the default st has salt conczero103 # odd that the default st has salt_concentration zero 104 104 demo = dict(radius_effective=20.75, 105 105 charge=19.0, 106 106 volfraction=0.0192, 107 107 temperature=318.16, 108 salt conc=0.05,108 salt_concentration=0.05, 109 109 dielectconst=71.08, 110 110 radius_effective_pd=0.1, … … 120 120 'volfraction': 0.0192, 121 121 'temperature': 298.0, 122 'salt conc': 0,122 'salt_concentration': 0, 123 123 'dielectconst': 78.0, 124 124 'radius_effective_pd': 0}, … … 130 130 'volfraction': 0.0192, 131 131 'temperature': 298.0, 132 'salt conc': 0.05,132 'salt_concentration': 0.05, 133 133 'dielectconst': 78.0, 134 134 'radius_effective_pd': 0.1, -
sasmodels/models/stickyhardsphere.py
r0784c18 r54954e1 88 88 # [ "name", "units", default, [lower, upper], "type", 89 89 # "description" ], 90 [" effect_radius", "Ang", 50.0, [0, inf], "volume",90 ["radius_effective", "Ang", 50.0, [0, inf], "volume", 91 91 "effective radius of hard sphere"], 92 92 ["volfraction", "", 0.2, [0, 0.74], "", … … 113 113 eta = volfraction/onemineps/onemineps/onemineps; 114 114 115 sig = 2.0 * effect_radius;115 sig = 2.0 * radius_effective; 116 116 aa = sig/onemineps; 117 117 etam1 = 1.0 - eta; … … 179 179 180 180 oldname = 'StickyHSStructure' 181 oldpars = dict( )182 demo = dict( effect_radius=200, volfraction=0.2, perturb=0.05,183 stickiness=0.2, effect_radius_pd=0.1, effect_radius_pd_n=40)181 oldpars = dict(radius_effective="effect_radius",radius_effective_pd="effect_radius_pd",radius_effective_pd_n="effect_radius_pd_n") 182 demo = dict(radius_effective=200, volfraction=0.2, perturb=0.05, 183 stickiness=0.2, radius_effective_pd=0.1, radius_effective_pd_n=40) 184 184 # 185 185 tests = [ 186 [ {'scale': 1.0, 'background' : 0.0, ' effect_radius' : 50.0, 'perturb' : 0.05, 'stickiness' : 0.2, 'volfraction' : 0.1,187 ' effect_radius_pd' : 0}, [0.001, 0.003], [1.09718, 1.087830]]186 [ {'scale': 1.0, 'background' : 0.0, 'radius_effective' : 50.0, 'perturb' : 0.05, 'stickiness' : 0.2, 'volfraction' : 0.1, 187 'radius_effective_pd' : 0}, [0.001, 0.003], [1.09718, 1.087830]] 188 188 ] 189 189
Note: See TracChangeset
for help on using the changeset viewer.