Changeset 4bfd277 in sasmodels for sasmodels/details.py


Ignore:
Timestamp:
Apr 8, 2016 12:11:16 PM (8 years ago)
Author:
Paul Kienzle <pkienzle@…>
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:
2afc26d
Parents:
d2fc9a4
Message:

support ER/VR calls with vector parameters

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sasmodels/details.py

    rd2fc9a4 r4bfd277  
    144144            return [np.asarray(v) for v in args] 
    145145 
    146 def dispersion_mesh(pars): 
     146def dispersion_mesh(model_info, pars): 
    147147    """ 
    148148    Create a mesh grid of dispersion parameters and weights. 
     
    154154    value, weight = zip(*pars) 
    155155    weight = [w if w else [1.] for w in weight] 
    156     value = [v.flatten() for v in meshgrid(*value)] 
    157156    weight = np.vstack([v.flatten() for v in meshgrid(*weight)]) 
    158157    weight = np.prod(weight, axis=0) 
     158    value = [v.flatten() for v in meshgrid(*value)] 
     159    lengths = [par.length for par in model_info.parameters.kernel_parameters 
     160               if par.type == 'volume'] 
     161    if any(n > 1 for n in lengths): 
     162        pars = [] 
     163        offset = 0 
     164        for n in lengths: 
     165            pars.append(np.vstack(value[offset:offset+n]) if n > 1 else value[offset]) 
     166            offset += n 
     167        value = pars 
    159168    return value, weight 
    160169 
Note: See TracChangeset for help on using the changeset viewer.