Changes in / [22e922e:0edb6c1] in sasmodels


Ignore:
Location:
sasmodels
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • sasmodels/compare.py

    rd9ec8f9 r765eb0e  
    8888    -magnetic/-nonmagnetic* suppress magnetism 
    8989    -accuracy=Low accuracy of the resolution calculation Low, Mid, High, Xhigh 
     90    -neval=1 sets the number of evals for more accurate timing 
    9091 
    9192    === precision options === 
     
    10131014    'magnetic', 'nonmagnetic', 
    10141015    'accuracy=', 
     1016    'neval=',  # for timing... 
    10151017 
    10161018    # Precision options 
     
    10181020    'half', 'fast', 'single', 'double', 'single!', 'double!', 'quad!', 
    10191021    'sasview',  # TODO: remove sasview 3.x support 
    1020     'timing=', 
    10211022 
    10221023    # Output options 
     
    10681069 
    10691070    # Plug in values given in demo 
    1070     if use_demo: 
     1071    if use_demo and model_info.demo: 
    10711072        pars.update(model_info.demo) 
    10721073    return pars 
  • sasmodels/mixture.py

    r31ae428 r765eb0e  
    3232    # Build new parameter list 
    3333    combined_pars = [] 
    34     demo = {} 
    3534 
    3635    model_num = 0 
     
    116115                p.length_control = prefix + p.length_control 
    117116            combined_pars.append(p) 
    118         demo.update((prefix+k, v) for k, v in part.demo.items() 
    119                     if k != "background") 
    120     #print("pars",combined_pars) 
    121117    parameters = ParameterTable(combined_pars) 
    122118    parameters.max_pd = sum(part.parameters.max_pd for part in parts) 
     119 
     120    def random(): 
     121        combined_pars = {} 
     122        for k, part in enumerate(parts): 
     123            prefix = chr(ord('A')+k) + '_' 
     124            pars = part.random() 
     125            combined_pars.update((prefix+k, v) for k, v in pars.items()) 
     126        return combined_pars 
    123127 
    124128    model_info = ModelInfo() 
     
    132136    model_info.category = "custom" 
    133137    model_info.parameters = parameters 
     138    model_info.random = random 
    134139    #model_info.single = any(part['single'] for part in parts) 
    135140    model_info.structure_factor = False 
     
    140145    # Remember the component info blocks so we can build the model 
    141146    model_info.composition = ('mixture', parts) 
    142     model_info.demo = demo 
    143147    return model_info 
    144148 
     
    149153        self.info = model_info 
    150154        self.parts = parts 
     155        self.dtype = parts[0].dtype 
    151156 
    152157    def make_kernel(self, q_vectors): 
  • sasmodels/models/spherical_sld.py

    r63a7fe8 r2ad5d30  
    1818Interface shapes are as follows:: 
    1919 
    20     0: erf(|nu|*z) 
    21     1: Rpow(z^|nu|) 
    22     2: Lpow(z^|nu|) 
    23     3: Rexp(-|nu|z) 
    24     4: Lexp(-|nu|z) 
     20    0: erf($\nu z$) 
     21    1: Rpow($z^\nu$) 
     22    2: Lpow($z^\nu$) 
     23    3: Rexp($-\nu z$) 
     24    4: Lexp($-\nu z$) 
    2525 
    2626Definition 
  • sasmodels/product.py

    r6a5ccfb r765eb0e  
    6868    translate_name = dict((old.id, new.id) for old, new 
    6969                          in zip(s_pars.kernel_parameters[1:], s_list)) 
    70     demo = {} 
    71     demo.update(p_info.demo.items()) 
    72     demo.update((translate_name[k], v) for k, v in s_info.demo.items() 
    73                 if k not in ("background", "scale") and not k.startswith(ER_ID)) 
    7470    combined_pars = p_pars.kernel_parameters + s_list 
    7571    parameters = ParameterTable(combined_pars) 
    7672    parameters.max_pd = p_pars.max_pd + s_pars.max_pd 
     73    def random(): 
     74        combined_pars = p_info.random() 
     75        s_names = set(par.id for par in s_pars.kernel_parameters[1:]) 
     76        s = s_info.random() 
     77        combined_pars.update((translate_name[k], v) 
     78                    for k, v in s_info.random().items() 
     79                    if k in s_names) 
     80        return combined_pars 
    7781 
    7882    model_info = ModelInfo() 
     
    8589    model_info.category = "custom" 
    8690    model_info.parameters = parameters 
     91    model_info.random = random 
    8792    #model_info.single = p_info.single and s_info.single 
    8893    model_info.structure_factor = False 
     
    95100    # TODO: delegate random to p_info, s_info 
    96101    #model_info.random = lambda: {} 
    97     model_info.demo = demo 
    98  
    99     ## Show the parameter table with the demo values 
     102 
     103    ## Show the parameter table 
    100104    #from .compare import get_pars, parlist 
    101105    #print("==== %s ====="%model_info.name) 
    102     #values = get_pars(model_info, use_demo=True) 
     106    #values = get_pars(model_info) 
    103107    #print(parlist(model_info, values, is2d=True)) 
    104108    return model_info 
     
    126130        self.P = P 
    127131        self.S = S 
     132        self.dtype = P.dtype 
    128133 
    129134    def make_kernel(self, q_vectors): 
Note: See TracChangeset for help on using the changeset viewer.