docs: def K_foot_valve_Crane(D=None, fd=None, style=0):
      r'''Returns the loss coefficient for a foot valve of either poppet disc
      (`style` = 0) or hinged-disk (`style` = 1) as shown in [1]_. Both valves
      are specified include the loss of the attached strainer.
          
      .. math::
          K = K_1 = K_2 = N\cdot f_d
          
      For style 0 (poppet disk), N = 420; for style 1 (hinged disk), N = 75.
      
      Parameters
      ----------
      D : float, optional
          Diameter of the pipe section the valve in mounted in; the
          same as the line size [m]
      fd : float, optional
          Darcy friction factor calculated for the actual pipe flow in clean 
          steel (roughness = 0.0018 inch) in the fully developed turbulent 
          region; do not specify this to use the original Crane friction factor!,
          [-]
      style : int, optional
          Either 0 (poppet disk foot valve) or 1 (hinged disk foot valve) [-]
          
      Returns
      -------
      K : float
          Loss coefficient with respect to the pipe inside diameter [-]
  
      Notes
      -----    
      This method is not valid in the laminar regime and the pressure drop will
      be underestimated in those conditions.
  
      Examples
      --------
      >>> K_foot_valve_Crane(D=0.2, style=0)
      5.912221498436275
      
      References
      ----------
      .. [1] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane,
         2009.
      '''
      if D is None and fd is None:
          raise ValueError('Either `D` or `fd` must be specified')
      if fd is None:
          fd = ft_Crane(D)
      try:
          K = foot_valve_Crane_coeffs[style]*fd
      except KeyError:
          raise KeyError('Accepted valve styles are 0 (poppet disk) or 1 (hinged disk) only')
      return K