[25579e8] | 1 | #if !defined(HayterMSA_h) |
---|
| 2 | #define HayterMSA_h |
---|
| 3 | |
---|
| 4 | /** |
---|
| 5 | * Structure definition for screened Coulomb interaction |
---|
| 6 | */ |
---|
| 7 | //[PYTHONCLASS] = HayterMSAStructure |
---|
[5eb9154] | 8 | //[DISP_PARAMS] = effect_radius |
---|
[1ed3834] | 9 | //[DESCRIPTION] =<text>To calculate the structure factor (the Fourier transform of the |
---|
| 10 | // pair correlation function g(r)) for a system of |
---|
| 11 | // charged, spheroidal objects in a dielectric |
---|
| 12 | // medium. |
---|
| 13 | // When combined with an appropriate form |
---|
| 14 | // factor, this allows for inclusion of |
---|
| 15 | // the interparticle interference effects |
---|
| 16 | // due to screened coulomb repulsion between |
---|
| 17 | // charged particles. |
---|
| 18 | // (Note: charge > 0 required.) |
---|
[25579e8] | 19 | // |
---|
[70faf5d] | 20 | // Ref: JP Hansen and JB Hayter, Molecular |
---|
[25579e8] | 21 | // Physics 46, 651-656 (1982). |
---|
| 22 | // |
---|
| 23 | // </text> |
---|
[5eb9154] | 24 | //[FIXED]= effect_radius.width |
---|
[70faf5d] | 25 | |
---|
[25579e8] | 26 | typedef struct { |
---|
[5eb9154] | 27 | /// effetitve radius of particle [A] |
---|
| 28 | // [DEFAULT]=effect_radius=20.75 [A] |
---|
| 29 | double effect_radius; |
---|
[25579e8] | 30 | |
---|
| 31 | /// charge |
---|
| 32 | // [DEFAULT]=charge= 19 |
---|
| 33 | double charge; |
---|
| 34 | |
---|
| 35 | /// Volume fraction |
---|
| 36 | // [DEFAULT]=volfraction= 0.0192 |
---|
| 37 | double volfraction; |
---|
| 38 | |
---|
| 39 | /// Temperature [K] |
---|
[70faf5d] | 40 | // [DEFAULT]=temperature= 318.16 [K] |
---|
[25579e8] | 41 | double temperature; |
---|
| 42 | |
---|
[70faf5d] | 43 | /// Monovalent salt concentration [M] |
---|
| 44 | // [DEFAULT]=saltconc= 0 [M] |
---|
[25579e8] | 45 | double saltconc; |
---|
| 46 | |
---|
[70faf5d] | 47 | /// Dielectric constant of solvent |
---|
| 48 | // [DEFAULT]=dielectconst= 71.08 |
---|
[25579e8] | 49 | double dielectconst; |
---|
| 50 | } HayterMSAParameters; |
---|
| 51 | |
---|
| 52 | /// 1D scattering function |
---|
| 53 | double HayterMSA_analytical_1D(HayterMSAParameters *pars, double q); |
---|
| 54 | |
---|
| 55 | /// 2D scattering function |
---|
| 56 | double HayterMSA_analytical_2D(HayterMSAParameters *pars, double q, double phi); |
---|
| 57 | double HayterMSA_analytical_2DXY(HayterMSAParameters *pars, double qx, double qy); |
---|
| 58 | |
---|
| 59 | #endif |
---|