Changeset 2a0b2b1 in sasmodels for sasmodels/models/elliptical_cylinder.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/elliptical_cylinder.c
r61104c8 r2a0b2b1 1 double form_volume(double radius_minor, double r_ratio, double length); 2 double Iq(double q, double radius_minor, double r_ratio, double length, 3 double sld, double solvent_sld); 4 double Iqxy(double qx, double qy, double radius_minor, double r_ratio, double length, 5 double sld, double solvent_sld, double theta, double phi, double psi); 6 7 8 double 1 static double 9 2 form_volume(double radius_minor, double r_ratio, double length) 10 3 { … … 12 5 } 13 6 14 double7 static double 15 8 Iq(double q, double radius_minor, double r_ratio, double length, 16 9 double sld, double solvent_sld) … … 61 54 62 55 63 double56 static double 64 57 Iqxy(double qx, double qy, 65 58 double radius_minor, double r_ratio, double length, … … 69 62 double q, xhat, yhat, zhat; 70 63 ORIENT_ASYMMETRIC(qx, qy, theta, phi, psi, q, xhat, yhat, zhat); 64 const double qa = q*xhat; 65 const double qb = q*yhat; 66 const double qc = q*zhat; 71 67 72 68 // Compute: r = sqrt((radius_major*cos_nu)^2 + (radius_minor*cos_mu)^2) 73 69 // Given: radius_major = r_ratio * radius_minor 74 const double r = radius_minor*sqrt(square(r_ratio*xhat) + square(yhat));75 const double be = sas_2J1x_x(q *r);76 const double si = sas_sinx_x(q *zhat*0.5*length);70 const double qr = radius_minor*sqrt(square(r_ratio*qa) + square(qb)); 71 const double be = sas_2J1x_x(qr); 72 const double si = sas_sinx_x(qc*0.5*length); 77 73 const double Aq = be * si; 78 74 const double delrho = sld - solvent_sld;
Note: See TracChangeset
for help on using the changeset viewer.