Changes in / [669bf21:f8da3f3] in sasmodels


Ignore:
Files:
3 added
3 deleted
10 edited

Legend:

Unmodified
Added
Removed
  • example/sesans_parameters_css-hs.py

    r3415f4f rca3abe6  
    2222# Initial parameter values (if other than defaults) 
    2323initial_vals = { 
    24     "sld_core" : 1.0592, 
     24    "sld_core" : 1.05, 
     25    "sld_shell" : 2.88*pen-0.05*(1-pen), 
    2526    "sld_solvent" : 2.88, 
    26     "radius" : 890, 
    27     "thickness" : 130 
     27    "radius" : 730, 
     28    "thickness" : 20, 
     29    "volfraction" : phi, 
     30    "scale" : (1-phi) 
    2831} 
    2932 
  • sasmodels/kernelcl.py

    rc094758 r8e0d974  
    426426        self._need_release = [self.loops_b, self.res_b, self.q_input] 
    427427 
    428     def __call__(self, fixed_pars, pd_pars, cutoff=1e-5): 
     428    def __call__(self, fixed_pars, pd_pars, cutoff): 
    429429        real = (np.float32 if self.q_input.dtype == generate.F32 
    430430                else np.float64 if self.q_input.dtype == generate.F64 
  • sasmodels/models/core_shell_sphere.py

    r3556ad7 r3f167d9  
    9191        @param thickness: shell thickness 
    9292    """ 
     93    return (1,1) 
    9394    whole = 4.0 * pi / 3.0 * pow((radius + thickness), 3) 
    9495    core = 4.0 * pi / 3.0 * radius * radius * radius 
  • sasmodels/models/hollow_rectangular_prism.py

    r43b7eea r3d8283b  
    8888title = "Hollow rectangular parallelepiped with uniform scattering length density." 
    8989description = """ 
    90     I(q)= scale*V*(sld - solvent_sld)^2*P(q,theta,phi)+background 
     90    I(q)= scale*V*(sld - sld_solvent)^2*P(q,theta,phi)+background 
    9191        P(q,theta,phi) = (2/pi/V^2) * double integral from 0 to pi/2 of ... 
    9292           (AP1-AP2)^2(q)*sin(theta)*dtheta*dphi 
     
    103103parameters = [["sld", "1e-6/Ang^2", 6.3, [-inf, inf], "", 
    104104               "Parallelepiped scattering length density"], 
    105               ["solvent_sld", "1e-6/Ang^2", 1, [-inf, inf], "", 
     105              ["sld_solvent", "1e-6/Ang^2", 1, [-inf, inf], "", 
    106106               "Solvent scattering length density"], 
    107107              ["a_side", "Ang", 35, [0, inf], "volume", 
     
    148148# parameters for demo 
    149149demo = dict(scale=1, background=0, 
    150             sld=6.3e-6, solvent_sld=1.0e-6, 
     150            sld=6.3e-6, sld_solvent=1.0e-6, 
    151151            a_side=35, b2a_ratio=1, c2a_ratio=1, thickness=1, 
    152152            a_side_pd=0.1, a_side_pd_n=10, 
     
    158158oldname = 'RectangularHollowPrismModel' 
    159159oldpars = dict(a_side='short_side', b2a_ratio='b2a_ratio', c_side='c2a_ratio', 
    160                thickness='thickness', sld='sldPipe', solvent_sld='sldSolv') 
     160               thickness='thickness', sld='sldPipe', sld_solvent='sldSolv') 
    161161 
    162162tests = [[{}, 0.2, 0.76687283098], 
  • sasmodels/models/parallelepiped.py

    r6ef4293 r76e5041  
    151151---------- 
    152152 
    153 None. 
     153P Mittelbach and G Porod, *Acta Physica Austriaca*, 14 (1961) 185-211 
     154 
     155R Nayuk and K Huber, *Z. Phys. Chem.*, 226 (2012) 837-854 
    154156""" 
    155157 
     
    160162title = "Rectangular parallelepiped with uniform scattering length density." 
    161163description = """ 
    162     I(q)= scale*V*(sld - solvent_sld)^2*P(q,alpha)+background 
     164    I(q)= scale*V*(sld - sld_solvent)^2*P(q,alpha)+background 
    163165        P(q,alpha) = integral from 0 to 1 of ... 
    164166           phi(mu*sqrt(1-sigma^2),a) * S(mu*c*sigma/2)^2 * dsigma 
     
    177179parameters = [["sld", "1e-6/Ang^2", 4, [-inf, inf], "", 
    178180               "Parallelepiped scattering length density"], 
    179               ["solvent_sld", "1e-6/Ang^2", 1, [-inf, inf], "", 
     181              ["sld_solvent", "1e-6/Ang^2", 1, [-inf, inf], "", 
    180182               "Solvent scattering length density"], 
    181183              ["a_side", "Ang", 35, [0, inf], "volume", 
     
    210212# parameters for demo 
    211213demo = dict(scale=1, background=0, 
    212             sld=6.3e-6, solvent_sld=1.0e-6, 
     214            sld=6.3e-6, sld_solvent=1.0e-6, 
    213215            a_side=35, b_side=75, c_side=400, 
    214216            theta=45, phi=30, psi=15, 
     
    225227oldpars = dict(theta='parallel_theta', phi='parallel_phi', psi='parallel_psi', 
    226228               a_side='short_a', b_side='short_b', c_side='long_c', 
    227                sld='sldPipe', solvent_sld='sldSolv') 
     229               sld='sldPipe', sld_solvent='sldSolv') 
    228230 
    229231 
  • sasmodels/models/rectangular_prism.py

    r43b7eea r76e5041  
    99The only difference is that the way the relevant 
    1010parameters are defined here (*a*, *b/a*, *c/a* instead of *a*, *b*, *c*) 
    11 allows to use polydispersity with this model while keeping the shape of 
     11which allows use of polydispersity with this model while keeping the shape of 
    1212the prism (e.g. setting *b/a* = 1 and *c/a* = 1 and applying polydispersity 
    1313to *a* will generate a distribution of cubes of different sizes). 
     
    8686title = "Rectangular parallelepiped with uniform scattering length density." 
    8787description = """ 
    88     I(q)= scale*V*(sld - solvent_sld)^2*P(q,theta,phi)+background 
     88    I(q)= scale*V*(sld - sld_solvent)^2*P(q,theta,phi)+background 
    8989        P(q,theta,phi) = (2/pi) * double integral from 0 to pi/2 of ... 
    9090           AP^2(q)*sin(theta)*dtheta*dphi 
     
    9797parameters = [["sld", "1e-6/Ang^2", 6.3, [-inf, inf], "", 
    9898               "Parallelepiped scattering length density"], 
    99               ["solvent_sld", "1e-6/Ang^2", 1, [-inf, inf], "", 
     99              ["sld_solvent", "1e-6/Ang^2", 1, [-inf, inf], "", 
    100100               "Solvent scattering length density"], 
    101101              ["a_side", "Ang", 35, [0, inf], "volume", 
     
    125125# parameters for demo 
    126126demo = dict(scale=1, background=0, 
    127             sld=6.3e-6, solvent_sld=1.0e-6, 
     127            sld=6.3e-6, sld_solvent=1.0e-6, 
    128128            a_side=35, b2a_ratio=1, c2a_ratio=1, 
    129129            a_side_pd=0.1, a_side_pd_n=10, 
     
    135135oldname = 'RectangularPrismModel' 
    136136oldpars = dict(a_side='short_side', b2a_ratio='b2a_ratio', c_side='c2a_ratio', 
    137                sld='sldPipe', solvent_sld='sldSolv') 
     137               sld='sldPipe', sld_solvent='sldSolv') 
    138138 
    139139tests = [[{}, 0.2, 0.375248406825], 
  • sasmodels/models/sphere.py

    raa2edb2 r49da079  
    1717where *scale* is a volume fraction, $V$ is the volume of the scatterer, 
    1818$r$ is the radius of the sphere, *background* is the background level and 
    19 *sld* and *solvent_sld* are the scattering length densities (SLDs) of the 
     19*sld* and *sld_solvent* are the scattering length densities (SLDs) of the 
    2020scatterer and the solvent respectively. 
    2121 
     
    4949title = "Spheres with uniform scattering length density" 
    5050description = """\ 
    51 P(q)=(scale/V)*[3V(sld-solvent_sld)*(sin(qr)-qr cos(qr)) 
     51P(q)=(scale/V)*[3V(sld-sld_solvent)*(sin(qr)-qr cos(qr)) 
    5252                /(qr)^3]^2 + background 
    5353    r: radius of sphere 
    5454    V: The volume of the scatter 
    5555    sld: the SLD of the sphere 
    56     solvent_sld: the SLD of the solvent 
     56    sld_solvent: the SLD of the solvent 
    5757""" 
    5858category = "shape:sphere" 
     
    6161parameters = [["sld", "1e-6/Ang^2", 1, [-inf, inf], "", 
    6262               "Layer scattering length density"], 
    63               ["solvent_sld", "1e-6/Ang^2", 6, [-inf, inf], "", 
     63              ["sld_solvent", "1e-6/Ang^2", 6, [-inf, inf], "", 
    6464               "Solvent scattering length density"], 
    6565              ["radius", "Ang", 50, [0, inf], "volume", 
     
    7676 
    7777Iq = """ 
    78     return sphere_form(q, radius, sld, solvent_sld); 
     78    return sphere_form(q, radius, sld, sld_solvent); 
    7979    """ 
    8080 
     
    8282    // never called since no orientation or magnetic parameters. 
    8383    //return -1.0; 
    84     return Iq(sqrt(qx*qx + qy*qy), sld, solvent_sld, radius); 
     84    return Iq(sqrt(qx*qx + qy*qy), sld, sld_solvent, radius); 
    8585    """ 
    8686 
     
    9494 
    9595demo = dict(scale=1, background=0, 
    96             sld=6, solvent_sld=1, 
     96            sld=6, sld_solvent=1, 
    9797            radius=120, 
    9898            radius_pd=.2, radius_pd_n=45) 
    9999oldname = "SphereModel" 
    100 oldpars = dict(sld='sldSph', solvent_sld='sldSolv', radius='radius') 
     100oldpars = dict(sld='sldSph', sld_solvent='sldSolv', radius='radius') 
  • sasmodels/models/triaxial_ellipsoid.py

    r6ef4293 r49da079  
    9191               "Solvent scattering length density"], 
    9292              ["req_minor", "Ang", 20, [0, inf], "volume", 
    93                "Minor equitorial radius"], 
     93               "Minor equatorial radius"], 
    9494              ["req_major", "Ang", 400, [0, inf], "volume", 
    9595               "Major equatorial radius"], 
  • sasmodels/product.py

    r72a081d r8e0d974  
    163163        s_pd[0] = [effect_radius], [1.0] 
    164164 
    165         p_res = self.p_kernel(p_fixed, p_pd) 
    166         s_res = self.s_kernel(s_fixed, s_pd) 
     165        p_res = self.p_kernel(p_fixed, p_pd, cutoff) 
     166        s_res = self.s_kernel(s_fixed, s_pd, cutoff) 
    167167        #print s_fixed, s_pd, p_fixed, p_pd 
    168168 
  • sasmodels/sesans.py

    rc94577f r2684d45  
    2929 
    3030    q_min = dq = 0.1 * 2*pi / Rmax 
    31     return np.arange(q_min, Converter("1/A")(q_max[0], units=q_max[1]), dq) 
     31    return np.arange(q_min, 
     32                     Converter(q_max[1])(q_max[0], 
     33                                         units="1/A"), 
     34                     dq) 
    3235     
    3336def make_all_q(data): 
     
    7578 
    7679def call_hankel(data, q_calc, Iq_calc): 
    77     return hankel(data.x, data.lam * 1e-9, 
    78                   data.sample.thickness / 10, 
     80    return hankel((data.x, data.x_unit), 
     81                  (data.lam, data.lam_unit), 
     82                  (data.sample.thickness, 
     83                   data.sample.thickness_unit), 
    7984                  q_calc, Iq_calc) 
    8085   
     
    182187    *I* [cm$^{-1}$] is the value of the SANS model at *q* 
    183188    """ 
     189 
     190    from sas.sascalc.data_util.nxsunit import Converter 
     191    wavelength = Converter(wavelength[1])(wavelength[0],"A") 
     192    thickness = Converter(thickness[1])(thickness[0],"A") 
     193    Iq = Converter("1/cm")(Iq,"1/A") # All models default to inverse centimeters 
     194    SElength = Converter(SElength[1])(SElength[0],"A") 
     195 
    184196    G = np.zeros_like(SElength, 'd') 
    185197#============================================================================== 
     
    192204 
    193205    # [m^-1] step size in q, needed for integration 
    194     dq = (q[1]-q[0])*1e10 
     206    dq = (q[1]-q[0]) 
    195207 
    196208    # integration step, convert q into [m**-1] and 2 pi circle integration 
    197     G *= dq*1e10*2*pi 
    198     G0 *= dq*1e10*2*pi 
     209    G *= dq*2*pi 
     210    G0 = np.sum(Iq*q)*dq*2*np.pi 
    199211 
    200212    P = exp(thickness*wavelength**2/(4*pi**2)*(G-G0)) 
Note: See TracChangeset for help on using the changeset viewer.