source: sasmodels/sasmodels/models/flexible_cylinder.c @ d507c3a

core_shell_microgelscostrafo411magnetic_modelrelease_v0.94release_v0.95ticket-1257-vesicle-productticket_1156ticket_1265_superballticket_822_more_unit_tests
Last change on this file since d507c3a was f94d8a2, checked in by piotr, 8 years ago

Converted FlexibleCylinderModel?

  • Property mode set to 100644
File size: 1.6 KB
Line 
1double form_volume(double length, double kuhn_length, double radius);
2double Iq(double q, double length, double kuhn_length, double radius,
3          double sld, double solvent_sld);
4double Iqxy(double qx, double qy, double length, double kuhn_length,
5            double radius, double sld, double solvent_sld);
6double flexible_cylinder_kernel(double q, double length, double kuhn_length,
7                                double radius, double sld, double solvent_sld);
8
9
10double form_volume(double length, double kuhn_length, double radius)
11{
12
13      return 0.0;
14}
15
16double flexible_cylinder_kernel(double q,
17          double length,
18          double kuhn_length,
19          double radius,
20          double sld,
21          double solvent_sld)
22{
23
24        double Pi = 4.0*atan(1.0);
25
26        double cont = sld-solvent_sld;
27        double qr = q*radius;
28        double flex = Sk_WR(q,length,kuhn_length);
29    double crossSect = (2.0*J1(qr)/qr)*(2.0*J1(qr)/qr);
30
31        flex *= crossSect;
32        flex *= Pi*radius*radius*length;
33        flex *= cont*cont;
34        flex *= 1.0e-4;
35
36        return flex;
37}
38
39double Iq(double q,
40          double length,
41          double kuhn_length,
42          double radius,
43          double sld,
44          double solvent_sld)
45{
46
47        double result = flexible_cylinder_kernel(q, length, kuhn_length, radius, sld, solvent_sld);
48
49        return result;
50}
51
52double Iqxy(double qx, double qy,
53            double length,
54            double kuhn_length,
55            double radius,
56            double sld,
57            double solvent_sld)
58{
59        double q;
60        q = sqrt(qx*qx+qy*qy);
61        double result = flexible_cylinder_kernel(q, length, kuhn_length, radius, sld, solvent_sld);
62
63        return result;
64}
Note: See TracBrowser for help on using the repository browser.