Changeset 3e428ec in sasmodels for sasmodels/models/spherepy.py


Ignore:
Timestamp:
Mar 9, 2015 1:14:03 PM (9 years ago)
Author:
Doucet, Mathieu <doucetm@…>
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:
ddfe69c
Parents:
485aee2
Message:

Cleaning up

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sasmodels/models/spherepy.py

    r3c56da87 r3e428ec  
    7373category = "shape:sphere" 
    7474 
    75 parameters = [ 
    76 #   [ "name", "units", default, [lower, upper], "type", 
    77 #     "description" ], 
    78     [ "sld", "1e-6/Ang^2", 1, [-inf,inf], "", 
    79       "Layer scattering length density" ], 
    80     [ "solvent_sld", "1e-6/Ang^2", 6, [-inf,inf], "", 
    81       "Solvent scattering length density" ], 
    82     [ "radius", "Ang",  50, [0, inf], "volume", 
    83       "Sphere radius" ], 
    84     ] 
     75#             ["name", "units", default, [lower, upper], "type","description"], 
     76parameters = [["sld", "1e-6/Ang^2", 1, [-inf, inf], "", 
     77               "Layer scattering length density"], 
     78              ["solvent_sld", "1e-6/Ang^2", 6, [-inf, inf], "", 
     79               "Solvent scattering length density"], 
     80              ["radius", "Ang", 50, [0, inf], "volume", 
     81               "Sphere radius"], 
     82             ] 
    8583 
    8684 
    8785def form_volume(radius): 
    88     return 1.333333333333333*pi*radius**3 
     86    return 1.333333333333333 * pi * radius ** 3 
    8987 
    9088def Iq(q, sld, solvent_sld, radius): 
    9189    #print "q",q 
    9290    #print "sld,r",sld,solvent_sld,radius 
    93     qr = q*radius 
     91    qr = q * radius 
    9492    sn, cn = sin(qr), cos(qr) 
    9593    # FOR VECTORIZED VERSION, UNCOMMENT THE NEXT TWO LINES 
    96     bes = 3 * (sn-qr*cn)/qr**3 # may be 0/0 but we fix that next line 
    97     bes[qr==0] = 1 
     94    bes = 3 * (sn - qr * cn) / qr ** 3 # may be 0/0 but we fix that next line 
     95    bes[qr == 0] = 1 
    9896    # FOR NON VECTORIZED VERSION, UNCOMMENT THE NEXT LINE 
    9997    #bes = 3 * (sn-qr*cn)/qr**3 if qr>0 else 1 
    10098    fq = bes * (sld - solvent_sld) * form_volume(radius) 
    101     return 1.0e-4*fq**2 
     99    return 1.0e-4 * fq ** 2 
    102100# FOR VECTORIZED VERSION, UNCOMMENT THE NEXT LINE 
    103101Iq.vectorized = True 
    104102 
    105103def Iqxy(qx, qy, sld, solvent_sld, radius): 
    106     return Iq(sqrt(qx**2 + qy**2), sld, solvent_sld, radius) 
     104    return Iq(sqrt(qx ** 2 + qy ** 2), sld, solvent_sld, radius) 
    107105Iqxy.vectorized = True 
    108106 
     
    113111    Wim Bouwman after formulae Timofei Kruglov J.Appl.Cryst. 2003 article 
    114112    """ 
    115     d = z/radius 
     113    d = z / radius 
    116114    g = np.zeros_like(z) 
    117     g[d==0] = 1. 
     115    g[d == 0] = 1. 
    118116    low = ((d > 0) & (d < 2)) 
    119117    dlow = d[low] 
    120     dlow2 = dlow**2 
    121     g[low] = sqrt(1-dlow2/4.)*(1+dlow2/8.) + dlow2/2.*(1-dlow2/16.)*log(dlow/(2.+sqrt(4.-dlow2))) 
     118    dlow2 = dlow ** 2 
     119    g[low] = sqrt(1 - dlow2 / 4.) * (1 + dlow2 / 8.) + dlow2 / 2.*(1 - dlow2 / 16.) * log(dlow / (2. + sqrt(4. - dlow2))) 
    122120    return g 
    123121sesans.vectorized = True 
     
    128126# VR defaults to 1.0 
    129127 
    130 demo = dict( 
    131     scale=1, background=0, 
    132     sld=6, solvent_sld=1, 
    133     radius=120, 
    134     radius_pd=.2, radius_pd_n=45, 
    135     ) 
     128demo = dict(scale=1, background=0, 
     129            sld=6, solvent_sld=1, 
     130            radius=120, 
     131            radius_pd=.2, radius_pd_n=45) 
    136132oldname = "SphereModel" 
    137133oldpars = dict(sld='sldSph', solvent_sld='sldSolv', radius='radius') 
Note: See TracChangeset for help on using the changeset viewer.