Changeset 2a0b2b1 in sasmodels for sasmodels/models/ellipsoid.c
- Timestamp:
- Apr 14, 2017 8:30:29 AM (7 years ago)
- Branches:
- master, core_shell_microgels, magnetic_model, ticket-1257-vesicle-product, ticket_1156, ticket_1265_superball, ticket_822_more_unit_tests
- Children:
- fdd56a1
- Parents:
- 9901384
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sasmodels/models/ellipsoid.c
r3b571ae r2a0b2b1 1 double form_volume(double radius_polar, double radius_equatorial); 2 double Iq(double q, double sld, double sld_solvent, double radius_polar, double radius_equatorial); 3 double Iqxy(double qx, double qy, double sld, double sld_solvent, 4 double radius_polar, double radius_equatorial, double theta, double phi); 5 6 double form_volume(double radius_polar, double radius_equatorial) 1 static double 2 form_volume(double radius_polar, double radius_equatorial) 7 3 { 8 4 return M_4PI_3*radius_polar*radius_equatorial*radius_equatorial; 9 5 } 10 6 11 double Iq(double q, 7 static double 8 Iq(double q, 12 9 double sld, 13 10 double sld_solvent, … … 41 38 } 42 39 43 double Iqxy(double qx, double qy, 40 static double 41 Iqxy(double qx, double qy, 44 42 double sld, 45 43 double sld_solvent, … … 51 49 double q, sin_alpha, cos_alpha; 52 50 ORIENT_SYMMETRIC(qx, qy, theta, phi, q, sin_alpha, cos_alpha); 53 const double r = sqrt(square(radius_equatorial*sin_alpha) 54 + square(radius_polar*cos_alpha)); 55 const double f = sas_3j1x_x(q*r); 51 const double qab = q*sin_alpha; 52 const double qc = q*cos_alpha; 53 54 const double qr = sqrt(square(radius_equatorial*qab) + square(radius_polar*qc)); 55 const double f = sas_3j1x_x(qr); 56 56 const double s = (sld - sld_solvent) * form_volume(radius_polar, radius_equatorial); 57 57 58 58 return 1.0e-4 * square(f * s); 59 59 } 60
Note: See TracChangeset
for help on using the changeset viewer.