Changeset f1ecfa92 in sasmodels


Ignore:
Timestamp:
Feb 20, 2015 7:38:00 AM (9 years ago)
Author:
ajj
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:
6ea6902
Parents:
4c8f9cd
Message:

towards fixing the 'models with no polydispersity' problem

Location:
sasmodels
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • sasmodels/bumps_model.py

    r29f5536 rf1ecfa92  
    348348                self._fn = self.model(input) 
    349349 
    350             pars = [getattr(self,p).value for p in self._fn.fixed_pars] 
     350            fixed_pars = [getattr(self,p).value for p in self._fn.fixed_pars] 
    351351            pd_pars = [self._get_weights(p) for p in self._fn.pd_pars] 
    352             #print pars 
    353             self._theory[self.index] = self._fn(pars, pd_pars, self.cutoff) 
     352            #print fixed_pars,pd_pars 
     353            self._theory[self.index] = self._fn(fixed_pars, pd_pars, self.cutoff) 
    354354            #self._theory[:] = self._fn.eval(pars, pd_pars) 
    355355            if self.data_type == 'sesans': 
  • sasmodels/generate.py

    r2a74b99 rf1ecfa92  
    549549        weights = [p+"_w" for p in pd_pars] 
    550550        sasview_spherical = "" 
     551    weight_product = "*".join(weights) if len(weights) > 1 else "1.0" 
    551552    subst = { 
    552         'weight_product': "*".join(weights), 
     553        'weight_product': weight_product, 
    553554        'volume_norm': volume_norm, 
    554555        'fn': fn, 
     
    574575 
    575576    # Finally, put the pieces together in the kernel. 
     577    pd_length = "+".join('N'+p for p in pd_pars) if len(pd_pars) > 0 else "0" 
    576578    subst = { 
    577579        # kernel name is, e.g., cylinder_Iq 
     
    582584        'par_decl': par_decl, 
    583585        # to copy global to local pd pars we need, e.g., Nradius+Nlength 
    584         'pd_length': "+".join('N'+p for p in pd_pars), 
     586        'pd_length': pd_length, 
    585587        # the q initializers, e.g., double qi = q[i]; 
    586588        'qinit': q_pars['qinit'], 
  • sasmodels/kernelcl.py

    r676351f rf1ecfa92  
    353353        fixed = [real(p) for p in pars] 
    354354        cutoff = real(cutoff) 
    355         loops = np.hstack(pd_pars) 
     355        loops = np.hstack(pd_pars) if pd_pars else np.empty(0,dtype=self.input.dtype) 
    356356        loops = np.ascontiguousarray(loops.T, self.input.dtype).flatten() 
    357357        Nloops = [np.uint32(len(p[0])) for p in pd_pars] 
Note: See TracChangeset for help on using the changeset viewer.