Changeset f8da3f3 in sasmodels
- Timestamp:
- Mar 21, 2016 8:12:48 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:
- e42b0b9
- Parents:
- 669bf21 (diff), 3d8283b (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - Files:
-
- 11 edited
- 3 moved
Legend:
- Unmodified
- Added
- Removed
-
example/sesans_parameters_css-hs.py
r3415f4f rca3abe6 22 22 # Initial parameter values (if other than defaults) 23 23 initial_vals = { 24 "sld_core" : 1.0592, 24 "sld_core" : 1.05, 25 "sld_shell" : 2.88*pen-0.05*(1-pen), 25 26 "sld_solvent" : 2.88, 26 "radius" : 890, 27 "thickness" : 130 27 "radius" : 730, 28 "thickness" : 20, 29 "volfraction" : phi, 30 "scale" : (1-phi) 28 31 } 29 32 -
sasmodels/kernelcl.py
rc094758 r8e0d974 426 426 self._need_release = [self.loops_b, self.res_b, self.q_input] 427 427 428 def __call__(self, fixed_pars, pd_pars, cutoff =1e-5):428 def __call__(self, fixed_pars, pd_pars, cutoff): 429 429 real = (np.float32 if self.q_input.dtype == generate.F32 430 430 else np.float64 if self.q_input.dtype == generate.F64 -
sasmodels/models/_spherepy.py
raa2edb2 r49da079 17 17 where *scale* is a volume fraction, $V$ is the volume of the scatterer, 18 18 $r$ is the radius of the sphere, *background* is the background level and 19 *sld* and *s olvent_sld* are the scattering length densities (SLDs) of the19 *sld* and *sld_solvent* are the scattering length densities (SLDs) of the 20 20 scatterer and the solvent respectively. 21 21 … … 47 47 from numpy import pi, inf, sin, cos, sqrt, log 48 48 49 name = " sphere (python)"50 title = " Spheres with uniform scattering length density"49 name = " _sphere (python)" 50 title = "PAK testing ideas for Spheres with uniform scattering length density" 51 51 description = """\ 52 P(q)=(scale/V)*[3V(sld-s olvent_sld)*(sin(qr)-qr cos(qr))52 P(q)=(scale/V)*[3V(sld-sld_solvent)*(sin(qr)-qr cos(qr)) 53 53 /(qr)^3]^2 + background 54 54 r: radius of sphere 55 55 V: The volume of the scatter 56 56 sld: the SLD of the sphere 57 s olvent_sld: the SLD of the solvent57 sld_solvent: the SLD of the solvent 58 58 """ 59 59 category = "shape:sphere" … … 62 62 parameters = [["sld", "1e-6/Ang^2", 1, [-inf, inf], "", 63 63 "Layer scattering length density"], 64 ["s olvent_sld", "1e-6/Ang^2", 6, [-inf, inf], "",64 ["sld_solvent", "1e-6/Ang^2", 6, [-inf, inf], "", 65 65 "Solvent scattering length density"], 66 66 ["radius", "Ang", 50, [0, inf], "volume", … … 72 72 return 1.333333333333333 * pi * radius ** 3 73 73 74 def Iq(q, sld, s olvent_sld, radius):74 def Iq(q, sld, sld_solvent, radius): 75 75 #print "q",q 76 #print "sld,r",sld,s olvent_sld,radius76 #print "sld,r",sld,sld_solvent,radius 77 77 qr = q * radius 78 78 sn, cn = sin(qr), cos(qr) … … 85 85 bes = 3 * (sn - qr * cn) / qr ** 3 # may be 0/0 but we fix that next line 86 86 bes[qr == 0] = 1 87 fq = bes * (sld - s olvent_sld) * form_volume(radius)87 fq = bes * (sld - sld_solvent) * form_volume(radius) 88 88 return 1.0e-4 * fq ** 2 89 89 Iq.vectorized = True # Iq accepts an array of q values 90 90 91 def Iqxy(qx, qy, sld, s olvent_sld, radius):92 return Iq(sqrt(qx ** 2 + qy ** 2), sld, s olvent_sld, radius)91 def Iqxy(qx, qy, sld, sld_solvent, radius): 92 return Iq(sqrt(qx ** 2 + qy ** 2), sld, sld_solvent, radius) 93 93 Iqxy.vectorized = True # Iqxy accepts arrays of qx, qy values 94 94 95 def sesans(z, sld, s olvent_sld, radius):95 def sesans(z, sld, sld_solvent, radius): 96 96 """ 97 97 Calculate SESANS-correlation function for a solid sphere. … … 115 115 116 116 demo = dict(scale=1, background=0, 117 sld=6, s olvent_sld=1,117 sld=6, sld_solvent=1, 118 118 radius=120, 119 119 radius_pd=.2, radius_pd_n=45) 120 120 oldname = "SphereModel" 121 oldpars = dict(sld='sldSph', s olvent_sld='sldSolv', radius='radius')121 oldpars = dict(sld='sldSph', sld_solvent='sldSolv', radius='radius') -
sasmodels/models/core_shell_sphere.py
r3556ad7 r3f167d9 91 91 @param thickness: shell thickness 92 92 """ 93 return (1,1) 93 94 whole = 4.0 * pi / 3.0 * pow((radius + thickness), 3) 94 95 core = 4.0 * pi / 3.0 * radius * radius * radius -
sasmodels/models/hollow_rectangular_prism.py
r43b7eea r3d8283b 88 88 title = "Hollow rectangular parallelepiped with uniform scattering length density." 89 89 description = """ 90 I(q)= scale*V*(sld - s olvent_sld)^2*P(q,theta,phi)+background90 I(q)= scale*V*(sld - sld_solvent)^2*P(q,theta,phi)+background 91 91 P(q,theta,phi) = (2/pi/V^2) * double integral from 0 to pi/2 of ... 92 92 (AP1-AP2)^2(q)*sin(theta)*dtheta*dphi … … 103 103 parameters = [["sld", "1e-6/Ang^2", 6.3, [-inf, inf], "", 104 104 "Parallelepiped scattering length density"], 105 ["s olvent_sld", "1e-6/Ang^2", 1, [-inf, inf], "",105 ["sld_solvent", "1e-6/Ang^2", 1, [-inf, inf], "", 106 106 "Solvent scattering length density"], 107 107 ["a_side", "Ang", 35, [0, inf], "volume", … … 148 148 # parameters for demo 149 149 demo = dict(scale=1, background=0, 150 sld=6.3e-6, s olvent_sld=1.0e-6,150 sld=6.3e-6, sld_solvent=1.0e-6, 151 151 a_side=35, b2a_ratio=1, c2a_ratio=1, thickness=1, 152 152 a_side_pd=0.1, a_side_pd_n=10, … … 158 158 oldname = 'RectangularHollowPrismModel' 159 159 oldpars = dict(a_side='short_side', b2a_ratio='b2a_ratio', c_side='c2a_ratio', 160 thickness='thickness', sld='sldPipe', s olvent_sld='sldSolv')160 thickness='thickness', sld='sldPipe', sld_solvent='sldSolv') 161 161 162 162 tests = [[{}, 0.2, 0.76687283098], -
sasmodels/models/hollow_rectangular_prism_thin_walls.py
r43b7eea r3d8283b 77 77 from numpy import pi, inf, sqrt 78 78 79 name = "hollow_rectangular_prism_ infinitely_thin_walls"80 title = "Hollow rectangular parallelepiped with infinitelythin walls."79 name = "hollow_rectangular_prism_thin_walls" 80 title = "Hollow rectangular parallelepiped with thin walls." 81 81 description = """ 82 I(q)= scale*V*(sld - s olvent_sld)^2*P(q)+background82 I(q)= scale*V*(sld - sld_solvent)^2*P(q)+background 83 83 with P(q) being the form factor corresponding to a hollow rectangular 84 84 parallelepiped with infinitely thin walls. … … 89 89 parameters = [["sld", "1e-6/Ang^2", 6.3, [-inf, inf], "", 90 90 "Parallelepiped scattering length density"], 91 ["s olvent_sld", "1e-6/Ang^2", 1, [-inf, inf], "",91 ["sld_solvent", "1e-6/Ang^2", 1, [-inf, inf], "", 92 92 "Solvent scattering length density"], 93 93 ["a_side", "Ang", 35, [0, inf], "volume", … … 99 99 ] 100 100 101 source = ["lib/gauss76.c", "hollow_rectangular_prism_ infinitely_thin_walls.c"]101 source = ["lib/gauss76.c", "hollow_rectangular_prism_thin_walls.c"] 102 102 103 103 def ER(a_side, b2a_ratio, c2a_ratio): … … 127 127 # parameters for demo 128 128 demo = dict(scale=1, background=0, 129 sld=6.3e-6, s olvent_sld=1.0e-6,129 sld=6.3e-6, sld_solvent=1.0e-6, 130 130 a_side=35, b2a_ratio=1, c2a_ratio=1, 131 131 a_side_pd=0.1, a_side_pd_n=10, … … 137 137 oldname = 'RectangularHollowPrismInfThinWallsModel' 138 138 oldpars = dict(a_side='short_side', b2a_ratio='b2a_ratio', c_side='c2a_ratio', 139 sld='sldPipe', s olvent_sld='sldSolv')139 sld='sldPipe', sld_solvent='sldSolv') 140 140 141 141 tests = [[{}, 0.2, 0.837719188592], -
sasmodels/models/parallelepiped.py
r6ef4293 r76e5041 151 151 ---------- 152 152 153 None. 153 P Mittelbach and G Porod, *Acta Physica Austriaca*, 14 (1961) 185-211 154 155 R Nayuk and K Huber, *Z. Phys. Chem.*, 226 (2012) 837-854 154 156 """ 155 157 … … 160 162 title = "Rectangular parallelepiped with uniform scattering length density." 161 163 description = """ 162 I(q)= scale*V*(sld - s olvent_sld)^2*P(q,alpha)+background164 I(q)= scale*V*(sld - sld_solvent)^2*P(q,alpha)+background 163 165 P(q,alpha) = integral from 0 to 1 of ... 164 166 phi(mu*sqrt(1-sigma^2),a) * S(mu*c*sigma/2)^2 * dsigma … … 177 179 parameters = [["sld", "1e-6/Ang^2", 4, [-inf, inf], "", 178 180 "Parallelepiped scattering length density"], 179 ["s olvent_sld", "1e-6/Ang^2", 1, [-inf, inf], "",181 ["sld_solvent", "1e-6/Ang^2", 1, [-inf, inf], "", 180 182 "Solvent scattering length density"], 181 183 ["a_side", "Ang", 35, [0, inf], "volume", … … 210 212 # parameters for demo 211 213 demo = dict(scale=1, background=0, 212 sld=6.3e-6, s olvent_sld=1.0e-6,214 sld=6.3e-6, sld_solvent=1.0e-6, 213 215 a_side=35, b_side=75, c_side=400, 214 216 theta=45, phi=30, psi=15, … … 225 227 oldpars = dict(theta='parallel_theta', phi='parallel_phi', psi='parallel_psi', 226 228 a_side='short_a', b_side='short_b', c_side='long_c', 227 sld='sldPipe', s olvent_sld='sldSolv')229 sld='sldPipe', sld_solvent='sldSolv') 228 230 229 231 -
sasmodels/models/rectangular_prism.py
r43b7eea r76e5041 9 9 The only difference is that the way the relevant 10 10 parameters are defined here (*a*, *b/a*, *c/a* instead of *a*, *b*, *c*) 11 allows to usepolydispersity with this model while keeping the shape of11 which allows use of polydispersity with this model while keeping the shape of 12 12 the prism (e.g. setting *b/a* = 1 and *c/a* = 1 and applying polydispersity 13 13 to *a* will generate a distribution of cubes of different sizes). … … 86 86 title = "Rectangular parallelepiped with uniform scattering length density." 87 87 description = """ 88 I(q)= scale*V*(sld - s olvent_sld)^2*P(q,theta,phi)+background88 I(q)= scale*V*(sld - sld_solvent)^2*P(q,theta,phi)+background 89 89 P(q,theta,phi) = (2/pi) * double integral from 0 to pi/2 of ... 90 90 AP^2(q)*sin(theta)*dtheta*dphi … … 97 97 parameters = [["sld", "1e-6/Ang^2", 6.3, [-inf, inf], "", 98 98 "Parallelepiped scattering length density"], 99 ["s olvent_sld", "1e-6/Ang^2", 1, [-inf, inf], "",99 ["sld_solvent", "1e-6/Ang^2", 1, [-inf, inf], "", 100 100 "Solvent scattering length density"], 101 101 ["a_side", "Ang", 35, [0, inf], "volume", … … 125 125 # parameters for demo 126 126 demo = dict(scale=1, background=0, 127 sld=6.3e-6, s olvent_sld=1.0e-6,127 sld=6.3e-6, sld_solvent=1.0e-6, 128 128 a_side=35, b2a_ratio=1, c2a_ratio=1, 129 129 a_side_pd=0.1, a_side_pd_n=10, … … 135 135 oldname = 'RectangularPrismModel' 136 136 oldpars = dict(a_side='short_side', b2a_ratio='b2a_ratio', c_side='c2a_ratio', 137 sld='sldPipe', s olvent_sld='sldSolv')137 sld='sldPipe', sld_solvent='sldSolv') 138 138 139 139 tests = [[{}, 0.2, 0.375248406825], -
sasmodels/models/sphere.py
raa2edb2 r49da079 17 17 where *scale* is a volume fraction, $V$ is the volume of the scatterer, 18 18 $r$ is the radius of the sphere, *background* is the background level and 19 *sld* and *s olvent_sld* are the scattering length densities (SLDs) of the19 *sld* and *sld_solvent* are the scattering length densities (SLDs) of the 20 20 scatterer and the solvent respectively. 21 21 … … 49 49 title = "Spheres with uniform scattering length density" 50 50 description = """\ 51 P(q)=(scale/V)*[3V(sld-s olvent_sld)*(sin(qr)-qr cos(qr))51 P(q)=(scale/V)*[3V(sld-sld_solvent)*(sin(qr)-qr cos(qr)) 52 52 /(qr)^3]^2 + background 53 53 r: radius of sphere 54 54 V: The volume of the scatter 55 55 sld: the SLD of the sphere 56 s olvent_sld: the SLD of the solvent56 sld_solvent: the SLD of the solvent 57 57 """ 58 58 category = "shape:sphere" … … 61 61 parameters = [["sld", "1e-6/Ang^2", 1, [-inf, inf], "", 62 62 "Layer scattering length density"], 63 ["s olvent_sld", "1e-6/Ang^2", 6, [-inf, inf], "",63 ["sld_solvent", "1e-6/Ang^2", 6, [-inf, inf], "", 64 64 "Solvent scattering length density"], 65 65 ["radius", "Ang", 50, [0, inf], "volume", … … 76 76 77 77 Iq = """ 78 return sphere_form(q, radius, sld, s olvent_sld);78 return sphere_form(q, radius, sld, sld_solvent); 79 79 """ 80 80 … … 82 82 // never called since no orientation or magnetic parameters. 83 83 //return -1.0; 84 return Iq(sqrt(qx*qx + qy*qy), sld, s olvent_sld, radius);84 return Iq(sqrt(qx*qx + qy*qy), sld, sld_solvent, radius); 85 85 """ 86 86 … … 94 94 95 95 demo = dict(scale=1, background=0, 96 sld=6, s olvent_sld=1,96 sld=6, sld_solvent=1, 97 97 radius=120, 98 98 radius_pd=.2, radius_pd_n=45) 99 99 oldname = "SphereModel" 100 oldpars = dict(sld='sldSph', s olvent_sld='sldSolv', radius='radius')100 oldpars = dict(sld='sldSph', sld_solvent='sldSolv', radius='radius') -
sasmodels/models/triaxial_ellipsoid.py
r6ef4293 r49da079 91 91 "Solvent scattering length density"], 92 92 ["req_minor", "Ang", 20, [0, inf], "volume", 93 "Minor equ itorial radius"],93 "Minor equatorial radius"], 94 94 ["req_major", "Ang", 400, [0, inf], "volume", 95 95 "Major equatorial radius"], -
sasmodels/product.py
r72a081d r8e0d974 163 163 s_pd[0] = [effect_radius], [1.0] 164 164 165 p_res = self.p_kernel(p_fixed, p_pd )166 s_res = self.s_kernel(s_fixed, s_pd )165 p_res = self.p_kernel(p_fixed, p_pd, cutoff) 166 s_res = self.s_kernel(s_fixed, s_pd, cutoff) 167 167 #print s_fixed, s_pd, p_fixed, p_pd 168 168 -
sasmodels/sesans.py
rc94577f r2684d45 29 29 30 30 q_min = dq = 0.1 * 2*pi / Rmax 31 return np.arange(q_min, Converter("1/A")(q_max[0], units=q_max[1]), dq) 31 return np.arange(q_min, 32 Converter(q_max[1])(q_max[0], 33 units="1/A"), 34 dq) 32 35 33 36 def make_all_q(data): … … 75 78 76 79 def call_hankel(data, q_calc, Iq_calc): 77 return hankel(data.x, data.lam * 1e-9, 78 data.sample.thickness / 10, 80 return hankel((data.x, data.x_unit), 81 (data.lam, data.lam_unit), 82 (data.sample.thickness, 83 data.sample.thickness_unit), 79 84 q_calc, Iq_calc) 80 85 … … 182 187 *I* [cm$^{-1}$] is the value of the SANS model at *q* 183 188 """ 189 190 from sas.sascalc.data_util.nxsunit import Converter 191 wavelength = Converter(wavelength[1])(wavelength[0],"A") 192 thickness = Converter(thickness[1])(thickness[0],"A") 193 Iq = Converter("1/cm")(Iq,"1/A") # All models default to inverse centimeters 194 SElength = Converter(SElength[1])(SElength[0],"A") 195 184 196 G = np.zeros_like(SElength, 'd') 185 197 #============================================================================== … … 192 204 193 205 # [m^-1] step size in q, needed for integration 194 dq = (q[1]-q[0]) *1e10206 dq = (q[1]-q[0]) 195 207 196 208 # integration step, convert q into [m**-1] and 2 pi circle integration 197 G *= dq* 1e10*2*pi198 G0 *= dq*1e10*2*pi209 G *= dq*2*pi 210 G0 = np.sum(Iq*q)*dq*2*np.pi 199 211 200 212 P = exp(thickness*wavelength**2/(4*pi**2)*(G-G0)) -
sasmodels/models/spherical_sld.py
r8ad9619 r669bf21 170 170 # pylint: disable=bad-whitespace, line-too-long 171 171 # ["name", "units", default, [lower, upper], "type", "description"], 172 parameters = [["n_shells", "", 1, [0, 9], "", "number of shells"], 173 ["thick_inter_0", "Ang", 50, [-inf, inf], "", "intern layer thickness"], 174 ["func_inter_0", "", 0, [0, 4], "", "'Erf(|nu|*z)':0, 'RPower(z^|nu|)':1, 'LPower(z^|nu|)':2, 'RExp(-|nu|*z)':3, 'LExp(-|nu|*z)':4"], 175 ["core0_sld", "1e-6/Ang^2", 2.07, [-inf, inf], "", "sld function flat"], 176 ["solvent_sld", "1e-6/Ang^2", 1.0, [-inf, inf], "", "sld function solvent"], 177 ["flat1_sld", "1e-6/Ang^2", 4.06, [-inf, inf], "", "sld function flat"], 178 ["flat2_sld", "1e-6/Ang^2", 3.5, [-inf, inf], "", "sld function flat"], 179 ["flat3_sld", "1e-6/Ang^2", 4.06, [-inf, inf], "", "sld function flat"], 180 ["flat4_sld", "1e-6/Ang^2", 3.5, [-inf, inf], "", "sld function flat"], 181 ["flat5_sld", "1e-6/Ang^2", 4.06, [-inf, inf], "", "sld function flat"], 182 ["flat6_sld", "1e-6/Ang^2", 3.5, [-inf, inf], "", "sld function flat"], 183 ["flat7_sld", "1e-6/Ang^2", 4.06, [-inf, inf], "", "sld function flat"], 184 ["flat8_sld", "1e-6/Ang^2", 3.5, [-inf, inf], "", "sld function flat"], 185 ["flat9_sld", "1e-6/Ang^2", 4.06, [-inf, inf], "", "sld function flat"], 186 ["flat10_sld", "1e-6/Ang^2", 3.5, [-inf, inf], "", "sld function flat"], 187 ["thick_inter_1", "Ang", 50.0, [0, inf], "", "intern layer thickness"], 188 ["thick_inter_2", "Ang", 50.0, [0, inf], "", "intern layer thickness"], 189 ["thick_inter_3", "Ang", 50.0, [0, inf], "", "intern layer thickness"], 190 ["thick_inter_4", "Ang", 50.0, [0, inf], "", "intern layer thickness"], 191 ["thick_inter_5", "Ang", 50.0, [0, inf], "", "intern layer thickness"], 192 ["thick_inter_6", "Ang", 50.0, [0, inf], "", "intern layer thickness"], 193 ["thick_inter_7", "Ang", 50.0, [0, inf], "", "intern layer thickness"], 194 ["thick_inter_8", "Ang", 50.0, [0, inf], "", "intern layer thickness"], 195 ["thick_inter_9", "Ang", 50.0, [0, inf], "", "intern layer thickness"], 196 ["thick_inter_10", "Ang", 50.0, [0, inf], "", "intern layer thickness"], 197 ["thick_flat_1", "Ang", 100.0, [0, inf], "", "flat layer_thickness"], 198 ["thick_flat_2", "Ang", 100.0, [0, inf], "", "flat layer_thickness"], 199 ["thick_flat_3", "Ang", 100.0, [0, inf], "", "flat layer_thickness"], 200 ["thick_flat_4", "Ang", 100.0, [0, inf], "", "flat layer_thickness"], 201 ["thick_flat_5", "Ang", 100.0, [0, inf], "", "flat layer_thickness"], 202 ["thick_flat_6", "Ang", 100.0, [0, inf], "", "flat layer_thickness"], 203 ["thick_flat_7", "Ang", 100.0, [0, inf], "", "flat layer_thickness"], 204 ["thick_flat_8", "Ang", 100.0, [0, inf], "", "flat layer_thickness"], 205 ["thick_flat_9", "Ang", 100.0, [0, inf], "", "flat layer_thickness"], 206 ["thick_flat_10", "Ang", 100.0, [0, inf], "", "flat layer_thickness"], 207 ["func_inter_1", "", 0, [0, 4], "", "'Erf(|nu|*z)':0, 'RPower(z^|nu|)':1, 'LPower(z^|nu|)':2, 'RExp(-|nu|*z)':3, 'LExp(-|nu|*z)':4"], 208 ["func_inter_2", "", 0, [0, 4], "", "'Erf(|nu|*z)':0, 'RPower(z^|nu|)':1, 'LPower(z^|nu|)':2, 'RExp(-|nu|*z)':3, 'LExp(-|nu|*z)':4"], 209 ["func_inter_3", "", 0, [0, 4], "", "'Erf(|nu|*z)':0, 'RPower(z^|nu|)':1, 'LPower(z^|nu|)':2, 'RExp(-|nu|*z)':3, 'LExp(-|nu|*z)':4"], 210 ["func_inter_4", "", 0, [0, 4], "", "'Erf(|nu|*z)':0, 'RPower(z^|nu|)':1, 'LPower(z^|nu|)':2, 'RExp(-|nu|*z)':3, 'LExp(-|nu|*z)':4"], 211 ["func_inter_5", "", 0, [0, 4], "", "'Erf(|nu|*z)':0, 'RPower(z^|nu|)':1, 'LPower(z^|nu|)':2, 'RExp(-|nu|*z)':3, 'LExp(-|nu|*z)':4"], 212 ["func_inter_6", "", 0, [0, 4], "", "'Erf(|nu|*z)':0, 'RPower(z^|nu|)':1, 'LPower(z^|nu|)':2, 'RExp(-|nu|*z)':3, 'LExp(-|nu|*z)':4"], 213 ["func_inter_7", "", 0, [0, 4], "", "'Erf(|nu|*z)':0, 'RPower(z^|nu|)':1, 'LPower(z^|nu|)':2, 'RExp(-|nu|*z)':3, 'LExp(-|nu|*z)':4"], 214 ["func_inter_8", "", 0, [0, 4], "", "'Erf(|nu|*z)':0, 'RPower(z^|nu|)':1, 'LPower(z^|nu|)':2, 'RExp(-|nu|*z)':3, 'LExp(-|nu|*z)':4"], 215 ["func_inter_9", "", 0, [0, 4], "", "'Erf(|nu|*z)':0, 'RPower(z^|nu|)':1, 'LPower(z^|nu|)':2, 'RExp(-|nu|*z)':3, 'LExp(-|nu|*z)':4"], 216 ["func_inter_10", "", 0, [0, 4], "", "'Erf(|nu|*z)':0, 'RPower(z^|nu|)':1, 'LPower(z^|nu|)':2, 'RExp(-|nu|*z)':3, 'LExp(-|nu|*z)':4"], 217 ["nu_inter_1", "", 2.5, [-inf, inf], "", "steepness parameter"], 218 ["nu_inter_2", "", 2.5, [-inf, inf], "", "steepness parameter"], 219 ["nu_inter_3", "", 2.5, [-inf, inf], "", "steepness parameter"], 220 ["nu_inter_4", "", 2.5, [-inf, inf], "", "steepness parameter"], 221 ["nu_inter_5", "", 2.5, [-inf, inf], "", "steepness parameter"], 222 ["nu_inter_6", "", 2.5, [-inf, inf], "", "steepness parameter"], 223 ["nu_inter_7", "", 2.5, [-inf, inf], "", "steepness parameter"], 224 ["nu_inter_8", "", 2.5, [-inf, inf], "", "steepness parameter"], 225 ["nu_inter_9", "", 2.5, [-inf, inf], "", "steepness parameter"], 226 ["nu_inter_10", "", 2.5, [-inf, inf], "", "steepness parameter"], 227 ["npts_inter", "", 35, [0, 35], "", "number of points in each sublayer Must be odd number"], 228 ["nu_inter_0", "", 2.5, [-inf, inf], "", "steepness parameter"], 229 ["rad_core_0", "Ang", 50.0, [0, inf], "", "intern layer thickness"], 172 parameters = [["n_shells", "", 1, [0, 9], "", "number of shells"], 173 ["thick_inter[n]", "Ang", 50, [-inf, inf], "", "intern layer thickness"], 174 ["func_inter[n]", "", 0, [0, 4], "", "Erf:0, RPower:1, LPower:2, RExp:3, LExp:4"], 175 ["sld_core", "1e-6/Ang^2", 2.07, [-inf, inf], "", "sld function flat"], 176 ["sld_solvent", "1e-6/Ang^2", 1.0, [-inf, inf], "", "sld function solvent"], 177 ["sld_flat[n]", "1e-6/Ang^2", 4.06, [-inf, inf], "", "sld function flat"], 178 ["thick_inter[n]", "Ang", 50.0, [0, inf], "", "intern layer thickness"], 179 ["thick_flat[n]", "Ang", 100.0, [0, inf], "", "flat layer_thickness"], 180 ["inter_nu[n]", "", 2.5, [-inf, inf], "", "steepness parameter"], 181 ["npts_inter", "", 35, [0, 35], "", "number of points in each sublayer Must be odd number"], 182 ["core_rad", "Ang", 50.0, [0, inf], "", "intern layer thickness"], 230 183 ] 231 184 # pylint: enable=bad-whitespace, line-too-long 232 185 #source = ["lib/librefl.c", "lib/sph_j1c.c", "spherical_sld.c"] 233 186 234 Iq = """ 235 return q; 236 """ 237 238 Iqxy = """ 239 // never called since no orientation or magnetic parameters. 240 //return -1.0; 241 """ 187 def Iq(q, *args, **kw): 188 return q 189 190 def Iqxy(qx, *args, **kw): 191 return qx 192 242 193 243 194 demo = dict(
Note: See TracChangeset
for help on using the changeset viewer.