Changes in / [2ed7de0:d8e81f7] in sasmodels
- Location:
- sasmodels
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
sasmodels/direct_model.py
r2ed7de0 rb39bf3b 61 61 #print("in call_kernel: pars:", list(zip(*mesh))[0]) 62 62 call_details, values, is_magnetic = make_kernel_args(calculator, mesh) 63 #print("in call_kernel: values:", values)63 print("in call_kernel: values:", values) 64 64 return calculator(call_details, values, cutoff, is_magnetic) 65 65 -
sasmodels/model_test.py
r2ed7de0 rb39bf3b 247 247 platform=self.platform) 248 248 # run the tests 249 <<<<<<< HEAD 250 #self.info = ps_model.info 251 #print("SELF.INFO PARAMS!!!",[p.id for p in self.info.parameters.call_parameters]) 252 #print("PS MODEL PARAMETERS:",[p.id for p in ps_model.info.parameters.call_parameters]) 253 ======= 254 >>>>>>> 2ed7de04217c5103c5fd8d7c14e29e04923269d5 249 255 results.append(self.run_one(ps_model, ps_test)) 250 256 … … 304 310 """Run a single test case.""" 305 311 user_pars, x, y = test[:3] 312 print("PS MODEL PARAMETERS:",[p.id for p in model.info.parameters.call_parameters]) 306 313 pars = expand_pars(model.info.parameters, user_pars) 307 314 invalid = invalid_pars(model.info.parameters, pars) -
sasmodels/models/sphere.py
r2ed7de0 rb39bf3b 75 75 ["sld_solvent", "1e-6/Ang^2", 6, [-inf, inf], "sld", 76 76 "Solvent scattering length density"], 77 ["radius", "Ang", 50, [0, inf], "volume",77 ["radius", "Ang", 45, [0, inf], "volume", 78 78 "Sphere radius"], 79 79 ] … … 92 92 93 93 tests = [ 94 [{}, 0.2, 0.726362], 95 [{"scale": 1., "background": 0., "sld": 6., "sld_solvent": 1., 96 "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}, 0.2, 99 # F1, F2, R_eff, volume, volume_ratio = call_Fq(kernel, pars) at q=0.2 100 792.0646662454202, 1166737.0473152, 120.0, 7246723.820358589, 1.0], 101 # But note P(Q) = F2/volume+background, F1 and F2 are vectors 102 # BUT what is scaling of F1 ??? At low Pd F2 ~ F1^2 ? 103 [{"radius": 120., "radius_pd": 0.2, "radius_pd_n":45}, 0.2, 104 # F1, F2, R_eff, volume, volume_ratio = call_Fq(kernel, pars) at q=0.2 105 1.233304061, 1850806.119736, 120.0, 8087664.1226, 1.0], 106 [{"@S": "hardsphere"}, 107 0.01, 55.881884232102124], # current value, not verified elsewhere yet 108 [{"@S": "hardsphere"}, 109 0.2, 0.14730859242492958], # current value, not verified elsewhere yet 110 [{"@S": "hardsphere"}, 111 0.1, 0.7940350343811906], # current value, not verified elsewhere yet 112 [{"@S": "hardsphere", # hard sphere structure factor 113 "structure_factor_mode": 1, # decoupling approximation 114 "radius_effective_mode": 1, 115 # Currently have hardwired model_test to accept radius_effective 116 "radius_effective": 27.0, # equivalent sphere 117 # direct_model has the name & value BUT does it get passed to S(Q)??? 118 # What about volfracion, plus the many parameters used by other S(Q) ? 94 # [{}, 0.2, 0.726362], 95 # [{"scale": 1., "background": 0., "sld": 6., "sld_solvent": 1., 96 # "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 # # But note P(Q) = F2/volume, F1 and F2 are vectors, for some reason only F2 needs square brackets 101 # # BUT what is scaling of F1 ??? At low Pd F2 ~ F1^2 ? 102 # [{"@S": "hardsphere"}, 103 # 0.01, 55.881884232102124], # this is current value, not verified elsewhere yet 104 # [{"radius": 120., "radius_pd": 0.2, "radius_pd_n":45}, 105 # 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) 106 # [{"@S": "hardsphere"}, 107 # 0.2, 0.14730859242492958], # this is current value, not verified elsewhere yet 108 # [{"@S": "hardsphere"}, 109 # 0.1, 0.7940350343811906], # this is current value, not verified elsewhere yet 110 [{"@S": "hardsphere", 111 "radius": 120., "radius_pd": 0.2, "radius_pd_n":45, 112 "volfraction":0.2, 113 "radius_effective":45.0, # hard sphere structure factor 114 "structure_factor_mode": 1, # decoupling approximation 115 #"effective_radius_type": 1 # equivalent sphere Currently have hardwired model_test to accept radius_effective 116 # direct_model has the name & value BUT does it get passed to S(Q)??? What about volfracion, plus the many parameters used by other S(Q) ? 119 117 # effective_radius_type does NOT appear in the list, has it been stripped out??? 120 }, 0. 1, 0.7940350343881906],121 #[{"@S": "hardsphere", # hard sphere structure factor122 # "structure_factor_mode": 3, # - WHY same result?123 # "effective_radius_type": 3, "radius_effective":23.0 #124 #}, 0.1, 0.7940350343881906]118 }, 0.01, 0.7940350343881906], 119 # [{"@S": "hardsphere", # hard sphere structure factor 120 # "structure_factor_mode": 2, # - WHY same result? 121 # "effective_radius_type": 2, "radius_effective":23.0 # 122 # }, 0.1, 0.7940350343881906] 125 123 ] 126 # putting None for expected result will pass the test if there are no errors 127 # from the routine, but without any check on the value of the result 124 # 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 -
sasmodels/product.py
r2ed7de0 rb39bf3b 282 282 # unless the model doesn't support beta mode, in which case it is first 283 283 have_radius_type = p_info.effective_radius_type is not None 284 #print(p_npars,s_npars) 284 285 radius_type_offset = 2+p_npars+s_npars + (1 if have_beta_mode else 0) 286 print(values[radius_type_offset]) 285 287 radius_type = int(values[radius_type_offset]) if have_radius_type else 0 286 288 … … 340 342 # polydispersity distribution slot in the values array due to 341 343 # implementation details in kernel_iq.c. 342 #print("R_eff=%d:%g, volfrac=%g, volume ratio=%g"343 #% (radius_type, effective_radius, volfrac, volume_ratio))344 print("R_eff=%d:%g, volfrac=%g, volume ratio=%g" 345 % (radius_type, effective_radius, volfrac, volume_ratio)) 344 346 if radius_type > 0: 345 347 # set the value to the model R_eff and set the weight to 1 … … 356 358 357 359 # Combine form factor and structure factor 358 #print("beta", beta_mode, F1, F2, S)360 print("beta", beta_mode, F1, F2, S) 359 361 PS = F2 + F1**2*(S-1) if beta_mode else F2*S 360 362 final_result = combined_scale*PS + background
Note: See TracChangeset
for help on using the changeset viewer.