Changeset a34b811 in sasmodels for sasmodels/models
- Timestamp:
- Mar 28, 2019 5:02:53 PM (5 years ago)
- Branches:
- master, ticket-1257-vesicle-product, ticket_1156, ticket_822_more_unit_tests
- Children:
- db1d9d5
- Parents:
- e5cb3df
- Location:
- sasmodels/models
- Files:
-
- 60 edited
Legend:
- Unmodified
- Added
- Removed
-
sasmodels/models/_spherepy.py
r0507e09 ra34b811 48 48 ---------------------------- 49 49 50 * **Author: P Kienzle** 51 * **Last Modified by:** 50 * **Author: P Kienzle** 51 * **Last Modified by:** 52 52 * **Last Reviewed by:** S King and P Parker **Date:** 2013/09/09 and 2014/01/06 53 53 * **Source added by :** Steve King **Date:** March 25, 2019 … … 83 83 return 1.333333333333333 * pi * radius ** 3 84 84 85 def effective_radius(mode, radius):85 def radius_effective(mode, radius): 86 86 """Calculate R_eff for sphere""" 87 return radius 87 return radius if mode else 0. 88 88 89 89 def Iq(q, sld, sld_solvent, radius): -
sasmodels/models/barbell.c
r99658f6 ra34b811 85 85 86 86 static double 87 effective_radius(int mode, double radius_bell, double radius, double length)87 radius_effective(int mode, double radius_bell, double radius, double length) 88 88 { 89 89 switch (mode) { -
sasmodels/models/barbell.py
r0507e09 ra34b811 126 126 source = ["lib/polevl.c", "lib/sas_J1.c", "lib/gauss76.c", "barbell.c"] 127 127 have_Fq = True 128 effective_radius_type= [128 radius_effective_modes = [ 129 129 "equivalent cylinder excluded volume", "equivalent volume sphere", 130 130 "radius", "half length", "half total length", -
sasmodels/models/capped_cylinder.c
r99658f6 ra34b811 107 107 108 108 static double 109 effective_radius(int mode, double radius, double radius_cap, double length)109 radius_effective(int mode, double radius, double radius_cap, double length) 110 110 { 111 111 switch (mode) { -
sasmodels/models/capped_cylinder.py
r0507e09 ra34b811 146 146 source = ["lib/polevl.c", "lib/sas_J1.c", "lib/gauss76.c", "capped_cylinder.c"] 147 147 have_Fq = True 148 effective_radius_type= [148 radius_effective_modes = [ 149 149 "equivalent cylinder excluded volume", "equivalent volume sphere", 150 150 "radius", "half length", "half total length", -
sasmodels/models/core_multi_shell.c
rd42dd4a ra34b811 26 26 27 27 static double 28 effective_radius(int mode, double core_radius, double fp_n, double thickness[])28 radius_effective(int mode, double core_radius, double fp_n, double thickness[]) 29 29 { 30 30 switch (mode) { -
sasmodels/models/core_multi_shell.py
r0507e09 ra34b811 108 108 source = ["lib/sas_3j1x_x.c", "core_multi_shell.c"] 109 109 have_Fq = True 110 effective_radius_type= ["outer radius", "core radius"]110 radius_effective_modes = ["outer radius", "core radius"] 111 111 112 112 def random(): -
sasmodels/models/core_shell_bicelle.c
r99658f6 ra34b811 60 60 61 61 static double 62 effective_radius(int mode, double radius, double thick_rim, double thick_face, double length)62 radius_effective(int mode, double radius, double thick_rim, double thick_face, double length) 63 63 { 64 64 switch (mode) { -
sasmodels/models/core_shell_bicelle.py
r0507e09 ra34b811 165 165 "core_shell_bicelle.c"] 166 166 have_Fq = True 167 effective_radius_type= [167 radius_effective_modes = [ 168 168 "excluded volume", "equivalent volume sphere", "outer rim radius", 169 169 "half outer thickness", "half diagonal", -
sasmodels/models/core_shell_bicelle_elliptical.c
r99658f6 ra34b811 35 35 36 36 static double 37 effective_radius(int mode, double r_minor, double x_core, double thick_rim, double thick_face, double length)37 radius_effective(int mode, double r_minor, double x_core, double thick_rim, double thick_face, double length) 38 38 { 39 39 switch (mode) { -
sasmodels/models/core_shell_bicelle_elliptical.py
r0507e09 ra34b811 155 155 "core_shell_bicelle_elliptical.c"] 156 156 have_Fq = True 157 effective_radius_type= [157 radius_effective_modes = [ 158 158 "equivalent cylinder excluded volume", "equivalent volume sphere", 159 159 "outer rim average radius", "outer rim min radius", -
sasmodels/models/core_shell_bicelle_elliptical_belt_rough.c
r99658f6 ra34b811 36 36 37 37 static double 38 effective_radius(int mode, double r_minor, double x_core, double thick_rim, double thick_face, double length)38 radius_effective(int mode, double r_minor, double x_core, double thick_rim, double thick_face, double length) 39 39 { 40 40 switch (mode) { -
sasmodels/models/core_shell_bicelle_elliptical_belt_rough.py
r0507e09 ra34b811 168 168 "core_shell_bicelle_elliptical_belt_rough.c"] 169 169 have_Fq = True 170 effective_radius_type= [170 radius_effective_modes = [ 171 171 "equivalent cylinder excluded volume", "equivalent volume sphere", 172 172 "outer rim average radius", "outer rim min radius", -
sasmodels/models/core_shell_cylinder.c
r99658f6 ra34b811 37 37 38 38 static double 39 effective_radius(int mode, double radius, double thickness, double length)39 radius_effective(int mode, double radius, double thickness, double length) 40 40 { 41 41 switch (mode) { -
sasmodels/models/core_shell_cylinder.py
r0507e09 ra34b811 141 141 source = ["lib/polevl.c", "lib/sas_J1.c", "lib/gauss76.c", "core_shell_cylinder.c"] 142 142 have_Fq = True 143 effective_radius_type= [143 radius_effective_modes = [ 144 144 "excluded volume", "equivalent volume sphere", "outer radius", "half outer length", 145 145 "half min outer dimension", "half max outer dimension", "half outer diagonal", -
sasmodels/models/core_shell_ellipsoid.c
r99658f6 ra34b811 68 68 69 69 static double 70 effective_radius(int mode, double radius_equat_core, double x_core, double thick_shell, double x_polar_shell)70 radius_effective(int mode, double radius_equat_core, double x_core, double thick_shell, double x_polar_shell) 71 71 { 72 72 const double radius_equat_tot = radius_equat_core + thick_shell; -
sasmodels/models/core_shell_ellipsoid.py
r0507e09 ra34b811 155 155 source = ["lib/sas_3j1x_x.c", "lib/gauss76.c", "core_shell_ellipsoid.c"] 156 156 have_Fq = True 157 effective_radius_type= [157 radius_effective_modes = [ 158 158 "average outer curvature", "equivalent volume sphere", 159 159 "min outer radius", "max outer radius", -
sasmodels/models/core_shell_parallelepiped.c
r99658f6 ra34b811 75 75 76 76 static double 77 effective_radius(int mode, double length_a, double length_b, double length_c,77 radius_effective(int mode, double length_a, double length_b, double length_c, 78 78 double thick_rim_a, double thick_rim_b, double thick_rim_c) 79 79 { -
sasmodels/models/core_shell_parallelepiped.py
r0507e09 ra34b811 236 236 source = ["lib/gauss76.c", "core_shell_parallelepiped.c"] 237 237 have_Fq = True 238 effective_radius_type= [238 radius_effective_modes = [ 239 239 "equivalent cylinder excluded volume", 240 240 "equivalent volume sphere", -
sasmodels/models/core_shell_sphere.c
rd42dd4a ra34b811 6 6 7 7 static double 8 effective_radius(int mode, double radius, double thickness)8 radius_effective(int mode, double radius, double thickness) 9 9 { 10 10 switch (mode) { -
sasmodels/models/core_shell_sphere.py
r0507e09 ra34b811 60 60 ---------------------------- 61 61 62 * **Author:** 63 * **Last Modified by:** 64 * **Last Reviewed by:** 62 * **Author:** 63 * **Last Modified by:** 64 * **Last Reviewed by:** 65 65 * **Source added by :** Steve King **Date:** March 25, 2019 66 66 """ … … 92 92 source = ["lib/sas_3j1x_x.c", "lib/core_shell.c", "core_shell_sphere.c"] 93 93 have_Fq = True 94 effective_radius_type= ["outer radius", "core radius"]94 radius_effective_modes = ["outer radius", "core radius"] 95 95 96 96 demo = dict(scale=1, background=0, radius=60, thickness=10, -
sasmodels/models/cylinder.c
r99658f6 ra34b811 32 32 33 33 static double 34 effective_radius(int mode, double radius, double length)34 radius_effective(int mode, double radius, double length) 35 35 { 36 36 switch (mode) { -
sasmodels/models/cylinder.py
r6652522 ra34b811 155 155 source = ["lib/polevl.c", "lib/sas_J1.c", "lib/gauss76.c", "cylinder.c"] 156 156 have_Fq = True 157 effective_radius_type= [157 radius_effective_modes = [ 158 158 "excluded volume", "equivalent volume sphere", "radius", 159 159 "half length", "half min dimension", "half max dimension", "half diagonal", -
sasmodels/models/ellipsoid.c
r99658f6 ra34b811 32 32 33 33 static double 34 effective_radius(int mode, double radius_polar, double radius_equatorial)34 radius_effective(int mode, double radius_polar, double radius_equatorial) 35 35 { 36 36 switch (mode) { -
sasmodels/models/ellipsoid.py
r0507e09 ra34b811 167 167 source = ["lib/sas_3j1x_x.c", "lib/gauss76.c", "ellipsoid.c"] 168 168 have_Fq = True 169 effective_radius_type= [169 radius_effective_modes = [ 170 170 "average curvature", "equivalent volume sphere", "min radius", "max radius", 171 171 ] -
sasmodels/models/elliptical_cylinder.c
r99658f6 ra34b811 41 41 42 42 static double 43 effective_radius(int mode, double radius_minor, double r_ratio, double length)43 radius_effective(int mode, double radius_minor, double r_ratio, double length) 44 44 { 45 45 switch (mode) { -
sasmodels/models/elliptical_cylinder.py
r0507e09 ra34b811 131 131 source = ["lib/polevl.c", "lib/sas_J1.c", "lib/gauss76.c", "elliptical_cylinder.c"] 132 132 have_Fq = True 133 effective_radius_type= [133 radius_effective_modes = [ 134 134 "equivalent cylinder excluded volume", 135 135 "equivalent volume sphere", "average radius", "min radius", "max radius", -
sasmodels/models/fuzzy_sphere.c
rd42dd4a ra34b811 5 5 6 6 static double 7 effective_radius(int mode, double radius, double fuzziness)7 radius_effective(int mode, double radius, double fuzziness) 8 8 { 9 9 switch (mode) { -
sasmodels/models/fuzzy_sphere.py
r0507e09 ra34b811 63 63 ---------------------------- 64 64 65 * **Author:** 66 * **Last Modified by:** 67 * **Last Reviewed by:** 65 * **Author:** 66 * **Last Modified by:** 67 * **Last Reviewed by:** 68 68 * **Source added by :** Steve King **Date:** March 25, 2019 69 69 """ … … 98 98 source = ["lib/sas_3j1x_x.c", "fuzzy_sphere.c"] 99 99 have_Fq = True 100 effective_radius_type= ["radius", "radius + fuzziness"]100 radius_effective_modes = ["radius", "radius + fuzziness"] 101 101 102 102 def random(): -
sasmodels/models/hollow_cylinder.c
r99658f6 ra34b811 34 34 35 35 static double 36 effective_radius(int mode, double radius, double thickness, double length)36 radius_effective(int mode, double radius, double thickness, double length) 37 37 { 38 38 switch (mode) { -
sasmodels/models/hollow_cylinder.py
r0507e09 ra34b811 110 110 source = ["lib/polevl.c", "lib/sas_J1.c", "lib/gauss76.c", "hollow_cylinder.c"] 111 111 have_Fq = True 112 effective_radius_type= [112 radius_effective_modes = [ 113 113 "excluded volume", "equivalent outer volume sphere", 114 114 "outer radius", "half length", -
sasmodels/models/hollow_rectangular_prism.c
r99658f6 ra34b811 30 30 31 31 static double 32 effective_radius(int mode, double length_a, double b2a_ratio, double c2a_ratio, double thickness)32 radius_effective(int mode, double length_a, double b2a_ratio, double c2a_ratio, double thickness) 33 33 // NOTE length_a is external dimension! 34 34 { -
sasmodels/models/hollow_rectangular_prism.py
r0507e09 ra34b811 157 157 source = ["lib/gauss76.c", "hollow_rectangular_prism.c"] 158 158 have_Fq = True 159 effective_radius_type= [159 radius_effective_modes = [ 160 160 "equivalent cylinder excluded volume", "equivalent outer volume sphere", 161 161 "half length_a", "half length_b", "half length_c", -
sasmodels/models/hollow_rectangular_prism_thin_walls.c
r99658f6 ra34b811 26 26 27 27 static double 28 effective_radius(int mode, double length_a, double b2a_ratio, double c2a_ratio)28 radius_effective(int mode, double length_a, double b2a_ratio, double c2a_ratio) 29 29 { 30 30 switch (mode) { -
sasmodels/models/hollow_rectangular_prism_thin_walls.py
r0507e09 ra34b811 117 117 source = ["lib/gauss76.c", "hollow_rectangular_prism_thin_walls.c"] 118 118 have_Fq = True 119 effective_radius_type= [119 radius_effective_modes = [ 120 120 "equivalent cylinder excluded volume", "equivalent outer volume sphere", 121 121 "half length_a", "half length_b", "half length_c", -
sasmodels/models/mono_gauss_coil.c
r153f8f6 ra34b811 6 6 7 7 static double 8 effective_radius(int mode, double rg)8 radius_effective(int mode, double rg) 9 9 { 10 10 switch (mode) { -
sasmodels/models/mono_gauss_coil.py
r0507e09 ra34b811 59 59 ---------------------------- 60 60 61 * **Author:** 62 * **Last Modified by:** 63 * **Last Reviewed by:** 61 * **Author:** 62 * **Last Modified by:** 63 * **Last Reviewed by:** 64 64 * **Source added by :** Steve King **Date:** March 25, 2019""" 65 65 … … 86 86 source = ["mono_gauss_coil.c"] 87 87 have_Fq = False 88 effective_radius_type= ["R_g", "2R_g", "3R_g", "sqrt(5/3)*R_g"]88 radius_effective_modes = ["R_g", "2R_g", "3R_g", "sqrt(5/3)*R_g"] 89 89 90 90 -
sasmodels/models/multilayer_vesicle.c
ree60aa7 ra34b811 48 48 49 49 static double 50 effective_radius(int mode, double radius, double thick_shell, double thick_solvent, double fp_n_shells)50 radius_effective(int mode, double radius, double thick_shell, double thick_solvent, double fp_n_shells) 51 51 { 52 52 // case 1: outer radius -
sasmodels/models/multilayer_vesicle.py
r0507e09 ra34b811 154 154 source = ["lib/sas_3j1x_x.c", "multilayer_vesicle.c"] 155 155 have_Fq = True 156 effective_radius_type= ["outer radius"]156 radius_effective_modes = ["outer radius"] 157 157 158 158 def random(): -
sasmodels/models/onion.c
ree60aa7 ra34b811 47 47 48 48 static double 49 effective_radius(int mode, double radius_core, double n_shells, double thickness[])49 radius_effective(int mode, double radius_core, double n_shells, double thickness[]) 50 50 { 51 51 // case 1: outer radius -
sasmodels/models/onion.py
r0507e09 ra34b811 182 182 ---------------------------- 183 183 184 * **Author:** 185 * **Last Modified by:** 186 * **Last Reviewed by:** 184 * **Author:** 185 * **Last Modified by:** 186 * **Last Reviewed by:** 187 187 * **Source added by :** Steve King **Date:** March 25, 2019 188 188 """ … … 329 329 single = False 330 330 have_Fq = True 331 effective_radius_type= ["outer radius"]331 radius_effective_modes = ["outer radius"] 332 332 333 333 profile_axes = ['Radius (A)', 'SLD (1e-6/A^2)'] -
sasmodels/models/parallelepiped.c
r99658f6 ra34b811 37 37 38 38 static double 39 effective_radius(int mode, double length_a, double length_b, double length_c)39 radius_effective(int mode, double length_a, double length_b, double length_c) 40 40 { 41 41 switch (mode) { -
sasmodels/models/parallelepiped.py
r0507e09 ra34b811 240 240 source = ["lib/gauss76.c", "parallelepiped.c"] 241 241 have_Fq = True 242 effective_radius_type= [242 radius_effective_modes = [ 243 243 "equivalent cylinder excluded volume", "equivalent volume sphere", 244 244 "half length_a", "half length_b", "half length_c", -
sasmodels/models/pearl_necklace.c
r9b5fd42 ra34b811 86 86 87 87 static double 88 effective_radius(int mode, double radius, double edge_sep, double thick_string, double fp_num_pearls)88 radius_effective(int mode, double radius, double edge_sep, double thick_string, double fp_num_pearls) 89 89 { 90 90 switch (mode) { -
sasmodels/models/pearl_necklace.py
r0507e09 ra34b811 65 65 ---------------------------- 66 66 67 * **Author:** 68 * **Last Modified by:** 69 * **Last Reviewed by:** 67 * **Author:** 68 * **Last Modified by:** 69 * **Last Reviewed by:** 70 70 * **Source added by :** Steve King **Date:** March 25, 2019 71 71 """ … … 111 111 source = ["lib/sas_Si.c", "lib/sas_3j1x_x.c", "pearl_necklace.c"] 112 112 single = False # use double precision unless told otherwise 113 effective_radius_type= ["equivalent volume sphere"]113 radius_effective_modes = ["equivalent volume sphere"] 114 114 115 115 def random(): -
sasmodels/models/poly_gauss_coil.py
r0507e09 ra34b811 58 58 ---------------------------- 59 59 60 * **Author:** 61 * **Last Modified by:** 62 * **Last Reviewed by:** 60 * **Author:** 61 * **Last Modified by:** 62 * **Last Reviewed by:** 63 63 * **Source added by :** Steve King **Date:** March 25, 2019 64 64 """ -
sasmodels/models/pringle.c
r99658f6 ra34b811 111 111 112 112 static double 113 effective_radius(int mode, double radius, double thickness, double alpha, double beta)113 radius_effective(int mode, double radius, double thickness, double alpha, double beta) 114 114 { 115 115 switch (mode) { -
sasmodels/models/pringle.py
r0507e09 ra34b811 85 85 source = ["lib/polevl.c", "lib/sas_J0.c", "lib/sas_J1.c", 86 86 "lib/sas_JN.c", "lib/gauss76.c", "pringle.c"] 87 effective_radius_type= [87 radius_effective_modes = [ 88 88 "equivalent cylinder excluded volume", 89 89 "equivalent volume sphere", -
sasmodels/models/raspberry.c
rd42dd4a ra34b811 15 15 16 16 static double 17 effective_radius(int mode, double radius_lg, double radius_sm, double penetration)17 radius_effective(int mode, double radius_lg, double radius_sm, double penetration) 18 18 { 19 19 switch (mode) { -
sasmodels/models/raspberry.py
r0507e09 ra34b811 161 161 162 162 source = ["lib/sas_3j1x_x.c", "raspberry.c"] 163 effective_radius_type= ["radius_large", "radius_outer"]163 radius_effective_modes = ["radius_large", "radius_outer"] 164 164 165 165 def random(): -
sasmodels/models/rectangular_prism.c
r99658f6 ra34b811 14 14 15 15 static double 16 effective_radius(int mode, double length_a, double b2a_ratio, double c2a_ratio)16 radius_effective(int mode, double length_a, double b2a_ratio, double c2a_ratio) 17 17 { 18 18 switch (mode) { -
sasmodels/models/rectangular_prism.py
r0507e09 ra34b811 110 110 ---------------------------- 111 111 112 * **Author:** 113 * **Last Modified by:** 114 * **Last Reviewed by:** 112 * **Author:** 113 * **Last Modified by:** 114 * **Last Reviewed by:** 115 115 * **Source added by :** Steve King **Date:** March 25, 2019 116 116 """ … … 151 151 source = ["lib/gauss76.c", "rectangular_prism.c"] 152 152 have_Fq = True 153 effective_radius_type= [153 radius_effective_modes = [ 154 154 "equivalent cylinder excluded volume", "equivalent volume sphere", 155 155 "half length_a", "half length_b", "half length_c", -
sasmodels/models/sphere.c
ree60aa7 ra34b811 5 5 6 6 static double 7 effective_radius(int mode, double radius)7 radius_effective(int mode, double radius) 8 8 { 9 9 // case 1: radius -
sasmodels/models/sphere.py
r6140894 ra34b811 81 81 source = ["lib/sas_3j1x_x.c", "sphere.c"] 82 82 have_Fq = True 83 effective_radius_type= ["radius"]83 radius_effective_modes = ["radius"] 84 84 85 85 def random(): … … 99 99 0.2, 792.0646662454202, 1166737.0473152, 120.0, 7246723.820358589, 1.0], # the longer list here checks F1, F2, R_eff, volume, volume_ratio = call_Fq(kernel, pars) 100 100 # But note P(Q) = F2/volume 101 # F and F^2 are "unscaled", with for n <F F*>S(q) or for beta approx I(q) = n [<F F*> + <F><F*> (S(q) - 1)] 102 # for n the number density and <.> the orientation average, and F = integral rho(r) exp(i q . r) dr. 103 # The number density is volume fraction divided by particle volume. 101 # F and F^2 are "unscaled", with for n <F F*>S(q) or for beta approx I(q) = n [<F F*> + <F><F*> (S(q) - 1)] 102 # for n the number density and <.> the orientation average, and F = integral rho(r) exp(i q . r) dr. 103 # The number density is volume fraction divided by particle volume. 104 104 # Effectively, this leaves F = V drho form, where form is the usual 3 j1(qr)/(qr) or whatever depending on the shape. 105 105 # [{"@S": "hardsphere"}, … … 124 124 "structure_factor_mode": 1, # 0 = normal decoupling approximation, 1 = beta(Q) approx 125 125 "radius_effective_mode": 0 # this used r_eff =0 or default 50? 126 }, 0.01, 1324.7375636587356 ], 126 }, 0.01, 1324.7375636587356 ], 127 127 [{"@S": "hardsphere", 128 128 "radius": 120., "radius_pd": 0.2, "radius_pd_n":45, … … 131 131 "structure_factor_mode": 1, # 0 = normal decoupling approximation, 1 = beta(Q) approx 132 132 "radius_effective_mode": 1 # this used 120 ??? 133 }, 0.01, 1579.2858949296565 ] 133 }, 0.01, 1579.2858949296565 ] 134 134 ] 135 135 # putting None for expected result will pass the test if there are no errors from the routine, but without any check on the value of the result -
sasmodels/models/spherical_sld.c
ree60aa7 ra34b811 19 19 20 20 static double 21 effective_radius(int mode, double fp_n_shells, double thickness[], double interface[])21 radius_effective(int mode, double fp_n_shells, double thickness[], double interface[]) 22 22 { 23 23 // case 1: outer radius -
sasmodels/models/spherical_sld.py
r0507e09 ra34b811 232 232 single = False # TODO: fix low q behaviour 233 233 have_Fq = True 234 effective_radius_type= ["outer radius"]234 radius_effective_modes = ["outer radius"] 235 235 236 236 profile_axes = ['Radius (A)', 'SLD (1e-6/A^2)'] -
sasmodels/models/triaxial_ellipsoid.c
r99658f6 ra34b811 76 76 77 77 static double 78 effective_radius(int mode, double radius_equat_minor, double radius_equat_major, double radius_polar)78 radius_effective(int mode, double radius_equat_minor, double radius_equat_major, double radius_polar) 79 79 { 80 80 switch (mode) { -
sasmodels/models/triaxial_ellipsoid.py
r0507e09 ra34b811 164 164 source = ["lib/sas_3j1x_x.c", "lib/gauss76.c", "triaxial_ellipsoid.c"] 165 165 have_Fq = True 166 effective_radius_type= [166 radius_effective_modes = [ 167 167 "equivalent biaxial ellipsoid average curvature", 168 168 "equivalent volume sphere", "min radius", "max radius", -
sasmodels/models/vesicle.c
r12f4c19 ra34b811 13 13 14 14 static double 15 effective_radius(int mode, double radius, double thickness)15 radius_effective(int mode, double radius, double thickness) 16 16 { 17 17 // case 1: outer radius -
sasmodels/models/vesicle.py
r0507e09 ra34b811 107 107 source = ["lib/sas_3j1x_x.c", "vesicle.c"] 108 108 have_Fq = True 109 effective_radius_type= ["outer radius"]109 radius_effective_modes = ["outer radius"] 110 110 111 111 def random():
Note: See TracChangeset
for help on using the changeset viewer.