Changeset f728001 in sasmodels for sasmodels/models/fcc_paracrystal.c
- Timestamp:
- Oct 22, 2017 10:34:11 PM (6 years ago)
- Branches:
- master, core_shell_microgels, magnetic_model, ticket-1257-vesicle-product, ticket_1156, ticket_1265_superball, ticket_822_more_unit_tests
- Children:
- ea60e08
- Parents:
- 31eea1f
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sasmodels/models/fcc_paracrystal.c
rbecded3 rf728001 2 2 fcc_Zq(double qa, double qb, double qc, double dnn, double d_factor) 3 3 { 4 #if 0 // Equations as written in Matsuoka 5 const double a1 = ( qa + qb)/2.0; 6 const double a2 = (-qa + qc)/2.0; 7 const double a3 = (-qa + qb)/2.0; 8 #else 4 // Equations from Matsuoka 17-18-19, multiplied by |q| 9 5 const double a1 = ( qa + qb)/2.0; 10 6 const double a2 = ( qa + qc)/2.0; 11 7 const double a3 = ( qb + qc)/2.0; 12 #endif13 8 14 // Numerator: (1 - exp(a)^2)^3 15 // => (-(exp(2a) - 1))^3 16 // => -expm1(2a)^3 17 // Denominator: prod(1 - 2 cos(d ak) exp(a) + exp(2a)) 18 // => prod(exp(a)^2 - 2 cos(d ak) exp(a) + 1) 19 // => prod((exp(a) - 2 cos(d ak)) * exp(a) + 1) 9 // Matsuoka 23-24-25 10 // Z_k numerator: 1 - exp(a)^2 11 // Z_k denominator: 1 - 2 cos(d a_k) exp(a) + exp(2a) 12 // Rewriting numerator 13 // => -(exp(2a) - 1) 14 // => -expm1(2a) 15 // Rewriting denominator 16 // => exp(a)^2 - 2 cos(d ak) exp(a) + 1) 17 // => (exp(a) - 2 cos(d ak)) * exp(a) + 1 20 18 const double arg = -0.5*square(dnn*d_factor)*(a1*a1 + a2*a2 + a3*a3); 21 19 const double exp_arg = exp(arg);
Note: See TracChangeset
for help on using the changeset viewer.