Changeset 0880966 in sasmodels for sasmodels/core.py
- Timestamp:
- Mar 21, 2016 12:34:51 PM (8 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:
- 839283a
- Parents:
- 9f4409a
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sasmodels/core.py
r39cc3be r0880966 183 183 value = values.get(parameter.name, parameter.default) 184 184 if parameter.type not in ('volume', 'orientation'): 185 return [value], []185 return np.array([value]), np.array([1.0]) 186 186 relative = parameter.type == 'volume' 187 187 limits = parameter.limits … … 208 208 return value, weight 209 209 210 def call_kernel(kernel, values, cutoff=0, mono=False):210 def call_kernel(kernel, pars, cutoff=0, mono=False): 211 211 """ 212 212 Call *kernel* returned from :func:`make_kernel` with parameters *pars*. … … 221 221 *mono* is True if polydispersity should be set to none on all parameters. 222 222 """ 223 if mono or True: 224 pars = np.array([values.get(p.name, p.default) 225 for p in kernel.info['parameters']], 226 dtype=kernel.dtype) 227 weights = np.array([1.0], dtype=kernel.dtype) 223 if mono: 224 values = [pars.get(p.name, p.default) for p in kernel.info['parameters']] 225 weights = [1.0]*len(values) 226 else: 227 wv_pairs = [get_weights(p, pars) for p in kernel.info['parameters']] 228 weights, values = [v for v in zip(*wv_pairs)] 229 230 #TODO: This is what we thought to do if max([len(w) for w in weights]) > 1: 231 if max([w for w in weights]) > 1: 232 details = generate.poly_details(kernel.info, weights) 233 else: 228 234 details = kernel.info['mono_details'] 229 return kernel(details, weights, pars, cutoff) 230 else:231 pairs = [get_weights(p, values) for p in kernel.info['parameters']] 232 weights, pars = [v for v in zip(*pairs)]233 details = generate.poly_details(kernel.info, weights, pars)234 weights, pars = [np.hstack(v) for v in (weights, pars)] 235 return kernel(details, weights, pars, cutoff)235 236 weights, values = [np.hstack(v) for v in (weights, values)] 237 238 weights = weights.astype(dtype=kernel.dtype) 239 values = values.astype(dtype=kernel.dtype) 240 241 return kernel(details, weights, values, cutoff) 236 242 237 243 def call_ER_VR(model_info, vol_pars):
Note: See TracChangeset
for help on using the changeset viewer.