Index: explore/beta/sasfit_compare.py
===================================================================
--- explore/beta/sasfit_compare.py	(revision 119073a61da4bc8256d0f33c999a38f346f9dfc6)
+++ explore/beta/sasfit_compare.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -408,5 +408,5 @@
         #radius_effective=12.59921049894873,
         )
-    target = sasmodels_theory(q, model, effective_radius_mode=0, structure_factor_mode=1, **pars)
+    target = sasmodels_theory(q, model, radius_effective_mode=0, structure_factor_mode=1, **pars)
     actual = ellipsoid_pe(q, norm='sasview', **pars)
     title = " ".join(("sasmodels", model, pd_type))
Index: explore/beta/sasfit_compare_new.py
===================================================================
--- explore/beta/sasfit_compare_new.py	(revision 0b8a1fc941701e9f60c61e73bf3ed742b12062d9)
+++ explore/beta/sasfit_compare_new.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -360,5 +360,5 @@
 #polydispersity for hollow_cylinder
 def hollow_cylinder_pe(q,radius=20, thickness=10, length=80, sld=4, sld_solvent=1, volfraction=0.15,
-        radius_pd=0.1, thickness_pd=0.2, length_pd=0.05, radius_pd_type="gaussian", length_pd_type="gaussian", 
+        radius_pd=0.1, thickness_pd=0.2, length_pd=0.05, radius_pd_type="gaussian", length_pd_type="gaussian",
         thickness_pd_type="gaussian", radius_effective=None, background=0, scale=1,
                  norm='sasview'):
@@ -595,5 +595,5 @@
 #       this one is only used locally for "actual"
         )
-    target = sasmodels_theory(q, model, effective_radius_type=0, structure_factor_mode=1, **pars)
+    target = sasmodels_theory(q, model, radius_effective_mode=0, structure_factor_mode=1, **pars)
     actual = sphere_r(q, norm='sasview', **pars)
     title = " ".join(("sasmodels", model, pd_type))
@@ -612,8 +612,8 @@
         background=0,
         radius_pd=0.01, thickness_pd=0.01, radius_pd_type=pd_type, thickness_pd_type=pd_type,
-        radius_effective=30. ) 
+        radius_effective=30. )
         # equivalent average sphere radius for local "actual" to match what sasview uses, use None to compute average outer radius here,
 
-    target = sasmodels_theory(q, model, effective_radius_type=0, structure_factor_mode=1, **pars)
+    target = sasmodels_theory(q, model, radius_effective_mode=0, structure_factor_mode=1, **pars)
     actual = vesicle_pe(q, norm='sasview', **pars)
     title = " ".join(("sasmodels", model, pd_type))
@@ -633,7 +633,7 @@
         background=0,
         radius_pd=0.1, thickness_pd=0.0, length_pd=0.0, radius_pd_type=pd_type, thickness_pd_type=pd_type, length_pd_type=pd_type,
-        radius_effective=40.687)  
+        radius_effective=40.687)
         # equivalent average sphere radius for local "actual" to match what sasview uses
-    target = sasmodels_theory(q, model, effective_radius_type=0, structure_factor_mode=1, **pars)
+    target = sasmodels_theory(q, model, radius_effective_mode=0, structure_factor_mode=1, **pars)
     actual = hollow_cylinder_pe(q, norm='sasview', **pars)
 # RKH monodisp was OK,    actual = hollow_cylinder_theta(q,radius=20, thickness=10, length=80, sld=4, sld_solvent=1 )
@@ -656,5 +656,5 @@
 # if change radius_effective to some other value, the S(Q) from sasview does not agree
         )
-    target = sasmodels_theory(q, model, effective_radius_type=0, structure_factor_mode=1, **pars)
+    target = sasmodels_theory(q, model, radius_effective_mode=0, structure_factor_mode=1, **pars)
     actual = ellipsoid_pe(q, norm='sasview', **pars)
 # RKH test       actual = ellipsoid_theta(q, radius_polar=20, radius_equatorial=400, sld=4, sld_solvent=1, volfraction=0.15, radius_effective=270.)
Index: sasmodels/direct_model.py
===================================================================
--- sasmodels/direct_model.py	(revision b39bf3b280713aebf2f5492c8799baf517ae6248)
+++ sasmodels/direct_model.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -71,6 +71,7 @@
     For solid objects V_shell is equal to V_form and the volume ratio is 1.
 
-    Use parameter *effective_radius_type* to select the effective radius THIS MIGHT NEED CHECKING radius_effective_mode or effecive_radius_type???
-    calculation.
+    Use parameter *radius_effective_mode* to select the effective radius
+    calculation to use amongst the *radius_effective_modes* list given in the
+    model.
     """
     R_eff_type = int(pars.pop(RADIUS_MODE_ID, 1.0))
Index: sasmodels/generate.py
===================================================================
--- sasmodels/generate.py	(revision b297ba9e837aada12de87cd46ea7a01bfe549da7)
+++ sasmodels/generate.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -27,5 +27,5 @@
     which are hollow.
 
-    *effective_radius(mode, p1, p2, ...)* returns the effective radius of
+    *radius_effective(mode, p1, p2, ...)* returns the effective radius of
     the form with particular dimensions.  Mode determines the type of
     effective radius returned, with mode=1 for equivalent volume.
@@ -820,5 +820,5 @@
                               for p in partable.kernel_parameters))
     # Define the function calls
-    call_effective_radius = "#define CALL_EFFECTIVE_RADIUS(_mode, _v) 0.0"
+    call_radius_effective = "#define CALL_RADIUS_EFFECTIVE(_mode, _v) 0.0"
     if partable.form_volume_parameters:
         refs = _call_pars("_v.", partable.form_volume_parameters)
@@ -833,8 +833,8 @@
                 "do { _form = _shell = form_volume(%s); } "
                 "while (0)") % (",".join(refs))
-        if model_info.effective_radius_type:
-            call_effective_radius = (
-                "#define CALL_EFFECTIVE_RADIUS(_mode, _v) "
-                "effective_radius(_mode, %s)") % (",".join(refs))
+        if model_info.radius_effective_modes:
+            call_radius_effective = (
+                "#define CALL_RADIUS_EFFECTIVE(_mode, _v) "
+                "radius_effective(_mode, %s)") % (",".join(refs))
     else:
         # Model doesn't have volume.  We could make the kernel run a little
@@ -845,5 +845,5 @@
             "do { _form = _shell = 1.0; } while (0)")
     source.append(call_volume)
-    source.append(call_effective_radius)
+    source.append(call_radius_effective)
     model_refs = _call_pars("_v.", partable.iq_parameters)
 
Index: sasmodels/kernel.py
===================================================================
--- sasmodels/kernel.py	(revision b297ba9e837aada12de87cd46ea7a01bfe549da7)
+++ sasmodels/kernel.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -78,5 +78,5 @@
         """
         _, F2, _, shell_volume, _ = self.Fq(call_details, values, cutoff,
-                                            magnetic, effective_radius_type=0)
+                                            magnetic, radius_effective_mode=0)
         combined_scale = values[0]/shell_volume
         background = values[1]
