V_TERMINAL

Overview

Calculate terminal velocity of a falling sphere using drag coefficient correlations.

Excel Usage

=V_TERMINAL(D, rhop, rho, mu, vt_method)
  • D (float, required): Diameter of the sphere [m]
  • rhop (float, required): Particle density [kg/m^3]
  • rho (float, required): Density of the surrounding fluid [kg/m^3]
  • mu (float, required): Viscosity of the surrounding fluid [Pa*s]
  • vt_method (str, optional, default: “Auto”): Drag coefficient method to use

Returns (float): Terminal velocity of falling sphere [m/s], or error message (str) if input is invalid.

Examples

Example 1: Small particle (70 micron) falling in water

Inputs:

D rhop rho mu
0.00007 2600 1000 0.001

Excel formula:

=V_TERMINAL(0.00007, 2600, 1000, 0.001)

Expected output:

0.0041

Example 2: Sand particle falling in air

Inputs:

D rhop rho mu
0.0001 2500 1.2 0.0000178

Excel formula:

=V_TERMINAL(0.0001, 2500, 1.2, 0.0000178)

Expected output:

0.5557

Example 3: Larger particle in water

Inputs:

D rhop rho mu
0.001 2200 1000 0.001

Excel formula:

=V_TERMINAL(0.001, 2200, 1000, 0.001)

Expected output:

0.1289

Example 4: Using Morrison method

Inputs:

D rhop rho mu vt_method
0.0001 2500 1.2 0.0000178 Morrison

Excel formula:

=V_TERMINAL(0.0001, 2500, 1.2, 0.0000178, "Morrison")

Expected output:

0.6128

Python Code

from fluids.drag import v_terminal as fluids_v_terminal

def v_terminal(D, rhop, rho, mu, vt_method='Auto'):
    """
    Calculate terminal velocity of a falling sphere using drag coefficient correlations.

    See: https://fluids.readthedocs.io/fluids.drag.html#fluids.drag.v_terminal

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

    Args:
        D (float): Diameter of the sphere [m]
        rhop (float): Particle density [kg/m^3]
        rho (float): Density of the surrounding fluid [kg/m^3]
        mu (float): Viscosity of the surrounding fluid [Pa*s]
        vt_method (str, optional): Drag coefficient method to use Valid options: Auto, Stokes, Barati, Morrison. Default is 'Auto'.

    Returns:
        float: Terminal velocity of falling sphere [m/s], or error message (str) if input is invalid.
    """
    try:
      D = float(D)
      rhop = float(rhop)
      rho = float(rho)
      mu = float(mu)

      if D <= 0:
        return "Error: Diameter must be positive."
      if rhop <= 0:
        return "Error: Particle density must be positive."
      if rho <= 0:
        return "Error: Fluid density must be positive."
      if mu <= 0:
        return "Error: Viscosity must be positive."

      # Handle method selection
      method = None if vt_method == "Auto" else vt_method

      result = fluids_v_terminal(D=D, rhop=rhop, rho=rho, mu=mu, Method=method)
      if result != result:  # NaN check
        return "Error: Calculation resulted in NaN."
      return float(result)
    except (ValueError, TypeError):
      return "Error: All parameters must be numbers."
    except Exception as e:
      return f"Error: {str(e)}"

Online Calculator