Changeset 4373d62 in sasmodels


Ignore:
Timestamp:
Mar 17, 2016 9:07:37 AM (8 years ago)
Author:
gonzalezm
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.
Message:

Merge branch 'master' of https://github.com/SasView/sasmodels

Files:
46 edited

Legend:

Unmodified
Added
Removed
  • sasmodels/compare.py

    rfcd7bbd rd6850fa  
    301301            pars['Phi'+c] /= total 
    302302 
    303 def parlist(pars): 
     303def parlist(model_info, pars, is2d): 
    304304    """ 
    305305    Format the parameter list for printing. 
    306306    """ 
    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 
    309313    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)) 
    324323    return "\n".join(lines) 
    325324 
     
    837836    constrain_new_to_old(model_info, pars) 
    838837    if opts['show_pars']: 
    839         print(str(parlist(pars))) 
     838        print(str(parlist(model_info, pars, opts['is2d']))) 
    840839 
    841840    # Create the computational engines 
  • doc/genmodel.py

    r70bbb74 raa2edb2  
    2525        'xscale'    : 'log', 
    2626        'yscale'    : 'log' if not info['structure_factor'] else 'linear', 
    27         'qmin'      : 0.005, 
     27        'qmin'      : 0.001, 
    2828        'qmax'      : 1.0, 
    2929        'nq'        : 1000, 
     
    6868fig = plt.figure() 
    6969ax = fig.add_subplot(1,1,1) 
    70 ax.plot(q, Iq1D, color='blue', lw=2, label=model_name) 
     70ax.plot(q, Iq1D, color='blue', lw=2, label=info['name']) 
    7171ax.set_xlabel(r'$Q \/(\AA^{-1})$') 
    7272ax.set_xscale(opts['xscale'])    
     
    101101    docstr = docstr1 + captionstr + docstr2 
    102102else: 
     103    print '------------------------------------------------------------------' 
    103104    print 'References NOT FOUND for model: ', model_name 
     105    print '------------------------------------------------------------------' 
    104106    docstr = docstr + captionstr 
    105107 
  • sasmodels/models/core_shell_parallelepiped.py

    r6dd90c1 raa2edb2  
    9292by the NIST Center for Neutron Research (Kline, 2006). 
    9393 
    94 REFERENCE 
     94References 
     95---------- 
    9596 
    9697P Mittelbach and G Porod, *Acta Physica Austriaca*, 14 (1961) 185-211 
  • sasmodels/models/core_shell_sphere.py

    r7d4b2ae raa2edb2  
    4242our model and the output of the NIST software. 
    4343 
    44 .. figure:: img/core_shell_sphere_1d.jpg 
    45  
    46     Comparison of the SasView scattering intensity for a core-shell sphere with 
    47     the output of the NIST SANS analysis software. The parameters were set to: 
    48     *scale* = 1.0, *radius* = 60 , *contrast* = 1e-6 |Ang^-2|, and 
    49     *background* = 0.001 |cm^-1|. 
    5044""" 
    5145 
  • sasmodels/models/correlation_length.py

    r6dd90c1 raa2edb2  
    2525    q = \sqrt{q_x^2 + q_y^2} 
    2626 
    27 .. figure:: img/correlation_length_1d.jpg 
     27References 
     28---------- 
    2829 
    29     1D plot using the default values (w/500 data points). 
    30  
    31 REFERENCE 
    3230B Hammouda, D L Ho and S R Kline, Insight into Clustering in 
    3331Poly(ethylene oxide) Solutions, Macromolecules, 37 (2004) 6932-6937 
  • sasmodels/models/cylinder.py

    r6dd90c1 raa2edb2  
    6060---------- 
    6161 
    62 Validation of our code was done by comparing the output of the 1D model 
     62Validation of the code was done by comparing the output of the 1D model 
    6363to 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 
     64The implementation of the intensity for fully oriented cylinders was done 
     65by averaging over a uniform distribution of orientations using 
    7966 
    8067.. math:: 
     
    8673where $p(\theta,\phi)$ is the probability distribution for the orientation 
    8774and $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. 
     75system, and then comparing to the 1D result. 
    9376 
    94 .. _cylinder-crosscheck: 
     77References 
     78---------- 
    9579 
    96 .. figure:: img/cylinder_crosscheck.jpg 
     80None 
    9781 
    98     Comparison of the intensity for uniformly distributed cylinders 
    99     calculated from our 2D model and the intensity from the NIST SANS 
    100     analysis software. 
    101     The parameters used were: *scale* = 1.0, *radius* = 20 |Ang|, 
    102     *length* = 400 |Ang|, *contrast* = 3e-6 |Ang^-2|, and 
    103     *background* = 0.0 |cm^-1|. 
    10482""" 
    10583 
  • sasmodels/models/dab.py

    r94bd809 raa2edb2  
    2626 
    2727.. math:: q = \sqrt{q_x^2 + q_y^2} 
    28  
    29 .. figure:: img/dab_1d.jpg 
    30  
    31    1D plot using the default values (w/200 data point). 
    3228 
    3329 
  • sasmodels/models/ellipsoid.py

    r2f0c07d raa2edb2  
    5959---------- 
    6060 
    61 Validation of our code was done by comparing the output of the 1D model 
     61Validation of the code was done by comparing the output of the 1D model 
    6262to the output of the software provided by the NIST (Kline, 2006). 
    63 :num:`Figure ellipsoid-comparison-1d` below shows a comparison of 
    64 the 1D output of our model and the output of the NIST software. 
    6563 
    66 .. _ellipsoid-comparison-1d: 
     64The implementation of the intensity for fully oriented ellipsoids was 
     65validated by averaging the 2D output using a uniform distribution 
     66$p(\theta,\phi) = 1.0$ and comparing with the output of the 1D calculation. 
    6767 
    68 .. figure:: img/ellipsoid_comparison_1d.jpg 
    69  
    70     Comparison of the SasView scattering intensity for an ellipsoid 
    71     with the output of the NIST SANS analysis software.  The parameters 
    72     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 the 
    77 equation above. Since we have no other software to compare the 
    78 implementation of the intensity for fully oriented ellipsoids, we can 
    79 compare the result of averaging our 2D output using a uniform distribution 
    80 $p(\theta,\phi) = 1.0$.  :num:`Figure #ellipsoid-comparison-2d` 
    81 shows the result of such a cross-check. 
    8268 
    8369.. _ellipsoid-comparison-2d: 
  • sasmodels/models/elliptical_cylinder.py

    r5111921 raa2edb2  
    6464---------- 
    6565 
    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). 
     66Validation of our code was done by comparing the output of the 1D calculation to the  
     67angular average of the output of the 2D calculation over all possible angles.  
    7068 
    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. 
     69In the 2D average, more binning in the angle |phi| is necessary to get the proper result.  
     70The following figure shows the results of the averaging by varying the number of angular bins. 
    7771 
    7872.. figure:: img/elliptical_cylinder_averaging.png 
  • sasmodels/models/flexible_cylinder.py

    re7678b2 raa2edb2  
    3434In the parameters, the sldCyl and sldSolv represent the SLD of the chain/cylinder 
    3535and solvent respectively. 
    36  
    37  
    38 .. figure:: img/flexible_cylinder_1d.jpg 
    39  
    40     1D plot using the default values (w/1000 data point). 
    41  
    4236 
    4337Our model uses the form factor calculations implemented in a c-library provided 
  • sasmodels/models/flexible_cylinder_ex.py

    re7678b2 raa2edb2  
    7070 
    7171**No inter-cylinder interference effects are included in this calculation.** 
    72  
    73 .. figure:: img/flexible_cylinder_ex_1d.jpg 
    74  
    75     1D plot using the default values (w/1000 data point). 
    7672 
    7773References 
  • sasmodels/models/fractal_core_shell.py

    r7d4b2ae raa2edb2  
    4343 
    4444    q = \sqrt{q_x^2 + q_y^2} 
    45  
    46 .. figure:: img/fractal_core_shell_1d.jpg 
    47  
    48     1D plot using the default values (w/500 data point). 
    4945 
    5046Reference 
  • sasmodels/models/fuzzy_sphere.py

    r8dca856 raa2edb2  
    4848 
    4949    q = \sqrt{{q_x}^2 + {q_y}^2} 
    50  
    51  
    52 .. figure:: img/fuzzy_sphere.jpg 
    53  
    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  
    5850 
    5951 
  • sasmodels/models/gauss_lorentz_gel.py

    r6dd90c1 raa2edb2  
    3232 
    3333    q = \sqrt{q_x^2 + q_y^2} 
    34  
    35  
    36 .. figure:: img/gauss_lorentz_gel_1d.jpg 
    37  
    38     1D plot using the default values (w/500 data point). 
    3934 
    4035 
  • sasmodels/models/gaussian_peak.py

    r13ed84c raa2edb2  
    2121    q = \sqrt{q_x^2 + q_y^2} 
    2222 
    23  
    24 .. figure:: img/gaussian_peak_1d.jpg 
    25  
    26     1D plot using the default values (w/500 data points). 
    2723 
    2824References 
  • sasmodels/models/gel_fit.py

    r6dd90c1 raa2edb2  
    3232~2.6 to 2.8. 
    3333 
    34  
    35 .. figure:: img/gel_fit_1d.png 
    36  
    37     1D plot using the default values (with 300 data points). 
    3834 
    3935Reference 
  • sasmodels/models/guinier_porod.py

    rfa8011eb raa2edb2  
    5050.. math:: 
    5151    q = \sqrt{q_x^2+q_y^2} 
    52  
    53 .. figure:: img/guinier_porod_model.jpg 
    54  
    55     Guinier-Porod model for $R_g=100$ |Ang|, $s=1$, $m=3$, and $background=0.1$. 
    5652 
    5753 
  • sasmodels/models/hardsphere.py

    rd529d93 raa2edb2  
    3535    q = \sqrt{q_x^2 + q_y^2} 
    3636 
    37  
    38 .. figure:: img/hardSphere_1d.jpg 
    39  
    40     1D plot using the default values (in linear scale). 
    4137 
    4238References 
  • sasmodels/models/hollow_rectangular_prism.py

    r6dd90c1 raa2edb2  
    7575of the 1D model to the curves shown in (Nayuk, 2012). 
    7676 
    77 REFERENCES 
     77 
     78References 
     79---------- 
    7880 
    7981R Nayuk and K Huber, *Z. Phys. Chem.*, 226 (2012) 837-854 
  • sasmodels/models/hollow_rectangular_prism_infinitely_thin_walls.py

    r6dd90c1 raa2edb2  
    6767of the 1D model to the curves shown in (Nayuk, 2012). 
    6868 
    69 REFERENCES 
     69 
     70References 
     71---------- 
    7072 
    7173R Nayuk and K Huber, *Z. Phys. Chem.*, 226 (2012) 837-854 
  • sasmodels/models/lamellar.py

    r348557a raa2edb2  
    2727 
    2828    q = \sqrt{q_x^2 + q_y^2} 
    29  
    30  
    31 .. figure:: img/lamellar_1d.jpg 
    32  
    33     1D plot using the default values (w/1000 data point). 
    3429 
    3530 
  • sasmodels/models/lamellarCaille.py

    rec2ca99 raa2edb2  
    6060    q = \sqrt{q_x^2 + q_y^2} 
    6161 
    62 .. figure:: img/lamellarCaille_1d.jpg 
    63  
    64     1D plot using the default values (w/6000 data point). 
    6562 
    6663References 
  • sasmodels/models/lamellarCailleHG.py

    r652a78a raa2edb2  
    6363    q = \sqrt{q_x^2 + q_y^2} 
    6464 
    65 .. figure:: img/lamellarCailleHG_1d.jpg 
    66  
    67     1D plot using the default values (w/6000 data point). 
    6865 
    6966References 
  • sasmodels/models/lamellarFFHG.py

    r3eb6b90 raa2edb2  
    3636    q = \sqrt{q_x^2 + q_y^2} 
    3737 
    38  
    39 .. figure:: img/lamellarFFHG_1d.jpg 
    40  
    41     1D plot using the default values (w/1000 data point). 
    4238 
    4339References 
  • sasmodels/models/lamellarPC.py

    r13ed84c raa2edb2  
    8484 
    8585 
    86 .. figure:: img/lamellarPC_1d.jpg 
    87  
    88     1D plot using the default values above (w/20000 data point). 
    89  
    9086Reference 
    9187--------- 
  • sasmodels/models/lorentz.py

    r6dd90c1 raa2edb2  
    1616.. math:: q=\sqrt{q_x^2 + q_y^2} 
    1717 
    18 .. figure:: img/lorentz_1d.jpg 
    19  
    20     1D plot using the default values (w/200 data point). 
    2118 
    2219References 
  • sasmodels/models/mass_fractal.py

    r6dd90c1 raa2edb2  
    4545    $q$ range (see the reference for details). 
    4646 
    47 .. figure:: img/mass_fractal_1d.jpg 
    48  
    49     1D plot using the default values. 
    5047 
    5148Reference 
  • sasmodels/models/mass_surface_fractal.py

    r6dd90c1 raa2edb2  
    4545    $(surface_dim + mass_dim ) < 6$ . 
    4646 
    47 .. figure:: img/mass_surface_fractal_1d.jpg 
    48  
    49     1D plot using the default values. 
    5047 
    5148Reference 
  • sasmodels/models/mono_gauss_coil.py

    r246517d raa2edb2  
    1414 
    1515     *I(q)* = *scale* |cdot| *I* \ :sub:`0` |cdot| *P(q)* + *background* 
    16  
     16          
    1717where 
    1818 
     
    2020 
    2121     *P(q)* = 2 [exp(-Z) + Z - 1] / Z \ :sup:`2` 
    22  
    23     *Z* = (*q R* \ :sub:`g`)\ :sup:`2` 
     22          
     23        *Z* = (*q R* \ :sub:`g`)\ :sup:`2` 
    2424 
    2525and 
    2626 
    27     *V* = *M* / (*N*\ :sub:`A` |delta|) 
    28  
     27        *V* = *M* / (*N*\ :sub:`A` |delta|) 
     28          
    2929Here, |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. 
    3030 
     
    5252description =  """ 
    5353    Evaluates the scattering from  
    54     monodisperse polymer chains. 
     54        monodisperse polymer chains. 
    5555    """ 
    5656category =  "shape-independent" 
    5757 
    5858#             ["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"]] 
     59parameters =  [["i_zero", "1/cm", 1.0, [-inf, inf], "", "Intensity at q=0"], 
     60               ["radius_gyration", "Ang", 50.0, [0.0, inf], "", "Radius of gyration"]] 
    6161 
    6262# NB: Scale and Background are implicit parameters on every model 
    6363def Iq(q, i_zero, radius_gyration): 
    6464    # pylint: disable = missing-docstring 
    65     z = (q * radius_gyration) * (q * radius_gyration) 
    66     if (q == 0).any(): 
    67        inten = i_zero 
     65    z = (q * radius_gyration) ** 2 
     66    if q == 0: 
     67       inten = 1.0 
    6868    else: 
    6969       inten = i_zero * 2.0 * (exp(-z) + z - 1.0 ) / (z * z) 
     
    7777 
    7878demo =  dict(scale = 1.0, 
    79             i_zero = 70.0, 
    80             radius_gyration = 75.0, 
     79            i_zero = 1.0, 
     80            radius_gyration = 50.0, 
    8181            background = 0.0) 
    8282 
     
    8787 
    8888tests =  [ 
    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]], 
    9191    ] 
  • sasmodels/models/parallelepiped.py

    r6dd90c1 raa2edb2  
    143143Validation of the code was done by comparing the output of the 1D calculation 
    144144to 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. 
     145angles.  
    155146 
    156147This model is based on form factor calculations implemented in a c-library 
    157148provided by the NIST Center for Neutron Research (Kline, 2006). 
     149 
     150References 
     151---------- 
     152 
     153None. 
    158154""" 
    159155 
  • sasmodels/models/peak_lorentz.py

    r04b0b30 raa2edb2  
    2121    q = \sqrt{q_x^2 + q_y^2} 
    2222 
    23  
    24 .. figure:: img/peak_lorentz_1d.jpg 
    25  
    26     1D plot using the default values (w/200 data point). 
    2723 
    2824References 
  • sasmodels/models/poly_gauss_coil.py

    r246517d raa2edb2  
    1414 
    1515     *I(q)* = *scale* |cdot| *I* \ :sub:`0` |cdot| *P(q)* + *background* 
    16  
     16          
    1717where 
    1818 
     
    2020 
    2121     *P(q)* = 2 [(1 + UZ)\ :sup:`-1/U` + Z - 1] / [(1 + U) Z\ :sup:`2`] 
    22  
    23     *Z* = [(*q R*\ :sub:`g`)\ :sup:`2`] / (1 + 2U) 
    24  
    25     *U* = (Mw / Mn) - 1 = (*polydispersity ratio*) - 1 
     22          
     23        *Z* = [(*q R*\ :sub:`g`)\ :sup:`2`] / (1 + 2U) 
     24          
     25        *U* = (Mw / Mn) - 1 = (*polydispersity ratio*) - 1 
    2626 
    2727and 
    2828 
    29     *V* = *M* / (*N*\ :sub:`A` |delta|) 
    30  
     29        *V* = *M* / (*N*\ :sub:`A` |delta|) 
     30          
    3131Here, |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. 
    3232 
     
    5757description =  """ 
    5858    Evaluates the scattering from  
    59     polydisperse polymer chains. 
     59        polydisperse polymer chains. 
    6060    """ 
    6161category =  "shape-independent" 
    6262 
    6363#             ["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"], 
     64parameters =  [["i_zero", "1/cm", 1.0, [-inf, inf], "", "Intensity at q=0"], 
     65               ["radius_gyration", "Ang", 50.0, [0.0, inf], "", "Radius of gyration"], 
    6666               ["polydispersity", "None", 2.0, [1.0, inf], "", "Polymer Mw/Mn"]] 
    6767 
     
    6969def Iq(q, i_zero, radius_gyration, polydispersity): 
    7070    # pylint: disable = missing-docstring 
    71     # need to trap the case of the polydispersity being 1 (ie, monodispersity) 
    7271    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 
    7578    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)) 
    8280    return inten 
    83 Iq.vectorized =  True # Iq accepts an array of q values 
     81#Iq.vectorized = True # Iq accepts an array of q values 
    8482 
    8583def Iqxy(qx, qy, *args): 
     
    8987 
    9088demo =  dict(scale = 1.0, 
    91             i_zero = 70.0, 
    92             radius_gyration = 75.0, 
     89            i_zero = 1.0, 
     90            radius_gyration = 50.0, 
    9391            polydispersity = 2.0, 
    9492            background = 0.0) 
     
    10199 
    102100tests =  [ 
    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]], 
    105103    ] 
  • sasmodels/models/polymer_excl_volume.py

    r6dd90c1 raa2edb2  
    8181 
    8282    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 values 
    86  
    87 .. figure:: img/polymer_excl_volume_1d.jpg 
    88  
    89     1D plot using the default values (w/500 data point). 
    9083 
    9184 
  • sasmodels/models/power_law.py

    rb15849c raa2edb2  
    2020combining this model with other models. 
    2121 
    22 .. figure:: img/power_law_1d.jpg 
    23  
    24     1D plot using the default values (w/200 data point). 
    2522 
    2623References 
  • sasmodels/models/rectangular_prism.py

    r6dd90c1 raa2edb2  
    7171to the output of the existing :ref:`parallelepiped` model. 
    7272 
    73 REFERENCES 
     73 
     74References 
     75---------- 
    7476 
    7577P Mittelbach and G Porod, *Acta Physica Austriaca*, 14 (1961) 185-211 
  • sasmodels/models/rpa.py

    r5cfda00 raa2edb2  
    4343component. 
    4444 
    45 .. figure:: img/rpa_1d.jpg 
    46  
    47     1D plot using the default values (w/500 data points). 
    4845 
    4946References 
  • sasmodels/models/sphere.py

    rad90df9 raa2edb2  
    3333Validation of our code was done by comparing the output of the 1D model 
    3434to the output of the software provided by the NIST (Kline, 2006). 
    35 Figure :num:`figure #sphere-comparison` shows a comparison of the output 
    36 of our model and the output of the NIST software. 
    37  
    38 .. _sphere-comparison: 
    39  
    40 .. figure:: img/sphere_comparison.jpg 
    41  
    42     Comparison of the DANSE scattering intensity for a sphere with the 
    43     output of the NIST SANS analysis software. The parameters were set to: 
    44     *scale* = 1.0, *radius* = 60 |Ang|, *contrast* = 1e-6 |Ang^-2|, and 
    45     *background* = 0.01 |cm^-1|. 
    4635 
    4736 
  • sasmodels/models/spherepy.py

    rd2950f4 raa2edb2  
    3333Validation of our code was done by comparing the output of the 1D model 
    3434to the output of the software provided by the NIST (Kline, 2006). 
    35 Figure :num:`figure #spherepy-comparison` shows a comparison of the output 
    36 of our model and the output of the NIST software. 
    37  
    38 .. _spherepy-comparison: 
    39  
    40 .. figure:: img/sphere_comparison.jpg 
    41  
    42     Comparison of the DANSE scattering intensity for a sphere with the 
    43     output of the NIST SANS analysis software. The parameters were set to: 
    44     *scale* = 1.0, *radius* = 60 |Ang|, *contrast* = 1e-6 |Ang^-2|, and 
    45     *background* = 0.01 |cm^-1|. 
    4635 
    4736 
  • sasmodels/models/star_polymer.py

    r6dd90c1 raa2edb2  
    2626 
    2727is the square of the ensemble average radius-of-gyration of an arm. 
    28  
    29 .. figure:: img/star_polymer_1d.jpg 
    30  
    31     1D plot using the default values. 
    3228 
    3329 
  • sasmodels/models/stickyhardsphere.py

    rd529d93 r0784c18  
    5959    q = \sqrt{q_x^2 + q_y^2} 
    6060 
    61 .. figure:: img/stickyhardsphere_1d.jpg 
    62  
    63     1D plot using the default values (in linear scale). 
    6461 
    6562References 
  • sasmodels/models/surface_fractal.py

    r6dd90c1 raa2edb2  
    4444    details) 
    4545 
    46  
    47 .. figure:: img/surface_fractal_1d.jpg 
    48  
    49     1D plot using the default values. 
    5046 
    5147Reference 
  • sasmodels/models/teubner_strey.py

    r6dd90c1 raa2edb2  
    3535    q = \sqrt{q_x^2 + q_y^2} 
    3636 
    37  
    38 .. figure:: img/teubner_strey_1d.jpg 
    39  
    40     1D plot using the default values (w/200 data point). 
    4137 
    4238References 
  • sasmodels/models/triaxial_ellipsoid.py

    r2f0c07d raa2edb2  
    64641D calculation to the angular average of the output of 2D calculation 
    6565over all possible angles. 
    66 :num:`Figure #triaxial-ellipsoid-comparison` shows the comparison where 
    67 the solid dot refers to averaged 2D while the line represents the 
    68 result of 1D calculation (for 2D averaging, 76, 180, and 76 points 
    69 are taken for the angles of $\theta$, $\phi$, and $\psi$ respectively). 
    7066 
    71 .. _triaxial-ellipsoid-comparison: 
    72  
    73 .. figure:: img/triaxial_ellipsoid_comparison.png 
    74  
    75     Comparison between 1D and averaged 2D. 
    7667 
    7768References 
  • sasmodels/models/two_lorentzian.py

    r168052c raa2edb2  
    2424    q = \sqrt{q_x^2 + q_y^2} 
    2525 
    26  
    27 .. figure:: img/two_lorentzian.jpg 
    28  
    29     1D plot using the default values (w/500 data point). 
    3026 
    3127References 
  • sasmodels/models/two_power_law.py

    r7e1d090 raa2edb2  
    3636    q = \sqrt{q_x^2 + q_y^2} 
    3737 
    38  
    39 .. figure:: img/two_power_law_1d.jpg 
    40  
    41     1D plot using the default values (with 500 data point). 
    4238 
    4339References 
  • sasmodels/models/vesicle.py

    r6dd90c1 raa2edb2  
    5050radius for *S(Q)* when *P(Q)* \* *S(Q)* is applied. 
    5151 
    52 .. figure:: img/vesicle_1d.jpg 
    5352 
    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 
     53References 
     54---------- 
    5955 
    6056A Guinier and G. Fournet, *Small-Angle Scattering of X-Rays*, John Wiley and 
Note: See TracChangeset for help on using the changeset viewer.