@@ -85,5 +85,5 @@
 
     def Fq(self, call_details, values, cutoff, magnetic,
-           effective_radius_type=0):
+           radius_effective_mode=0):
         # type: (CallDetails, np.ndarray, np.ndarray, float, bool, int) -> np.ndarray
         r"""
@@ -143,5 +143,5 @@
         volume fraction of the particles.  The model can have several
         different ways to compute effective radius, with the
-        *effective_radius_type* parameter used to select amongst them.  The
+        *radius_effective_mode* parameter used to select amongst them.  The
         volume fraction of particles should be determined from the total
         volume fraction of the form, not just the shell volume fraction.
@@ -153,5 +153,5 @@
         """
         self._call_kernel(call_details, values, cutoff, magnetic,
-                          effective_radius_type)
+                          radius_effective_mode)
         #print("returned",self.q_input.q, self.result)
         nout = 2 if self.info.have_Fq and self.dim == '1d' else 1
@@ -165,5 +165,5 @@
         form_volume = self.result[nout*self.q_input.nq + 1]/total_weight
         shell_volume = self.result[nout*self.q_input.nq + 2]/total_weight
-        effective_radius = self.result[nout*self.q_input.nq + 3]/total_weight
+        radius_effective = self.result[nout*self.q_input.nq + 3]/total_weight
         if shell_volume == 0.:
             shell_volume = 1.
@@ -171,5 +171,5 @@
               if nout == 2 else None)
         F2 = self.result[0:nout*self.q_input.nq:nout]/total_weight
-        return F1, F2, effective_radius, shell_volume, form_volume/shell_volume
+        return F1, F2, radius_effective, shell_volume, form_volume/shell_volume
 
     def release(self):
