docs: def V_vertical_spherical_concave(D, a, h):
      r'''Calculates volume of a vertical tank with a concave spherical bottom,
      according to [1]_. No provision for the top of the tank is made here.
  
      .. math::
          V = \frac{\pi}{12}\left[3D^2h + \frac{a}{2}(3D^2 + 4a^2) + (a+h)^3
          \left(4 - \frac{3D^2 + 12a^2}{2a(a+h)}\right)\right],\;\; 0 \le h < |a|
  
      .. math::
          V = \frac{\pi}{12}\left[3D^2h + \frac{a}{2}(3D^2 + 4a^2) \right]
          ,\;\;  h \ge |a|
  
      Parameters
      ----------
      D : float
          Diameter of the main cylindrical section, [m]
      a : float
          Negative distance the spherical head extends inside the main cylinder, [m]
      h : float
          Height, as measured up to where the fluid ends, [m]
  
      Returns
      -------
      V : float
          Volume [m^3]
  
      Examples
      --------
      Matching example from [1]_, with inputs in inches and volume in gallons.
  
      >>> V_vertical_spherical_concave(D=113., a=-33, h=15)/231
      112.81405437348528
  
      References
      ----------
      .. [1] Jones, D. "Compute Fluid Volumes in Vertical Tanks." Chemical
         Processing. December 18, 2003.
         http://www.chemicalprocessing.com/articles/2003/193/
      '''
      if h < abs(a):
          Vf = pi/12*(3*D**2*h + a/2.*(3*D**2 + 4*a**2) + (a+h)**3*(4 - (3*D**2+12*a**2)/(2.*a*(a+h))))
      else:
          Vf = pi/12*(3*D**2*h + a/2.*(3*D**2 + 4*a**2))
      return Vf