Changeset 261658d in sasmodels for sasmodels


Ignore:
Timestamp:
Feb 19, 2015 4:43:07 PM (9 years ago)
Author:
richardh
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:
29f5536
Parents:
9cb1415 (diff), fd1c792 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of https://github.com/SasView/sasmodels

Location:
sasmodels
Files:
5 added
5 edited

Legend:

Unmodified
Added
Removed
  • sasmodels/bumps_model.py

    r62b3cb2 r8632a35  
    354354            #self._theory[:] = self._fn.eval(pars, pd_pars) 
    355355            if self.data_type == 'sesans': 
    356                 P = sesans.hankel(self.data.x, self.data.lam, 
     356                P = sesans.hankel(self.data.x, self.data.lam*1e-9, 
    357357                                  self.data.sample.thickness/10, self._fn_inputs[0], 
    358358                                  self._theory) 
  • sasmodels/convert.py

    ra503bfd rfd1c792  
    1313        for variant in ("", "_pd", "_pd_n", "_pd_nsigma", "_pd_type"): 
    1414            if old+variant in newpars: 
    15                 newpars[new+variant] = pars[old+variant] 
     15                if new is not None: 
     16                    newpars[new+variant] = pars[old+variant] 
    1617                del newpars[old+variant] 
    1718        # Sasview style parameter names 
    1819        for variant in (".width", ".nsigmas", ".type", ".npts"): 
    1920            if old+variant in newpars: 
    20                 newpars[new+variant] = pars[old+variant] 
     21                if new is not None: 
     22                    newpars[new+variant] = pars[old+variant] 
    2123                del newpars[old+variant] 
    2224    return newpars 
  • sasmodels/generate.py

    rff58110 rae7b97b  
    731731    info['limits'] = dict((p[0],p[3]) for p in info['parameters']) 
    732732    info['partype'] = categorize_parameters(info['parameters']) 
     733    info['defaults'] = dict((p[0],p[2]) for p in info['parameters']) 
    733734 
    734735    source = make_model(info) 
  • sasmodels/kernelpy.py

    rf786ff3 r6edb74a  
    8787        self.pd_pars = pd_pars 
    8888 
    89     def __call__(self, fixed, pd, cutoff): 
     89    def __call__(self, fixed, pd, cutoff=1e-5): 
    9090        #print "fixed",fixed 
    9191        #print "pd", pd 
     
    144144    ########################################################## 
    145145 
    146     # weight vector, to be populated by polydispersity loops 
    147146    weight = np.empty(len(pd), 'd') 
    148  
    149     # identify which pd parameters are volume parameters 
    150     vol_weight_index = np.array([(index in vol_index) for index in pd_index]) 
    151  
    152     # Sort parameters in decreasing order of pd length 
    153     Npd = np.array([len(pdi[0]) for pdi in pd], 'i') 
    154     order = np.argsort(Npd)[::-1] 
    155     stride = np.cumprod(Npd[order]) 
    156     pd = [pd[index] for index in order] 
    157     pd_index = pd_index[order] 
    158     vol_weight_index = vol_weight_index[order] 
    159  
    160     fast_value = pd[0][0] 
    161     fast_weight = pd[0][1] 
     147    if weight.size > 0: 
     148        # weight vector, to be populated by polydispersity loops 
     149 
     150        # identify which pd parameters are volume parameters 
     151        vol_weight_index = np.array([(index in vol_index) for index in pd_index]) 
     152 
     153        # Sort parameters in decreasing order of pd length 
     154        Npd = np.array([len(pdi[0]) for pdi in pd], 'i') 
     155        order = np.argsort(Npd)[::-1] 
     156        stride = np.cumprod(Npd[order]) 
     157        pd = [pd[index] for index in order] 
     158        pd_index = pd_index[order] 
     159        vol_weight_index = vol_weight_index[order] 
     160 
     161        fast_value = pd[0][0] 
     162        fast_weight = pd[0][1] 
     163    else: 
     164        stride = np.array([1]) 
     165        vol_weight_index = slice(None, None) 
    162166 
    163167    ret = np.zeros_like(args[0]) 
     
    169173        fast_index = k%stride[0] 
    170174        if fast_index == 0:  # bottom loop complete ... check all other loops 
    171             for i,index, in enumerate(k%stride): 
    172                 args[pd_index[i]] = pd[i][0][index] 
    173                 weight[i] = pd[i][1][index] 
     175            if weight.size > 0: 
     176                for i,index, in enumerate(k%stride): 
     177                    args[pd_index[i]] = pd[i][0][index] 
     178                    weight[i] = pd[i][1][index] 
    174179        else: 
    175180            args[pd_index[0]] = fast_value[fast_index] 
  • sasmodels/models/broad_peak.py

    r636adb6 rfd1c792  
    5151 
    5252import numpy as np 
    53 from numpy import pi, inf, sin, cos, sqrt, exp, log 
     53from numpy import pi, inf, sin, cos, sqrt, exp, log, fabs 
    5454 
    5555name = "broad_peak" 
     
    9292def Iq(q, porod_scale, porod_exp, lorentz_scale, lorentz_length, peak_pos, lorentz_exp): 
    9393    inten = porod_scale/pow(q,porod_exp) + lorentz_scale/(1.0 \ 
    94         + pow((math.fabs(q-peak_pos)*lorentz_length),lorentz_exp)) 
     94        + pow((fabs(q-peak_pos)*lorentz_length),lorentz_exp)) 
    9595    return inten   
    9696 
     
    113113oldpars = dict(porod_scale='scale_p', porod_exp='exponent_p',  
    114114        lorentz_scale='scale_l', lorentz_length='length_l', peak_pos='q_peak',  
    115         lorentz_exp='exponent_l') 
     115        lorentz_exp='exponent_l', scale=None) 
Note: See TracChangeset for help on using the changeset viewer.