Changeset 2222134 in sasmodels


Ignore:
Timestamp:
Sep 30, 2016 11:07:16 AM (5 years ago)
Author:
butler
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:
a807206
Parents:
6e5b2a7
Message:

Updating parameter names regarding #649

Location:
sasmodels/models
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • sasmodels/models/barbell.c

    r2f5c6d4 r2222134  
    1 double form_volume(double bell_radius, double radius, double length); 
     1double form_volume(double radius_bell, double radius, double length); 
    22double Iq(double q, double sld, double solvent_sld, 
    3         double bell_radius, double radius, double length); 
     3        double radius_bell, double radius, double length); 
    44double Iqxy(double qx, double qy, double sld, double solvent_sld, 
    5         double bell_radius, double radius, double length, 
     5        double radius_bell, double radius, double length, 
    66        double theta, double phi); 
    77 
    8 #define INVALID(v) (v.bell_radius < v.radius) 
     8#define INVALID(v) (v.radius_bell < v.radius) 
    99 
    1010//barbell kernel - same as dumbell 
    1111static double 
    12 _bell_kernel(double q, double h, double bell_radius, 
     12_bell_kernel(double q, double h, double radius_bell, 
    1313             double half_length, double sin_alpha, double cos_alpha) 
    1414{ 
    1515    // translate a point in [-1,1] to a point in [lower,upper] 
    1616    const double upper = 1.0; 
    17     const double lower = h/bell_radius; 
     17    const double lower = h/radius_bell; 
    1818    const double zm = 0.5*(upper-lower); 
    1919    const double zb = 0.5*(upper+lower); 
     
    2626    //    m = q R cos(alpha) 
    2727    //    b = q(L/2-h) cos(alpha) 
    28     const double m = q*bell_radius*cos_alpha; // cos argument slope 
     28    const double m = q*radius_bell*cos_alpha; // cos argument slope 
    2929    const double b = q*(half_length-h)*cos_alpha; // cos argument intercept 
    30     const double qrst = q*bell_radius*sin_alpha; // Q*R*sin(theta) 
     30    const double qrst = q*radius_bell*sin_alpha; // Q*R*sin(theta) 
    3131    double total = 0.0; 
    3232    for (int i = 0; i < 76; i++){ 
     
    3939    // translate dx in [-1,1] to dx in [lower,upper] 
    4040    const double integral = total*zm; 
    41     const double bell_Fq = 2*M_PI*cube(bell_radius)*integral; 
     41    const double bell_Fq = 2*M_PI*cube(radius_bell)*integral; 
    4242    return bell_Fq; 
    4343} 
    4444 
    45 double form_volume(double bell_radius, 
     45double form_volume(double radius_bell, 
    4646        double radius, 
    4747        double length) 
     
    4949 
    5050    // bell radius should never be less than radius when this is called 
    51     const double hdist = sqrt(square(bell_radius) - square(radius)); 
    52     const double p1 = 2.0/3.0*cube(bell_radius); 
    53     const double p2 = square(bell_radius)*hdist; 
     51    const double hdist = sqrt(square(radius_bell) - square(radius)); 
     52    const double p1 = 2.0/3.0*cube(radius_bell); 
     53    const double p2 = square(radius_bell)*hdist; 
    5454    const double p3 = cube(hdist)/3.0; 
    5555 
     
    5858 
    5959double Iq(double q, double sld, double solvent_sld, 
    60           double bell_radius, double radius, double length) 
     60          double radius_bell, double radius, double length) 
    6161{ 
    62     const double h = -sqrt(bell_radius*bell_radius - radius*radius); 
     62    const double h = -sqrt(radius_bell*radius_bell - radius*radius); 
    6363    const double half_length = 0.5*length; 
    6464 
     
    7272        SINCOS(alpha, sin_alpha, cos_alpha); 
    7373 
    74         const double bell_Fq = _bell_kernel(q, h, bell_radius, half_length, sin_alpha, cos_alpha); 
     74        const double bell_Fq = _bell_kernel(q, h, radius_bell, half_length, sin_alpha, cos_alpha); 
    7575        const double bj = sas_J1c(q*radius*sin_alpha); 
    7676        const double si = sinc(q*half_length*cos_alpha); 
     
    9090double Iqxy(double qx, double qy, 
    9191        double sld, double solvent_sld, 
    92         double bell_radius, double radius, double length, 
     92        double radius_bell, double radius, double length, 
    9393        double theta, double phi) 
    9494{ 
     
    100100    const double alpha = acos(cos_val); // rod angle relative to q 
    101101 
    102     const double h = -sqrt(square(bell_radius) - square(radius)); 
     102    const double h = -sqrt(square(radius_bell) - square(radius)); 
    103103    const double half_length = 0.5*length; 
    104104 
    105105    double sin_alpha, cos_alpha; // slots to hold sincos function output 
    106106    SINCOS(alpha, sin_alpha, cos_alpha); 
    107     const double bell_Fq = _bell_kernel(q, h, bell_radius, half_length, sin_alpha, cos_alpha); 
     107    const double bell_Fq = _bell_kernel(q, h, radius_bell, half_length, sin_alpha, cos_alpha); 
    108108    const double bj = sas_J1c(q*radius*sin_alpha); 
    109109    const double si = sinc(q*half_length*cos_alpha); 
  • sasmodels/models/barbell.py

    r42356c8 r2222134  
    1313.. figure:: img/barbell_geometry.jpg 
    1414 
    15     Barbell geometry, where $r$ is *radius*, $R$ is *bell_radius* and 
     15    Barbell geometry, where $r$ is *radius*, $R$ is *radius_bell* and 
    1616    $L$ is *length*. Since the end cap radius $R \geq r$ and by definition 
    1717    for this geometry $h < 0$, $h$ is then defined by $r$ and $R$ as 
     
    103103parameters = [["sld",         "1e-6/Ang^2",   4, [-inf, inf], "sld",         "Barbell scattering length density"], 
    104104              ["sld_solvent", "1e-6/Ang^2",   1, [-inf, inf], "sld",         "Solvent scattering length density"], 
    105               ["bell_radius", "Ang",         40, [0, inf],    "volume",      "Spherical bell radius"], 
     105              ["radius_bell", "Ang",         40, [0, inf],    "volume",      "Spherical bell radius"], 
    106106              ["radius",      "Ang",         20, [0, inf],    "volume",      "Cylindrical bar radius"], 
    107107              ["length",      "Ang",        400, [0, inf],    "volume",      "Cylinder bar length"], 
     
    116116demo = dict(scale=1, background=0, 
    117117            sld=6, sld_solvent=1, 
    118             bell_radius=40, radius=20, length=400, 
     118            radius_bell=40, radius=20, length=400, 
    119119            theta=60, phi=60, 
    120120            radius_pd=.2, radius_pd_n=5, 
  • sasmodels/models/capped_cylinder.c

    r2f5c6d4 r2222134  
    1 double form_volume(double radius, double cap_radius, double length); 
     1double form_volume(double radius, double radius_cap, double length); 
    22double Iq(double q, double sld, double solvent_sld, 
    3     double radius, double cap_radius, double length); 
     3    double radius, double radius_cap, double length); 
    44double Iqxy(double qx, double qy, double sld, double solvent_sld, 
    5     double radius, double cap_radius, double length, double theta, double phi); 
     5    double radius, double radius_cap, double length, double theta, double phi); 
    66 
    7 #define INVALID(v) (v.cap_radius < v.radius) 
     7#define INVALID(v) (v.radius_cap < v.radius) 
    88 
    99// Integral over a convex lens kernel for t in [h/R,1].  See the docs for 
     
    1212//   h is the length of the lens "inside" the cylinder.  This negative wrt the 
    1313//       definition of h in the docs. 
    14 //   cap_radius is the radius of the lens 
     14//   radius_cap is the radius of the lens 
    1515//   length is the cylinder length, or the separation between the lens halves 
    1616//   alpha is the angle of the cylinder wrt q. 
    1717static double 
    18 _cap_kernel(double q, double h, double cap_radius, 
     18_cap_kernel(double q, double h, double radius_cap, 
    1919                      double half_length, double sin_alpha, double cos_alpha) 
    2020{ 
    2121    // translate a point in [-1,1] to a point in [lower,upper] 
    2222    const double upper = 1.0; 
    23     const double lower = h/cap_radius; // integral lower bound 
     23    const double lower = h/radius_cap; // integral lower bound 
    2424    const double zm = 0.5*(upper-lower); 
    2525    const double zb = 0.5*(upper+lower); 
     
    3232    //    m = q R cos(alpha) 
    3333    //    b = q(L/2-h) cos(alpha) 
    34     const double m = q*cap_radius*cos_alpha; // cos argument slope 
     34    const double m = q*radius_cap*cos_alpha; // cos argument slope 
    3535    const double b = q*(half_length-h)*cos_alpha; // cos argument intercept 
    36     const double qrst = q*cap_radius*sin_alpha; // Q*R*sin(theta) 
     36    const double qrst = q*radius_cap*sin_alpha; // Q*R*sin(theta) 
    3737    double total = 0.0; 
    3838    for (int i=0; i<76 ;i++) { 
     
    4545    // translate dx in [-1,1] to dx in [lower,upper] 
    4646    const double integral = total*zm; 
    47     const double cap_Fq = 2*M_PI*cube(cap_radius)*integral; 
     47    const double cap_Fq = 2*M_PI*cube(radius_cap)*integral; 
    4848    return cap_Fq; 
    4949} 
    5050 
    51 double form_volume(double radius, double cap_radius, double length) 
     51double form_volume(double radius, double radius_cap, double length) 
    5252{ 
    5353    // cap radius should never be less than radius when this is called 
     
    7474    //        = pi r^2 L + pi hc (r^2 + hc^2/3) 
    7575    //        = pi (r^2 (L+hc) + hc^3/3) 
    76     const double hc = cap_radius - sqrt(cap_radius*cap_radius - radius*radius); 
     76    const double hc = radius_cap - sqrt(radius_cap*radius_cap - radius*radius); 
    7777    return M_PI*(radius*radius*(length+hc) + hc*hc*hc/3.0); 
    7878} 
    7979 
    8080double Iq(double q, double sld, double solvent_sld, 
    81           double radius, double cap_radius, double length) 
     81          double radius, double radius_cap, double length) 
    8282{ 
    83     const double h = sqrt(cap_radius*cap_radius - radius*radius); 
     83    const double h = sqrt(radius_cap*radius_cap - radius*radius); 
    8484    const double half_length = 0.5*length; 
    8585 
     
    9393        SINCOS(alpha, sin_alpha, cos_alpha); 
    9494 
    95         const double cap_Fq = _cap_kernel(q, h, cap_radius, half_length, sin_alpha, cos_alpha); 
     95        const double cap_Fq = _cap_kernel(q, h, radius_cap, half_length, sin_alpha, cos_alpha); 
    9696        const double bj = sas_J1c(q*radius*sin_alpha); 
    9797        const double si = sinc(q*half_length*cos_alpha); 
     
    111111double Iqxy(double qx, double qy, 
    112112    double sld, double solvent_sld, double radius, 
    113     double cap_radius, double length, 
     113    double radius_cap, double length, 
    114114    double theta, double phi) 
    115115{ 
     
    121121    const double alpha = acos(cos_val); // rod angle relative to q 
    122122 
    123     const double h = sqrt(cap_radius*cap_radius - radius*radius); 
     123    const double h = sqrt(radius_cap*radius_cap - radius*radius); 
    124124    const double half_length = 0.5*length; 
    125125 
    126126    double sin_alpha, cos_alpha; // slots to hold sincos function output 
    127127    SINCOS(alpha, sin_alpha, cos_alpha); 
    128     const double cap_Fq = _cap_kernel(q, h, cap_radius, half_length, sin_alpha, cos_alpha); 
     128    const double cap_Fq = _cap_kernel(q, h, radius_cap, half_length, sin_alpha, cos_alpha); 
    129129    const double bj = sas_J1c(q*radius*sin_alpha); 
    130130    const double si = sinc(q*half_length*cos_alpha); 
  • sasmodels/models/capped_cylinder.py

    r42356c8 r2222134  
    9696    Note: As the length of cylinder -->0, 
    9797    it becomes a Convex Lens. 
    98     It must be that radius <(=) cap_radius. 
     98    It must be that radius <(=) radius_cap. 
    9999    [Parameters]; 
    100100    scale: volume fraction of spheres, 
     
    102102    radius: radius of the cylinder, 
    103103    length: length of the cylinder, 
    104     cap_radius: radius of the semi-spherical cap, 
     104    radius_cap: radius of the semi-spherical cap, 
    105105    sld: SLD of the capped cylinder, 
    106106    sld_solvent: SLD of the solvent. 
     
    122122              # in the capped cylinder, and zero for no bar in the barbell model.  In 
    123123              # both models, one would be a pill. 
    124               ["cap_radius", "Ang",     20, [0, inf],    "volume", "Cap radius"], 
     124              ["radius_cap", "Ang",     20, [0, inf],    "volume", "Cap radius"], 
    125125              ["length",     "Ang",    400, [0, inf],    "volume", "Cylinder length"], 
    126126              ["theta",      "degrees", 60, [-inf, inf], "orientation", "In plane angle"], 
     
    133133demo = dict(scale=1, background=0, 
    134134            sld=6, sld_solvent=1, 
    135             radius=260, cap_radius=290, length=290, 
     135            radius=260, radius_cap=290, length=290, 
    136136            theta=30, phi=15, 
    137137            radius_pd=.2, radius_pd_n=1, 
    138             cap_radius_pd=.2, cap_radius_pd_n=1, 
     138            radius_cap_pd=.2, radius_cap_pd_n=1, 
    139139            length_pd=.2, length_pd_n=10, 
    140140            theta_pd=15, theta_pd_n=45, 
  • sasmodels/models/core_shell_bicelle.c

    r43b7eea r2222134  
    1 double form_volume(double radius, double rim_thickness, double face_thickness, double length); 
     1double form_volume(double radius, double thick_rim, double thick_face, double length); 
    22double Iq(double q, 
    33          double radius, 
    4           double rim_thickness, 
    5           double face_thickness, 
     4          double thick_rim, 
     5          double thick_face, 
    66          double length, 
    77          double core_sld, 
     
    1313double Iqxy(double qx, double qy, 
    1414          double radius, 
    15           double rim_thickness, 
    16           double face_thickness, 
     15          double thick_rim, 
     16          double thick_face, 
    1717          double length, 
    1818          double core_sld, 
     
    2424 
    2525 
    26 double form_volume(double radius, double rim_thickness, double face_thickness, double length) 
     26double form_volume(double radius, double thick_rim, double thick_face, double length) 
    2727{ 
    28     return M_PI*(radius+rim_thickness)*(radius+rim_thickness)*(length+2*face_thickness); 
     28    return M_PI*(radius+thick_rim)*(radius+thick_rim)*(length+2*thick_face); 
    2929} 
    3030 
     
    102102bicelle_kernel_2d(double q, double q_x, double q_y, 
    103103          double radius, 
    104           double rim_thickness, 
    105           double face_thickness, 
     104          double thick_rim, 
     105          double thick_face, 
    106106          double length, 
    107107          double core_sld, 
     
    125125 
    126126    // Get the kernel 
    127     double answer = bicelle_kernel(q, radius, rim_thickness, face_thickness, 
     127    double answer = bicelle_kernel(q, radius, thick_rim, thick_face, 
    128128                           length/2.0, core_sld, face_sld, rim_sld, 
    129129                           solvent_sld, alpha) / fabs(sin(alpha)); 
     
    136136double Iq(double q, 
    137137          double radius, 
    138           double rim_thickness, 
    139           double face_thickness, 
     138          double thick_rim, 
     139          double thick_face, 
    140140          double length, 
    141141          double core_sld, 
     
    144144          double solvent_sld) 
    145145{ 
    146     double intensity = bicelle_integration(q, radius, rim_thickness, face_thickness, 
     146    double intensity = bicelle_integration(q, radius, thick_rim, thick_face, 
    147147                       length, core_sld, face_sld, rim_sld, solvent_sld); 
    148148    return intensity*1.0e-4; 
     
    152152double Iqxy(double qx, double qy, 
    153153          double radius, 
    154           double rim_thickness, 
    155           double face_thickness, 
     154          double thick_rim, 
     155          double thick_face, 
    156156          double length, 
    157157          double core_sld, 
     
    166166    double intensity = bicelle_kernel_2d(q, qx/q, qy/q, 
    167167                      radius, 
    168                       rim_thickness, 
    169                       face_thickness, 
     168                      thick_rim, 
     169                      thick_face, 
    170170                      length, 
    171171                      core_sld, 
  • sasmodels/models/core_shell_bicelle.py

    r40a87fa r2222134  
    7676parameters = [ 
    7777    ["radius",         "Ang",       20, [0, inf],    "volume",      "Cylinder core radius"], 
    78     ["rim_thickness",  "Ang",       10, [0, inf],    "volume",      "Rim shell thickness"], 
    79     ["face_thickness", "Ang",       10, [0, inf],    "volume",      "Cylinder face thickness"], 
     78    ["thick_rim",  "Ang",       10, [0, inf],    "volume",      "Rim shell thickness"], 
     79    ["thick_face", "Ang",       10, [0, inf],    "volume",      "Cylinder face thickness"], 
    8080    ["length",         "Ang",      400, [0, inf],    "volume",      "Cylinder length"], 
    8181    ["sld_core",       "1e-6/Ang^2", 1, [-inf, inf], "sld",         "Cylinder core scattering length density"], 
     
    9494demo = dict(scale=1, background=0, 
    9595            radius=20.0, 
    96             rim_thickness=10.0, 
    97             face_thickness=10.0, 
     96            thick_rim=10.0, 
     97            thick_face=10.0, 
    9898            length=400.0, 
    9999            sld_core=1.0, 
     
    108108    # Accuracy tests based on content in test/utest_other_models.py 
    109109    [{'radius': 20.0, 
    110       'rim_thickness': 10.0, 
    111       'face_thickness': 10.0, 
     110      'thick_rim': 10.0, 
     111      'thick_face': 10.0, 
    112112      'length': 400.0, 
    113113      'sld_core': 1.0, 
     
    119119 
    120120    [{'radius': 20.0, 
    121       'rim_thickness': 10.0, 
    122       'face_thickness': 10.0, 
     121      'thick_rim': 10.0, 
     122      'thick_face': 10.0, 
    123123      'length': 400.0, 
    124124      'sld_core': 1.0, 
     
    133133    # Additional tests with larger range of parameters 
    134134    [{'radius': 3.0, 
    135       'rim_thickness': 100.0, 
    136       'face_thickness': 100.0, 
     135      'thick_rim': 100.0, 
     136      'thick_face': 100.0, 
    137137      'length': 1200.0, 
    138138      'sld_core': 5.0, 
  • sasmodels/models/core_shell_ellipsoid.c

    r29172aa r2222134  
    1 double form_volume(double equat_core, 
    2                    double polar_core, 
    3                    double equat_shell, 
    4                    double polar_shell); 
     1double form_volume(double radius_equat_core, 
     2                   double radius_polar_core, 
     3                   double radius_equat_shell, 
     4                   double radius_polar_shell); 
    55double Iq(double q, 
    6           double equat_core, 
    7           double polar_core, 
    8           double equat_shell, 
    9           double polar_shell, 
     6          double radius_equat_core, 
     7          double radius_polar_core, 
     8          double radius_equat_shell, 
     9          double radius_polar_shell, 
    1010          double sld_core, 
    1111          double sld_shell, 
     
    1414 
    1515double Iqxy(double qx, double qy, 
    16           double equat_core, 
    17           double polar_core, 
    18           double equat_shell, 
    19           double polar_shell, 
     16          double radius_equat_core, 
     17          double radius_polar_core, 
     18          double radius_equat_shell, 
     19          double radius_polar_shell, 
    2020          double sld_core, 
    2121          double sld_shell, 
     
    2525 
    2626 
    27 double form_volume(double equat_core, 
    28                    double polar_core, 
    29                    double equat_shell, 
    30                    double polar_shell) 
     27double form_volume(double radius_equat_core, 
     28                   double radius_polar_core, 
     29                   double radius_equat_shell, 
     30                   double radius_polar_shell) 
    3131{ 
    32     double vol = 4.0*M_PI/3.0*equat_shell*equat_shell*polar_shell; 
     32    double vol = 4.0*M_PI/3.0*radius_equat_shell*radius_equat_shell*radius_polar_shell; 
    3333    return vol; 
    3434} 
     
    3636static double 
    3737core_shell_ellipsoid_kernel(double q, 
    38           double equat_core, 
    39           double polar_core, 
    40           double equat_shell, 
    41           double polar_shell, 
     38          double radius_equat_core, 
     39          double radius_polar_core, 
     40          double radius_equat_shell, 
     41          double radius_polar_shell, 
    4242          double sld_core, 
    4343          double sld_shell, 
     
    5757        double zi = ( Gauss76Z[i]*(uplim-lolim) + uplim + lolim )/2.0; 
    5858        double yyy = Gauss76Wt[i] * gfn4(zi, 
    59                                   equat_core, 
    60                                   polar_core, 
    61                                   equat_shell, 
    62                                   polar_shell, 
     59                                  radius_equat_core, 
     60                                  radius_polar_core, 
     61                                  radius_equat_shell, 
     62                                  radius_polar_shell, 
    6363                                  delpc, 
    6464                                  delps, 
     
    7777static double 
    7878core_shell_ellipsoid_kernel_2d(double q, double q_x, double q_y, 
    79           double equat_core, 
    80           double polar_core, 
    81           double equat_shell, 
    82           double polar_shell, 
     79          double radius_equat_core, 
     80          double radius_polar_core, 
     81          double radius_equat_shell, 
     82          double radius_polar_shell, 
    8383          double sld_core, 
    8484          double sld_shell, 
     
    105105    // Call the IGOR library function to get the kernel: MUST use gfn4 not gf2 because of the def of params. 
    106106    double answer = gfn4(cos_val, 
    107                   equat_core, 
    108                   polar_core, 
    109                   equat_shell, 
    110                   polar_shell, 
     107                  radius_equat_core, 
     108                  radius_polar_core, 
     109                  radius_equat_shell, 
     110                  radius_polar_shell, 
    111111                  sldcs, 
    112112                  sldss, 
     
    120120 
    121121double Iq(double q, 
    122           double equat_core, 
    123           double polar_core, 
    124           double equat_shell, 
    125           double polar_shell, 
     122          double radius_equat_core, 
     123          double radius_polar_core, 
     124          double radius_equat_shell, 
     125          double radius_polar_shell, 
    126126          double sld_core, 
    127127          double sld_shell, 
     
    129129{ 
    130130    double intensity = core_shell_ellipsoid_kernel(q, 
    131            equat_core, 
    132            polar_core, 
    133            equat_shell, 
    134            polar_shell, 
     131           radius_equat_core, 
     132           radius_polar_core, 
     133           radius_equat_shell, 
     134           radius_polar_shell, 
    135135           sld_core, 
    136136           sld_shell, 
     
    142142 
    143143double Iqxy(double qx, double qy, 
    144           double equat_core, 
    145           double polar_core, 
    146           double equat_shell, 
    147           double polar_shell, 
     144          double radius_equat_core, 
     145          double radius_polar_core, 
     146          double radius_equat_shell, 
     147          double radius_polar_shell, 
    148148          double sld_core, 
    149149          double sld_shell, 
     
    155155    q = sqrt(qx*qx+qy*qy); 
    156156    double intensity = core_shell_ellipsoid_kernel_2d(q, qx/q, qy/q, 
    157                        equat_core, 
    158                        polar_core, 
    159                        equat_shell, 
    160                        polar_shell, 
     157                       radius_equat_core, 
     158                       radius_polar_core, 
     159                       radius_equat_shell, 
     160                       radius_polar_shell, 
    161161                       sld_core, 
    162162                       sld_shell, 
  • sasmodels/models/core_shell_ellipsoid.py

    r40a87fa r2222134  
    5252.. note:: 
    5353    The 2nd virial coefficient of the solid ellipsoid is calculated based on 
    54     the *radius_a* (= *polar_shell)* and *radius_b (= equat_shell)* values, 
     54    the *radius_a* (= *radius_polar_shell)* and *radius_b (= radius_equat_shell)* values, 
    5555    and used as the effective radius for *S(Q)* when $P(Q) * S(Q)$ is applied. 
    5656 
     
    8282    single particle scattering amplitude. 
    8383    [Parameters]: 
    84     equat_core = equatorial radius of core, Rminor_core, 
    85     polar_core = polar radius of core, Rmajor_core, 
    86     equat_shell = equatorial radius of shell, Rminor_outer, 
    87     polar_shell = polar radius of shell, Rmajor_outer, 
     84    radius_equat_core = equatorial radius of core, Rminor_core, 
     85    radius_polar_core = polar radius of core, Rmajor_core, 
     86    radius_equat_shell = equatorial radius of shell, Rminor_outer, 
     87    radius_polar_shell = polar radius of shell, Rmajor_outer, 
    8888    sld_core = scattering length density of core, 
    8989    sld_shell = scattering length density of shell, 
     
    102102#   ["name", "units", default, [lower, upper], "type", "description"], 
    103103parameters = [ 
    104     ["equat_core",  "Ang",      200,   [0, inf],    "volume",      "Equatorial radius of core, r minor core"], 
    105     ["polar_core",  "Ang",       10,   [0, inf],    "volume",      "Polar radius of core, r major core"], 
    106     ["equat_shell", "Ang",      250,   [0, inf],    "volume",      "Equatorial radius of shell, r minor outer"], 
    107     ["polar_shell", "Ang",       30,   [0, inf],    "volume",      "Polar radius of shell, r major outer"], 
     104    ["radius_equat_core",  "Ang",      200,   [0, inf],    "volume",      "Equatorial radius of core, r minor core"], 
     105    ["radius_polar_core",  "Ang",       10,   [0, inf],    "volume",      "Polar radius of core, r major core"], 
     106    ["radius_equat_shell", "Ang",      250,   [0, inf],    "volume",      "Equatorial radius of shell, r minor outer"], 
     107    ["radius_polar_shell", "Ang",       30,   [0, inf],    "volume",      "Polar radius of shell, r major outer"], 
    108108    ["sld_core",    "1e-6/Ang^2", 2,   [-inf, inf], "sld",         "Core scattering length density"], 
    109109    ["sld_shell",   "1e-6/Ang^2", 1,   [-inf, inf], "sld",         "Shell scattering length density"], 
     
    116116source = ["lib/sph_j1c.c", "lib/gfn.c", "lib/gauss76.c", "core_shell_ellipsoid.c"] 
    117117 
    118 def ER(equat_core, polar_core, equat_shell, polar_shell): 
     118def ER(radius_equat_core, radius_polar_core, radius_equat_shell, radius_polar_shell): 
    119119    """ 
    120120        Returns the effective radius used in the S*P calculation 
    121121    """ 
    122122    from .ellipsoid import ER as ellipsoid_ER 
    123     return ellipsoid_ER(polar_shell, equat_shell) 
     123    return ellipsoid_ER(radius_polar_shell, radius_equat_shell) 
    124124 
    125125 
    126126demo = dict(scale=1, background=0.001, 
    127             equat_core=200.0, 
    128             polar_core=10.0, 
    129             equat_shell=250.0, 
    130             polar_shell=30.0, 
     127            radius_equat_core=200.0, 
     128            radius_polar_core=10.0, 
     129            radius_equat_shell=250.0, 
     130            radius_polar_shell=30.0, 
    131131            sld_core=2.0, 
    132132            sld_shell=1.0, 
     
    142142tests = [ 
    143143    # Accuracy tests based on content in test/utest_other_models.py 
    144     [{'equat_core': 200.0, 
    145       'polar_core': 20.0, 
    146       'equat_shell': 250.0, 
    147       'polar_shell': 30.0, 
     144    [{'radius_equat_core': 200.0, 
     145      'radius_polar_core': 20.0, 
     146      'radius_equat_shell': 250.0, 
     147      'radius_polar_shell': 30.0, 
    148148      'sld_core': 2.0, 
    149149      'sld_shell': 1.0, 
     
    156156    [{'background': 0.01}, 0.1, 8.86741], 
    157157 
    158     [{'equat_core': 20.0, 
    159       'polar_core': 200.0, 
    160       'equat_shell': 54.0, 
    161       'polar_shell': 3.0, 
     158    [{'radius_equat_core': 20.0, 
     159      'radius_polar_core': 200.0, 
     160      'radius_equat_shell': 54.0, 
     161      'radius_polar_shell': 3.0, 
    162162      'sld_core': 20.0, 
    163163      'sld_shell': 10.0, 
     
    169169    [{'background': 0.001}, (0.4, 0.5), 0.00170471], 
    170170 
    171     [{'equat_core': 20.0, 
    172       'polar_core': 200.0, 
    173       'equat_shell': 54.0, 
    174       'polar_shell': 3.0, 
     171    [{'radius_equat_core': 20.0, 
     172      'radius_polar_core': 200.0, 
     173      'radius_equat_shell': 54.0, 
     174      'radius_polar_shell': 3.0, 
    175175      'sld_core': 20.0, 
    176176      'sld_shell': 10.0, 
  • sasmodels/models/core_shell_ellipsoid_xt.c

    re7678b2 r2222134  
    1 double form_volume(double equat_core, 
     1double form_volume(double radius_equat_core, 
    22                   double polar_core, 
    33                   double equat_shell, 
    44                   double polar_shell); 
    55double Iq(double q, 
    6           double equat_core, 
     6          double radius_equat_core, 
    77          double x_core, 
    8           double t_shell, 
     8          double thick_shell, 
    99          double x_polar_shell, 
    1010          double core_sld, 
     
    1414 
    1515double Iqxy(double qx, double qy, 
    16           double equat_core, 
     16          double radius_equat_core, 
    1717          double x_core, 
    18           double t_shell, 
     18          double thick_shell, 
    1919          double x_polar_shell, 
    2020          double core_sld, 
     
    2525 
    2626 
    27 double form_volume(double equat_core, 
     27double form_volume(double radius_equat_core, 
    2828                   double x_core, 
    29                    double t_shell, 
     29                   double thick_shell, 
    3030                   double x_polar_shell) 
    3131{ 
    32     const double equat_shell = equat_core + t_shell; 
    33     const double polar_shell = equat_core*x_core + t_shell*x_polar_shell; 
     32    const double equat_shell = radius_equat_core + thick_shell; 
     33    const double polar_shell = radius_equat_core*x_core + thick_shell*x_polar_shell; 
    3434    double vol = 4.0*M_PI/3.0*equat_shell*equat_shell*polar_shell; 
    3535    return vol; 
     
    3838static double 
    3939core_shell_ellipsoid_xt_kernel(double q, 
    40           double equat_core, 
     40          double radius_equat_core, 
    4141          double x_core, 
    42           double t_shell, 
     42          double thick_shell, 
    4343          double x_polar_shell, 
    4444          double core_sld, 
     
    5555 
    5656 
    57     const double polar_core = equat_core*x_core; 
    58     const double equat_shell = equat_core + t_shell; 
    59     const double polar_shell = equat_core*x_core + t_shell*x_polar_shell; 
     57    const double polar_core = radius_equat_core*x_core; 
     58    const double equat_shell = radius_equat_core + thick_shell; 
     59    const double polar_shell = radius_equat_core*x_core + thick_shell*x_polar_shell; 
    6060 
    6161    for(int i=0;i<N_POINTS_76;i++) { 
    6262        double zi = ( Gauss76Z[i]*(uplim-lolim) + uplim + lolim )/2.0; 
    6363        double yyy = Gauss76Wt[i] * gfn4(zi, 
    64                                   equat_core, 
     64                                  radius_equat_core, 
    6565                                  polar_core, 
    6666                                  equat_shell, 
     
    8181static double 
    8282core_shell_ellipsoid_xt_kernel_2d(double q, double q_x, double q_y, 
    83           double equat_core, 
     83          double radius_equat_core, 
    8484          double x_core, 
    85           double t_shell, 
     85          double thick_shell, 
    8686          double x_polar_shell, 
    8787          double core_sld, 
     
    106106    const double cos_val = cyl_x*q_x + cyl_y*q_y; 
    107107 
    108     const double polar_core = equat_core*x_core; 
    109     const double equat_shell = equat_core + t_shell; 
    110     const double polar_shell = equat_core*x_core + t_shell*x_polar_shell; 
     108    const double polar_core = radius_equat_core*x_core; 
     109    const double equat_shell = radius_equat_core + thick_shell; 
     110    const double polar_shell = radius_equat_core*x_core + thick_shell*x_polar_shell; 
    111111 
    112112    // Call the IGOR library function to get the kernel: 
    113113    // MUST use gfn4 not gf2 because of the def of params. 
    114114    double answer = gfn4(cos_val, 
    115                   equat_core, 
     115                  radius_equat_core, 
    116116                  polar_core, 
    117117                  equat_shell, 
     
    128128 
    129129double Iq(double q, 
    130           double equat_core, 
     130          double radius_equat_core, 
    131131          double x_core, 
    132           double t_shell, 
     132          double thick_shell, 
    133133          double x_polar_shell, 
    134134          double core_sld, 
     
    137137{ 
    138138    double intensity = core_shell_ellipsoid_xt_kernel(q, 
    139            equat_core, 
     139           radius_equat_core, 
    140140           x_core, 
    141            t_shell, 
     141           thick_shell, 
    142142           x_polar_shell, 
    143143           core_sld, 
     
    150150 
    151151double Iqxy(double qx, double qy, 
    152           double equat_core, 
     152          double radius_equat_core, 
    153153          double x_core, 
    154           double t_shell, 
     154          double thick_shell, 
    155155          double x_polar_shell, 
    156156          double core_sld, 
     
    163163    q = sqrt(qx*qx+qy*qy); 
    164164    double intensity = core_shell_ellipsoid_xt_kernel_2d(q, qx/q, qy/q, 
    165                        equat_core, 
     165                       radius_equat_core, 
    166166                       x_core, 
    167                        t_shell, 
     167                       thick_shell, 
    168168                       x_polar_shell, 
    169169                       core_sld, 
  • sasmodels/models/core_shell_ellipsoid_xt.py

    r40a87fa r2222134  
    1414The geometric parameters of this model are 
    1515 
    16 *equat_core =* equatorial core radius *= R_minor_core* 
     16*radius_equat_core =* equatorial core radius *= R_minor_core* 
    1717 
    18 *X_core = polar_core / equat_core = Rmajor_core / Rminor_core* 
     18*X_core = polar_core / radius_equat_core = Rmajor_core / Rminor_core* 
    1919 
    20 *T_shell = equat_outer - equat_core = Rminor_outer - Rminor_core* 
     20*Thick_shell = equat_outer - radius_equat_core = Rminor_outer - Rminor_core* 
    2121 
    22 *XpolarShell = Tpolar_shell / T_shell = (Rmajor_outer - Rmajor_core)/ 
     22*XpolarShell = Tpolar_shell / Thick_shell = (Rmajor_outer - Rmajor_core)/ 
    2323(Rminor_outer - Rminor_core)* 
    2424 
    2525In terms of the original radii 
    2626 
    27 *polar_core = equat_core * X_core* 
     27*polar_core = radius_equat_core * X_core* 
    2828 
    29 *equat_shell = equat_core + T_shell* 
     29*equat_shell = radius_equat_core + Thick_shell* 
    3030 
    31 *polar_shell = equat_core * X_core + T_shell * XpolarShell* 
     31*polar_shell = radius_equat_core * X_core + Thick_shell * XpolarShell* 
    3232 
    3333(where we note that "shell" perhaps confusingly, relates to the outer radius) 
     
    6868        single particle scattering amplitude. 
    6969        [Parameters]: 
    70         equat_core = equatorial radius of core, 
     70        radius_equat_core = equatorial radius of core, 
    7171        x_core = ratio of core polar/equatorial radii, 
    72         t_shell = equatorial radius of outer surface, 
     72        thick_shell = equatorial radius of outer surface, 
    7373        x_polar_shell = ratio of polar shell thickness to equatorial shell thickness, 
    7474        sld_core = SLD_core 
     
    8888#             ["name", "units", default, [lower, upper], "type", "description"], 
    8989parameters = [ 
    90     ["equat_core",    "Ang",       20,   [0, inf],    "volume",      "Equatorial radius of core"], 
     90    ["radius_equat_core","Ang",     20,   [0, inf],    "volume",      "Equatorial radius of core"], 
    9191    ["x_core",        "None",       3,   [0, inf],    "volume",      "axial ratio of core, X = r_polar/r_equatorial"], 
    92     ["t_shell",       "Ang",       30,   [0, inf],    "volume",      "thickness of shell at equator"], 
     92    ["thick_shell",   "Ang",       30,   [0, inf],    "volume",      "thickness of shell at equator"], 
    9393    ["x_polar_shell", "",           1,   [0, inf],    "volume",      "ratio of thickness of shell at pole to that at equator"], 
    9494    ["sld_core",      "1e-6/Ang^2", 2,   [-inf, inf], "sld",         "Core scattering length density"], 
     
    103103          "core_shell_ellipsoid_xt.c"] 
    104104 
    105 def ER(equat_core, x_core, t_shell, x_polar_shell): 
     105def ER(radius_equat_core, x_core, thick_shell, x_polar_shell): 
    106106    """ 
    107107        Returns the effective radius used in the S*P calculation 
    108108    """ 
    109109    from .ellipsoid import ER as ellipsoid_ER 
    110     polar_outer = equat_core*x_core + t_shell*x_polar_shell 
    111     equat_outer = equat_core + t_shell 
     110    polar_outer = radius_equat_core*x_core + thick_shell*x_polar_shell 
     111    equat_outer = radius_equat_core + thick_shell 
    112112    return ellipsoid_ER(polar_outer, equat_outer) 
    113113 
    114114 
    115115demo = dict(scale=0.05, background=0.001, 
    116             equat_core=20.0, 
     116            radius_equat_core=20.0, 
    117117            x_core=3.0, 
    118             t_shell=30.0, 
     118            thick_shell=30.0, 
    119119            x_polar_shell=1.0, 
    120120            sld_core=2.0, 
     
    131131tests = [ 
    132132    # Accuracy tests based on content in test/utest_coreshellellipsoidXTmodel.py 
    133     [{'equat_core': 200.0, 
     133    [{'radius_equat_core': 200.0, 
    134134      'x_core': 0.1, 
    135       't_shell': 50.0, 
     135      'thick_shell': 50.0, 
    136136      'x_polar_shell': 0.2, 
    137137      'sld_core': 2.0, 
     
    145145    [{'background': 0.01}, 0.1, 11.6915], 
    146146 
    147     [{'equat_core': 20.0, 
     147    [{'radius_equat_core': 20.0, 
    148148      'x_core': 200.0, 
    149       't_shell': 54.0, 
     149      'thick_shell': 54.0, 
    150150      'x_polar_shell': 3.0, 
    151151      'sld_core': 20.0, 
     
    158158    [{'background': 0.001}, (0.4, 0.5), 0.00690673], 
    159159 
    160     [{'equat_core': 20.0, 
     160    [{'radius_equat_core': 20.0, 
    161161      'x_core': 200.0, 
    162       't_shell': 54.0, 
     162      'thick_shell': 54.0, 
    163163      'x_polar_shell': 3.0, 
    164164      'sld_core': 20.0, 
  • sasmodels/models/core_shell_parallelepiped.c

    rabdd01c r2222134  
    1 double form_volume(double a_side, double b_side, double c_side,  
    2                    double arim_thickness, double brim_thickness, double crim_thickness); 
     1double form_volume(double length_a, double length_b, double length_c,  
     2                   double thick_rim_a, double thick_rim_b, double thick_rim_c); 
    33double Iq(double q, double core_sld, double arim_sld, double brim_sld, double crim_sld, 
    4           double solvent_sld, double a_side, double b_side, double c_side, 
    5           double arim_thickness, double brim_thickness, double crim_thickness); 
     4          double solvent_sld, double length_a, double length_b, double length_c, 
     5          double thick_rim_a, double thick_rim_b, double thick_rim_c); 
    66double Iqxy(double qx, double qy, double core_sld, double arim_sld, double brim_sld, 
    7             double crim_sld, double solvent_sld, double a_side, double b_side, 
    8             double c_side, double arim_thickness, double brim_thickness, 
    9             double crim_thickness, double theta, double phi, double psi); 
    10  
    11 double form_volume(double a_side, double b_side, double c_side,  
    12                    double arim_thickness, double brim_thickness, double crim_thickness) 
     7            double crim_sld, double solvent_sld, double length_a, double length_b, 
     8            double length_c, double thick_rim_a, double thick_rim_b, 
     9            double thick_rim_c, double theta, double phi, double psi); 
     10 
     11double form_volume(double length_a, double length_b, double length_c,  
     12                   double thick_rim_a, double thick_rim_b, double thick_rim_c) 
    1313{ 
    14     //return a_side * b_side * c_side; 
    15     return a_side * b_side * c_side +  
    16            2.0 * arim_thickness * b_side * c_side +  
    17            2.0 * brim_thickness * a_side * c_side + 
    18            2.0 * crim_thickness * a_side * b_side; 
     14    //return length_a * length_b * length_c; 
     15    return length_a * length_b * length_c +  
     16           2.0 * thick_rim_a * length_b * length_c +  
     17           2.0 * thick_rim_b * length_a * length_c + 
     18           2.0 * thick_rim_c * length_a * length_b; 
    1919} 
    2020 
     
    2525    double crim_sld, 
    2626    double solvent_sld, 
    27     double a_side, 
    28     double b_side, 
    29     double c_side, 
    30     double arim_thickness, 
    31     double brim_thickness, 
    32     double crim_thickness) 
     27    double length_a, 
     28    double length_b, 
     29    double length_c, 
     30    double thick_rim_a, 
     31    double thick_rim_b, 
     32    double thick_rim_c) 
    3333{ 
    3434    // Code converted from functions CSPPKernel and CSParallelepiped in libCylinder.c_scaled 
     
    3636     
    3737    double t1, t2, t3, t4, tmp, answer;    
    38     double mu = q * b_side; 
     38    double mu = q * length_b; 
    3939     
    4040    //calculate volume before rescaling (in original code, but not used) 
    41     //double vol = form_volume(a_side, b_side, c_side, arim_thickness, brim_thickness, crim_thickness);          
    42     //double vol = a_side * b_side * c_side +  
    43     //       2.0 * arim_thickness * b_side * c_side +  
    44     //       2.0 * brim_thickness * a_side * c_side + 
    45     //       2.0 * crim_thickness * a_side * b_side; 
     41    //double vol = form_volume(length_a, length_b, length_c, thick_rim_a, thick_rim_b, thick_rim_c);             
     42    //double vol = length_a * length_b * length_c +  
     43    //       2.0 * thick_rim_a * length_b * length_c +  
     44    //       2.0 * thick_rim_b * length_a * length_c + 
     45    //       2.0 * thick_rim_c * length_a * length_b; 
    4646     
    4747    // Scale sides by B 
    48     double a_scaled = a_side / b_side; 
    49     double c_scaled = c_side / b_side; 
     48    double a_scaled = length_a / length_b; 
     49    double c_scaled = length_c / length_b; 
    5050 
    5151    // DelRho values (note that drC is not used later)        
     
    7474            double mudum = mu * sqrt(1.0-sigma*sigma); 
    7575 
    76                 double Vin = a_side * b_side * c_side; 
    77                 //double Vot = (a_side * b_side * c_side + 
    78             //            2.0 * arim_thickness * b_side * c_side + 
    79             //            2.0 * a_side * brim_thickness * c_side + 
    80             //            2.0 * a_side * b_side * crim_thickness); 
    81                 double V1 = (2.0 * arim_thickness * b_side * c_side);    // incorrect V1 (aa*bb*cc+2*ta*bb*cc) 
    82                 double V2 = (2.0 * a_side * brim_thickness * c_side);    // incorrect V2(aa*bb*cc+2*aa*tb*cc) 
     76                double Vin = length_a * length_b * length_c; 
     77                //double Vot = (length_a * length_b * length_c + 
     78            //            2.0 * thick_rim_a * length_b * length_c + 
     79            //            2.0 * length_a * thick_rim_b * length_c + 
     80            //            2.0 * length_a * length_b * thick_rim_c); 
     81                double V1 = (2.0 * thick_rim_a * length_b * length_c);    // incorrect V1 (aa*bb*cc+2*ta*bb*cc) 
     82                double V2 = (2.0 * length_a * thick_rim_b * length_c);    // incorrect V2(aa*bb*cc+2*aa*tb*cc) 
    8383         
    8484            // ta and tb correspond to the definitions in CSPPKernel, but they don't make sense to me (MG) 
     
    8686            // while in cspkernel in csparallelepiped.cpp (used for the 2D), all the definitions 
    8787            // for ta, tb, tc use also A + 2*rim_thickness (but not scaled by B!!!)             
    88             double ta = (a_scaled+2.0*arim_thickness)/b_side;  
    89             double tb = (a_scaled+2.0*brim_thickness)/b_side; 
     88            double ta = (a_scaled+2.0*thick_rim_a)/length_b;  
     89            double tb = (a_scaled+2.0*thick_rim_b)/length_b; 
    9090     
    9191                double arg1 = (0.5*mudum*a_scaled) * sin(0.5*M_PI*uu); 
     
    160160    double crim_sld, 
    161161    double solvent_sld, 
    162     double a_side, 
    163     double b_side, 
    164     double c_side, 
    165     double arim_thickness, 
    166     double brim_thickness, 
    167     double crim_thickness, 
     162    double length_a, 
     163    double length_b, 
     164    double length_c, 
     165    double thick_rim_a, 
     166    double thick_rim_b, 
     167    double thick_rim_c, 
    168168    double theta, 
    169169    double phi, 
     
    217217        double drB = brim_sld-solvent_sld; 
    218218        double drC = crim_sld-solvent_sld; 
    219         double Vin = a_side * b_side * c_side; 
     219        double Vin = length_a * length_b * length_c; 
    220220    // As for the 1D case, Vot is not used 
    221         //double Vot = (a_side * b_side * c_side + 
    222     //              2.0 * arim_thickness * b_side * c_side + 
    223     //              2.0 * a_side * brim_thickness * c_side + 
    224     //              2.0 * a_side * b_side * crim_thickness); 
    225         double V1 = (2.0 * arim_thickness * b_side * c_side);    // incorrect V1 (aa*bb*cc+2*ta*bb*cc) 
    226         double V2 = (2.0 * a_side * brim_thickness * c_side);    // incorrect V2(aa*bb*cc+2*aa*tb*cc) 
    227     double V3 = (2.0 * a_side * b_side * crim_thickness); 
     221        //double Vot = (length_a * length_b * length_c + 
     222    //              2.0 * thick_rim_a * length_b * length_c + 
     223    //              2.0 * length_a * thick_rim_b * length_c + 
     224    //              2.0 * length_a * length_b * thick_rim_c); 
     225        double V1 = (2.0 * thick_rim_a * length_b * length_c);    // incorrect V1 (aa*bb*cc+2*ta*bb*cc) 
     226        double V2 = (2.0 * length_a * thick_rim_b * length_c);    // incorrect V2(aa*bb*cc+2*aa*tb*cc) 
     227    double V3 = (2.0 * length_a * length_b * thick_rim_c); 
    228228    // The definitions of ta, tb, tc are not the same as in the 1D case because there is no 
    229     // the scaling by B. The use of a_side for the 3 of them seems clearly a mistake to me, 
     229    // the scaling by B. The use of length_a for the 3 of them seems clearly a mistake to me, 
    230230    // but for the moment I let it like this until understanding better the code. 
    231         double ta = a_side + 2.0*arim_thickness; 
    232     double tb = a_side + 2.0*brim_thickness; 
    233     double tc = a_side + 2.0*crim_thickness; 
     231        double ta = length_a + 2.0*thick_rim_a; 
     232    double tb = length_a + 2.0*thick_rim_b; 
     233    double tc = length_a + 2.0*thick_rim_c; 
    234234    //handle arg=0 separately, as sin(t)/t -> 1 as t->0 
    235     double argA = 0.5*q*a_side*cos_val_a; 
    236     double argB = 0.5*q*b_side*cos_val_b; 
    237     double argC = 0.5*q*c_side*cos_val_c; 
     235    double argA = 0.5*q*length_a*cos_val_a; 
     236    double argB = 0.5*q*length_b*cos_val_b; 
     237    double argC = 0.5*q*length_c*cos_val_c; 
    238238    double argtA = 0.5*q*ta*cos_val_a; 
    239239    double argtB = 0.5*q*tb*cos_val_b; 
  • sasmodels/models/core_shell_parallelepiped.py

    r42356c8 r2222134  
    124124              ["sld_solvent", "1e-6/Ang^2", 6, [-inf, inf], "sld", 
    125125               "Solvent scattering length density"], 
    126               ["a_side", "Ang", 35, [0, inf], "volume", 
     126              ["length_a", "Ang", 35, [0, inf], "volume", 
    127127               "Shorter side of the parallelepiped"], 
    128               ["b_side", "Ang", 75, [0, inf], "volume", 
     128              ["length_b", "Ang", 75, [0, inf], "volume", 
    129129               "Second side of the parallelepiped"], 
    130               ["c_side", "Ang", 400, [0, inf], "volume", 
     130              ["length_c", "Ang", 400, [0, inf], "volume", 
    131131               "Larger side of the parallelepiped"], 
    132               ["arim_thickness", "Ang", 10, [0, inf], "volume", 
     132              ["thick_rim_a", "Ang", 10, [0, inf], "volume", 
    133133               "Thickness of A rim"], 
    134               ["brim_thickness", "Ang", 10, [0, inf], "volume", 
     134              ["thick_rim_b", "Ang", 10, [0, inf], "volume", 
    135135               "Thickness of B rim"], 
    136               ["crim_thickness", "Ang", 10, [0, inf], "volume", 
     136              ["thick_rim_c", "Ang", 10, [0, inf], "volume", 
    137137               "Thickness of C rim"], 
    138138              ["theta", "degrees", 0, [-inf, inf], "orientation", 
     
    147147 
    148148 
    149 def ER(a_side, b_side, c_side, arim_thickness, brim_thickness, crim_thickness): 
     149def ER(length_a, length_b, length_c, thick_rim_a, thick_rim_b, thick_rim_c): 
    150150    """ 
    151151        Return equivalent radius (ER) 
     
    153153 
    154154    # surface average radius (rough approximation) 
    155     surf_rad = sqrt((a_side + 2.0*arim_thickness) * (b_side + 2.0*brim_thickness) / pi) 
     155    surf_rad = sqrt((length_a + 2.0*thick_rim_a) * (length_b + 2.0*thick_rim_b) / pi) 
    156156 
    157     height = c_side + 2.0*crim_thickness 
     157    height = length_c + 2.0*thick_rim_c 
    158158 
    159159    ddd = 0.75 * surf_rad * (2 * surf_rad * height + (height + surf_rad) * (height + pi * surf_rad)) 
     
    166166            sld_core=1e-6, sld_a=2e-6, sld_b=4e-6, 
    167167            sld_c=2e-6, sld_solvent=6e-6, 
    168             a_side=35, b_side=75, c_side=400, 
    169             arim_thickness=10, brim_thickness=10, crim_thickness=10, 
     168            length_a=35, length_b=75, length_c=400, 
     169            thick_rim_a=10, thick_rim_b=10, thick_rim_c=10, 
    170170            theta=0, phi=0, psi=0, 
    171             a_side_pd=0.1, a_side_pd_n=1, 
    172             b_side_pd=0.1, b_side_pd_n=1, 
    173             c_side_pd=0.1, c_side_pd_n=1, 
    174             arim_thickness_pd=0.1, arim_thickness_pd_n=1, 
    175             brim_thickness_pd=0.1, brim_thickness_pd_n=1, 
    176             crim_thickness_pd=0.1, crim_thickness_pd_n=1, 
     171            length_a_pd=0.1, length_a_pd_n=1, 
     172            length_b_pd=0.1, length_b_pd_n=1, 
     173            length_c_pd=0.1, length_c_pd_n=1, 
     174            thick_rim_a_pd=0.1, thick_rim_a_pd_n=1, 
     175            thick_rim_b_pd=0.1, thick_rim_b_pd_n=1, 
     176            thick_rim_c_pd=0.1, thick_rim_c_pd_n=1, 
    177177            theta_pd=10, theta_pd_n=1, 
    178178            phi_pd=10, phi_pd_n=1, 
Note: See TracChangeset for help on using the changeset viewer.