Changeset b3f6bc3 in sasmodels for sasmodels/models/spherepy.py


Ignore:
Timestamp:
Feb 15, 2015 2:07:00 PM (9 years ago)
Author:
pkienzle
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:
f786ff3
Parents:
cb6ecf4
Message:

support pure python model Iq/Iqxy?

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sasmodels/models/spherepy.py

    rbe802cb rb3f6bc3  
    8383 
    8484 
    85 # No volume normalization despite having a volume parameter 
    86 # This should perhaps be volume normalized? 
    8785def form_volume(radius): 
    88     return 1.333333333333333*pi*radius*radius*radius 
     86    return 1.333333333333333*pi*radius**3 
    8987 
    9088def Iq(q, sld, solvent_sld, radius): 
     89    #print "q",q 
     90    #print "sld,r",sld,solvent_sld,radius 
    9191    qr = q*radius 
    9292    sn, cn = sin(qr), cos(qr) 
    93     bes = 3 * (sn-qr*cn)/qr**3 
     93    # FOR VECTORIZED VERSION, UNCOMMENT THE NEXT TWO LINES 
     94    bes = 3 * (sn-qr*cn)/qr**3 # may be 0/0 but we fix that next line 
    9495    bes[qr==0] = 1 
     96    # FOR NON VECTORIZED VERSION, UNCOMMENT THE NEXT LINE 
     97    #bes = 3 * (sn-qr*cn)/qr**3 if qr>0 else 1 
    9598    fq = bes * (sld - solvent_sld) * form_volume(radius) 
    96     return 1.0e-4*fq*fq 
     99    return 1.0e-4*fq**2 
     100# FOR VECTORIZED VERSION, UNCOMMENT THE NEXT LINE 
     101Iq.vectorized = True 
    97102 
    98103def Iqxy(qx, qy, sld, solvent_sld, radius): 
    99104    return Iq(sqrt(qx**2 + qy**2), sld, solvent_sld, radius) 
     105Iqxy.vectorized = True 
    100106 
    101107def ER(radius): 
Note: See TracChangeset for help on using the changeset viewer.