Changes in sasmodels/product.py [065d77d:b297ba9] in sasmodels
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sasmodels/product.py
r065d77d rb297ba9 31 31 # pylint: enable=unused-import 32 32 33 # TODO: make shape averages available to constraints33 # TODO: make estimates available to constraints 34 34 #ESTIMATED_PARAMETERS = [ 35 # ["mean_radius_effective", "A", 0.0, [0, np.inf], "", "mean effective radius"], 36 # ["mean_volume", "A", 0.0, [0, np.inf], "", "mean volume"], 37 # ["mean_volume_ratio", "", 1.0, [0, np.inf], "", "mean form: mean shell volume ratio"], 35 # ["est_radius_effective", "A", 0.0, [0, np.inf], "", "Estimated effective radius"], 36 # ["est_volume_ratio", "", 1.0, [0, np.inf], "", "Estimated volume ratio"], 38 37 #] 38 39 39 STRUCTURE_MODE_ID = "structure_factor_mode" 40 40 RADIUS_MODE_ID = "radius_effective_mode" … … 44 44 # type: (ModelInfo) -> List[Parameter] 45 45 """ 46 Create parameters for structure factor and effective radius modes.46 Create parameters for structure_factor_mode and radius_effective_mode. 47 47 """ 48 48 pars = [] … … 56 56 "Structure factor calculation") 57 57 pars.append(par) 58 if p_info. radius_effective_modesis not None:58 if p_info.effective_radius_type is not None: 59 59 par = parse_parameter( 60 60 RADIUS_MODE_ID, 61 61 "", 62 62 1, 63 [["unconstrained"] + p_info. radius_effective_modes],63 [["unconstrained"] + p_info.effective_radius_type], 64 64 "", 65 65 "Effective radius calculation") … … 177 177 S, # type: np.ndarray 178 178 scale, # type: float 179 radius_effective, # type: float179 effective_radius, # type: float 180 180 beta_mode, # type: bool 181 181 ): … … 185 185 The result may be an array or a float. 186 186 """ 187 # CRUFT: remove effective_radius once SasView 5.0 is released.188 187 if beta_mode: 189 188 # TODO: 1. include calculated Q vector … … 194 193 ("beta(Q)", F1**2 / F2), 195 194 ("S_eff(Q)", 1 + (F1**2 / F2)*(S-1)), 196 ("effective_radius", radius_effective), 197 ("radius_effective", radius_effective), 195 ("effective_radius", effective_radius), 198 196 # ("I(Q)", scale*(F2 + (F1**2)*(S-1)) + bg), 199 197 )) … … 202 200 ("P(Q)", scale*F2), 203 201 ("S(Q)", S), 204 ("effective_radius", radius_effective), 205 ("radius_effective", radius_effective), 202 ("effective_radius", effective_radius), 206 203 )) 207 204 return parts … … 284 281 # R_eff type parameter is the second parameter after P and S parameters 285 282 # unless the model doesn't support beta mode, in which case it is first 286 have_radius_type = p_info.radius_effective_modes is not None 287 #print(p_npars,s_npars) 283 have_radius_type = p_info.effective_radius_type is not None 288 284 radius_type_offset = 2+p_npars+s_npars + (1 if have_beta_mode else 0) 289 #print(values[radius_type_offset])290 285 radius_type = int(values[radius_type_offset]) if have_radius_type else 0 291 286 … … 336 331 # Call the form factor kernel to compute <F> and <F^2>. 337 332 # If the model doesn't support Fq the returned <F> will be None. 338 F1, F2, radius_effective, shell_volume, volume_ratio = self.p_kernel.Fq(333 F1, F2, effective_radius, shell_volume, volume_ratio = self.p_kernel.Fq( 339 334 p_details, p_values, cutoff, magnetic, radius_type) 340 335 … … 346 341 # implementation details in kernel_iq.c. 347 342 #print("R_eff=%d:%g, volfrac=%g, volume ratio=%g" 348 # % (radius_type, radius_effective, volfrac, volume_ratio))343 # % (radius_type, effective_radius, volfrac, volume_ratio)) 349 344 if radius_type > 0: 350 345 # set the value to the model R_eff and set the weight to 1 351 s_values[2] = s_values[2+s_npars+s_offset[0]] = radius_effective346 s_values[2] = s_values[2+s_npars+s_offset[0]] = effective_radius 352 347 s_values[2+s_npars+s_offset[0]+nweights] = 1.0 353 348 s_values[3] = s_values[2+s_npars+s_offset[1]] = volfrac*volume_ratio … … 375 370 # the results directly rather than through a lazy evaluator. 376 371 self.results = lambda: _intermediates( 377 F1, F2, S, combined_scale, radius_effective, beta_mode)372 F1, F2, S, combined_scale, effective_radius, beta_mode) 378 373 379 374 return final_result
Note: See TracChangeset
for help on using the changeset viewer.