Changeset 2de9a5e in sasmodels for Kernel-CapCyl.cpp


Ignore:
Timestamp:
Jul 11, 2014 2:47:47 PM (10 years ago)
Author:
HMP1 <helen.park@…>
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:
be5d7df
Parents:
8faffcd
Message:

Update for Aaron

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Kernel-CapCyl.cpp

    r8faffcd r2de9a5e  
    1 __kernel void CapCylinderKernel(__global const float *qx, __global const float *qy, __global float *__ptvalue, __global float *vol_i 
     1__kernel void CapCylinderKernel(__global const float *qx, __global const float *qy, __global float *_ptvalue, __global float *vol_i, 
    22const float rad_cyl, const float rad_cap, const float length, const float thet, const float ph, const float sub, 
    33const float scale, const float phi_weight, const float theta_float, const float rad_cap_weight, const float rad_cyl_weight, 
    4 const float length_weight, const int total, const int size) 
     4const float length_weight, const int total, const int size, __const float Gauss76Wt, __const float Gauss76Z) 
    55//ph is phi, sub is sldc-slds, thet is theta 
    66{ 
     
    88    if(i < total) 
    99    { 
    10         float q = sqrt(qx[i]*qx[i] + qy[i]*qy[i]) 
     10        float q = sqrt(qx[i]*qx[i] + qy[i]*qy[i]); 
    1111        float pi = 4.0*atan(1.0); 
    1212        float theta = thet*pi/180.0; 
     
    1616        float cos_val = cyl_x*qx[i]/q + cyl_y*qy[i]/q; 
    1717        float alpha = acos(cos_val); 
    18         float yyy=0; float ans1=0; float ans2=0; float y=0; float xx=0; float ans=0; float zij=0; float be=0 
     18        float yyy=0; float ans1=0; float ans2=0; float y=0; float xx=0; float ans=0; float zij=0; float be=0; float summj=0; 
    1919 
    2020        float hDist = -1.0*sqrt(fabs(rad_cap*rad_cap-rad_cyl*rad_cyl)); 
    21         vol_i[i] = pi*rad_cyl*rad_cyl*len_cyl+2.0*pi/3.0*((rad_cap-hDist)*(rad_cap-hDist)*(2*rad_cap+hDist)); 
     21        vol_i[i] = pi*rad_cyl*rad_cyl*length+2.0*pi/3.0*((rad_cap-hDist)*(rad_cap-hDist)*(2*rad_cap+hDist)); 
    2222        float vaj = -1.0*hDist/rad_cap; 
    2323 
    24         for(j=0;j<76;j++) //the 76 corresponds to the Gauss constants 
     24        for(int j=0;j<76;j++) //the 76 corresponds to the Gauss constants 
    2525        { 
    2626            zij = (Gauss76Z[j]*(1.0-vaj)+vaj+1.0)/2.0; 
     
    4545        } 
    4646        float answer=yyy*yyy*1.0e8*sub*sub*scale/pi*rad_cyl*rad_cyl*length+2.0*pi*(2.0*rad_cap*rad_cap*rad_cap/3.0+rad_cap*rad_cap*hDist-hDist*hDist*hDist/3.0); 
    47         answer/=sin(alpha) 
     47        answer/=sin(alpha); 
    4848 
    4949        _ptvalue[i] = rad_cyl_weight*length_weight*rad_cap_weight*theta_weight*phi_weight*vol_i[i]*answer 
Note: See TracChangeset for help on using the changeset viewer.