Changeset b4679de in sasview for sansmodels/src/sans/models/c_extensions
- Timestamp:
- Aug 4, 2009 3:32:38 PM (15 years ago)
- Branches:
- master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, release_4.0.1, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- fbe5d3e
- Parents:
- 8e91f01
- Location:
- sansmodels/src/sans/models/c_extensions
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
sansmodels/src/sans/models/c_extensions/lamellarFF_HG.c
r34c3020 rb4679de 19 19 double lamellarFF_HG_analytical_1D(LamellarFF_HGParameters *pars, double q) { 20 20 double dp[7]; 21 21 22 22 // Fill paramater array 23 23 dp[0] = pars->scale; … … 28 28 dp[5] = pars->sld_solvent; 29 29 dp[6] = pars->background; 30 30 31 31 // Call library function to evaluate model 32 return LamellarFF_HG(dp, q); 32 return LamellarFF_HG(dp, q); 33 33 } 34 34 35 35 double lamellarFF_HG_analytical_2D(LamellarFF_HGParameters *pars, double q, double phi){ 36 return 1.0;36 return lamellarFF_HG_analytical_1D(pars,q); 37 37 } 38 38 double lamellarFF_HG_analytical_2DXY(LamellarFF_HGParameters *pars, double qx, double qy){ 39 return 1.0;39 return lamellarFF_HG_analytical_1D(pars,sqrt(qx*qx+qy*qy)); 40 40 } 41 double lamellarFF_HG_analytical_2D_scaled(LamellarFF_HGParameters *pars, double q, double q_x, double q_y){42 return 1.0;43 }44 -
sansmodels/src/sans/models/c_extensions/lamellarFF_HG.h
r34c3020 rb4679de 4 4 * [PYTHONCLASS] = LamellarFFHGModel 5 5 * [DISP_PARAMS] = t_length, h_thickness 6 [DESCRIPTION] = <text> 7 NOTE: The total bilayer thickness = 2(h_thickness + t_length) 8 The meaning of the multiplicative scale factor is not well-defined, but should be on the 9 order of the volume fraction of solution occupied by the lamellar crystallites. Please see 10 the original references for clarification. 11 </text> 6 [DESCRIPTION] = <text> Parameters: t_length = tail length, h_thickness = head thickness, 7 scale = Scale factor, 8 background = incoherent Background 9 sld_tail = tail scattering length density , 10 sld_solvent = solvent scattering length density. 11 NOTE: The total bilayer thickness 12 = 2(h_thickness+ t_length). 13 14 </text> 12 15 [FIXED]= t_length.width, h_thickness.width 13 [ORIENTATION_PARAMS]= 16 [ORIENTATION_PARAMS]= 14 17 **/ 15 18 typedef struct { … … 20 23 // [DEFAULT]=t_length=15.0 [A] 21 24 double t_length; 22 /// head thickness 25 /// head thickness 23 26 // [DEFAULT]=h_thickness=10.0 [A] 24 27 double h_thickness; 25 /// tail scrattering density length[1/A²]28 /// tail scrattering length density[1/A²] 26 29 // [DEFAULT]=sld_tail=4e-7 [1/A²] 27 30 double sld_tail; 28 /// head group scrattering density length[1/A²]31 /// head group scrattering length density[1/A²] 29 32 // [DEFAULT]=sld_head=3e-6 [1/A²] 30 33 double sld_head; 31 /// solvent scrattering density length[1/A²]34 /// solvent scrattering length density[1/A²] 32 35 // [DEFAULT]=sld_solvent=6e-6 [1/A²] 33 36 double sld_solvent; … … 35 38 // [DEFAULT]=background=0.0 [1/cm] 36 39 double background; 37 40 38 41 } LamellarFF_HGParameters; 39 42 … … 46 49 double lamellarFF_HG_analytical_2D(LamellarFF_HGParameters *pars, double q, double phi); 47 50 double lamellarFF_HG_analytical_2DXY(LamellarFF_HGParameters *pars, double qx, double qy); 48 double lamellarFF_HG_analytical_2D_scaled(LamellarFF_HGParameters *pars, double q, double q_x, double q_y);49 51 50 52 #endif -
sansmodels/src/sans/models/c_extensions/lamellarPS.c
r27a0771 rb4679de 19 19 double lamellarPS_analytical_1D(LamellarPSParameters *pars, double q) { 20 20 double dp[8]; 21 21 22 22 // Fill paramater array 23 23 dp[0] = pars->scale; … … 31 31 32 32 // Call library function to evaluate model 33 return LamellarPS(dp, q); 33 return LamellarPS(dp, q); 34 34 } 35 35 /** … … 42 42 double q; 43 43 q = sqrt(qx*qx+qy*qy); 44 return lamellarPS_analytical_ 2D_scaled(pars, q, qx/q, qy/q);45 } 44 return lamellarPS_analytical_1D(pars, q); 45 } 46 46 47 47 … … 54 54 */ 55 55 double lamellarPS_analytical_2D(LamellarPSParameters *pars, double q, double phi) { 56 return lamellarPS_analytical_ 2D_scaled(pars, q, cos(phi), sin(phi));57 } 58 56 return lamellarPS_analytical_1D(pars,q); 57 } 58 59 59 /** 60 60 * Function to evaluate 2D scattering function … … 65 65 * @return: function value 66 66 */ 67 double lamellarPS_analytical_2D_scaled(LamellarPSParameters *pars, double q, double q_x, double q_y) {68 69 return 1.0;70 }71 72 67 68 -
sansmodels/src/sans/models/c_extensions/lamellarPS.h
r27a0771 rb4679de 7 7 /** Structure definition for concentrated lamellar form factor parameters 8 8 * [PYTHONCLASS] = LamellarPSModel 9 * [DISP_PARAMS] = delta 10 [DESCRIPTION] = <text> Calculates the scattered intensity from a lyotropic lamellar phase</text> 11 [FIXED]= delta.with 12 [ORIENTATION_PARAMS]= 9 * [DISP_PARAMS] = spacing 10 [DESCRIPTION] = <text>Calculates the scattered intensity from a lyotropic lamellar phase. 11 The intensity (form factor and structure factor) 12 calculated is for lamellae of uniform scattering 13 length density that are randomly distributed in 14 solution (a powder average). The lamellae 15 thickness is polydisperse. The model can also 16 be applied to large, multi-lamellar vesicles. 17 No resolution smeared version is included 18 in the structure factor of this model. 19 *Parameters: spacing = repeat spacing, 20 delta = bilayer thickness, 21 sigma = variation in bilayer thickness 22 contrast = SLD_solvent - SLD_bilayer 23 n_plate = # of Lamellar plates 24 caille = Caille parameter (<0.8 or <1) 25 background = incoherent bgd 26 scale = scale factor 27 </text> 28 [FIXED]= spacing.with 29 [ORIENTATION_PARAMS]= 13 30 14 31 **/ … … 35 52 // [DEFAULT]=caille=0.1 36 53 double caille; 37 /// Incoherent Background [1/cm] 54 /// Incoherent Background [1/cm] 38 55 // [DEFAULT]=background=0.0 [1/cm] 39 56 double background; 40 57 41 58 } LamellarPSParameters; 42 59 … … 49 66 double lamellarPS_analytical_2D(LamellarPSParameters *pars, double q, double phi); 50 67 double lamellarPS_analytical_2DXY(LamellarPSParameters *pars, double qx, double qy); 51 double lamellarPS_analytical_2D_scaled(LamellarPSParameters *pars, double q, double q_x, double q_y);52 68 53 69 #endif
Note: See TracChangeset
for help on using the changeset viewer.