FF_CURVED

Estimates friction factor for curved-pipe or helical-coil flow by combining Reynolds number with coil geometry and automatically selecting laminar or turbulent correlations. Optional method parameters let you override the automatic regime and choose the specific transition, laminar, or turbulent correlation used.

Unlike straight-pipe formulas, curved-pipe friction depends on both the flow state and the curvature ratio implied by D_i and D_c. This wrapper exposes the library’s combined model so you can compute either Darcy or Fanning friction factors for helices and coils from one interface.

Excel Usage

=FF_CURVED(Re, Di, Dc, roughness, ff_curved_method, rec_method, laminar_method, turbulent_method, Darcy)
  • Re (float, required): Reynolds number with D=Di, [-]
  • Di (float, required): Inner diameter of the tube making up the coil, [m]
  • Dc (float, required): Diameter of the helix/coil (center-to-center), [m]
  • roughness (float, optional, default: 0): Roughness of pipe wall, [m]
  • ff_curved_method (str, optional, default: null): Specific correlation method to use, overriding automatic selection
  • rec_method (str, optional, default: “Schmidt”): Critical Re transition method
  • laminar_method (str, optional, default: “Schmidt laminar”): Laminar regime correlation
  • turbulent_method (str, optional, default: “Schmidt turbulent”): Turbulent regime correlation
  • Darcy (bool, optional, default: true): If false, returns Fanning friction factor

Returns (float): Darcy or Fanning friction factor for curved-pipe flow [-]

Example 1: Turbulent flow with default parameters

Inputs:

Re Di Dc
100000 0.02 0.5

Excel formula:

=FF_CURVED(100000, 0.02, 0.5)

Expected output:

0.022962

Example 2: Laminar flow in helical coil

Inputs:

Re Di Dc
250 0.02 0.1

Excel formula:

=FF_CURVED(250, 0.02, 0.1)

Expected output:

0.474607

Example 3: Turbulent flow with pipe roughness

Inputs:

Re Di Dc roughness
50000 0.01 0.2 0.0001

Excel formula:

=FF_CURVED(50000, 0.01, 0.2, 0.0001)

Expected output:

0.0494035

Example 4: Return Fanning friction factor instead of Darcy

Inputs:

Re Di Dc Darcy
100000 0.02 0.5 false

Excel formula:

=FF_CURVED(100000, 0.02, 0.5, FALSE)

Expected output:

0.0057405

Example 5: Turbulent flow with Guo method

Inputs:

Re Di Dc ff_curved_method
200000 0.01 0.2 Guo

Excel formula:

=FF_CURVED(200000, 0.01, 0.2, "Guo")

Expected output:

0.0221892

Python Code

Show Code
from fluids.friction import friction_factor_curved as fluids_friction_factor_curved

def ff_curved(Re, Di, Dc, roughness=0, ff_curved_method=None, rec_method='Schmidt', laminar_method='Schmidt laminar', turbulent_method='Schmidt turbulent', Darcy=True):
    """
    Calculate friction factor for fluid flowing in a curved pipe or helical coil, supporting both laminar and turbulent regimes.

    See: https://fluids.readthedocs.io/fluids.friction.html#fluids.friction.friction_factor_curved

    This example function is provided as-is without any representation of accuracy.

    Args:
        Re (float): Reynolds number with D=Di, [-]
        Di (float): Inner diameter of the tube making up the coil, [m]
        Dc (float): Diameter of the helix/coil (center-to-center), [m]
        roughness (float, optional): Roughness of pipe wall, [m] Default is 0.
        ff_curved_method (str, optional): Specific correlation method to use, overriding automatic selection Valid options: White, Mori Nakayama laminar, Schmidt laminar, Guo, Ju, Schmidt turbulent, Prasad, Mandal Nigam, Mori Nakayama turbulent, Czop. Default is None.
        rec_method (str, optional): Critical Re transition method Valid options: Seth Stahel, Ito, Kubair Kuloor, Kutateladze Borishanskii, Schmidt, Srinivasan. Default is 'Schmidt'.
        laminar_method (str, optional): Laminar regime correlation Valid options: White, Mori Nakayama laminar, Schmidt laminar. Default is 'Schmidt laminar'.
        turbulent_method (str, optional): Turbulent regime correlation Valid options: Guo, Ju, Schmidt turbulent, Prasad, Mandal Nigam, Mori Nakayama turbulent, Czop. Default is 'Schmidt turbulent'.
        Darcy (bool, optional): If false, returns Fanning friction factor Default is True.

    Returns:
        float: Darcy or Fanning friction factor for curved-pipe flow [-]
    """
    try:
      Re = float(Re)
      Di = float(Di)
      Dc = float(Dc)
      roughness = float(roughness)
      rec_method = str(rec_method)
      laminar_method = str(laminar_method)
      turbulent_method = str(turbulent_method)

      if Re <= 0:
        return "Error: Reynolds number must be positive."
      if Di <= 0:
        return "Error: Inner diameter must be positive."
      if Dc <= 0:
        return "Error: Coil diameter must be positive."
      if roughness < 0:
        return "Error: Roughness cannot be negative."

      if ff_curved_method in (None, ""):
        ff_curved_method = None

      result = fluids_friction_factor_curved(
        Re=Re,
        Di=Di,
        Dc=Dc,
        roughness=roughness,
        Method=ff_curved_method,
        Rec_method=rec_method,
        laminar_method=laminar_method,
        turbulent_method=turbulent_method,
        Darcy=Darcy
      )

      if result != result:
        return "Error: Result is NaN."
      if result == float('inf') or result == float('-inf'):
        return "Error: Result is not finite."

      return float(result)
    except Exception as e:
      return f"Error: {str(e)}"

Online Calculator

Reynolds number with D=Di, [-]
Inner diameter of the tube making up the coil, [m]
Diameter of the helix/coil (center-to-center), [m]
Roughness of pipe wall, [m]
Specific correlation method to use, overriding automatic selection
Critical Re transition method
Laminar regime correlation
Turbulent regime correlation
If false, returns Fanning friction factor