source: sasview/sansmodels/src/c_extensions/rpa.h @ 67424cd

ESS_GUIESS_GUI_DocsESS_GUI_batch_fittingESS_GUI_bumps_abstractionESS_GUI_iss1116ESS_GUI_iss879ESS_GUI_iss959ESS_GUI_openclESS_GUI_orderingESS_GUI_sync_sascalccostrafo411magnetic_scattrelease-4.1.1release-4.1.2release-4.2.2release_4.0.1ticket-1009ticket-1094-headlessticket-1242-2d-resolutionticket-1243ticket-1249ticket885unittest-saveload
Last change on this file since 67424cd was 67424cd, checked in by Mathieu Doucet <doucetm@…>, 12 years ago

Reorganizing models in preparation of cpp cleanup

  • Property mode set to 100644
File size: 3.6 KB
Line 
1#if !defined(o_h)
2#define rpa_h
3
4/**
5 * Structure definition for sphere parameters
6 */
7 //[PYTHONCLASS] = RPAModel
8 //[DISP_PARAMS] = background
9 //[DESCRIPTION] =<text>  THIS FORMALISM APPLIES TO MULTICOMPONENT POLYMER MIXTURES IN THE
10 //                                                     HOMOGENEOUS (MIXED) PHASE REGION ONLY.;
11 //                                                     CASE 0: C/D BINARY MIXTURE OF HOMOPOLYMERS
12 //                                                     CASE 1: C-D DIBLOCK COPOLYMER
13 //                                                     CASE 2: B/C/D TERNARY MIXTURE OF HOMOPOLYMERS
14 //                                                     CASE 3: B/C-D MIXTURE OF HOMOPOLYMER B AND
15 //                                                             DIBLOCK COPOLYMER C-D
16 //                                                     CASE 4: B-C-D TRIBLOCK COPOLYMER
17 //                                                     CASE 5: A/B/C/D QUATERNARY MIXTURE OF HOMOPOLYMERS
18 //                                                     CASE 6: A/B/C-D MIXTURE OF TWO HOMOPOLYMERS A/B
19 //                                                             AND A DIBLOCK C-D
20 //                                                     CASE 7: A/B-C-D MIXTURE OF A HOMOPOLYMER A AND A
21 //                                                             TRIBLOCK B-C-D
22 //                                                     CASE 8: A-B/C-D MIXTURE OF TWO DIBLOCK COPOLYMERS
23 //                                                             A-B AND C-D
24 //                                                     CASE 9: A-B-C-D FOUR-BLOCK COPOLYMER
25 //                                                     See details in the model function help
26 //             </text>
27 //[FIXED]=  <text></text>
28 //[NON_FITTABLE_PARAMS]= <text> lcase_n; Na; Phia; va; La; Nb; Phib; vb; Lb;Nc; Phic; vc; Lc;Nd; Phid; vd; Ld; </text>
29 //[ORIENTATION_PARAMS]= <text> </text>
30
31typedef struct {
32        /// The Case number
33        //  [DEFAULT]=lcase_n=0
34        int lcase_n;
35
36    /// Segment Length ba
37    //  [DEFAULT]=ba= 5.0
38        double ba;
39        /// Segment Length bb
40    //  [DEFAULT]=bb=5.0
41        double bb;
42        /// Segment Length bc
43        //  [DEFAULT]=bc= 5.0
44        double bc;
45        /// Segment Length bd
46        //  [DEFAULT]=bd= 5.0
47        double bd;
48
49        /// Chi Param ab
50        //  [DEFAULT]=Kab=-0.0004
51        double Kab;
52        /// Chi Param ac
53        //  [DEFAULT]=Kac=-0.0004
54    double Kac;
55    /// Chi Param ad
56    //  [DEFAULT]=Kad=-0.0004
57    double Kad;
58    /// Chi Param bc
59    //  [DEFAULT]=Kbc=-0.0004
60    double Kbc;
61    /// Chi Param bd
62    //  [DEFAULT]=Kbd=-0.0004
63    double Kbd;
64    /// Chi Param cd
65    //  [DEFAULT]=Kcd=-0.0004
66    double Kcd;
67
68    /// Scale factor
69    //  [DEFAULT]=scale= 1.0
70    double scale;
71        /// Incoherent Background [1/cm]
72        //  [DEFAULT]=background=0 [1/cm]
73    double background;
74
75    /// Degree OF POLYMERIZATION of a
76    //  [DEFAULT]=Na=1000.0
77    double Na;
78    /// Volume Fraction of a
79    //  [DEFAULT]=Phia=0.25
80    double Phia;
81    /// Specific Volume of a
82    //  [DEFAULT]=va=100.0
83    double va;
84    /// Scattering Length of a
85    //  [DEFAULT]=La=1.0e-012
86    double La;
87
88    /// Degree OF POLYMERIZATION of b
89    //  [DEFAULT]=Nb=1000.0
90    double Nb;
91    /// Volume Fraction of b
92    //  [DEFAULT]=Phib=0.25
93    double Phib;
94    /// Specific Volume of b
95    //  [DEFAULT]=vb=100.0
96    double vb;
97    /// Scattering Length of b
98    //  [DEFAULT]=Lb=1.0e-012
99    double Lb;
100
101    /// Degree OF POLYMERIZATION of c
102    //  [DEFAULT]=Nc=1000.0
103    double Nc;
104    /// Volume Fraction of c
105    //  [DEFAULT]=Phic=0.25
106    double Phic;
107    /// Specific Volume of c
108    //  [DEFAULT]=vc=100.0
109    double vc;
110    /// Scattering Length of c
111    //  [DEFAULT]=Lc=1.0e-012
112    double Lc;
113
114    /// Degree OF POLYMERIZATION of d
115    //  [DEFAULT]=Nd=1000.0
116    double Nd;
117    /// Volume Fraction of d
118    //  [DEFAULT]=Phid=0.25
119    double Phid;
120    /// Specific Volume of d
121    //  [DEFAULT]=vd=100.0
122    double vd;
123    /// Scattering Length of d
124    //  [DEFAULT]=Ld=0.0e-012
125    double Ld;
126
127} RPAParameters;
128
129double rpa_kernel(double dq[], double q);
130
131/// 1D scattering function
132double rpa_analytical_1D(RPAParameters *pars, double q);
133
134/// 2D scattering function
135double rpa_analytical_2D(RPAParameters *pars, double q, double phi);
136double rpa_analytical_2DXY(RPAParameters *pars, double qx, double qy);
137
138#endif
Note: See TracBrowser for help on using the repository browser.