Changeset 7c391dd in sasmodels
- Timestamp:
- Mar 18, 2016 8:18:56 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:
- d5ba841
- Parents:
- 9538fae
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sasmodels/models/lamellar.py
raa2edb2 r7c391dd 5 5 ---------- 6 6 7 The scattering intensity $I(q)$ is7 The scattering intensity $I(q)$ for dilute, randomly oriented, "infinitely large" sheets or lamellae is 8 8 9 9 .. math:: 10 10 11 I(q) = \frac{2\pi P(q)}{\delta q^2}11 I(q) = scale*\frac{2\pi P(q)}{q^2\delta } 12 12 13 13 … … 16 16 .. math:: 17 17 18 P(q) = \frac{2\Delta\rho^2}{q^2}(1-cos(q\delta))18 P(q) = \frac{2\Delta\rho^2}{q^2}(1-cos(q\delta)) = \frac{4\Delta\rho^2}{q^2}sin^2(\frac{q\delta}{2}) 19 19 20 where $\delta$ is the total layer thickness and $\Delta\rho$ is the scattering length density difference. 20 21 21 where $\delta$ is the bilayer thickness. 22 This is the limiting form for a spherical shell of infinitely large radius. Note that the division by $\delta$ 23 means that $scale$ in sasview is the volume fraction of sheet, $\phi = S\delta$ where $S$ is the area of 24 sheet per unit volume. $S$ is half the Porod surface area per unit volume of a thicker layer (as that would 25 include both faces of the sheet). 22 26 23 27 The 2D scattering intensity is calculated in the same way as 1D, where … … 56 60 57 61 # ["name", "units", default, [lower, upper], "type","description"], 58 parameters = [["sld", "1e-6/Ang^2", 1, [-inf, inf], "", 59 "Layer scattering length density" ], 60 ["solvent_sld", "1e-6/Ang^2", 6, [-inf, inf], "", 61 "Solvent scattering length density" ], 62 ["thickness", "Ang", 50, [0, inf], "volume","Bilayer thickness" ], 62 parameters = [ ["thickness", "Ang", 50, [0, inf], "volume","total layer thickness" ], 63 ["sld", "1e-6/Ang^2", 1, [-inf, inf], "","Layer scattering length density" ], 64 ["sld_solvent", "1e-6/Ang^2", 6, [-inf, inf], "","Solvent scattering length density" ], 63 65 ] 64 66 65 66 67 # No volume normalization despite having a volume parameter 67 # This should perhaps be volume normalized? 68 # This should perhaps be volume normalized? - it is! 68 69 form_volume = """ 69 70 return 1.0; … … 71 72 72 73 Iq = """ 73 const double sub = sld - s olvent_sld;74 const double sub = sld - sld_solvent; 74 75 const double qsq = q*q; 75 76 // Original expression … … 89 90 90 91 demo = dict(scale=1, background=0, 91 sld=6, s olvent_sld=1,92 sld=6, sld_solvent=1, 92 93 thickness=40, 93 94 thickness_pd=0.2, thickness_pd_n=40) 94 95 oldname = 'LamellarModel' 95 oldpars = dict(sld='sld_bi', s olvent_sld='sld_sol', thickness='bi_thick')96 oldpars = dict(sld='sld_bi', sld_solvent='sld_sol', thickness='bi_thick') 96 97 tests = [ 97 [ {'scale': 1.0, 'background' : 0.0, 'thickness' : 50.0, 'sld' : 1.0,'s olvent_sld' : 6.3, 'thickness_pd' : 0.0,98 [ {'scale': 1.0, 'background' : 0.0, 'thickness' : 50.0, 'sld' : 1.0,'sld_solvent' : 6.3, 'thickness_pd' : 0.0, 98 99 }, [0.001], [882289.54309]] 99 100 ]
Note: See TracChangeset
for help on using the changeset viewer.