code: def k_value_orifice(pipe_id, orifice_id, orifice_l, q,
                      nu=con.WATER_NU):
      
  
      if orifice_id > pipe_id:
          raise ValueError('The orifice\'s inner diameter cannot be larger than'
                           'that of the entrance pipe.')
  
      re = pc.re_pipe(q, pipe_id, nu)  # Entrance pipe's Reynolds number.
  
      orifice_type = _get_orifice_type(orifice_l, orifice_id)
  
      if orifice_type == 'thin':
          return _k_value_thin_sharp_orifice(pipe_id, orifice_id, re)
      elif orifice_type == 'thick':
          return _k_value_thick_orifice(pipe_id, orifice_id, orifice_l, re)
      elif orifice_type == 'oversize':
          return k_value_reduction(pipe_id, orifice_id, q) \
                 + k_value_expansion(orifice_id, pipe_id, q)
docs: Calculates the minor loss coefficient of an orifice plate in a
      pipe.
  
      Parameters:
          pipe_id: Entrance pipe's inner diameter from which fluid flows.
          orifice_id: Orifice's inner diameter.
          orifice_l: Orifice's length from start to end.
          q: Fluid's q rate.
  
          nu: Fluid's dynamic viscosity of the fluid. Default: room
              temperature water (1 * 10**-6 * m**2/s)
  
      Returns:
          k-value at the orifice.