Changeset 9217ef8 in sasmodels for example


Ignore:
Timestamp:
Mar 21, 2016 10:35:54 AM (9 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:
3a45c2c
Parents:
95441ff
Message:

add data saving to sesansfit; nicer errors when parameters don't exist

Location:
example
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • example/sesans_parameters_sphere.py

    rfa902d4 r9217ef8  
    2727    "sld" : 7.0, 
    2828    "radius" : 1000, 
    29     "solvent_sld" : 1.0, 
     29    "sld_solvent" : 1.0, 
    3030} 
    3131 
  • example/sesansfit.py

    rfa902d4 r9217ef8  
    5454 
    5555    # Load custom parameters, initial values and parameter ranges 
     56    pars = model.parameters().copy() 
     57    pars.update(custom_params) 
    5658    for k, v in custom_params.items(): 
     59        if k not in pars: 
     60            par_error("Can't set parameter %r in model"%k, pars) 
    5761        setattr(model, k, v) 
    5862        model._parameter_names.append(k) 
    5963    for k, v in initial_vals.items(): 
    60         param = model.parameters().get(k) 
     64        if k not in pars: 
     65            par_error("Can't get parameter %r from model"%k, pars) 
     66        param = pars[k] 
    6167        param.value = v 
    6268    for k, v in param_range.items(): 
    63         param = model.parameters().get(k) 
    64         if param is not None: 
    65             param.range(*v) 
     69        if k not in pars: 
     70            par_error("Can't set range on parameter %r in model"%k, pars) 
     71        param = pars[k] 
     72        param.range(*v) 
    6673 
    6774    if False: # for future implementation 
     
    7380        problem = FitProblem(M_sesans) 
    7481    return problem 
     82 
     83 
     84def par_error(msg, pars): 
     85    raise ValueError(msg+"\nAvailable parameters: %s"%", ".join(sorted(pars.keys()))) 
Note: See TracChangeset for help on using the changeset viewer.