docs: def Lehrer(m, Dtank, Djacket, H, Dinlet, rho, Cp, k, mu, muw=None,
             isobaric_expansion=None, dT=None, inlettype='tangential',
             inletlocation='auto'):
      r'''Calculates average heat transfer coefficient for a jacket around a
      vessel according to [1]_ as described in [2]_.
  
      .. math::
          Nu_{S,L} = \left[\frac{0.03Re_S^{0.75}Pr}{1 + \frac{1.74(Pr-1)}
          {Re_S^{0.125}}}\right]\left(\frac{\mu}{\mu_w}\right)^{0.14}
  
          d_g = \left(\frac{8}{3}\right)^{0.5}\delta
  
          v_h = (v_Sv_{inlet})^{0.5} + v_A
  
          v_{inlet} = \frac{Q}{\frac{\pi}{4}d_{inlet}^2}
  
          v_s = \frac{Q}{\frac{\pi}{4}(D_{jacket}^2 - D_{tank}^2)}
  
      For Radial inlets:
  
      .. math::
          v_A = 0.5(2g H \beta\delta \Delta T)^{0.5}
  
      For Tangential inlets:
  
      .. math::
          v_A = 0
  
      Parameters
      ----------
      m : float
          Mass flow rate of fluid, [kg/s]
      Dtank : float
          Outer diameter of tank or vessel surrounded by jacket, [m]
      Djacket : float
          Inner diameter of jacket surrounding a vessel or tank, [m]
      H : float
          Height of the vessel or tank, [m]
      Dinlet : float
          Inner diameter of inlet into the jacket, [m]
      rho : float
          Density of the fluid at Tm [kg/m^3]
      Cp : float
          Heat capacity of fluid at Tm [J/kg/K]
      k : float
          Thermal conductivity of fluid at Tm [W/m/K]
      mu : float
          Viscosity of fluid at Tm [Pa*s]
      muw : float, optional
          Viscosity of fluid at Tw [Pa*s]
      isobaric_expansion : float, optional
          Constant pressure expansivity of a fluid, [m^3/mol/K]
      dT : float, optional
          Temperature difference of fluid in jacket, [K]
      inlettype : str, optional
          Either 'tangential' or 'radial'
      inletlocation : str, optional
          Either 'top' or 'bottom' or 'auto'
  
      Returns
      -------
      h : float
          Average heat transfer coefficient inside the jacket [W/m^2/K]
  
      Notes
      -----
      If the fluid is heated and enters from the bottom, natural convection
      assists the heat transfer and the Grashof term is added; if it were to enter
      from the top, it would be subtracted. The situation is reversed if entry
      is from the top.
  
      Examples
      --------
      Example as in [2]_, matches completely.
  
      >>> Lehrer(m=2.5, Dtank=0.6, Djacket=0.65, H=0.6, Dinlet=0.025, dT=20.,
      ... rho=995.7, Cp=4178.1, k=0.615, mu=798E-6, muw=355E-6)
      2922.128124761829
  
      Examples similar to in [2]_ but covering the other case:
  
      >>> Lehrer(m=2.5, Dtank=0.6, Djacket=0.65, H=0.6, Dinlet=0.025, dT=20.,
      ... rho=995.7, Cp=4178.1, k=0.615, mu=798E-6, muw=355E-6,
      ... inlettype='radial', isobaric_expansion=0.000303)
      3269.4389632666557
  
      References
      ----------
      .. [1] Lehrer, Isaac H. "Jacket-Side Nusselt Number." Industrial &
         Engineering Chemistry Process Design and Development 9, no. 4
         (October 1, 1970): 553-58. doi:10.1021/i260036a010.
      .. [2] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition.
         Berlin; New York:: Springer, 2010.
      '''
      delta = (Djacket-Dtank)/2.
      Q = m/rho
      Pr = Cp*mu/k
      vs = Q/H/delta
      vo = Q/(pi/4*Dinlet**2)
      if dT and isobaric_expansion and inlettype == 'radial' and inletlocation:
          if dT > 0: # Heating jacket fluid
              if inletlocation == 'auto' or inletlocation == 'bottom':
                  va = 0.5*(2*g*H*isobaric_expansion*abs(dT))**0.5
              else:
                  va = -0.5*(2*g*H*isobaric_expansion*abs(dT))**0.5
          else: # cooling fluid
              if inletlocation == 'auto' or inletlocation == 'top':
                  va = 0.5*(2*g*H*isobaric_expansion*abs(dT))**0.5
              else:
                  va = -0.5*(2*g*H*isobaric_expansion*abs(dT))**0.5
      else:
          va = 0
      vh = (vs*vo)**0.5 + va
      dg = (8/3.)**0.5*delta
      Res = vh*dg*rho/mu
      if muw:
          NuSL = (0.03*Res**0.75*Pr)/(1 + 1.74*(Pr-1)/Res**0.125)*(mu/muw)**0.14
      else:
          NuSL = (0.03*Res**0.75*Pr)/(1 + 1.74*(Pr-1)/Res**0.125)
      return NuSL*k/dg