Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • sasmodels/models/core_shell_bicelle_elliptical_belt_rough.c

    r82592da r74768cb  
    77        double length) 
    88{ 
    9     return M_PI*(  (r_minor + thick_rim)*(r_minor*x_core + thick_rim)* length +  
     9    return M_PI*(  (r_minor + thick_rim)*(r_minor*x_core + thick_rim)* length + 
    1010                 square(r_minor)*x_core*2.0*thick_face  ); 
    1111} 
     
    4747    //initialize integral 
    4848    double outer_sum = 0.0; 
    49     for(int i=0;i<76;i++) { 
     49    for(int i=0;i<GAUSS_N;i++) { 
    5050        //setup inner integral over the ellipsoidal cross-section 
    5151        // since we generate these lots of times, why not store them somewhere? 
    52         //const double cos_alpha = ( Gauss76Z[i]*(vb-va) + va + vb )/2.0; 
    53         const double cos_alpha = ( Gauss76Z[i] + 1.0 )/2.0; 
     52        //const double cos_alpha = ( GAUSS_Z[i]*(vb-va) + va + vb )/2.0; 
     53        const double cos_alpha = ( GAUSS_Z[i] + 1.0 )/2.0; 
    5454        const double sin_alpha = sqrt(1.0 - cos_alpha*cos_alpha); 
    5555        double inner_sum=0; 
     
    5858        si1 = sas_sinx_x(sinarg1); 
    5959        si2 = sas_sinx_x(sinarg2); 
    60         for(int j=0;j<76;j++) { 
     60        for(int j=0;j<GAUSS_N;j++) { 
    6161            //76 gauss points for the inner integral (WAS 20 points,so this may make unecessarily slow, but playing safe) 
    62             //const double beta = ( Gauss76Z[j]*(vbj-vaj) + vaj + vbj )/2.0; 
    63             const double beta = ( Gauss76Z[j] +1.0)*M_PI_2; 
     62            //const double beta = ( GAUSS_Z[j]*(vbj-vaj) + vaj + vbj )/2.0; 
     63            const double beta = ( GAUSS_Z[j] +1.0)*M_PI_2; 
    6464            const double rr = sqrt(r2A - r2B*cos(beta)); 
    6565            double besarg1 = q*rr*sin_alpha; 
     
    6767            be1 = sas_2J1x_x(besarg1); 
    6868            be2 = sas_2J1x_x(besarg2); 
    69             inner_sum += Gauss76Wt[j] *square(dr1*si1*be1 + 
     69            inner_sum += GAUSS_W[j] *square(dr1*si1*be1 + 
    7070                                              dr2*si1*be2 + 
    7171                                              dr3*si2*be1); 
    7272        } 
    7373        //now calculate outer integral 
    74         outer_sum += Gauss76Wt[i] * inner_sum; 
     74        outer_sum += GAUSS_W[i] * inner_sum; 
    7575    } 
    7676 
     
    9191          double sigma) 
    9292{ 
    93     // integrated 2d seems to match 1d reasonably well, except perhaps at very high Q 
     93    // THIS NEEDS TESTING 
    9494    // Vol1,2,3 and dr1,2,3 are now for Vcore, Vcore+rim, Vcore+face, 
    9595    const double dr1 = -rhor - rhoh + rhoc + rhosolv; 
     
    103103 
    104104    // Compute effective radius in rotated coordinates 
    105     const double qr_hat = sqrt(square(r_major*qb) + square(r_minor*qa)); 
     105    const double qr_hat = sqrt(square(r_major*qa) + square(r_minor*qb)); 
    106106    // does this need to be changed for the "missing corners" where there there is no "belt" ? 
    107     const double qrshell_hat = sqrt(square((r_major+thick_rim)*qb) 
    108                                    + square((r_minor+thick_rim)*qa)); 
     107    const double qrshell_hat = sqrt(square((r_major+thick_rim)*qa) 
     108                                   + square((r_minor+thick_rim)*qb)); 
    109109    const double be1 = sas_2J1x_x( qr_hat ); 
    110110    const double be2 = sas_2J1x_x( qrshell_hat ); 
Note: See TracChangeset for help on using the changeset viewer.