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