Changes in sasmodels/models/hollow_rectangular_prism.c [71b751d:ee60aa7] in sasmodels
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sasmodels/models/hollow_rectangular_prism.c
r71b751d ree60aa7 1 // TODO: interface to form_volume/shell_volume not yet settled 1 2 static double 2 form_volume(double length_a, double b2a_ratio, double c2a_ratio, double thickness)3 shell_volume(double *total, double length_a, double b2a_ratio, double c2a_ratio, double thickness) 3 4 { 4 5 double length_b = length_a * b2a_ratio; … … 8 9 double c_core = length_c - 2.0*thickness; 9 10 double vol_core = a_core * b_core * c_core; 10 double vol_total = length_a * length_b * length_c; 11 double vol_shell = vol_total - vol_core; 12 return vol_shell; 11 *total = length_a * length_b * length_c; 12 return *total - vol_core; 13 } 14 15 static double 16 form_volume(double length_a, double b2a_ratio, double c2a_ratio, double thickness) 17 { 18 double total; 19 return shell_volume(&total, length_a, b2a_ratio, c2a_ratio, thickness); 20 } 21 22 static double 23 effective_radius(int mode, double length_a, double b2a_ratio, double c2a_ratio, double thickness) 24 //effective_radius_type = ["equivalent sphere","half length_a", "half length_b", "half length_c", 25 // "equivalent outer circular cross-section","half ab diagonal","half diagonal"] 26 // NOTE length_a is external dimension! 27 { 28 switch (mode) { 29 case 1: // equivalent sphere 30 return cbrt(0.75*cube(length_a)*b2a_ratio*c2a_ratio/M_PI); 31 case 2: // half length_a 32 return 0.5 * length_a; 33 case 3: // half length_b 34 return 0.5 * length_a*b2a_ratio; 35 case 4: // half length_c 36 return 0.5 * length_a*c2a_ratio; 37 case 5: // equivalent outer circular cross-section 38 return length_a*sqrt(b2a_ratio/M_PI); 39 case 6: // half ab diagonal 40 return 0.5*sqrt(square(length_a) * (1.0 + square(b2a_ratio))); 41 case 7: // half diagonal 42 return 0.5*sqrt(square(length_a) * (1.0 + square(b2a_ratio) + square(c2a_ratio))); 43 } 13 44 } 14 45
Note: See TracChangeset
for help on using the changeset viewer.