1 | /* |
---|
2 | TODO: Add 2D model |
---|
3 | */ |
---|
4 | |
---|
5 | #if !defined(lamellarPS_h) |
---|
6 | #define lamellarPS_h |
---|
7 | /** Structure definition for concentrated lamellar form factor parameters |
---|
8 | * [PYTHONCLASS] = LamellarPSModel |
---|
9 | * [DISP_PARAMS] = delta, spacing |
---|
10 | [DESCRIPTION] = <text>[Concentrated Lamellar Form Factor] Calculates the scattered |
---|
11 | intensity from a lyotropic lamellar phase. |
---|
12 | The intensity (form factor and structure |
---|
13 | factor)calculated is for lamellae of |
---|
14 | uniform scattering length density that |
---|
15 | are randomly distributed in solution |
---|
16 | (a powder average). The lamellae thickness |
---|
17 | is polydisperse. The model can also |
---|
18 | be applied to large, multi-lamellar vesicles. |
---|
19 | No resolution smeared version is included |
---|
20 | in the structure factor of this model. |
---|
21 | *Parameters: spacing = repeat spacing, |
---|
22 | delta = bilayer thickness, |
---|
23 | sld_bi = SLD_bilayer |
---|
24 | sld_sol = SLD_solvent |
---|
25 | n_plate = # of Lamellar plates |
---|
26 | caille = Caille parameter (<0.8 or <1) |
---|
27 | background = incoherent bgd |
---|
28 | scale = scale factor |
---|
29 | </text> |
---|
30 | [FIXED]= <text>delta.width; spacing.width</text> |
---|
31 | [ORIENTATION_PARAMS]= |
---|
32 | |
---|
33 | **/ |
---|
34 | typedef struct { |
---|
35 | /// Scale factor |
---|
36 | // [DEFAULT]=scale=1.0 |
---|
37 | double scale; |
---|
38 | /// repeat spacing of the lamellar [A] |
---|
39 | // [DEFAULT]=spacing=400 [A] |
---|
40 | double spacing; |
---|
41 | /// bilayer thicknes [A] |
---|
42 | // [DEFAULT]=delta=30 [A] |
---|
43 | double delta; |
---|
44 | /// SLD of bilayer [1/A^(2)] |
---|
45 | // [DEFAULT]=sld_bi=6.3e-6 [1/A^(2)] |
---|
46 | double sld_bi; |
---|
47 | /// SLD of solvent [1/A^(2)] |
---|
48 | // [DEFAULT]=sld_sol=1.0e-6 [1/A^(2)] |
---|
49 | double sld_sol; |
---|
50 | /// Number of lamellar plates |
---|
51 | // [DEFAULT]=n_plates=20 |
---|
52 | double n_plates; |
---|
53 | /// caille parameters |
---|
54 | // [DEFAULT]=caille=0.1 |
---|
55 | double caille; |
---|
56 | /// Incoherent Background [1/cm] |
---|
57 | // [DEFAULT]=background=0.0 [1/cm] |
---|
58 | double background; |
---|
59 | |
---|
60 | } LamellarPSParameters; |
---|
61 | |
---|
62 | /// kernel |
---|
63 | double LamellarPS_kernel(double dp[], double q); |
---|
64 | /// 1D scattering function |
---|
65 | double lamellarPS_analytical_1D(LamellarPSParameters *pars, double q); |
---|
66 | |
---|
67 | /// 2D scattering function |
---|
68 | double lamellarPS_analytical_2D(LamellarPSParameters *pars, double q, double phi); |
---|
69 | double lamellarPS_analytical_2DXY(LamellarPSParameters *pars, double qx, double qy); |
---|
70 | |
---|
71 | #endif |
---|