docs: def Fourier_heat(t, L, rho=None, Cp=None, k=None, alpha=None):
      r'''Calculates heat transfer Fourier number or `Fo` for a specified time
      `t`, characteristic length `L`, and specified properties for the given
      fluid.
  
      .. math::
          Fo = \frac{k t}{C_p \rho L^2} = \frac{\alpha t}{L^2}
  
      Inputs either of any of the following sets:
  
      * t, L, density `rho`, heat capacity `Cp`, and thermal conductivity `k`
      * t, L, and thermal diffusivity `alpha`
  
      Parameters
      ----------
      t : float
          time [s]
      L : float
          Characteristic length [m]
      rho : float, optional
          Density, [kg/m^3]
      Cp : float, optional
          Heat capacity, [J/kg/K]
      k : float, optional
          Thermal conductivity, [W/m/K]
      alpha : float, optional
          Thermal diffusivity, [m^2/s]
  
      Returns
      -------
      Fo : float
          Fourier number (heat) []
  
      Notes
      -----
      .. math::
          Fo = \frac{\text{Heat conduction rate}}
          {\text{Rate of thermal energy storage in a solid}}
  
      An error is raised if none of the required input sets are provided.
  
      Examples
      --------
      >>> Fourier_heat(t=1.5, L=2, rho=1000., Cp=4000., k=0.6)
      5.625e-08
      >>> Fourier_heat(1.5, 2, alpha=1E-7)
      3.75e-08
  
      References
      ----------
      .. [1] Green, Don, and Robert Perry. Perry's Chemical Engineers' Handbook,
         Eighth Edition. McGraw-Hill Professional, 2007.
      .. [2] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and
         Applications. Boston: McGraw Hill Higher Education, 2006.
      '''
      if rho and Cp and k:
          alpha =  k/(rho*Cp)
      elif not alpha:
          raise Exception('Either heat capacity and thermal conductivity and \
  density, or thermal diffusivity is needed')
      return t*alpha/L**2