Changeset 5b0335b in sasmodels for sasmodels/core.py


Ignore:
Timestamp:
Apr 4, 2016 9:36:11 AM (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:
68e7f9d
Parents:
885ee37 (diff), 204fd9b (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 remote-tracking branch 'origin/master' into polydisp

Conflicts:

sasmodels/core.py
sasmodels/models/spherical_sld.py

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sasmodels/core.py

    rfb5914f r5b0335b  
    22Core model handling routines. 
    33""" 
     4__all__ = [ 
     5    "list_models", "load_model_info", "precompile_dll", 
     6    "build_model", "make_kernel", "call_kernel", "call_ER_VR", 
     7    ] 
    48 
    59from os.path import basename, dirname, join as joinpath, splitext 
     
    3943        return module 
    4044 
    41  
    42  
    43 __all__ = [ 
    44     "list_models", "load_model_info", "precompile_dll", 
    45     "build_model", "call_kernel", "call_ER_VR", 
    46 ] 
     45try: 
     46    np.meshgrid([]) 
     47    meshgrid = np.meshgrid 
     48except ValueError: 
     49    # CRUFT: np.meshgrid requires multiple vectors 
     50    def meshgrid(*args): 
     51        if len(args) > 1: 
     52            return np.meshgrid(*args) 
     53        else: 
     54            return [np.asarray(v) for v in args] 
    4755 
    4856def list_models(): 
     
    9098        return product.make_product_info(P_info, Q_info) 
    9199 
    92     return make_model_by_name(model_name) 
    93  
    94  
    95 def make_model_by_name(model_name): 
     100    kernel_module = load_kernel_module(model_name) 
     101    return generate.make_model_info(kernel_module) 
     102 
     103 
     104def load_kernel_module(model_name): 
    96105    if model_name.endswith('.py'): 
    97106        path = model_name 
     
    106115        kernel_module = getattr(models, model_name, None) 
    107116    #import sys; print "\n".join(sys.path) 
    108     return generate.make_model_info(kernel_module) 
     117    __import__('sasmodels.models.'+model_name) 
     118    kernel_module = getattr(models, model_name, None) 
     119    return kernel_module 
    109120 
    110121 
     
    210221    """ 
    211222    value, weight = zip(*pars) 
    212     value = [v.flatten() for v in np.meshgrid(*value)] 
    213     weight = np.vstack([v.flatten() for v in np.meshgrid(*weight)]) 
     223    value = [v.flatten() for v in meshgrid(*value)] 
     224    weight = np.vstack([v.flatten() for v in meshgrid(*weight)]) 
    214225    weight = np.prod(weight, axis=0) 
    215226    return value, weight 
Note: See TracChangeset for help on using the changeset viewer.