Changeset a807206 in sasmodels for sasmodels/models/stacked_disks.c
- Timestamp:
- Sep 30, 2016 10:42:06 PM (8 years ago)
- Branches:
- master, core_shell_microgels, costrafo411, magnetic_model, release_v0.94, release_v0.95, ticket-1257-vesicle-product, ticket_1156, ticket_1265_superball, ticket_822_more_unit_tests
- Children:
- caddb14, 5031ca3
- Parents:
- 2222134
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sasmodels/models/stacked_disks.c
r2c74c11 ra807206 1 double form_volume(double core_thick,2 double layer_thick,1 double form_volume(double thick_core, 2 double thick_layer, 3 3 double radius, 4 4 double n_stacking); 5 5 6 6 double Iq(double q, 7 double core_thick,8 double layer_thick,7 double thick_core, 8 double thick_layer, 9 9 double radius, 10 10 double n_stacking, 11 double sigma_d ,11 double sigma_dnn, 12 12 double core_sld, 13 13 double layer_sld, … … 21 21 double solvent_sld, 22 22 double halfheight, 23 double layer_thick,23 double thick_layer, 24 24 double zi, 25 double sigma_d ,25 double sigma_dnn, 26 26 double d, 27 27 double n_stacking) … … 38 38 39 39 const double sinarg1 = qq*halfheight*cos(zi); 40 const double sinarg2 = qq*(halfheight+ layer_thick)*cos(zi);40 const double sinarg2 = qq*(halfheight+thick_layer)*cos(zi); 41 41 42 42 const double be1 = sas_J1c(besarg1); … … 48 48 const double dr2 = (layer_sld-solvent_sld); 49 49 const double area = M_PI*radius*radius; 50 const double totald=2.0*( layer_thick+halfheight);50 const double totald=2.0*(thick_layer+halfheight); 51 51 52 52 const double t1 = area*(2.0*halfheight)*dr1*(si1)*(be1); … … 59 59 double sqq=0.0; 60 60 for(int kk=1;kk<n_stacking;kk+=1) { 61 double dexpt=qq*cos(zi)*qq*cos(zi)*d*d*sigma_d *sigma_d*kk/2.0;61 double dexpt=qq*cos(zi)*qq*cos(zi)*d*d*sigma_dnn*sigma_dnn*kk/2.0; 62 62 sqq=sqq+(n_stacking-kk)*cos(qq*cos(zi)*d*kk)*exp(-1.*dexpt); 63 63 } … … 74 74 static 75 75 double stacked_disks_kernel(double q, 76 double core_thick,77 double layer_thick,76 double thick_core, 77 double thick_layer, 78 78 double radius, 79 79 double n_stacking, 80 double sigma_d ,80 double sigma_dnn, 81 81 double core_sld, 82 82 double layer_sld, … … 88 88 double summ = 0.0; //initialize integral 89 89 90 double d=2.0* layer_thick+core_thick;91 double halfheight = core_thick/2.0;90 double d=2.0*thick_layer+thick_core; 91 double halfheight = thick_core/2.0; 92 92 93 93 for(int i=0;i<N_POINTS_76;i++) { … … 100 100 solvent_sld, 101 101 halfheight, 102 layer_thick,102 thick_layer, 103 103 zi, 104 sigma_d ,104 sigma_dnn, 105 105 d, 106 106 n_stacking); … … 117 117 118 118 static double stacked_disks_kernel_2d(double q, double q_x, double q_y, 119 double core_thick,120 double layer_thick,119 double thick_core, 120 double thick_layer, 121 121 double radius, 122 122 double n_stacking, 123 double sigma_d ,123 double sigma_dnn, 124 124 double core_sld, 125 125 double layer_sld, … … 154 154 155 155 // Call the IGOR library function to get the kernel 156 double d = 2 * layer_thick + core_thick;157 double halfheight = core_thick/2.0;156 double d = 2 * thick_layer + thick_core; 157 double halfheight = thick_core/2.0; 158 158 double answer = _kernel(q, 159 159 radius, … … 162 162 solvent_sld, 163 163 halfheight, 164 layer_thick,164 thick_layer, 165 165 alpha, 166 sigma_d ,166 sigma_dnn, 167 167 d, 168 168 n_stacking); … … 175 175 } 176 176 177 double form_volume(double core_thick,178 double layer_thick,177 double form_volume(double thick_core, 178 double thick_layer, 179 179 double radius, 180 180 double n_stacking){ 181 double d = 2 * layer_thick + core_thick;181 double d = 2 * thick_layer + thick_core; 182 182 return acos(-1.0) * radius * radius * d * n_stacking; 183 183 } 184 184 185 185 double Iq(double q, 186 double core_thick,187 double layer_thick,186 double thick_core, 187 double thick_layer, 188 188 double radius, 189 189 double n_stacking, 190 double sigma_d ,190 double sigma_dnn, 191 191 double core_sld, 192 192 double layer_sld, … … 194 194 { 195 195 return stacked_disks_kernel(q, 196 core_thick,197 layer_thick,196 thick_core, 197 thick_layer, 198 198 radius, 199 199 n_stacking, 200 sigma_d ,200 sigma_dnn, 201 201 core_sld, 202 202 layer_sld,
Note: See TracChangeset
for help on using the changeset viewer.