Changeset a807206 in sasmodels for sasmodels/models/triaxial_ellipsoid.c
- Timestamp:
- Oct 1, 2016 12:42:06 AM (8 years ago)
- 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:
- caddb14, 5031ca3
- Parents:
- 2222134
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sasmodels/models/triaxial_ellipsoid.c
r2f5c6d4 ra807206 1 double form_volume(double r eq_minor, double req_major, double rpolar);2 double Iq(double q, double sld, double s olvent_sld,3 double r eq_minor, double req_major, double rpolar);4 double Iqxy(double qx, double qy, double sld, double s olvent_sld,5 double r eq_minor, double req_major, double rpolar, double theta, double phi, double psi);1 double form_volume(double radius_equat_minor, double radius_equat_major, double radius_polar); 2 double Iq(double q, double sld, double sld_solvent, 3 double radius_equat_minor, double radius_equat_major, double radius_polar); 4 double Iqxy(double qx, double qy, double sld, double sld_solvent, 5 double radius_equat_minor, double radius_equat_major, double radius_polar, double theta, double phi, double psi); 6 6 7 //#define INVALID(v) (v.r eq_minor > v.req_major || v.req_major > v.rpolar)7 //#define INVALID(v) (v.radius_equat_minor > v.radius_equat_major || v.radius_equat_major > v.radius_polar) 8 8 9 9 10 double form_volume(double r eq_minor, double req_major, double rpolar)10 double form_volume(double radius_equat_minor, double radius_equat_major, double radius_polar) 11 11 { 12 return 1.333333333333333*M_PI*r eq_minor*req_major*rpolar;12 return 1.333333333333333*M_PI*radius_equat_minor*radius_equat_major*radius_polar; 13 13 } 14 14 15 15 double Iq(double q, 16 16 double sld, 17 double s olvent_sld,18 double r eq_minor,19 double r eq_major,20 double r polar)17 double sld_solvent, 18 double radius_equat_minor, 19 double radius_equat_major, 20 double radius_polar) 21 21 { 22 22 double sn, cn; … … 29 29 const double x = 0.5*(Gauss76Z[i] + 1.0); 30 30 SINCOS(M_PI_2*x, sn, cn); 31 const double acosx2 = r eq_minor*req_minor*cn*cn;32 const double bsinx2 = r eq_major*req_major*sn*sn;33 const double c2 = r polar*rpolar;31 const double acosx2 = radius_equat_minor*radius_equat_minor*cn*cn; 32 const double bsinx2 = radius_equat_major*radius_equat_major*sn*sn; 33 const double c2 = radius_polar*radius_polar; 34 34 35 35 double inner = 0.0; … … 44 44 // translate dx in [-1,1] to dx in [lower,upper] 45 45 const double fqsq = outer*zm; 46 const double s = (sld - s olvent_sld) * form_volume(req_minor, req_major, rpolar);46 const double s = (sld - sld_solvent) * form_volume(radius_equat_minor, radius_equat_major, radius_polar); 47 47 return 1.0e-4 * s * s * fqsq; 48 48 } … … 50 50 double Iqxy(double qx, double qy, 51 51 double sld, 52 double s olvent_sld,53 double r eq_minor,54 double r eq_major,55 double r polar,52 double sld_solvent, 53 double radius_equat_minor, 54 double radius_equat_major, 55 double radius_polar, 56 56 double theta, 57 57 double phi, … … 71 71 const double cnu = (-cphi*spsi*stheta + sphi*cpsi)*qxhat + spsi*ctheta*qyhat; 72 72 const double cmu = (-stheta*cpsi*cphi - spsi*sphi)*qxhat + ctheta*cpsi*qyhat; 73 const double t = q*sqrt(r eq_minor*req_minor*cnu*cnu74 + r eq_major*req_major*cmu*cmu75 + r polar*rpolar*calpha*calpha);73 const double t = q*sqrt(radius_equat_minor*radius_equat_minor*cnu*cnu 74 + radius_equat_major*radius_equat_major*cmu*cmu 75 + radius_polar*radius_polar*calpha*calpha); 76 76 const double fq = sph_j1c(t); 77 const double s = (sld - s olvent_sld) * form_volume(req_minor, req_major, rpolar);77 const double s = (sld - sld_solvent) * form_volume(radius_equat_minor, radius_equat_major, radius_polar); 78 78 79 79 return 1.0e-4 * square(s * fq);
Note: See TracChangeset
for help on using the changeset viewer.