source: sasmodels/fit.py @ a42fec0

core_shell_microgelscostrafo411magnetic_modelrelease_v0.94release_v0.95ticket-1257-vesicle-productticket_1156ticket_1265_superballticket_822_more_unit_tests
Last change on this file since a42fec0 was a42fec0, checked in by HMP1 <helen.park@…>, 11 years ago

Speed-up of 3X, compare.py working

  • Property mode set to 100644
File size: 5.3 KB
Line 
1#!/usr/bin/env python
2# -*- coding: utf-8 -*-
3
4from bumps.names import *
5from sasmodel import SasModel, load_data, set_beam_stop, set_half, set_top
6from Models.code_capcyl import GpuCapCylinder
7from Models.code_coreshellcyl import GpuCoreShellCylinder
8from Models.code_cylinder import GpuCylinder, OneDGpuCylinder
9from Models.code_ellipse import GpuEllipse
10from Models.code_lamellar import GpuLamellar
11from Models.code_triaxialellipse import GpuTriEllipse
12
13""" IMPORT THE DATA USED """
14#data = load_data('December/Tangential/Sector0/DEC07133.ABS')
15data = load_data('December/DEC07102.DAT')
16
17""" SET INNER BEAM STOP, OUTER RING, AND MASK HALF OF THE DATA """
18set_beam_stop(data, 0.00669)#, outer=0.025)
19set_top(data, -.018)
20#set_half(data, 'right')
21
22"""
23
24model = SasModel(data, OneDGpuCylinder,
25scale=0.0013,
26radius=105,
27length=1000,
28background=21,
29sldCyl=.291e-6,sldSolv=7.105e-6,
30radius_pd=0.1,radius_pd_n=10,radius_pd_nsigma=0,
31length_pd=0.1,length_pd_n=5,length_pd_nsigma=0,
32bolim=0.0,
33uplim=90) #bottom limit, upper limit of angle integral
34"""
35"""
36model = SasModel(data, GpuEllipse,
37scale=0.08,
38radius_a=15, radius_b=800,
39sldEll=.291e-6, sldSolv=7.105e-6,
40background=0,
41axis_theta=90, axis_phi=0,
42axis_theta_pd=15, axis_theta_pd_n=40, axis_theta_pd_nsigma=3,
43
44radius_a_pd=0.222296, radius_a_pd_n=1, radius_a_pd_nsigma=0,
45radius_b_pd=.000128, radius_b_pd_n=1, radius_b_pd_nsigma=0,
46axis_phi_pd=2.63698e-05, axis_phi_pd_n=20, axis_phi_pd_nsigma=0,
47dtype='float')
48
49
50# SET THE FITTING PARAMETERS
51model.radius_a.range(15, 1000)
52model.radius_b.range(15, 1000)
53#model.axis_theta_pd.range(0, 360)
54#model.background.range(0,1000)
55#model.scale.range(0, 1)
56"""
57
58"""
59model = SasModel(data, GpuLamellar,
60scale=0.08,
61bi_thick=19.2946,
62sld_bi=5.38e-6,sld_sol=7.105e-6,
63background=0.003,
64bi_thick_pd= 0.37765, bi_thick_pd_n=10, bi_thick_pd_nsigma=3,
65dtype='float')
66
67# SET THE FITTING PARAMETERS
68#model.bi_thick.range(0, 1000)
69#model.scale.range(0, 1)
70#model.bi_thick_pd.range(0, 1000)
71#model.background.range(0, 1000)
72model.sld_bi.range(0, 1)
73
74"""
75if 1:
76    model = SasModel(data, GpuCylinder,
77    scale=0.0104,
78    radius=92.5,
79    length=798.3,
80    sldCyl=.29e-6,
81    sldSolv=7.105e-6,
82    background=5,
83    cyl_theta=0,
84    cyl_phi=0,
85    cyl_theta_pd=22.11,
86    cyl_theta_pd_n=20,
87    cyl_theta_pd_nsigma=3,
88    radius_pd=.0084,
89    radius_pd_n=10,
90    radius_pd_nsigma=3,
91    length_pd=0.493,
92    length_pd_n=10,
93    length_pd_nsigma=3,
94    cyl_phi_pd=0,
95    cyl_phi_pd_n=1,
96    cyl_phi_pd_nsigma=3,
97    dtype='float')
98
99
100
101    # SET THE FITTING PARAMETERS
102    #model.radius.range(1, 500)
103    #model.length.range(1, 4000)
104    #model.cyl_theta.range(-90,100)
105    #model.cyl_theta_pd.range(0, 90)
106    #model.cyl_theta_pd_n = model.cyl_theta_pd + 5
107    #model.radius_pd.range(0, 90)
108    #model.length_pd.range(0, 90)
109    model.scale.range(0, 1)
110    #model.background.range(0, 100)
111    #model.sldCyl.range(0, 1)
112
113
114if 0:
115    model = SasModel(data, GpuCoreShellCylinder,
116                     scale= .00031, radius=19.5, thickness=30, length=22,
117                     core_sld=7.105e-6, shell_sld=.291e-6, solvent_sld=7.105e-6,
118                     background=0.2, axis_theta=0, axis_phi=0,
119
120                     radius_pd=0.26, radius_pd_n=10, radius_pd_nsigma=3,
121                     length_pd=0.26, length_pd_n=10, length_pd_nsigma=3,
122                     thickness_pd=1, thickness_pd_n=1, thickness_pd_nsigma=1,
123                     axis_theta_pd=1, axis_theta_pd_n=10, axis_theta_pd_nsigma=3,
124                     axis_phi_pd=0.1, axis_phi_pd_n=1, axis_phi_pd_nsigma=1,
125                     dtype='float')
126
127    # SET THE FITTING PARAMETERS
128    #model.radius.range(115, 1000)
129    #model.length.range(0, 2500)
130    #model.thickness.range(18, 38)
131    #model.thickness_pd.range(0, 1)
132    #model.axis_phi.range(0, 90)
133    #model.radius_pd.range(0, 1)
134    #model.length_pd.range(0, 1)
135    #model.axis_theta_pd.range(0, 360)
136    #model.background.range(0,5)
137    model.scale.range(0, 1)
138
139
140
141"""
142model = SasModel(data, GpuCapCylinder,
143                 scale=1, rad_cyl=20, rad_cap=40, length=400,
144                 sld_capcyl=1e-6, sld_solv=6.3e-6,
145                 background=0, theta=0, phi=0,
146                 rad_cyl_pd=.1, rad_cyl_pd_n=1, rad_cyl_pd_nsigma=0,
147                 rad_cap_pd=.1, rad_cap_pd_n=1, rad_cap_pd_nsigma=0,
148                 length_pd=.1, length_pd_n=1, length_pd_nsigma=0,
149                 theta_pd=.1, theta_pd_n=1, theta_pd_nsigma=0,
150                 phi_pd=.1, phi_pd_n=1, phi_pd_nsigma=0,
151                 dtype='float')
152
153model.scale.range(0, 1)
154
155"""
156"""
157model = SasModel(data, GpuTriEllipse,
158                 scale=0.08, axisA=15, axisB=20, axisC=500,
159                 sldEll=7.105e-6, sldSolv=.291e-6,
160                 background=5, theta=0, phi=0, psi=0,
161                 theta_pd=20, theta_pd_n=40, theta_pd_nsigma=3,
162                 phi_pd=.1, phi_pd_n=1, phi_pd_nsigma=0,
163                 psi_pd=30, psi_pd_n=1, psi_pd_nsigma=0,
164                 axisA_pd=.1, axisA_pd_n=1, axisA_pd_nsigma=0,
165                 axisB_pd=.1, axisB_pd_n=1, axisB_pd_nsigma=0,
166                 axisC_pd=.1, axisC_pd_n=1, axisC_pd_nsigma=0, dtype='float')
167
168# SET THE FITTING PARAMETERS
169model.axisA.range(15, 1000)
170model.axisB.range(15, 1000)
171#model.axisC.range(15, 1000)
172#model.background.range(0,1000)
173#model.theta_pd.range(0, 360)
174#model.phi_pd.range(0, 360)
175#model.psi_pd.range(0, 360)
176
177"""
178
179
180problem = FitProblem(model)
181
Note: See TracBrowser for help on using the repository browser.