Changeset 4373d62 in sasmodels
- Timestamp:
- Mar 17, 2016 7:07:37 AM (9 years ago)
- 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:
- 15bd6e7, 84db7a5, 528bd8c, 715bb83
- Parents:
- aa2edb2 (diff), d6850fa (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - Files:
-
- 46 edited
Legend:
- Unmodified
- Added
- Removed
-
sasmodels/compare.py
rfcd7bbd rd6850fa 301 301 pars['Phi'+c] /= total 302 302 303 def parlist( pars):303 def parlist(model_info, pars, is2d): 304 304 """ 305 305 Format the parameter list for printing. 306 306 """ 307 active = None 308 fields = {} 307 if is2d: 308 exclude = lambda n: False 309 else: 310 partype = model_info['partype'] 311 par1d = set(partype['fixed-1d']+partype['pd-1d']) 312 exclude = lambda n: n not in par1d 309 313 lines = [] 310 for k, v in sorted(pars.items()): 311 parts = k.split('_pd') 312 #print(k, active, parts) 313 if len(parts) == 1: 314 if active: lines.append(_format_par(active, **fields)) 315 active = k 316 fields = {'value': v} 317 else: 318 assert parts[0] == active 319 if parts[1]: 320 fields[parts[1][1:]] = v 321 else: 322 fields['pd'] = v 323 if active: lines.append(_format_par(active, **fields)) 314 for p in model_info['parameters']: 315 if exclude(p.name): continue 316 fields = dict( 317 value=pars.get(p.name, p.default), 318 pd=pars.get(p.name+"_pd", 0.), 319 n=int(pars.get(p.name+"_pd_n", 0)), 320 nsigma=pars.get(p.name+"_pd_nsgima", 3.), 321 type=pars.get(p.name+"_pd_type", 'gaussian')) 322 lines.append(_format_par(p.name, **fields)) 324 323 return "\n".join(lines) 325 324 … … 837 836 constrain_new_to_old(model_info, pars) 838 837 if opts['show_pars']: 839 print(str(parlist( pars)))838 print(str(parlist(model_info, pars, opts['is2d']))) 840 839 841 840 # Create the computational engines -
doc/genmodel.py
r70bbb74 raa2edb2 25 25 'xscale' : 'log', 26 26 'yscale' : 'log' if not info['structure_factor'] else 'linear', 27 'qmin' : 0.00 5,27 'qmin' : 0.001, 28 28 'qmax' : 1.0, 29 29 'nq' : 1000, … … 68 68 fig = plt.figure() 69 69 ax = fig.add_subplot(1,1,1) 70 ax.plot(q, Iq1D, color='blue', lw=2, label= model_name)70 ax.plot(q, Iq1D, color='blue', lw=2, label=info['name']) 71 71 ax.set_xlabel(r'$Q \/(\AA^{-1})$') 72 72 ax.set_xscale(opts['xscale']) … … 101 101 docstr = docstr1 + captionstr + docstr2 102 102 else: 103 print '------------------------------------------------------------------' 103 104 print 'References NOT FOUND for model: ', model_name 105 print '------------------------------------------------------------------' 104 106 docstr = docstr + captionstr 105 107 -
sasmodels/models/core_shell_parallelepiped.py
r6dd90c1 raa2edb2 92 92 by the NIST Center for Neutron Research (Kline, 2006). 93 93 94 REFERENCE 94 References 95 ---------- 95 96 96 97 P Mittelbach and G Porod, *Acta Physica Austriaca*, 14 (1961) 185-211 -
sasmodels/models/core_shell_sphere.py
r7d4b2ae raa2edb2 42 42 our model and the output of the NIST software. 43 43 44 .. figure:: img/core_shell_sphere_1d.jpg45 46 Comparison of the SasView scattering intensity for a core-shell sphere with47 the output of the NIST SANS analysis software. The parameters were set to:48 *scale* = 1.0, *radius* = 60 , *contrast* = 1e-6 |Ang^-2|, and49 *background* = 0.001 |cm^-1|.50 44 """ 51 45 -
sasmodels/models/correlation_length.py
r6dd90c1 raa2edb2 25 25 q = \sqrt{q_x^2 + q_y^2} 26 26 27 .. figure:: img/correlation_length_1d.jpg 27 References 28 ---------- 28 29 29 1D plot using the default values (w/500 data points).30 31 REFERENCE32 30 B Hammouda, D L Ho and S R Kline, Insight into Clustering in 33 31 Poly(ethylene oxide) Solutions, Macromolecules, 37 (2004) 6932-6937 -
sasmodels/models/cylinder.py
r6dd90c1 raa2edb2 60 60 ---------- 61 61 62 Validation of ourcode was done by comparing the output of the 1D model62 Validation of the code was done by comparing the output of the 1D model 63 63 to the output of the software provided by the NIST (Kline, 2006). 64 :num:`Figure #cylinder-compare` shows a comparison of 65 the 1D output of our model and the output of the NIST software. 66 67 .. _cylinder-compare: 68 69 .. figure:: img/cylinder_compare.jpg 70 71 Comparison of the SasView scattering intensity for a cylinder with the 72 output of the NIST SANS analysis software. 73 The parameters were set to: *scale* = 1.0, *radius* = 20 |Ang|, 74 *length* = 400 |Ang|, *contrast* = 3e-6 |Ang^-2|, and 75 *background* = 0.01 |cm^-1|. 76 77 In general, averaging over a distribution of orientations is done by 78 evaluating the following 64 The implementation of the intensity for fully oriented cylinders was done 65 by averaging over a uniform distribution of orientations using 79 66 80 67 .. math:: … … 86 73 where $p(\theta,\phi)$ is the probability distribution for the orientation 87 74 and $P_0(q,\alpha)$ is the scattering intensity for the fully oriented 88 system. Since we have no other software to compare the implementation of 89 the intensity for fully oriented cylinders, we can compare the result of 90 averaging our 2D output using a uniform distribution $p(\theta, \phi) = 1.0$. 91 :num:`Figure #cylinder-crosscheck` shows the result of 92 such a cross-check. 75 system, and then comparing to the 1D result. 93 76 94 .. _cylinder-crosscheck: 77 References 78 ---------- 95 79 96 .. figure:: img/cylinder_crosscheck.jpg 80 None 97 81 98 Comparison of the intensity for uniformly distributed cylinders99 calculated from our 2D model and the intensity from the NIST SANS100 analysis software.101 The parameters used were: *scale* = 1.0, *radius* = 20 |Ang|,102 *length* = 400 |Ang|, *contrast* = 3e-6 |Ang^-2|, and103 *background* = 0.0 |cm^-1|.104 82 """ 105 83 -
sasmodels/models/dab.py
r94bd809 raa2edb2 26 26 27 27 .. math:: q = \sqrt{q_x^2 + q_y^2} 28 29 .. figure:: img/dab_1d.jpg30 31 1D plot using the default values (w/200 data point).32 28 33 29 -
sasmodels/models/ellipsoid.py
r2f0c07d raa2edb2 59 59 ---------- 60 60 61 Validation of ourcode was done by comparing the output of the 1D model61 Validation of the code was done by comparing the output of the 1D model 62 62 to the output of the software provided by the NIST (Kline, 2006). 63 :num:`Figure ellipsoid-comparison-1d` below shows a comparison of64 the 1D output of our model and the output of the NIST software.65 63 66 .. _ellipsoid-comparison-1d: 64 The implementation of the intensity for fully oriented ellipsoids was 65 validated by averaging the 2D output using a uniform distribution 66 $p(\theta,\phi) = 1.0$ and comparing with the output of the 1D calculation. 67 67 68 .. figure:: img/ellipsoid_comparison_1d.jpg69 70 Comparison of the SasView scattering intensity for an ellipsoid71 with the output of the NIST SANS analysis software. The parameters72 were set to: *scale* = 1.0, *rpolar* = 20 |Ang|,73 *requatorial* =400 |Ang|, *contrast* = 3e-6 |Ang^-2|,74 and *background* = 0.01 |cm^-1|.75 76 Averaging over a distribution of orientation is done by evaluating the77 equation above. Since we have no other software to compare the78 implementation of the intensity for fully oriented ellipsoids, we can79 compare the result of averaging our 2D output using a uniform distribution80 $p(\theta,\phi) = 1.0$. :num:`Figure #ellipsoid-comparison-2d`81 shows the result of such a cross-check.82 68 83 69 .. _ellipsoid-comparison-2d: -
sasmodels/models/elliptical_cylinder.py
r5111921 raa2edb2 64 64 ---------- 65 65 66 Validation of our code was done by comparing the output of the 1D calculation to the angular average of the output of 67 the 2D calculation over all possible angles. The figure below shows the comparison where the solid dot refers to 68 averaged 2D values while the line represents the result of the 1D calculation (for the 2D averaging, values of 76, 180, 69 and 76 degrees are taken for the angles of |theta|, |phi|, and |bigpsi| respectively). 66 Validation of our code was done by comparing the output of the 1D calculation to the 67 angular average of the output of the 2D calculation over all possible angles. 70 68 71 .. figure:: img/elliptical_cylinder_validation_1d.png 72 73 Comparison between 1D and averaged 2D. 74 75 In the 2D average, more binning in the angle |phi| is necessary to get the proper result. The following figure shows 76 the results of the averaging by varying the number of angular bins. 69 In the 2D average, more binning in the angle |phi| is necessary to get the proper result. 70 The following figure shows the results of the averaging by varying the number of angular bins. 77 71 78 72 .. figure:: img/elliptical_cylinder_averaging.png -
sasmodels/models/flexible_cylinder.py
re7678b2 raa2edb2 34 34 In the parameters, the sldCyl and sldSolv represent the SLD of the chain/cylinder 35 35 and solvent respectively. 36 37 38 .. figure:: img/flexible_cylinder_1d.jpg39 40 1D plot using the default values (w/1000 data point).41 42 36 43 37 Our model uses the form factor calculations implemented in a c-library provided -
sasmodels/models/flexible_cylinder_ex.py
re7678b2 raa2edb2 70 70 71 71 **No inter-cylinder interference effects are included in this calculation.** 72 73 .. figure:: img/flexible_cylinder_ex_1d.jpg74 75 1D plot using the default values (w/1000 data point).76 72 77 73 References -
sasmodels/models/fractal_core_shell.py
r7d4b2ae raa2edb2 43 43 44 44 q = \sqrt{q_x^2 + q_y^2} 45 46 .. figure:: img/fractal_core_shell_1d.jpg47 48 1D plot using the default values (w/500 data point).49 45 50 46 Reference -
sasmodels/models/fuzzy_sphere.py
r8dca856 raa2edb2 48 48 49 49 q = \sqrt{{q_x}^2 + {q_y}^2} 50 51 52 .. figure:: img/fuzzy_sphere.jpg53 54 This example dataset is produced by running the FuzzySphereModel,55 using 200 data points, *qmin* = 0.001 -1,56 *qmax* = 0.7 |Ang^-1|, background = 0.001 |cm^-1| and the default values.57 58 50 59 51 -
sasmodels/models/gauss_lorentz_gel.py
r6dd90c1 raa2edb2 32 32 33 33 q = \sqrt{q_x^2 + q_y^2} 34 35 36 .. figure:: img/gauss_lorentz_gel_1d.jpg37 38 1D plot using the default values (w/500 data point).39 34 40 35 -
sasmodels/models/gaussian_peak.py
r13ed84c raa2edb2 21 21 q = \sqrt{q_x^2 + q_y^2} 22 22 23 24 .. figure:: img/gaussian_peak_1d.jpg25 26 1D plot using the default values (w/500 data points).27 23 28 24 References -
sasmodels/models/gel_fit.py
r6dd90c1 raa2edb2 32 32 ~2.6 to 2.8. 33 33 34 35 .. figure:: img/gel_fit_1d.png36 37 1D plot using the default values (with 300 data points).38 34 39 35 Reference -
sasmodels/models/guinier_porod.py
rfa8011eb raa2edb2 50 50 .. math:: 51 51 q = \sqrt{q_x^2+q_y^2} 52 53 .. figure:: img/guinier_porod_model.jpg54 55 Guinier-Porod model for $R_g=100$ |Ang|, $s=1$, $m=3$, and $background=0.1$.56 52 57 53 -
sasmodels/models/hardsphere.py
rd529d93 raa2edb2 35 35 q = \sqrt{q_x^2 + q_y^2} 36 36 37 38 .. figure:: img/hardSphere_1d.jpg39 40 1D plot using the default values (in linear scale).41 37 42 38 References -
sasmodels/models/hollow_rectangular_prism.py
r6dd90c1 raa2edb2 75 75 of the 1D model to the curves shown in (Nayuk, 2012). 76 76 77 REFERENCES 77 78 References 79 ---------- 78 80 79 81 R Nayuk and K Huber, *Z. Phys. Chem.*, 226 (2012) 837-854 -
sasmodels/models/hollow_rectangular_prism_infinitely_thin_walls.py
r6dd90c1 raa2edb2 67 67 of the 1D model to the curves shown in (Nayuk, 2012). 68 68 69 REFERENCES 69 70 References 71 ---------- 70 72 71 73 R Nayuk and K Huber, *Z. Phys. Chem.*, 226 (2012) 837-854 -
sasmodels/models/lamellar.py
r348557a raa2edb2 27 27 28 28 q = \sqrt{q_x^2 + q_y^2} 29 30 31 .. figure:: img/lamellar_1d.jpg32 33 1D plot using the default values (w/1000 data point).34 29 35 30 -
sasmodels/models/lamellarCaille.py
rec2ca99 raa2edb2 60 60 q = \sqrt{q_x^2 + q_y^2} 61 61 62 .. figure:: img/lamellarCaille_1d.jpg63 64 1D plot using the default values (w/6000 data point).65 62 66 63 References -
sasmodels/models/lamellarCailleHG.py
r652a78a raa2edb2 63 63 q = \sqrt{q_x^2 + q_y^2} 64 64 65 .. figure:: img/lamellarCailleHG_1d.jpg66 67 1D plot using the default values (w/6000 data point).68 65 69 66 References -
sasmodels/models/lamellarFFHG.py
r3eb6b90 raa2edb2 36 36 q = \sqrt{q_x^2 + q_y^2} 37 37 38 39 .. figure:: img/lamellarFFHG_1d.jpg40 41 1D plot using the default values (w/1000 data point).42 38 43 39 References -
sasmodels/models/lamellarPC.py
r13ed84c raa2edb2 84 84 85 85 86 .. figure:: img/lamellarPC_1d.jpg87 88 1D plot using the default values above (w/20000 data point).89 90 86 Reference 91 87 --------- -
sasmodels/models/lorentz.py
r6dd90c1 raa2edb2 16 16 .. math:: q=\sqrt{q_x^2 + q_y^2} 17 17 18 .. figure:: img/lorentz_1d.jpg19 20 1D plot using the default values (w/200 data point).21 18 22 19 References -
sasmodels/models/mass_fractal.py
r6dd90c1 raa2edb2 45 45 $q$ range (see the reference for details). 46 46 47 .. figure:: img/mass_fractal_1d.jpg48 49 1D plot using the default values.50 47 51 48 Reference -
sasmodels/models/mass_surface_fractal.py
r6dd90c1 raa2edb2 45 45 $(surface_dim + mass_dim ) < 6$ . 46 46 47 .. figure:: img/mass_surface_fractal_1d.jpg48 49 1D plot using the default values.50 47 51 48 Reference -
sasmodels/models/mono_gauss_coil.py
r246517d raa2edb2 14 14 15 15 *I(q)* = *scale* |cdot| *I* \ :sub:`0` |cdot| *P(q)* + *background* 16 16 17 17 where 18 18 … … 20 20 21 21 *P(q)* = 2 [exp(-Z) + Z - 1] / Z \ :sup:`2` 22 23 22 23 *Z* = (*q R* \ :sub:`g`)\ :sup:`2` 24 24 25 25 and 26 26 27 28 27 *V* = *M* / (*N*\ :sub:`A` |delta|) 28 29 29 Here, |phi|\ :sub:`poly` is the volume fraction of polymer, *V* is the volume of a polymer coil, *M* is the molecular weight of the polymer, *N*\ :sub:`A` is Avogadro's Number, |delta| is the bulk density of the polymer, |rho|\ :sub:`poly` is the sld of the polymer, |rho|\ :sub:`solv` is the sld of the solvent, and *R*\ :sub:`g` is the radius of gyration of the polymer coil. 30 30 … … 52 52 description = """ 53 53 Evaluates the scattering from 54 54 monodisperse polymer chains. 55 55 """ 56 56 category = "shape-independent" 57 57 58 58 # ["name", "units", default, [lower, upper], "type", "description"], 59 parameters = [["i_zero", "1/cm", 70.0, [0.0, inf], "", "Intensity at q=0"],60 ["radius_gyration", "Ang", 75.0, [0.0, inf], "", "Radius of gyration"]]59 parameters = [["i_zero", "1/cm", 1.0, [-inf, inf], "", "Intensity at q=0"], 60 ["radius_gyration", "Ang", 50.0, [0.0, inf], "", "Radius of gyration"]] 61 61 62 62 # NB: Scale and Background are implicit parameters on every model 63 63 def Iq(q, i_zero, radius_gyration): 64 64 # pylint: disable = missing-docstring 65 z = (q * radius_gyration) * (q * radius_gyration)66 if (q == 0).any():67 inten = i_zero65 z = (q * radius_gyration) ** 2 66 if q == 0: 67 inten = 1.0 68 68 else: 69 69 inten = i_zero * 2.0 * (exp(-z) + z - 1.0 ) / (z * z) … … 77 77 78 78 demo = dict(scale = 1.0, 79 i_zero = 70.0,80 radius_gyration = 75.0,79 i_zero = 1.0, 80 radius_gyration = 50.0, 81 81 background = 0.0) 82 82 … … 87 87 88 88 tests = [ 89 [{'scale': 70.0, 'radius_gyration': 75.0, 'background': 0.0},90 [0.0106939, 0.469418], [ 57.1241, 0.112859]],89 [{'scale': 1.0, 'radius_gyration': 50.0, 'background': 0.0}, 90 [0.0106939, 0.469418], [0.911141, 0.00362394]], 91 91 ] -
sasmodels/models/parallelepiped.py
r6dd90c1 raa2edb2 143 143 Validation of the code was done by comparing the output of the 1D calculation 144 144 to the angular average of the output of a 2D calculation over all possible 145 angles. The Figure below shows the comparison where the solid dot refers to 146 averaged 2D while the line represents the result of the 1D calculation (for 147 the averaging, 76, 180, 76 points are taken for the angles of $\theta$, 148 $\phi$, and $\Psi$ respectively). 149 150 .. _parallelepiped-compare: 151 152 .. figure:: img/parallelepiped_compare.png 153 154 Comparison between 1D and averaged 2D. 145 angles. 155 146 156 147 This model is based on form factor calculations implemented in a c-library 157 148 provided by the NIST Center for Neutron Research (Kline, 2006). 149 150 References 151 ---------- 152 153 None. 158 154 """ 159 155 -
sasmodels/models/peak_lorentz.py
r04b0b30 raa2edb2 21 21 q = \sqrt{q_x^2 + q_y^2} 22 22 23 24 .. figure:: img/peak_lorentz_1d.jpg25 26 1D plot using the default values (w/200 data point).27 23 28 24 References -
sasmodels/models/poly_gauss_coil.py
r246517d raa2edb2 14 14 15 15 *I(q)* = *scale* |cdot| *I* \ :sub:`0` |cdot| *P(q)* + *background* 16 16 17 17 where 18 18 … … 20 20 21 21 *P(q)* = 2 [(1 + UZ)\ :sup:`-1/U` + Z - 1] / [(1 + U) Z\ :sup:`2`] 22 23 24 25 22 23 *Z* = [(*q R*\ :sub:`g`)\ :sup:`2`] / (1 + 2U) 24 25 *U* = (Mw / Mn) - 1 = (*polydispersity ratio*) - 1 26 26 27 27 and 28 28 29 30 29 *V* = *M* / (*N*\ :sub:`A` |delta|) 30 31 31 Here, |phi|\ :sub:`poly`, is the volume fraction of polymer, *V* is the volume of a polymer coil, *M* is the molecular weight of the polymer, *N*\ :sub:`A` is Avogadro's Number, |delta| is the bulk density of the polymer, |rho|\ :sub:`poly` is the sld of the polymer, |rho|\ :sub:`solv` is the sld of the solvent, and *R*\ :sub:`g` is the radius of gyration of the polymer coil. 32 32 … … 57 57 description = """ 58 58 Evaluates the scattering from 59 59 polydisperse polymer chains. 60 60 """ 61 61 category = "shape-independent" 62 62 63 63 # ["name", "units", default, [lower, upper], "type", "description"], 64 parameters = [["i_zero", "1/cm", 70.0, [0.0, inf], "", "Intensity at q=0"],65 ["radius_gyration", "Ang", 75.0, [0.0, inf], "", "Radius of gyration"],64 parameters = [["i_zero", "1/cm", 1.0, [-inf, inf], "", "Intensity at q=0"], 65 ["radius_gyration", "Ang", 50.0, [0.0, inf], "", "Radius of gyration"], 66 66 ["polydispersity", "None", 2.0, [1.0, inf], "", "Polymer Mw/Mn"]] 67 67 … … 69 69 def Iq(q, i_zero, radius_gyration, polydispersity): 70 70 # pylint: disable = missing-docstring 71 # need to trap the case of the polydispersity being 1 (ie, monodispersity)72 71 u = polydispersity - 1.0 73 if polydispersity == 1: 74 minusoneonu = -1.0 / u 72 # TO DO 73 # should trap the case of polydispersity = 1 by switching to a taylor expansion 74 minusoneonu = -1.0 / u 75 z = (q * radius_gyration) ** 2 / (1.0 + 2.0 * u) 76 if q == 0: 77 inten = i_zero * 1.0 75 78 else: 76 minusoneonu = -1.0 / u 77 z = ((q * radius_gyration) * (q * radius_gyration)) / (1.0 + 2.0 * u) 78 if (q == 0).any(): 79 inten = i_zero 80 else: 81 inten = i_zero * 2.0 * (power((1.0 + u * z),minusoneonu) + z - 1.0 ) / ((1.0 + u) * (z * z)) 79 inten = i_zero * 2.0 * (power((1.0 + u * z),minusoneonu) + z - 1.0 ) / ((1.0 + u) * (z * z)) 82 80 return inten 83 Iq.vectorized = True# Iq accepts an array of q values81 #Iq.vectorized = True # Iq accepts an array of q values 84 82 85 83 def Iqxy(qx, qy, *args): … … 89 87 90 88 demo = dict(scale = 1.0, 91 i_zero = 70.0,92 radius_gyration = 75.0,89 i_zero = 1.0, 90 radius_gyration = 50.0, 93 91 polydispersity = 2.0, 94 92 background = 0.0) … … 101 99 102 100 tests = [ 103 [{'scale': 70.0, 'radius_gyration': 75.0, 'polydispersity': 2.0, 'background': 0.0},104 [0.0106939, 0.469418], [ 57.6405, 0.169016]],101 [{'scale': 1.0, 'radius_gyration': 50.0, 'polydispersity': 2.0, 'background': 0.0}, 102 [0.0106939, 0.469418], [0.912993, 0.0054163]], 105 103 ] -
sasmodels/models/polymer_excl_volume.py
r6dd90c1 raa2edb2 81 81 82 82 q = \sqrt{q_x^2 + q_y^2} 83 84 This example dataset is produced using 200 data points, $qmin=0.001Ang^{-1}$,85 $qmax=0.2Ang^{-1}$ and the default values86 87 .. figure:: img/polymer_excl_volume_1d.jpg88 89 1D plot using the default values (w/500 data point).90 83 91 84 -
sasmodels/models/power_law.py
rb15849c raa2edb2 20 20 combining this model with other models. 21 21 22 .. figure:: img/power_law_1d.jpg23 24 1D plot using the default values (w/200 data point).25 22 26 23 References -
sasmodels/models/rectangular_prism.py
r6dd90c1 raa2edb2 71 71 to the output of the existing :ref:`parallelepiped` model. 72 72 73 REFERENCES 73 74 References 75 ---------- 74 76 75 77 P Mittelbach and G Porod, *Acta Physica Austriaca*, 14 (1961) 185-211 -
sasmodels/models/rpa.py
r5cfda00 raa2edb2 43 43 component. 44 44 45 .. figure:: img/rpa_1d.jpg46 47 1D plot using the default values (w/500 data points).48 45 49 46 References -
sasmodels/models/sphere.py
rad90df9 raa2edb2 33 33 Validation of our code was done by comparing the output of the 1D model 34 34 to the output of the software provided by the NIST (Kline, 2006). 35 Figure :num:`figure #sphere-comparison` shows a comparison of the output36 of our model and the output of the NIST software.37 38 .. _sphere-comparison:39 40 .. figure:: img/sphere_comparison.jpg41 42 Comparison of the DANSE scattering intensity for a sphere with the43 output of the NIST SANS analysis software. The parameters were set to:44 *scale* = 1.0, *radius* = 60 |Ang|, *contrast* = 1e-6 |Ang^-2|, and45 *background* = 0.01 |cm^-1|.46 35 47 36 -
sasmodels/models/spherepy.py
rd2950f4 raa2edb2 33 33 Validation of our code was done by comparing the output of the 1D model 34 34 to the output of the software provided by the NIST (Kline, 2006). 35 Figure :num:`figure #spherepy-comparison` shows a comparison of the output36 of our model and the output of the NIST software.37 38 .. _spherepy-comparison:39 40 .. figure:: img/sphere_comparison.jpg41 42 Comparison of the DANSE scattering intensity for a sphere with the43 output of the NIST SANS analysis software. The parameters were set to:44 *scale* = 1.0, *radius* = 60 |Ang|, *contrast* = 1e-6 |Ang^-2|, and45 *background* = 0.01 |cm^-1|.46 35 47 36 -
sasmodels/models/star_polymer.py
r6dd90c1 raa2edb2 26 26 27 27 is the square of the ensemble average radius-of-gyration of an arm. 28 29 .. figure:: img/star_polymer_1d.jpg30 31 1D plot using the default values.32 28 33 29 -
sasmodels/models/stickyhardsphere.py
rd529d93 r0784c18 59 59 q = \sqrt{q_x^2 + q_y^2} 60 60 61 .. figure:: img/stickyhardsphere_1d.jpg62 63 1D plot using the default values (in linear scale).64 61 65 62 References -
sasmodels/models/surface_fractal.py
r6dd90c1 raa2edb2 44 44 details) 45 45 46 47 .. figure:: img/surface_fractal_1d.jpg48 49 1D plot using the default values.50 46 51 47 Reference -
sasmodels/models/teubner_strey.py
r6dd90c1 raa2edb2 35 35 q = \sqrt{q_x^2 + q_y^2} 36 36 37 38 .. figure:: img/teubner_strey_1d.jpg39 40 1D plot using the default values (w/200 data point).41 37 42 38 References -
sasmodels/models/triaxial_ellipsoid.py
r2f0c07d raa2edb2 64 64 1D calculation to the angular average of the output of 2D calculation 65 65 over all possible angles. 66 :num:`Figure #triaxial-ellipsoid-comparison` shows the comparison where67 the solid dot refers to averaged 2D while the line represents the68 result of 1D calculation (for 2D averaging, 76, 180, and 76 points69 are taken for the angles of $\theta$, $\phi$, and $\psi$ respectively).70 66 71 .. _triaxial-ellipsoid-comparison:72 73 .. figure:: img/triaxial_ellipsoid_comparison.png74 75 Comparison between 1D and averaged 2D.76 67 77 68 References -
sasmodels/models/two_lorentzian.py
r168052c raa2edb2 24 24 q = \sqrt{q_x^2 + q_y^2} 25 25 26 27 .. figure:: img/two_lorentzian.jpg28 29 1D plot using the default values (w/500 data point).30 26 31 27 References -
sasmodels/models/two_power_law.py
r7e1d090 raa2edb2 36 36 q = \sqrt{q_x^2 + q_y^2} 37 37 38 39 .. figure:: img/two_power_law_1d.jpg40 41 1D plot using the default values (with 500 data point).42 38 43 39 References -
sasmodels/models/vesicle.py
r6dd90c1 raa2edb2 50 50 radius for *S(Q)* when *P(Q)* \* *S(Q)* is applied. 51 51 52 .. figure:: img/vesicle_1d.jpg53 52 54 1D plot using the default values given in the table (w/200 data point). 55 Polydispersity and instrumental resolution normally will smear out most 56 of the rapidly oscillating features. 57 58 REFERENCE 53 References 54 ---------- 59 55 60 56 A Guinier and G. Fournet, *Small-Angle Scattering of X-Rays*, John Wiley and
Note: See TracChangeset
for help on using the changeset viewer.