Ignore:
Timestamp:
Mar 1, 2010 1:57:12 PM (12 years ago)
Author:
srkline
Message:

incorporating Jae-Hie's changes to the library functions to explicitly handle the cases at qr==0. Also a lot of changes to explicitly declare constant values as floating point, rather than chance the interpretation as integer. (probably not necessary)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sans/XOP_Dev/SANSAnalysis/lib/libStructureFactor.c

    r356 r632  
    146146        eta2 = eta*eta; 
    147147        eta3 = eta*eta2; 
    148         eta4 = eta*eta3;       
    149         etam1 = 1. - eta;  
     148        eta4 = eta*eta3; 
     149        etam1 = 1. - eta; 
    150150        etam14 = etam1*etam1*etam1*etam1; 
    151151        alpha = (  pow((1. + 2.*eta),2) + eta3*( eta-4.0 )  )/etam14; 
     
    187187        pi = 4.0*atan(1.); 
    188188        QQ= q; 
    189          
    190         diam=dp[0];             //in   
     189 
     190        diam=dp[0];             //in A 
    191191        zz = dp[1];             //# of charges 
    192         VolFrac=dp[2];   
     192        VolFrac=dp[2]; 
    193193        Temp=dp[3];             //in degrees Kelvin 
    194194        csalt=dp[4];            //in molarity 
     
    391391        d = 1.0-reta; 
    392392        d2 = d*d; 
    393         dak = d/rak;                                                   
     393        dak = d/rak; 
    394394        dd2 = 1.0/d2; 
    395395        dd4 = dd2*dd2; 
     
    659659         
    660660        pi = 4.0*atan(1.0); 
    661          
     661        if (rcyl == 0 || hcyl == 0) { 
     662                return 0.0; 
     663        } 
    662664        a = rcyl; 
    663665        b = hcyl/2.0; 
     
    682684         
    683685        double ee,e1,bd,b1,bL,b2,del,ddd,diam; 
    684          
     686 
     687        if (aa == 0 || bb == 0) { 
     688                return 0.0; 
     689        } 
     690        if (aa == bb) { 
     691                return 2.0*aa; 
     692        } 
    685693        if(aa>bb) { 
    686694                ee = (aa*aa - bb*bb)/(aa*aa); 
Note: See TracChangeset for help on using the changeset viewer.