source: sasmodels/example/sesansfit.py @ d6adfbe

core_shell_microgelscostrafo411magnetic_modelrelease_v0.94release_v0.95ticket-1257-vesicle-productticket_1156ticket_1265_superballticket_822_more_unit_tests
Last change on this file since d6adfbe was 9c117a2, checked in by jhbakker, 10 years ago

sesansfit and bump_model update to make bumps fitting work

  • Property mode set to 100644
File size: 1.9 KB
Line 
1import numpy as np
2from bumps.names import *
3
4from sasmodels import bumps_model as sas
5kernel = sas.load_model('sphere', dtype='single')
6#kernel = sas.load_model('triaxial_ellipsoid', dtype='single')
7
8
9if True: # fix when data loader exists
10#    from sas.dataloader.readers\
11    from sas.dataloader.loader import Loader
12    loader=Loader()
13    data=loader.load('testsasview1.ses')
14    data.x /=10
15   
16#    data = load_sesans('mydatfile.pz')
17#    sans_data = load_sans('mysansfile.xml')
18
19else:
20    SElength = np.linspace(0, 2400, 61) # [A]
21    data = np.ones_like(SElength)
22    err_data = np.ones_like(SElength)*0.03
23
24    class Sample:
25        zacceptance = 0.1 # [A^-1]
26        thickness = 0.2 # [cm]
27       
28    class SESANSData1D:
29        #q_zmax = 0.23 # [A^-1]
30        lam = 0.2 # [nm]
31        x = SElength
32        y = data
33        dy = err_data
34        sample = Sample()
35    data = SESANSData1D()
36
37radius = 1000
38data.Rmax = 3*radius # [A]
39
40##  Sphere parameters
41
42phi = Parameter(0.1, name="phi")
43model = sas.BumpsModel(data, kernel,
44    scale=phi*(1-phi), sld=7.0, solvent_sld=1.0, radius=radius)
45phi.range(0.001,0.90)
46#model.radius.pmp(40)
47model.radius.range(100,10000)
48#model.sld.pmp(5)
49#model.background
50#model.radius_pd=0
51#model.radius_pd_n=0
52
53if False: # have sans data
54    sansmodel = sas.BumpsModel(sans_data, kernel, **model.parameters())
55    problem = FitProblem([model, sansmodel])
56else:
57    problem = FitProblem(model)
58
59
60### Tri-Axial Ellipsoid
61#
62#phi = Parameter(0.1, name='phi')
63#model = sas.BumpsModel(data, kernel,
64#    scale=phi*(1-phi), sld=7.0, solvent_sld=1.0, radius=radius)
65#phi.range(0.001,0.90)
66##model.radius.pmp(40)
67#model.radius.range(100,10000)
68##model.sld.pmp(5)
69##model.background
70##model.radius_pd=0
71##model.radius_pd_n=0
72#
73#if False: # have sans data
74#    sansmodel = sas.BumpsModel(sans_data, kernel, **model.parameters())
75#    problem = FitProblem([model, sansmodel])
76#else:
77#    problem = FitProblem(model)
Note: See TracBrowser for help on using the repository browser.