Changes in / [d24e390:0813a99] in sasmodels
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
example/fit.py
rf4b36fa r1182da5 24 24 % section) 25 25 data = radial_data if section != "tangential" else tan_data 26 theta = 89.9 if section != "tangential" else 0 27 phi = 90 26 phi = 0 if section != "tangential" else 90 28 27 kernel = load_model(name, dtype="single") 29 28 cutoff = 1e-3 … … 31 30 if name == "ellipsoid": 32 31 model = Model(kernel, 33 scale=0.08, background=35,34 r adius_polar=15, radius_equatorial=800,32 scale=0.08, 33 r_polar=15, r_equatorial=800, 35 34 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, 38 40 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,41 41 ) 42 42 43 43 44 # 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) 50 48 model.background.range(0,1000) 51 49 model.scale.range(0, 10) 52 50 53 51 52 54 53 elif name == "lamellar": 55 54 model = Model(kernel, 56 scale=0.08, background=0.003,55 scale=0.08, 57 56 thickness=19.2946, 58 57 sld=5.38,sld_sol=7.105, 58 background=0.003, 59 59 thickness_pd= 0.37765, thickness_pd_n=10, thickness_pd_nsigma=3, 60 60 ) 61 61 62 62 63 # SET THE FITTING PARAMETERS … … 76 77 radius_pd=.0084, radius_pd_n=10, radius_pd_nsigma=3, 77 78 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,) 79 80 """ 80 81 pars = dict( 81 82 scale=.01, background=35, 82 83 sld=.291, sld_solvent=5.77, 83 radius=250, length=178, 84 radius=250, length=178, 85 theta=90, phi=phi, 84 86 radius_pd=0.1, radius_pd_n=5, radius_pd_nsigma=3, 85 87 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) 89 90 model = Model(kernel, **pars) 90 91 … … 92 93 model.radius.range(1, 500) 93 94 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 97 98 model.radius_pd.range(0, 1) 98 model.length_pd.range(0, 1)99 model.length_pd.range(0, 2) 99 100 model.scale.range(0, 10) 100 101 model.background.range(0, 100) … … 103 104 elif name == "core_shell_cylinder": 104 105 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 108 110 radius_pd=0.26, radius_pd_n=10, radius_pd_nsigma=3, 109 111 length_pd=0.26, length_pd_n=10, length_pd_nsigma=3, 110 112 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, 114 115 ) 115 116 116 117 # 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) 119 120 #model.thickness.range(18, 38) 120 121 #model.thickness_pd.range(0, 1) 121 122 #model.phi.range(0, 90) 122 model.phi_pd.range(0,20)123 123 #model.radius_pd.range(0, 1) 124 124 #model.length_pd.range(0, 1) … … 131 131 elif name == "capped_cylinder": 132 132 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, 135 134 sld=1, sld_solvent=6.3, 135 background=0, theta=0, phi=phi, 136 136 radius_pd=.1, radius_pd_n=5, radius_pd_nsigma=3, 137 137 cap_radius_pd=.1, cap_radius_pd_n=5, cap_radius_pd_nsigma=3, 138 138 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, 142 141 ) 143 142 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)154 143 model.scale.range(0, 1) 155 144 … … 157 146 elif name == "triaxial_ellipsoid": 158 147 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, 161 149 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, 166 151 theta_pd=20, theta_pd_n=40, theta_pd_nsigma=3, 167 152 phi_pd=.1, phi_pd_n=1, phi_pd_nsigma=0, 168 153 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, 169 157 ) 170 158 171 159 # SET THE FITTING PARAMETERS 172 model.r adius_equat_minor.range(15, 1000)173 model.r adius_equat_major.range(15, 1000)174 #model.r adius_polar.range(15, 1000)160 model.req_minor.range(15, 1000) 161 model.req_major.range(15, 1000) 162 #model.rpolar.range(15, 1000) 175 163 #model.background.range(0,1000) 176 164 #model.theta_pd.range(0, 360) … … 185 173 M = Experiment(data=data, model=model) 186 174 if section == "both": 187 tan_model = Model(model. sasmodel, **model.parameters())175 tan_model = Model(model.kernel, **model.parameters()) 188 176 tan_model.phi = model.phi - 90 189 177 tan_model.cutoff = cutoff
Note: See TracChangeset
for help on using the changeset viewer.