@@ -181,5 +181,5 @@
 
     def _call_kernel(self, call_details, values, cutoff, magnetic,
-                     effective_radius_type):
+                     radius_effective_mode):
         # type: (CallDetails, np.ndarray, np.ndarray, float, bool, int) -> np.ndarray
         """
Index: sasmodels/kernel_iq.c
===================================================================
--- sasmodels/kernel_iq.c	(revision 12f4c19f620b0845847bb04e53189f2c43808bac)
+++ sasmodels/kernel_iq.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -27,5 +27,5 @@
 //      parameters in the parameter table.
 //  CALL_VOLUME(form, shell, table) : assign form and shell values
-//  CALL_EFFECTIVE_RADIUS(type, table) : call the R_eff function
+//  CALL_RADIUS_EFFECTIVE(mode, table) : call the R_eff function
 //  CALL_IQ(q, table) : call the Iq function for 1D calcs.
 //  CALL_IQ_A(q, table) : call the Iq function with |q| for 2D data.
@@ -285,5 +285,5 @@
     pglobal double *result,       // nq+1 return values, again with padding
     const double cutoff,          // cutoff in the dispersity weight product
-    int32_t effective_radius_type // which effective radius to compute
+    int32_t radius_effective_mode // which effective radius to compute
     )
 {
@@ -703,6 +703,6 @@
       weighted_form += weight * form;
       weighted_shell += weight * shell;
-      if (effective_radius_type != 0) {
-        weighted_radius += weight * CALL_EFFECTIVE_RADIUS(effective_radius_type, local_values.table);
+      if (radius_effective_mode != 0) {
+        weighted_radius += weight * CALL_RADIUS_EFFECTIVE(radius_effective_mode, local_values.table);
       }
       BUILD_ROTATION();
Index: sasmodels/kernelcl.py
===================================================================
--- sasmodels/kernelcl.py	(revision 069743ad3277819b232d3b3bc5a2e94eb110f106)
+++ sasmodels/kernelcl.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -577,5 +577,5 @@
 
     def _call_kernel(self, call_details, values, cutoff, magnetic,
-                     effective_radius_type):
+                     radius_effective_mode):
         # type: (CallDetails, np.ndarray, float, bool, int) -> np.ndarray
         env = environment()
@@ -601,5 +601,5 @@
             self._result_b,   # Result storage.
             self._as_dtype(cutoff),  # Probability cutoff.
-            np.uint32(effective_radius_type),  # R_eff mode.
+            np.uint32(radius_effective_mode),  # R_eff mode.
         ]
 
Index: sasmodels/kernelcuda.py
===================================================================
--- sasmodels/kernelcuda.py	(revision b297ba9e837aada12de87cd46ea7a01bfe549da7)
+++ sasmodels/kernelcuda.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -473,5 +473,5 @@
 
     def _call_kernel(self, call_details, values, cutoff, magnetic,
-                     effective_radius_type):
+                     radius_effective_mode):
         # type: (CallDetails, np.ndarray, float, bool, int) -> np.ndarray
 
@@ -492,5 +492,5 @@
             self._result_b,   # Result storage.
             self._as_dtype(cutoff),  # Probability cutoff.
-            np.uint32(effective_radius_type),  # R_eff mode.
+            np.uint32(radius_effective_mode),  # R_eff mode.
         ]
         grid = partition(self.q_input.nq)
Index: sasmodels/kerneldll.py
===================================================================
--- sasmodels/kerneldll.py	(revision b297ba9e837aada12de87cd46ea7a01bfe549da7)
+++ sasmodels/kerneldll.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -403,5 +403,5 @@
 
     def _call_kernel(self, call_details, values, cutoff, magnetic,
-                     effective_radius_type):
+                     radius_effective_mode):
         # type: (CallDetails, np.ndarray, float, bool, int) -> np.ndarray
 
@@ -417,5 +417,5 @@
             self.result.ctypes.data,   # Result storage.
             self._as_dtype(cutoff),  # Probability cutoff.
-            effective_radius_type,  # R_eff mode.
+            radius_effective_mode,  # R_eff mode.
         ]
 
Index: sasmodels/kernelpy.py
===================================================================
--- sasmodels/kernelpy.py	(revision b297ba9e837aada12de87cd46ea7a01bfe549da7)
+++ sasmodels/kernelpy.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -172,5 +172,5 @@
         volume = model_info.form_volume
         shell = model_info.shell_volume
-        radius = model_info.effective_radius
+        radius = model_info.radius_effective
         self._volume = ((lambda: (shell(*volume_args), volume(*volume_args))) if shell and volume
                         else (lambda: [volume(*volume_args)]*2) if volume
@@ -180,5 +180,5 @@
                         else (lambda mode: 1.0))
 
-    def _call_kernel(self, call_details, values, cutoff, magnetic, effective_radius_type):
+    def _call_kernel(self, call_details, values, cutoff, magnetic, radius_effective_mode):
         # type: (CallDetails, np.ndarray, np.ndarray, float, bool) -> np.ndarray
         if magnetic:
@@ -186,6 +186,6 @@
         #print("Calling python kernel")
         #call_details.show(values)
-        radius = ((lambda: 0.0) if effective_radius_type == 0
-                  else (lambda: self._radius(effective_radius_type)))
+        radius = ((lambda: 0.0) if radius_effective_mode == 0
+                  else (lambda: self._radius(radius_effective_mode)))
         self.result = _loops(
             self._parameter_vector, self._form, self._volume, radius,
Index: sasmodels/modelinfo.py
===================================================================
--- sasmodels/modelinfo.py	(revision b297ba9e837aada12de87cd46ea7a01bfe549da7)
+++ sasmodels/modelinfo.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -265,5 +265,5 @@
     other sld parameters. The volume parameters are used for calls
     to form_volume within the kernel (required for volume normalization),
-    to shell_volume (for hollow shapes), and to effective_radius (for
+    to shell_volume (for hollow shapes), and to radius_effective (for
     structure factor interactions) respectively.
 
@@ -841,5 +841,5 @@
     info.structure_factor = getattr(kernel_module, 'structure_factor', False)
     # TODO: find Fq by inspection
-    info.effective_radius_type = getattr(kernel_module, 'effective_radius_type', None)
+    info.radius_effective_modes = getattr(kernel_module, 'radius_effective_modes', None)
     info.have_Fq = getattr(kernel_module, 'have_Fq', False)
     info.profile_axes = getattr(kernel_module, 'profile_axes', ['x', 'y'])
@@ -848,5 +848,5 @@
     info.source = getattr(kernel_module, 'source', [])
     info.c_code = getattr(kernel_module, 'c_code', None)
-    info.effective_radius = getattr(kernel_module, 'effective_radius', None)
+    info.radius_effective = getattr(kernel_module, 'radius_effective', None)
     # TODO: check the structure of the tests
     info.tests = getattr(kernel_module, 'tests', [])
@@ -961,5 +961,5 @@
     #: List of options for computing the effective radius of the shape,
     #: or None if the model is not usable as a form factor model.
-    effective_radius_type = None   # type: List[str]
+    radius_effective_modes = None   # type: List[str]
     #: List of C source files used to define the model.  The source files
     #: should define the *Iq* function, and possibly *Iqac* or *Iqabc* if the
@@ -989,5 +989,5 @@
     #: monodisperse approximation for non-dilute solutions, P@S.  The first
     #: argument is the integer effective radius mode, with default 0.
-    effective_radius = None  # type: Union[None, Callable[[int, np.ndarray], float]]
+    radius_effective = None  # type: Union[None, Callable[[int, np.ndarray], float]]
     #: Returns *I(q, a, b, ...)* for parameters *a*, *b*, etc. defined
     #: by the parameter table.  *Iq* can be defined as a python function, or
Index: sasmodels/models/_spherepy.py
===================================================================
--- sasmodels/models/_spherepy.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/_spherepy.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -48,6 +48,6 @@
 ----------------------------
 
-* **Author: P Kienzle** 
-* **Last Modified by:** 
+* **Author: P Kienzle**
+* **Last Modified by:**
 * **Last Reviewed by:** S King and P Parker **Date:** 2013/09/09 and 2014/01/06
 * **Source added by :** Steve King **Date:** March 25, 2019
@@ -83,7 +83,7 @@
     return 1.333333333333333 * pi * radius ** 3
 
-def effective_radius(mode, radius):
+def radius_effective(mode, radius):
     """Calculate R_eff for sphere"""
-    return radius
+    return radius if mode else 0.
 
 def Iq(q, sld, sld_solvent, radius):
Index: sasmodels/models/barbell.c
===================================================================
--- sasmodels/models/barbell.c	(revision 99658f6e997e12486269a52113af19f5089e0ef0)
+++ sasmodels/models/barbell.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -85,5 +85,5 @@
 
 static double
-effective_radius(int mode, double radius_bell, double radius, double length)
+radius_effective(int mode, double radius_bell, double radius, double length)
 {
     switch (mode) {
Index: sasmodels/models/barbell.py
===================================================================
--- sasmodels/models/barbell.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/barbell.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -126,5 +126,5 @@
 source = ["lib/polevl.c", "lib/sas_J1.c", "lib/gauss76.c", "barbell.c"]
 have_Fq = True
-effective_radius_type = [
+radius_effective_modes = [
     "equivalent cylinder excluded volume", "equivalent volume sphere",
     "radius", "half length", "half total length",
Index: sasmodels/models/capped_cylinder.c
===================================================================
--- sasmodels/models/capped_cylinder.c	(revision 99658f6e997e12486269a52113af19f5089e0ef0)
+++ sasmodels/models/capped_cylinder.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -107,5 +107,5 @@
 
 static double
-effective_radius(int mode, double radius, double radius_cap, double length)
+radius_effective(int mode, double radius, double radius_cap, double length)
 {
     switch (mode) {
Index: sasmodels/models/capped_cylinder.py
===================================================================
--- sasmodels/models/capped_cylinder.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/capped_cylinder.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -146,5 +146,5 @@
 source = ["lib/polevl.c", "lib/sas_J1.c", "lib/gauss76.c", "capped_cylinder.c"]
 have_Fq = True
-effective_radius_type = [
+radius_effective_modes = [
     "equivalent cylinder excluded volume", "equivalent volume sphere",
     "radius", "half length", "half total length",
Index: sasmodels/models/core_multi_shell.c
===================================================================
--- sasmodels/models/core_multi_shell.c	(revision d42dd4a6467163ad6ef165b733218fc2181ec1de)
+++ sasmodels/models/core_multi_shell.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -26,5 +26,5 @@
 
 static double
-effective_radius(int mode, double core_radius, double fp_n, double thickness[])
+radius_effective(int mode, double core_radius, double fp_n, double thickness[])
 {
   switch (mode) {
Index: sasmodels/models/core_multi_shell.py
===================================================================
--- sasmodels/models/core_multi_shell.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/core_multi_shell.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -108,5 +108,5 @@
 source = ["lib/sas_3j1x_x.c", "core_multi_shell.c"]
 have_Fq = True
-effective_radius_type = ["outer radius", "core radius"]
+radius_effective_modes = ["outer radius", "core radius"]
 
 def random():
Index: sasmodels/models/core_shell_bicelle.c
===================================================================
--- sasmodels/models/core_shell_bicelle.c	(revision 99658f6e997e12486269a52113af19f5089e0ef0)
+++ sasmodels/models/core_shell_bicelle.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -60,5 +60,5 @@
 
 static double
-effective_radius(int mode, double radius, double thick_rim, double thick_face, double length)
+radius_effective(int mode, double radius, double thick_rim, double thick_face, double length)
 {
     switch (mode) {
Index: sasmodels/models/core_shell_bicelle.py
===================================================================
--- sasmodels/models/core_shell_bicelle.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/core_shell_bicelle.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -165,5 +165,5 @@
           "core_shell_bicelle.c"]
 have_Fq = True
-effective_radius_type = [
+radius_effective_modes = [
     "excluded volume", "equivalent volume sphere", "outer rim radius",
     "half outer thickness", "half diagonal",
Index: sasmodels/models/core_shell_bicelle_elliptical.c
===================================================================
--- sasmodels/models/core_shell_bicelle_elliptical.c	(revision 99658f6e997e12486269a52113af19f5089e0ef0)
+++ sasmodels/models/core_shell_bicelle_elliptical.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -35,5 +35,5 @@
 
 static double
-effective_radius(int mode, double r_minor, double x_core, double thick_rim, double thick_face, double length)
+radius_effective(int mode, double r_minor, double x_core, double thick_rim, double thick_face, double length)
 {
     switch (mode) {
Index: sasmodels/models/core_shell_bicelle_elliptical.py
===================================================================
--- sasmodels/models/core_shell_bicelle_elliptical.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/core_shell_bicelle_elliptical.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -155,5 +155,5 @@
           "core_shell_bicelle_elliptical.c"]
 have_Fq = True
-effective_radius_type = [
+radius_effective_modes = [
     "equivalent cylinder excluded volume", "equivalent volume sphere",
     "outer rim average radius", "outer rim min radius",
Index: sasmodels/models/core_shell_bicelle_elliptical_belt_rough.c
===================================================================
--- sasmodels/models/core_shell_bicelle_elliptical_belt_rough.c	(revision 99658f6e997e12486269a52113af19f5089e0ef0)
+++ sasmodels/models/core_shell_bicelle_elliptical_belt_rough.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -36,5 +36,5 @@
 
 static double
-effective_radius(int mode, double r_minor, double x_core, double thick_rim, double thick_face, double length)
+radius_effective(int mode, double r_minor, double x_core, double thick_rim, double thick_face, double length)
 {
     switch (mode) {
Index: sasmodels/models/core_shell_bicelle_elliptical_belt_rough.py
===================================================================
--- sasmodels/models/core_shell_bicelle_elliptical_belt_rough.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/core_shell_bicelle_elliptical_belt_rough.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -168,5 +168,5 @@
           "core_shell_bicelle_elliptical_belt_rough.c"]
 have_Fq = True
-effective_radius_type = [
+radius_effective_modes = [
     "equivalent cylinder excluded volume", "equivalent volume sphere",
     "outer rim average radius", "outer rim min radius",
Index: sasmodels/models/core_shell_cylinder.c
===================================================================
--- sasmodels/models/core_shell_cylinder.c	(revision 99658f6e997e12486269a52113af19f5089e0ef0)
+++ sasmodels/models/core_shell_cylinder.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -37,5 +37,5 @@
 
 static double
-effective_radius(int mode, double radius, double thickness, double length)
+radius_effective(int mode, double radius, double thickness, double length)
 {
     switch (mode) {
Index: sasmodels/models/core_shell_cylinder.py
===================================================================
--- sasmodels/models/core_shell_cylinder.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/core_shell_cylinder.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -141,5 +141,5 @@
 source = ["lib/polevl.c", "lib/sas_J1.c", "lib/gauss76.c", "core_shell_cylinder.c"]
 have_Fq = True
-effective_radius_type = [
+radius_effective_modes = [
     "excluded volume", "equivalent volume sphere", "outer radius", "half outer length",
     "half min outer dimension", "half max outer dimension", "half outer diagonal",
Index: sasmodels/models/core_shell_ellipsoid.c
===================================================================
--- sasmodels/models/core_shell_ellipsoid.c	(revision 99658f6e997e12486269a52113af19f5089e0ef0)
+++ sasmodels/models/core_shell_ellipsoid.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -68,5 +68,5 @@
 
 static double
-effective_radius(int mode, double radius_equat_core, double x_core, double thick_shell, double x_polar_shell)
+radius_effective(int mode, double radius_equat_core, double x_core, double thick_shell, double x_polar_shell)
 {
     const double radius_equat_tot = radius_equat_core + thick_shell;
Index: sasmodels/models/core_shell_ellipsoid.py
===================================================================
--- sasmodels/models/core_shell_ellipsoid.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/core_shell_ellipsoid.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -155,5 +155,5 @@
 source = ["lib/sas_3j1x_x.c", "lib/gauss76.c", "core_shell_ellipsoid.c"]
 have_Fq = True
-effective_radius_type = [
+radius_effective_modes = [
     "average outer curvature", "equivalent volume sphere",
     "min outer radius", "max outer radius",
Index: sasmodels/models/core_shell_parallelepiped.c
===================================================================
--- sasmodels/models/core_shell_parallelepiped.c	(revision 99658f6e997e12486269a52113af19f5089e0ef0)
+++ sasmodels/models/core_shell_parallelepiped.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -75,5 +75,5 @@
 
 static double
-effective_radius(int mode, double length_a, double length_b, double length_c,
+radius_effective(int mode, double length_a, double length_b, double length_c,
                  double thick_rim_a, double thick_rim_b, double thick_rim_c)
 {
Index: sasmodels/models/core_shell_parallelepiped.py
===================================================================
--- sasmodels/models/core_shell_parallelepiped.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/core_shell_parallelepiped.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -236,5 +236,5 @@
 source = ["lib/gauss76.c", "core_shell_parallelepiped.c"]
 have_Fq = True
-effective_radius_type = [
+radius_effective_modes = [
     "equivalent cylinder excluded volume",
     "equivalent volume sphere",
Index: sasmodels/models/core_shell_sphere.c
===================================================================
--- sasmodels/models/core_shell_sphere.c	(revision d42dd4a6467163ad6ef165b733218fc2181ec1de)
+++ sasmodels/models/core_shell_sphere.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -6,5 +6,5 @@
 
 static double
-effective_radius(int mode, double radius, double thickness)
+radius_effective(int mode, double radius, double thickness)
 {
     switch (mode) {
Index: sasmodels/models/core_shell_sphere.py
===================================================================
--- sasmodels/models/core_shell_sphere.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/core_shell_sphere.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -60,7 +60,7 @@
 ----------------------------
 
-* **Author:** 
-* **Last Modified by:** 
-* **Last Reviewed by:** 
+* **Author:**
+* **Last Modified by:**
+* **Last Reviewed by:**
 * **Source added by :** Steve King **Date:** March 25, 2019
 """
