docs: def Schmidt(D, mu=None, nu=None, rho=None):
      r'''Calculates Schmidt number or `Sc` for a fluid with the given
      parameters.
  
      .. math::
          Sc = \frac{\mu}{D\rho} = \frac{\nu}{D}
  
      Inputs can be any of the following sets:
  
      * Diffusivity, dynamic viscosity, and density
      * Diffusivity and kinematic viscosity
  
      Parameters
      ----------
      D : float
          Diffusivity of a species, [m^2/s]
      mu : float, optional
          Dynamic viscosity, [Pa*s]
      nu : float, optional
          Kinematic viscosity, [m^2/s]
      rho : float, optional
          Density, [kg/m^3]
  
      Returns
      -------
      Sc : float
          Schmidt number []
  
      Notes
      -----
      .. math::
          Sc =\frac{\text{kinematic viscosity}}{\text{molecular diffusivity}}
          = \frac{\text{viscous diffusivity}}{\text{species diffusivity}}
  
      An error is raised if none of the required input sets are provided.
  
      Examples
      --------
      >>> Schmidt(D=2E-6, mu=4.61E-6, rho=800)
      0.00288125
      >>> Schmidt(D=1E-9, nu=6E-7)
      599.9999999999999
  
      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 mu:
          return mu/(rho*D)
      elif nu:
          return nu/D
      else:
          raise Exception('Insufficient information provided for Schmidt number calculation')