docs: def V_partial_sphere(D, h):
      r'''Calculates volume of a partial sphere according to [1]_.
      If h is half of D, the shape is half a sphere. No bottom is considered in
      this function. Valid inputs are positive values of D and h, with h always
      smaller or equal to D.
  
      .. math::
          a = \sqrt{h(2r - h)}
  
      .. math::
          V = 1/6 \pi h(3a^2 + h^2)
  
      Parameters
      ----------
      D : float
          Diameter of the sphere, [m]
      h : float
          Height, as measured up to where the sphere is cut off, [m]
  
      Returns
      -------
      V : float
          Volume [m^3]
  
      Examples
      --------
      >>> V_partial_sphere(1., 0.7)
      0.4105014400690663
  
      References
      ----------
      .. [1] Weisstein, Eric W. "Spherical Cap." Text. Accessed December 22, 2015.
         http://mathworld.wolfram.com/SphericalCap.html.'''
      r = 0.5*D
      a = (h*(2.*r - h))**0.5
      return 1/6.*pi*h*(3.*a*a + h*h)