Changes in / [d24e390:0813a99] in sasmodels


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • example/fit.py

    rf4b36fa r1182da5  
    2424            % section) 
    2525data = radial_data if section != "tangential" else tan_data 
    26 theta = 89.9 if section != "tangential" else 0 
    27 phi = 90 
     26phi = 0 if section != "tangential" else 90 
    2827kernel = load_model(name, dtype="single") 
    2928cutoff = 1e-3 
     
    3130if name == "ellipsoid": 
    3231    model = Model(kernel, 
    33         scale=0.08, background=35, 
    34         radius_polar=15, radius_equatorial=800, 
     32        scale=0.08, 
     33        r_polar=15, r_equatorial=800, 
    3534        sld=.291, sld_solvent=7.105, 
    36         theta=theta, phi=phi, 
    37         theta_pd=0, theta_pd_n=0, theta_pd_nsigma=3, 
     35        background=0, 
     36        theta=90, phi=phi, 
     37        theta_pd=15, theta_pd_n=40, theta_pd_nsigma=3, 
     38        r_polar_pd=0.222296, r_polar_pd_n=1, r_polar_pd_nsigma=0, 
     39        r_equatorial_pd=.000128, r_equatorial_pd_n=1, r_equatorial_pd_nsigma=0, 
    3840        phi_pd=0, phi_pd_n=20, phi_pd_nsigma=3, 
    39         radius_polar_pd=0.222296, radius_polar_pd_n=1, radius_polar_pd_nsigma=0, 
    40         radius_equatorial_pd=.000128, radius_equatorial_pd_n=1, radius_equatorial_pd_nsigma=0, 
    4141        ) 
    4242 
     43 
    4344    # SET THE FITTING PARAMETERS 
    44     model.radius_polar.range(15, 1000) 
    45     model.radius_equatorial.range(15, 1000) 
    46     #model.theta.range(0, 90) 
    47     #model.theta_pd.range(0,10) 
    48     model.phi_pd.range(0,20) 
    49     model.phi.range(0, 180) 
     45    model.r_polar.range(15, 1000) 
     46    model.r_equatorial.range(15, 1000) 
     47    model.theta_pd.range(0, 360) 
    5048    model.background.range(0,1000) 
    5149    model.scale.range(0, 10) 
    5250 
    5351 
     52 
    5453elif name == "lamellar": 
    5554    model = Model(kernel, 
    56         scale=0.08, background=0.003, 
     55        scale=0.08, 
    5756        thickness=19.2946, 
    5857        sld=5.38,sld_sol=7.105, 
     58        background=0.003, 
    5959        thickness_pd= 0.37765, thickness_pd_n=10, thickness_pd_nsigma=3, 
    6060        ) 
     61 
    6162 
    6263    # SET THE FITTING PARAMETERS 
     
    7677        radius_pd=.0084, radius_pd_n=10, radius_pd_nsigma=3, 
    7778        length_pd=0.493, length_pd_n=10, length_pd_nsigma=3, 
    78         phi_pd=0, phi_pd_n=5 phi_pd_nsigma=3,) 
     79        phi_pd=0, phi_pd_n=5, phi_pd_nsigma=3,) 
    7980        """ 
    8081    pars = dict( 
    8182        scale=.01, background=35, 
    8283        sld=.291, sld_solvent=5.77, 
    83         radius=250, length=178, 
     84        radius=250, length=178,  
     85        theta=90, phi=phi, 
    8486        radius_pd=0.1, radius_pd_n=5, radius_pd_nsigma=3, 
    8587        length_pd=0.1,length_pd_n=5, length_pd_nsigma=3, 
    86         theta=theta, phi=phi, 
    87         theta_pd=0, theta_pd_n=0, theta_pd_nsigma=3, 
    88         phi_pd=10, phi_pd_n=20, phi_pd_nsigma=3) 
     88        theta_pd=10, theta_pd_n=50, theta_pd_nsigma=3, 
     89        phi_pd=0, phi_pd_n=10, phi_pd_nsigma=3) 
    8990    model = Model(kernel, **pars) 
    9091 
     
    9293    model.radius.range(1, 500) 
    9394    model.length.range(1, 5000) 
    94     #model.theta.range(0, 90) 
    95     model.phi.range(0, 180) 
    96     model.phi_pd.range(0, 30) 
     95    model.theta.range(-90,100) 
     96    model.theta_pd.range(0, 30) 
     97    model.theta_pd_n = model.theta_pd + 5 
    9798    model.radius_pd.range(0, 1) 
    98     model.length_pd.range(0, 1) 
     99    model.length_pd.range(0, 2) 
    99100    model.scale.range(0, 10) 
    100101    model.background.range(0, 100) 
     
    103104elif name == "core_shell_cylinder": 
    104105    model = Model(kernel, 
    105         scale= .031, background=0, 
    106         radius=19.5, thickness=30, length=22, 
    107         sld_core=7.105, sld_shell=.291, sld_solvent=7.105, 
     106        scale= .031, radius=19.5, thickness=30, length=22, 
     107        sld_core=7.105, sld_shell=.291, sdl_solvent=7.105, 
     108        background=0, theta=0, phi=phi, 
     109 
    108110        radius_pd=0.26, radius_pd_n=10, radius_pd_nsigma=3, 
    109111        length_pd=0.26, length_pd_n=10, length_pd_nsigma=3, 
    110112        thickness_pd=1, thickness_pd_n=1, thickness_pd_nsigma=1, 
    111         theta=theta, phi=phi, 
    112         theta_pd=1, theta_pd_n=1, theta_pd_nsigma=3, 
    113         phi_pd=0, phi_pd_n=20, phi_pd_nsigma=3, 
     113        theta_pd=1, theta_pd_n=10, theta_pd_nsigma=3, 
     114        phi_pd=0.1, phi_pd_n=1, phi_pd_nsigma=1, 
    114115        ) 
    115116 
    116117    # SET THE FITTING PARAMETERS 
    117     model.radius.range(115, 1000) 
    118     model.length.range(0, 2500) 
     118    #model.radius.range(115, 1000) 
     119    #model.length.range(0, 2500) 
    119120    #model.thickness.range(18, 38) 
    120121    #model.thickness_pd.range(0, 1) 
    121122    #model.phi.range(0, 90) 
    122     model.phi_pd.range(0,20) 
    123123    #model.radius_pd.range(0, 1) 
    124124    #model.length_pd.range(0, 1) 
     
    131131elif name == "capped_cylinder": 
    132132    model = Model(kernel, 
    133         scale=.08, background=35, 
    134         radius=20, cap_radius=40, length=400, 
     133        scale=.08, radius=20, cap_radius=40, length=400, 
    135134        sld=1, sld_solvent=6.3, 
     135        background=0, theta=0, phi=phi, 
    136136        radius_pd=.1, radius_pd_n=5, radius_pd_nsigma=3, 
    137137        cap_radius_pd=.1, cap_radius_pd_n=5, cap_radius_pd_nsigma=3, 
    138138        length_pd=.1, length_pd_n=1, length_pd_nsigma=0, 
    139         theta=theta, phi=phi, 
    140         theta_pd=0, theta_pd_n=1, theta_pd_nsigma=0, 
    141         phi_pd=10, phi_pd_n=20, phi_pd_nsigma=0, 
     139        theta_pd=.1, theta_pd_n=1, theta_pd_nsigma=0, 
     140        phi_pd=.1, phi_pd_n=1, phi_pd_nsigma=0, 
    142141        ) 
    143142 
    144     model.radius.range(115, 1000) 
    145     model.length.range(0, 2500) 
    146     #model.thickness.range(18, 38) 
    147     #model.thickness_pd.range(0, 1) 
    148     #model.phi.range(0, 90) 
    149     model.phi_pd.range(0,20) 
    150     #model.radius_pd.range(0, 1) 
    151     #model.length_pd.range(0, 1) 
    152     #model.theta_pd.range(0, 360) 
    153     #model.background.range(0,5) 
    154143    model.scale.range(0, 1) 
    155144 
     
    157146elif name == "triaxial_ellipsoid": 
    158147    model = Model(kernel, 
    159         scale=0.08, background=35, 
    160         radius_equat_minor=15, radius_equat_major=20, radius_polar=500, 
     148        scale=0.08, req_minor=15, req_major=20, rpolar=500, 
    161149        sld=7.105, solvent_sld=.291, 
    162         radius_equat_minor_pd=.1, radius_equat_minor_pd_n=1, radius_equat_minor_pd_nsigma=0, 
    163         radius_equat_major_pd=.1, radius_equat_major_pd_n=1, radius_equat_major_pd_nsigma=0, 
    164         radius_polar_pd=.1, radius_polar_pd_n=1, radius_polar_pd_nsigma=0, 
    165         theta=theta, phi=phi, psi=0, 
     150        background=5, theta=0, phi=phi, psi=0, 
    166151        theta_pd=20, theta_pd_n=40, theta_pd_nsigma=3, 
    167152        phi_pd=.1, phi_pd_n=1, phi_pd_nsigma=0, 
    168153        psi_pd=30, psi_pd_n=1, psi_pd_nsigma=0, 
     154        req_minor_pd=.1, req_minor_pd_n=1, req_minor_pd_nsigma=0, 
     155        req_major_pd=.1, req_major_pd_n=1, req_major_pd_nsigma=0, 
     156        rpolar_pd=.1, rpolar_pd_n=1, rpolar_pd_nsigma=0, 
    169157        ) 
    170158 
    171159    # SET THE FITTING PARAMETERS 
    172     model.radius_equat_minor.range(15, 1000) 
    173     model.radius_equat_major.range(15, 1000) 
    174     #model.radius_polar.range(15, 1000) 
     160    model.req_minor.range(15, 1000) 
     161    model.req_major.range(15, 1000) 
     162    #model.rpolar.range(15, 1000) 
    175163    #model.background.range(0,1000) 
    176164    #model.theta_pd.range(0, 360) 
     
    185173M = Experiment(data=data, model=model) 
    186174if section == "both": 
    187    tan_model = Model(model.sasmodel, **model.parameters()) 
     175   tan_model = Model(model.kernel, **model.parameters()) 
    188176   tan_model.phi = model.phi - 90 
    189177   tan_model.cutoff = cutoff 
Note: See TracChangeset for help on using the changeset viewer.