@@ -92,5 +92,5 @@
 source = ["lib/sas_3j1x_x.c", "lib/core_shell.c", "core_shell_sphere.c"]
 have_Fq = True
-effective_radius_type = ["outer radius", "core radius"]
+radius_effective_modes = ["outer radius", "core radius"]
 
 demo = dict(scale=1, background=0, radius=60, thickness=10,
Index: sasmodels/models/cylinder.c
===================================================================
--- sasmodels/models/cylinder.c	(revision 99658f6e997e12486269a52113af19f5089e0ef0)
+++ sasmodels/models/cylinder.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -32,5 +32,5 @@
 
 static double
-effective_radius(int mode, double radius, double length)
+radius_effective(int mode, double radius, double length)
 {
     switch (mode) {
Index: sasmodels/models/cylinder.py
===================================================================
--- sasmodels/models/cylinder.py	(revision 66525220bd0776626c4e777688f4abdfa970d258)
+++ sasmodels/models/cylinder.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -155,5 +155,5 @@
 source = ["lib/polevl.c", "lib/sas_J1.c", "lib/gauss76.c", "cylinder.c"]
 have_Fq = True
-effective_radius_type = [
+radius_effective_modes = [
     "excluded volume", "equivalent volume sphere", "radius",
     "half length", "half min dimension", "half max dimension", "half diagonal",
Index: sasmodels/models/ellipsoid.c
===================================================================
--- sasmodels/models/ellipsoid.c	(revision 99658f6e997e12486269a52113af19f5089e0ef0)
+++ sasmodels/models/ellipsoid.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -32,5 +32,5 @@
 
 static double
-effective_radius(int mode, double radius_polar, double radius_equatorial)
+radius_effective(int mode, double radius_polar, double radius_equatorial)
 {
     switch (mode) {
Index: sasmodels/models/ellipsoid.py
===================================================================
--- sasmodels/models/ellipsoid.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/ellipsoid.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -167,5 +167,5 @@
 source = ["lib/sas_3j1x_x.c", "lib/gauss76.c", "ellipsoid.c"]
 have_Fq = True
-effective_radius_type = [
+radius_effective_modes = [
     "average curvature", "equivalent volume sphere", "min radius", "max radius",
     ]
Index: sasmodels/models/elliptical_cylinder.c
===================================================================
--- sasmodels/models/elliptical_cylinder.c	(revision 99658f6e997e12486269a52113af19f5089e0ef0)
+++ sasmodels/models/elliptical_cylinder.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -41,5 +41,5 @@
 
 static double
-effective_radius(int mode, double radius_minor, double r_ratio, double length)
+radius_effective(int mode, double radius_minor, double r_ratio, double length)
 {
     switch (mode) {
Index: sasmodels/models/elliptical_cylinder.py
===================================================================
--- sasmodels/models/elliptical_cylinder.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/elliptical_cylinder.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -131,5 +131,5 @@
 source = ["lib/polevl.c", "lib/sas_J1.c", "lib/gauss76.c", "elliptical_cylinder.c"]
 have_Fq = True
-effective_radius_type = [
+radius_effective_modes = [
     "equivalent cylinder excluded volume",
     "equivalent volume sphere", "average radius", "min radius", "max radius",
Index: sasmodels/models/fuzzy_sphere.c
===================================================================
--- sasmodels/models/fuzzy_sphere.c	(revision d42dd4a6467163ad6ef165b733218fc2181ec1de)
+++ sasmodels/models/fuzzy_sphere.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -5,5 +5,5 @@
 
 static double
-effective_radius(int mode, double radius, double fuzziness)
+radius_effective(int mode, double radius, double fuzziness)
 {
     switch (mode) {
Index: sasmodels/models/fuzzy_sphere.py
===================================================================
--- sasmodels/models/fuzzy_sphere.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/fuzzy_sphere.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -63,7 +63,7 @@
 ----------------------------
 
-* **Author:** 
-* **Last Modified by:** 
-* **Last Reviewed by:** 
+* **Author:**
+* **Last Modified by:**
+* **Last Reviewed by:**
 * **Source added by :** Steve King **Date:** March 25, 2019
 """
@@ -98,5 +98,5 @@
 source = ["lib/sas_3j1x_x.c", "fuzzy_sphere.c"]
 have_Fq = True
-effective_radius_type = ["radius", "radius + fuzziness"]
+radius_effective_modes = ["radius", "radius + fuzziness"]
 
 def random():
Index: sasmodels/models/hollow_cylinder.c
===================================================================
--- sasmodels/models/hollow_cylinder.c	(revision 99658f6e997e12486269a52113af19f5089e0ef0)
+++ sasmodels/models/hollow_cylinder.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -34,5 +34,5 @@
 
 static double
-effective_radius(int mode, double radius, double thickness, double length)
+radius_effective(int mode, double radius, double thickness, double length)
 {
     switch (mode) {
Index: sasmodels/models/hollow_cylinder.py
===================================================================
--- sasmodels/models/hollow_cylinder.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/hollow_cylinder.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -110,5 +110,5 @@
 source = ["lib/polevl.c", "lib/sas_J1.c", "lib/gauss76.c", "hollow_cylinder.c"]
 have_Fq = True
-effective_radius_type = [
+radius_effective_modes = [
     "excluded volume", "equivalent outer volume sphere",
     "outer radius", "half length",
Index: sasmodels/models/hollow_rectangular_prism.c
===================================================================
--- sasmodels/models/hollow_rectangular_prism.c	(revision 99658f6e997e12486269a52113af19f5089e0ef0)
+++ sasmodels/models/hollow_rectangular_prism.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -30,5 +30,5 @@
 
 static double
-effective_radius(int mode, double length_a, double b2a_ratio, double c2a_ratio, double thickness)
+radius_effective(int mode, double length_a, double b2a_ratio, double c2a_ratio, double thickness)
 // NOTE length_a is external dimension!
 {
Index: sasmodels/models/hollow_rectangular_prism.py
===================================================================
--- sasmodels/models/hollow_rectangular_prism.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/hollow_rectangular_prism.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -157,5 +157,5 @@
 source = ["lib/gauss76.c", "hollow_rectangular_prism.c"]
 have_Fq = True
-effective_radius_type = [
+radius_effective_modes = [
     "equivalent cylinder excluded volume", "equivalent outer volume sphere",
     "half length_a", "half length_b", "half length_c",
Index: sasmodels/models/hollow_rectangular_prism_thin_walls.c
===================================================================
--- sasmodels/models/hollow_rectangular_prism_thin_walls.c	(revision 99658f6e997e12486269a52113af19f5089e0ef0)
+++ sasmodels/models/hollow_rectangular_prism_thin_walls.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -26,5 +26,5 @@
 
 static double
-effective_radius(int mode, double length_a, double b2a_ratio, double c2a_ratio)
+radius_effective(int mode, double length_a, double b2a_ratio, double c2a_ratio)
 {
     switch (mode) {
Index: sasmodels/models/hollow_rectangular_prism_thin_walls.py
===================================================================
--- sasmodels/models/hollow_rectangular_prism_thin_walls.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/hollow_rectangular_prism_thin_walls.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -117,5 +117,5 @@
 source = ["lib/gauss76.c", "hollow_rectangular_prism_thin_walls.c"]
 have_Fq = True
-effective_radius_type = [
+radius_effective_modes = [
     "equivalent cylinder excluded volume", "equivalent outer volume sphere",
     "half length_a", "half length_b", "half length_c",
Index: sasmodels/models/mono_gauss_coil.c
===================================================================
--- sasmodels/models/mono_gauss_coil.c	(revision 153f8f65310518796a9b07f12a9e7cfa49ee4111)
+++ sasmodels/models/mono_gauss_coil.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -6,5 +6,5 @@
 
 static double
-effective_radius(int mode, double rg)
+radius_effective(int mode, double rg)
 {
     switch (mode) {
Index: sasmodels/models/mono_gauss_coil.py
===================================================================
--- sasmodels/models/mono_gauss_coil.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/mono_gauss_coil.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -59,7 +59,7 @@
 ----------------------------
 
-* **Author:** 
-* **Last Modified by:** 
-* **Last Reviewed by:** 
+* **Author:**
+* **Last Modified by:**
+* **Last Reviewed by:**
 * **Source added by :** Steve King **Date:** March 25, 2019"""
 
@@ -86,5 +86,5 @@
 source = ["mono_gauss_coil.c"]
 have_Fq = False
-effective_radius_type = ["R_g", "2R_g", "3R_g", "sqrt(5/3)*R_g"]
+radius_effective_modes = ["R_g", "2R_g", "3R_g", "sqrt(5/3)*R_g"]
 
 
Index: sasmodels/models/multilayer_vesicle.c
===================================================================
--- sasmodels/models/multilayer_vesicle.c	(revision ee60aa768b29c58e20b19e94578ec3a94a0889d7)
+++ sasmodels/models/multilayer_vesicle.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -48,5 +48,5 @@
 
 static double
-effective_radius(int mode, double radius, double thick_shell, double thick_solvent, double fp_n_shells)
+radius_effective(int mode, double radius, double thick_shell, double thick_solvent, double fp_n_shells)
 {
     // case 1: outer radius
Index: sasmodels/models/multilayer_vesicle.py
===================================================================
--- sasmodels/models/multilayer_vesicle.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/multilayer_vesicle.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -154,5 +154,5 @@
 source = ["lib/sas_3j1x_x.c", "multilayer_vesicle.c"]
 have_Fq = True
-effective_radius_type = ["outer radius"]
+radius_effective_modes = ["outer radius"]
 
 def random():
Index: sasmodels/models/onion.c
===================================================================
--- sasmodels/models/onion.c	(revision ee60aa768b29c58e20b19e94578ec3a94a0889d7)
+++ sasmodels/models/onion.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -47,5 +47,5 @@
 
 static double
-effective_radius(int mode, double radius_core, double n_shells, double thickness[])
+radius_effective(int mode, double radius_core, double n_shells, double thickness[])
 {
   // case 1: outer radius
Index: sasmodels/models/onion.py
===================================================================
--- sasmodels/models/onion.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/onion.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -182,7 +182,7 @@
 ----------------------------
 
-* **Author:** 
-* **Last Modified by:** 
-* **Last Reviewed by:** 
+* **Author:**
+* **Last Modified by:**
+* **Last Reviewed by:**
 * **Source added by :** Steve King **Date:** March 25, 2019
 """
@@ -329,5 +329,5 @@
 single = False
 have_Fq = True
-effective_radius_type = ["outer radius"]
+radius_effective_modes = ["outer radius"]
 
 profile_axes = ['Radius (A)', 'SLD (1e-6/A^2)']
Index: sasmodels/models/parallelepiped.c
===================================================================
--- sasmodels/models/parallelepiped.c	(revision 99658f6e997e12486269a52113af19f5089e0ef0)
+++ sasmodels/models/parallelepiped.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -37,5 +37,5 @@
 
 static double
-effective_radius(int mode, double length_a, double length_b, double length_c)
+radius_effective(int mode, double length_a, double length_b, double length_c)
 {
     switch (mode) {
Index: sasmodels/models/parallelepiped.py
===================================================================
--- sasmodels/models/parallelepiped.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/parallelepiped.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -240,5 +240,5 @@
 source = ["lib/gauss76.c", "parallelepiped.c"]
 have_Fq = True
-effective_radius_type = [
+radius_effective_modes = [
     "equivalent cylinder excluded volume", "equivalent volume sphere",
     "half length_a", "half length_b", "half length_c",
Index: sasmodels/models/pearl_necklace.c
===================================================================
--- sasmodels/models/pearl_necklace.c	(revision 44531368cbd90b0933fb61551a48e8edc051e6f9)
+++ sasmodels/models/pearl_necklace.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -86,5 +86,5 @@
 
 static double
-effective_radius(int mode, double radius, double edge_sep, double thick_string, double fp_num_pearls)
+radius_effective(int mode, double radius, double edge_sep, double thick_string, double fp_num_pearls)
 {
     switch (mode) {
Index: sasmodels/models/pearl_necklace.py
===================================================================
--- sasmodels/models/pearl_necklace.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/pearl_necklace.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -65,7 +65,7 @@
 ----------------------------
 
-* **Author:** 
-* **Last Modified by:** 
-* **Last Reviewed by:** 
+* **Author:**
+* **Last Modified by:**
+* **Last Reviewed by:**
 * **Source added by :** Steve King **Date:** March 25, 2019
 """
@@ -111,5 +111,5 @@
 source = ["lib/sas_Si.c", "lib/sas_3j1x_x.c", "pearl_necklace.c"]
 single = False  # use double precision unless told otherwise
-effective_radius_type = ["equivalent volume sphere"]
+radius_effective_modes = ["equivalent volume sphere"]
 
 def random():
Index: sasmodels/models/poly_gauss_coil.py
===================================================================
--- sasmodels/models/poly_gauss_coil.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/poly_gauss_coil.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -58,7 +58,7 @@
 ----------------------------
 
-* **Author:** 
-* **Last Modified by:** 
-* **Last Reviewed by:** 
+* **Author:**
+* **Last Modified by:**
+* **Last Reviewed by:**
 * **Source added by :** Steve King **Date:** March 25, 2019
 """
Index: sasmodels/models/pringle.c
===================================================================
--- sasmodels/models/pringle.c	(revision 99658f6e997e12486269a52113af19f5089e0ef0)
+++ sasmodels/models/pringle.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -111,5 +111,5 @@
 
 static double
-effective_radius(int mode, double radius, double thickness, double alpha, double beta)
+radius_effective(int mode, double radius, double thickness, double alpha, double beta)
 {
     switch (mode) {
Index: sasmodels/models/pringle.py
===================================================================
--- sasmodels/models/pringle.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/pringle.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -85,5 +85,5 @@
 source = ["lib/polevl.c", "lib/sas_J0.c", "lib/sas_J1.c",
           "lib/sas_JN.c", "lib/gauss76.c", "pringle.c"]
-effective_radius_type = [
+radius_effective_modes = [
     "equivalent cylinder excluded volume",
     "equivalent volume sphere",
Index: sasmodels/models/raspberry.c
===================================================================
--- sasmodels/models/raspberry.c	(revision d42dd4a6467163ad6ef165b733218fc2181ec1de)
+++ sasmodels/models/raspberry.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -15,5 +15,5 @@
 
 static double
-effective_radius(int mode, double radius_lg, double radius_sm, double penetration)
+radius_effective(int mode, double radius_lg, double radius_sm, double penetration)
 {
     switch (mode) {
Index: sasmodels/models/raspberry.py
===================================================================
--- sasmodels/models/raspberry.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/raspberry.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -161,5 +161,5 @@
 
 source = ["lib/sas_3j1x_x.c", "raspberry.c"]
-effective_radius_type = ["radius_large", "radius_outer"]
+radius_effective_modes = ["radius_large", "radius_outer"]
 
 def random():
Index: sasmodels/models/rectangular_prism.c
===================================================================
--- sasmodels/models/rectangular_prism.c	(revision 99658f6e997e12486269a52113af19f5089e0ef0)
+++ sasmodels/models/rectangular_prism.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -14,5 +14,5 @@
 
 static double
-effective_radius(int mode, double length_a, double b2a_ratio, double c2a_ratio)
+radius_effective(int mode, double length_a, double b2a_ratio, double c2a_ratio)
 {
     switch (mode) {
Index: sasmodels/models/rectangular_prism.py
===================================================================
--- sasmodels/models/rectangular_prism.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/rectangular_prism.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -110,7 +110,7 @@
 ----------------------------
 
-* **Author:** 
-* **Last Modified by:** 
-* **Last Reviewed by:** 
+* **Author:**
+* **Last Modified by:**
+* **Last Reviewed by:**
 * **Source added by :** Steve King **Date:** March 25, 2019
 """
@@ -151,5 +151,5 @@
 source = ["lib/gauss76.c", "rectangular_prism.c"]
 have_Fq = True
-effective_radius_type = [
+radius_effective_modes = [
     "equivalent cylinder excluded volume", "equivalent volume sphere",
     "half length_a", "half length_b", "half length_c",
Index: sasmodels/models/sphere.c
===================================================================
--- sasmodels/models/sphere.c	(revision ee60aa768b29c58e20b19e94578ec3a94a0889d7)
+++ sasmodels/models/sphere.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -5,5 +5,5 @@
 
 static double
-effective_radius(int mode, double radius)
+radius_effective(int mode, double radius)
 {
     // case 1: radius
Index: sasmodels/models/sphere.py
===================================================================
--- sasmodels/models/sphere.py	(revision 61408946d4bbfd4b178b2c68a64e8448d27bcf06)
+++ sasmodels/models/sphere.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -81,5 +81,5 @@
 source = ["lib/sas_3j1x_x.c", "sphere.c"]
 have_Fq = True
-effective_radius_type = ["radius"]
+radius_effective_modes = ["radius"]
 
 def random():
@@ -99,7 +99,7 @@
       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)
    #  But note P(Q) = F2/volume
-   #  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)] 
-   #  for n the number density and <.> the orientation average, and F = integral rho(r) exp(i q . r) dr.  
-   #  The number density is volume fraction divided by particle volume.  
+   #  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)]
+   #  for n the number density and <.> the orientation average, and F = integral rho(r) exp(i q . r) dr.
+   #  The number density is volume fraction divided by particle volume.
    #  Effectively, this leaves F = V drho form, where form is the usual 3 j1(qr)/(qr) or whatever depending on the shape.
    # [{"@S": "hardsphere"},
@@ -124,5 +124,5 @@
      "structure_factor_mode": 1,  # 0 = normal decoupling approximation, 1 = beta(Q) approx
      "radius_effective_mode": 0   # this used r_eff =0 or default 50?
-     }, 0.01, 1324.7375636587356 ],   
+     }, 0.01, 1324.7375636587356 ],
     [{"@S": "hardsphere",
      "radius": 120., "radius_pd": 0.2, "radius_pd_n":45,
@@ -131,5 +131,5 @@
      "structure_factor_mode": 1,  # 0 = normal decoupling approximation, 1 = beta(Q) approx
      "radius_effective_mode": 1   # this used 120 ???
-     }, 0.01, 1579.2858949296565 ]   
+     }, 0.01, 1579.2858949296565 ]
 ]
 # 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
Index: sasmodels/models/spherical_sld.c
===================================================================
--- sasmodels/models/spherical_sld.c	(revision ee60aa768b29c58e20b19e94578ec3a94a0889d7)
+++ sasmodels/models/spherical_sld.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -19,5 +19,5 @@
 
 static double
-effective_radius(int mode, double fp_n_shells, double thickness[], double interface[])
+radius_effective(int mode, double fp_n_shells, double thickness[], double interface[])
 {
     // case 1: outer radius
Index: sasmodels/models/spherical_sld.py
===================================================================
--- sasmodels/models/spherical_sld.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/spherical_sld.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -232,5 +232,5 @@
 single = False  # TODO: fix low q behaviour
 have_Fq = True
-effective_radius_type = ["outer radius"]
+radius_effective_modes = ["outer radius"]
 
 profile_axes = ['Radius (A)', 'SLD (1e-6/A^2)']
Index: sasmodels/models/triaxial_ellipsoid.c
===================================================================
--- sasmodels/models/triaxial_ellipsoid.c	(revision 99658f6e997e12486269a52113af19f5089e0ef0)
+++ sasmodels/models/triaxial_ellipsoid.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -76,5 +76,5 @@
 
 static double
-effective_radius(int mode, double radius_equat_minor, double radius_equat_major, double radius_polar)
+radius_effective(int mode, double radius_equat_minor, double radius_equat_major, double radius_polar)
 {
     switch (mode) {
Index: sasmodels/models/triaxial_ellipsoid.py
===================================================================
--- sasmodels/models/triaxial_ellipsoid.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/triaxial_ellipsoid.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -164,5 +164,5 @@
 source = ["lib/sas_3j1x_x.c", "lib/gauss76.c", "triaxial_ellipsoid.c"]
 have_Fq = True
-effective_radius_type = [
+radius_effective_modes = [
     "equivalent biaxial ellipsoid average curvature",
     "equivalent volume sphere", "min radius", "max radius",
Index: sasmodels/models/vesicle.c
===================================================================
--- sasmodels/models/vesicle.c	(revision 12f4c19f620b0845847bb04e53189f2c43808bac)
+++ sasmodels/models/vesicle.c	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -13,5 +13,5 @@
 
 static double
-effective_radius(int mode, double radius, double thickness)
+radius_effective(int mode, double radius, double thickness)
 {
     // case 1: outer radius
Index: sasmodels/models/vesicle.py
===================================================================
--- sasmodels/models/vesicle.py	(revision 0507e09b26f5789862db8a175d64657cf4f3b829)
+++ sasmodels/models/vesicle.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -107,5 +107,5 @@
 source = ["lib/sas_3j1x_x.c", "vesicle.c"]
 have_Fq = True
-effective_radius_type = ["outer radius"]
+radius_effective_modes = ["outer radius"]
 
 def random():
Index: sasmodels/product.py
===================================================================
--- sasmodels/product.py	(revision b39bf3b280713aebf2f5492c8799baf517ae6248)
+++ sasmodels/product.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -31,10 +31,10 @@
 # pylint: enable=unused-import
 
-# TODO: make estimates available to constraints
+# TODO: make shape averages available to constraints
 #ESTIMATED_PARAMETERS = [
-#    ["est_radius_effective", "A", 0.0, [0, np.inf], "", "Estimated effective radius"],
-#    ["est_volume_ratio", "", 1.0, [0, np.inf], "", "Estimated volume ratio"],
+#    ["mean_radius_effective", "A", 0.0, [0, np.inf], "", "mean effective radius"],
+#    ["mean_volume", "A", 0.0, [0, np.inf], "", "mean volume"],
+#    ["mean_volume_ratio", "", 1.0, [0, np.inf], "", "mean form: mean shell volume ratio"],
 #]
-# NOTE there are radius_effective_mode, effective_radius_type, but only structure_factor_mode
 STRUCTURE_MODE_ID = "structure_factor_mode"
 RADIUS_MODE_ID = "radius_effective_mode"
@@ -44,5 +44,5 @@
     # type: (ModelInfo) -> List[Parameter]
     """
-    Create parameters for structure_factor_type and radius_effective_type.
+    Create parameters for structure factor and effective radius modes.
     """
     pars = []
@@ -56,10 +56,10 @@
             "Structure factor calculation")
         pars.append(par)
-    if p_info.effective_radius_type is not None:
+    if p_info.radius_effective_modes is not None:
         par = parse_parameter(
             RADIUS_MODE_ID,
             "",
             1,
-            [["unconstrained"] + p_info.effective_radius_type],
+            [["unconstrained"] + p_info.radius_effective_modes],
             "",
             "Effective radius calculation")
@@ -177,5 +177,5 @@
         S,                # type: np.ndarray
         scale,            # type: float
-        effective_radius, # type: float
+        radius_effective, # type: float
         beta_mode,        # type: bool
     ):
@@ -193,5 +193,5 @@
             ("beta(Q)", F1**2 / F2),
             ("S_eff(Q)", 1 + (F1**2 / F2)*(S-1)),
-            ("effective_radius", effective_radius),
+            ("effective_radius", radius_effective),
             # ("I(Q)", scale*(F2 + (F1**2)*(S-1)) + bg),
         ))
@@ -200,5 +200,5 @@
             ("P(Q)", scale*F2),
             ("S(Q)", S),
-            ("effective_radius", effective_radius),
+            ("effective_radius", radius_effective),
         ))
     return parts
@@ -281,5 +281,5 @@
         # R_eff type parameter is the second parameter after P and S parameters
         # unless the model doesn't support beta mode, in which case it is first
-        have_radius_type = p_info.effective_radius_type is not None
+        have_radius_type = p_info.radius_effective_modes is not None
         #print(p_npars,s_npars)
         radius_type_offset = 2+p_npars+s_npars + (1 if have_beta_mode else 0)
@@ -333,5 +333,5 @@
         # Call the form factor kernel to compute <F> and <F^2>.
         # If the model doesn't support Fq the returned <F> will be None.
-        F1, F2, effective_radius, shell_volume, volume_ratio = self.p_kernel.Fq(
+        F1, F2, radius_effective, shell_volume, volume_ratio = self.p_kernel.Fq(
             p_details, p_values, cutoff, magnetic, radius_type)
 
@@ -343,8 +343,8 @@
         # implementation details in kernel_iq.c.
         print("R_eff=%d:%g, volfrac=%g, volume ratio=%g"
-              % (radius_type, effective_radius, volfrac, volume_ratio))
+              % (radius_type, radius_effective, volfrac, volume_ratio))
         if radius_type > 0:
             # set the value to the model R_eff and set the weight to 1
-            s_values[2] = s_values[2+s_npars+s_offset[0]] = effective_radius
+            s_values[2] = s_values[2+s_npars+s_offset[0]] = radius_effective
             s_values[2+s_npars+s_offset[0]+nweights] = 1.0
         s_values[3] = s_values[2+s_npars+s_offset[1]] = volfrac*volume_ratio
@@ -372,5 +372,5 @@
         # the results directly rather than through a lazy evaluator.
         self.results = lambda: _intermediates(
-            F1, F2, S, combined_scale, effective_radius, beta_mode)
+            F1, F2, S, combined_scale, radius_effective, beta_mode)
 
         return final_result
Index: sasmodels/sasview_model.py
===================================================================
--- sasmodels/sasview_model.py	(revision b297ba9e837aada12de87cd46ea7a01bfe549da7)
+++ sasmodels/sasview_model.py	(revision a34b8119b864fa10b972c2a11f92a9c5e13207f1)
@@ -299,5 +299,5 @@
     attrs['category'] = model_info.category
     attrs['is_structure_factor'] = model_info.structure_factor
-    attrs['is_form_factor'] = model_info.effective_radius_type is not None
+    attrs['is_form_factor'] = model_info.radius_effective_modes is not None
     attrs['is_multiplicity_model'] = variants[0] > 1
     attrs['multiplicity_info'] = variants
@@ -763,5 +763,5 @@
         #    if er_mode > 0:
         #        res = calculator.Fq(call_details, values, cutoff=self.cutoff,
-        #                            magnetic=False, effective_radius_type=mode)
+        #                            magnetic=False, radius_effective_mode=mode)
         #        R_eff, form_shell_ratio = res[2], res[4]
         #        return R_eff, form_shell_ratio
