Changes in / [c9fc873:4cdc4b1] in sasmodels
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/guide/pd/polydispersity.rst
r29afc50 rd712a0f 20 20 P(q) = \text{scale} \langle F^* F \rangle / V + \text{background} 21 21 22 where $F$ is the scattering amplitude and $\langle\cdot\rangle$ denotes an 23 average over the size distribution. 22 where $F$ is the scattering amplitude and $\langle\cdot\rangle$ denotes an 23 average over the size distribution $f(x; \bar x, \sigma)$, giving 24 25 .. math:: 26 27 P(q) = \frac{\text{scale}}{V} \int_\mathbb{R} 28 f(x; \bar x, \sigma) F^2(q, x)\, dx + \text{background} 24 29 25 30 Each distribution is characterized by a center value $\bar x$ or … … 41 46 with larger values of $N_\sigma$ required for heavier tailed distributions. 42 47 The scattering in general falls rapidly with $qr$ so the usual assumption 43 that $ G(r - 3\sigma_r)$ is tiny and therefore $f(r - 3\sigma_r)G(r - 3\sigma_r)$48 that $f(r - 3\sigma_r)$ is tiny and therefore $f(r - 3\sigma_r)f(r - 3\sigma_r)$ 44 49 will not contribute much to the average may not hold when particles are large. 45 50 This, too, will require increasing $N_\sigma$. … … 63 68 64 69 Additional distributions are under consideration. 70 71 .. note:: In 2009 IUPAC decided to introduce the new term 'dispersity' to replace 72 the term 'polydispersity' (see `Pure Appl. Chem., (2009), 81(2), 73 351-353 <http://media.iupac.org/publications/pac/2009/pdf/8102x0351.pdf>`_ 74 in order to make the terminology describing distributions of properties 75 unambiguous. Throughout the SasView documentation we continue to use the 76 term polydispersity because one of the consequences of the IUPAC change is 77 that orientational polydispersity would not meet their new criteria (which 78 requires dispersity to be dimensionless). 65 79 66 80 Suggested Applications -
sasmodels/compare.py
r65fbf7c r1e7b202a 107 107 -title="note" adds note to the plot title, after the model name 108 108 -weights shows weights plots for the polydisperse parameters 109 -profile shows the sld profile if the model has a plottable sld profile 109 110 110 111 === output options === … … 775 776 dim = base._kernel.dim 776 777 plot_weights(model_info, get_mesh(model_info, base_pars, dim=dim)) 778 if opts['show_profile']: 779 import pylab 780 base, comp = opts['engines'] 781 base_pars, comp_pars = opts['pars'] 782 have_base = base._kernel.info.profile is not None 783 have_comp = ( 784 comp is not None 785 and comp._kernel.info.profile is not None 786 and base_pars != comp_pars 787 ) 788 if have_base or have_comp: 789 pylab.figure() 790 if have_base: 791 plot_profile(base._kernel.info, **base_pars) 792 if have_comp: 793 plot_profile(comp._kernel.info, label='comp', **comp_pars) 794 pylab.legend() 777 795 if opts['plot']: 778 796 import matplotlib.pyplot as plt 779 797 plt.show() 780 798 return limits 799 800 def plot_profile(model_info, label='base', **args): 801 # type: (ModelInfo, List[Tuple[float, np.ndarray, np.ndarray]]) -> None 802 """ 803 Plot the profile returned by the model profile method. 804 805 *model_info* defines model parameters, etc. 806 807 *mesh* is a list of tuples containing (*value*, *dispersity*, *weights*) 808 for each parameter, where (*dispersity*, *weights*) pairs are the 809 distributions to be plotted. 810 """ 811 import pylab 812 813 args = dict((k, v) for k, v in args.items() 814 if "_pd" not in k 815 and ":" not in k 816 and k not in ("background", "scale", "theta", "phi", "psi")) 817 args = args.copy() 818 819 args.pop('scale', 1.) 820 args.pop('background', 0.) 821 z, rho = model_info.profile(**args) 822 #pylab.interactive(True) 823 pylab.plot(z, rho, '-', label=label) 824 pylab.grid(True) 825 #pylab.show() 826 827 781 828 782 829 def run_models(opts, verbose=False): … … 949 996 OPTIONS = [ 950 997 # Plotting 951 'plot', 'noplot', 'weights', 998 'plot', 'noplot', 999 'weights', 'profile', 952 1000 'linear', 'log', 'q4', 953 1001 'rel', 'abs', … … 1103 1151 'count' : '1', 1104 1152 'show_weights' : False, 1153 'show_profile' : False, 1105 1154 'sphere' : 0, 1106 1155 'ngauss' : '0', … … 1163 1212 elif arg == '-default': opts['use_demo'] = False 1164 1213 elif arg == '-weights': opts['show_weights'] = True 1214 elif arg == '-profile': opts['show_profile'] = True 1165 1215 elif arg == '-html': opts['html'] = True 1166 1216 elif arg == '-help': opts['html'] = True -
sasmodels/models/core_shell_sphere.py
r2d81cfe rdc76240 21 21 .. math:: 22 22 23 F ^2(q) = \frac{3}{V_s}\left[23 F(q) = \frac{3}{V_s}\left[ 24 24 V_c(\rho_c-\rho_s)\frac{\sin(qr_c)-qr_c\cos(qr_c)}{(qr_c)^3} + 25 25 V_s(\rho_s-\rho_\text{solv})\frac{\sin(qr_s)-qr_s\cos(qr_s)}{(qr_s)^3}
Note: See TracChangeset
for help on using the changeset viewer.