Changeset db3947c in sasmodels
- Timestamp:
- Mar 30, 2019 2:41:34 AM (6 years ago)
- Branches:
- master, ticket_1156, ticket_822_more_unit_tests
- Children:
- 934a001
- Parents:
- 065d77d
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sasmodels/models/sphere.py
ra34b811 rdb3947c 94 94 [{}, 0.2, 0.726362], # each test starts with default parameter values inside { }, unless modified. Then Q and expected value of I(Q) 95 95 [{"scale": 1., "background": 0., "sld": 6., "sld_solvent": 1., 96 "radius": 120.}, [0.01,0.1,0.2], [1.34836265e+04, 6.20114062e+00, 1.04733914e-01]], # each test starts with default parameter values inside { }, unless modified. Then Q and expected value of I(Q) 97 [{"scale": 1., "background": 0., "sld": 6., "sld_solvent": 1., # careful tests here R=120 Pd=.2, 98 # then with S(Q) at default Reff=50 (but this gets changeded to 120) phi=0,2 96 99 "radius": 120., "radius_pd": 0.2, "radius_pd_n":45}, 97 0.2, 0.2288431], 98 [{"radius": 120., "radius_pd": 0.02, "radius_pd_n":45}, 99 0.2, 792.0646662454202, 1166737.0473152, 120.0, 7246723.820358589, 1.0], # the longer list here checks F1, F2, R_eff, volume, volume_ratio = call_Fq(kernel, pars) 100 [0.01,0.1,0.2], [1.74395295e+04, 3.68016987e+00, 2.28843099e-01]], # a list of Q values and list of expected results is also possible 101 [{"scale": 1., "background": 0., "sld": 6., "sld_solvent": 1.,"radius": 120., "radius_pd": 0.2, "radius_pd_n":45}, 102 0.01, 335839.88055473, 1.41045057e+11, 120.0, 8087664.122641933, 1.0], # the longer list here checks F1, F2, R_eff, volume, volume_ratio = call_Fq(kernel, pars) 103 [{"radius": 120., "radius_pd": 0.2, "radius_pd_n":45}, 104 0.1, 482.93824329, 29763977.79867414, 120.0, 8087664.122641933, 1.0], # the longer list here checks F1, F2, R_eff, volume, volume_ratio = call_Fq(kernel, pars) 105 [{"radius": 120., "radius_pd": 0.2, "radius_pd_n":45}, 106 0.2, 1.23330406, 1850806.1197361, 120.0, 8087664.122641933, 1.0], # the longer list here checks F1, F2, R_eff, volume, volume_ratio = call_Fq(kernel, pars) 100 107 # But note P(Q) = F2/volume 101 108 # F and F^2 are "unscaled", with for n <F F*>S(q) or for beta approx I(q) = n [<F F*> + <F><F*> (S(q) - 1)] … … 103 110 # The number density is volume fraction divided by particle volume. 104 111 # Effectively, this leaves F = V drho form, where form is the usual 3 j1(qr)/(qr) or whatever depending on the shape. 105 # [{"@S": "hardsphere"}, 106 # 0.01, 55.881884232102124], # this is current value, not verified elsewhere yet 107 # [{"radius": 120., "radius_pd": 0.2, "radius_pd_n":45}, 108 # 0.2, 1.233304061, [1850806.119736], 120.0, 8087664.1226, 1.0], # the longer list here checks F1, F2, R_eff, volume, volume_ratio = call_Fq(kernel, pars) 109 # [{"@S": "hardsphere"}, 110 # 0.2, 0.14730859242492958], # this is current value, not verified elsewhere yet 111 # [{"@S": "hardsphere"}, 112 # 0.1, 0.7940350343811906], # this is current value, not verified elsewhere yet 112 # NOTE the @S multiplication by S(Q) also multiplies the answer by volfraction, thus you may like to put in scale at 1/volfraction 113 113 [{"@S": "hardsphere", 114 114 "radius": 120., "radius_pd": 0.2, "radius_pd_n":45, 115 115 "volfraction":0.2, 116 "radius_effective":45.0, # uses this (check)116 "radius_effective":45.0, # uses this as gives different answer to either 50 or 120 (check) 117 117 "structure_factor_mode": 1, # 0 = normal decoupling approximation, 1 = beta(Q) approx 118 118 "radius_effective_mode": 0 # equivalent sphere, there is only one valid mode for sphere. says -this used r_eff =0 or default 50? … … 121 121 "radius": 120., "radius_pd": 0.2, "radius_pd_n":45, 122 122 "volfraction":0.2, 123 "radius_effective":50.0, # hard sphere structure factor123 #"radius_effective":50.0, # hard sphere structure factor 124 124 "structure_factor_mode": 1, # 0 = normal decoupling approximation, 1 = beta(Q) approx 125 "radius_effective_mode": 0 # this used r_eff =0 ordefault 50?126 }, 0.01, 1324.7375636587356],125 "radius_effective_mode": 0 # this used default 50? 126 }, [0.01,0.1,0.2], [1.32473756e+03, 7.36633631e-01, 4.67686201e-02] ], 127 127 [{"@S": "hardsphere", 128 128 "radius": 120., "radius_pd": 0.2, "radius_pd_n":45, 129 129 "volfraction":0.2, 130 "radius_effective": 50.0, # hard sphere structure factor130 "radius_effective":120.0, # hard sphere structure factor 131 131 "structure_factor_mode": 1, # 0 = normal decoupling approximation, 1 = beta(Q) approx 132 "radius_effective_mode": 1 # this used 120 ??? 133 }, 0.01, 1579.2858949296565 ] 134 ] 135 # putting None for expected result will pass the test if there are no errors from the routine, but without any check on the value of the result 132 "radius_effective_mode": 0 # 1 uses 120, 133 }, [0.01,0.1,0.2], [1.57928589e+03, 7.37067923e-01, 4.67686197e-02 ]], 134 [{"@S": "hardsphere", 135 "radius": 120., "radius_pd": 0.2, "radius_pd_n":45, 136 "volfraction":0.2, 137 #"radius_effective":120.0, # hard sphere structure factor 138 "structure_factor_mode": 0, # 0 = normal decoupling approximation, 1 = beta(Q) approx 139 "radius_effective_mode": 1 # this used 120 from the form factor 140 }, [0.01,0.1,0.2], [1.10112335e+03, 7.41366536e-01, 4.66630207e-02]], 141 [{"@S": "hardsphere", 142 "radius": 120., "radius_pd": 0.2, "radius_pd_n":45, 143 "volfraction":0.2, 144 #"radius_effective":50.0, # hard sphere structure factor 145 "structure_factor_mode": 0, # 0 = normal decoupling approximation, 1 = beta(Q) approx 146 "radius_effective_mode": 0 # this used 50 the default for hardsphere 147 }, [0.01,0.1,0.2], [7.82803598e+02, 6.85943611e-01, 4.71586457e-02 ]] 148 ]# putting None for expected result will pass the test if there are no errors from the routine, but without any check on the value of the result
Note: See TracChangeset
for help on using the changeset viewer.