docs: def K_swing_check_valve_Crane(D=None, fd=None, angled=True):
      r'''Returns the loss coefficient for a swing check valve as shown in [1]_.
          
      .. math::
          K_2 = N\cdot f_d
          
      For angled swing check valves N = 100; for straight valves, N = 50.
      
      Parameters
      ----------
      D : float, optional
          Diameter of the pipe attached to the valve, [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!,
          [-]
      angled : bool, optional
          If True, returns a value 2x the unangled value; the style of the 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_swing_check_valve_Crane(D=.02)
      2.3974274785373257
      
      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)
      if angled:
          return 100.*fd
      return 50.*fd