Class InterfacialFriction

java.lang.Object
neqsim.process.equipment.pipeline.twophasepipe.closure.InterfacialFriction
All Implemented Interfaces:
Serializable

public class InterfacialFriction extends Object implements Serializable
Interfacial friction correlations for two-fluid multiphase pipe flow.

Calculates the shear stress at the gas-liquid interface. This is a critical closure relation for the two-fluid model momentum equations. The interfacial friction affects the slip between phases and pressure drop distribution.

Correlations by Flow Regime

  • Stratified Smooth: Taitel-Dukler (1976) - smooth interface assumption
  • Stratified Wavy: Andritsos-Hanratty (1987) - accounts for wave roughness
  • Annular: Wallis (1969) - film-core interaction
  • Slug: Oliemans (1986) - bubble zone friction

Sign Convention

Positive interfacial shear acts to accelerate the liquid and decelerate the gas (gas faster than liquid). The shear stress is defined as: τ_i = 0.5 * f_i * ρ_G * (v_G - v_L) * |v_G - v_L|

Version:
1.0
Author:
Even Solbraa
See Also:
  • Field Details

  • Constructor Details

    • InterfacialFriction

      public InterfacialFriction()
      Constructor.
  • Method Details

    • calculate

      public InterfacialFriction.InterfacialFrictionResult calculate(PipeSection.FlowRegime flowRegime, double gasVelocity, double liquidVelocity, double gasDensity, double liquidDensity, double gasViscosity, double liquidViscosity, double liquidHoldup, double diameter, double surfaceTension)
      Calculate interfacial friction for the current flow conditions.
      Parameters:
      flowRegime - Current flow regime
      gasVelocity - Gas velocity (m/s)
      liquidVelocity - Liquid velocity (m/s)
      gasDensity - Gas density (kg/m³)
      liquidDensity - Liquid density (kg/m³)
      gasViscosity - Gas dynamic viscosity (Pa·s)
      liquidViscosity - Liquid dynamic viscosity (Pa·s)
      liquidHoldup - Liquid holdup (0-1)
      diameter - Pipe diameter (m)
      surfaceTension - Surface tension (N/m)
      Returns:
      Interfacial friction result
    • calcStratifiedSmooth

      private InterfacialFriction.InterfacialFrictionResult calcStratifiedSmooth(double vG, double vL, double rhoG, double rhoL, double muG, double muL, double alphaL, double D)
      Calculate interfacial friction for stratified smooth flow.

      Uses Taitel-Dukler (1976) approach: treats interface as smooth wall with gas-side friction.

      Parameters:
      vG - gas velocity in m/s
      vL - liquid velocity in m/s
      rhoG - gas density in kg/m3
      rhoL - liquid density in kg/m3
      muG - gas viscosity in Pa.s
      muL - liquid viscosity in Pa.s
      alphaL - liquid holdup fraction
      D - pipe diameter in m
      Returns:
      interfacial friction result
    • calcStratifiedWavy

      private InterfacialFriction.InterfacialFrictionResult calcStratifiedWavy(double vG, double vL, double rhoG, double rhoL, double muG, double muL, double alphaL, double D, double sigma)
      Calculate interfacial friction for stratified wavy flow.

      Uses Andritsos-Hanratty (1987) correlation which accounts for wave-induced roughness.

      Parameters:
      vG - gas velocity in m/s
      vL - liquid velocity in m/s
      rhoG - gas density in kg/m³
      rhoL - liquid density in kg/m³
      muG - gas viscosity in Pa·s
      muL - liquid viscosity in Pa·s
      alphaL - liquid holdup (volume fraction)
      D - pipe diameter in m
      sigma - surface tension in N/m
      Returns:
      interfacial friction calculation result
    • calcAnnular

      private InterfacialFriction.InterfacialFrictionResult calcAnnular(double vG, double vL, double rhoG, double rhoL, double muG, double muL, double alphaL, double D, double sigma)
      Calculate interfacial friction for annular flow.

      Uses Wallis (1969) correlation for gas-core / liquid-film interaction.

      Parameters:
      vG - gas velocity in m/s
      vL - liquid velocity in m/s
      rhoG - gas density in kg/m³
      rhoL - liquid density in kg/m³
      muG - gas viscosity in Pa·s
      muL - liquid viscosity in Pa·s
      alphaL - liquid holdup (volume fraction)
      D - pipe diameter in m
      sigma - surface tension in N/m
      Returns:
      interfacial friction calculation result
    • calcSlug

      private InterfacialFriction.InterfacialFrictionResult calcSlug(double vG, double vL, double rhoG, double rhoL, double muG, double muL, double alphaL, double D)
      Calculate interfacial friction for slug flow.

      Uses Oliemans (1986) approach for Taylor bubble zone.

      Parameters:
      vG - gas velocity (m/s)
      vL - liquid velocity (m/s)
      rhoG - gas density (kg/m3)
      rhoL - liquid density (kg/m3)
      muG - gas viscosity (Pa.s)
      muL - liquid viscosity (Pa.s)
      alphaL - liquid holdup fraction
      D - pipe diameter (m)
      Returns:
      interfacial friction result
    • calcChurn

      private InterfacialFriction.InterfacialFrictionResult calcChurn(double vG, double vL, double rhoG, double rhoL, double muG, double muL, double alphaL, double D, double sigma)
      Calculate interfacial friction for churn flow.

      Uses enhanced annular-type correlation.

      Parameters:
      vG - gas velocity (m/s)
      vL - liquid velocity (m/s)
      rhoG - gas density (kg/m3)
      rhoL - liquid density (kg/m3)
      muG - gas viscosity (Pa.s)
      muL - liquid viscosity (Pa.s)
      alphaL - liquid holdup fraction
      D - pipe diameter (m)
      sigma - surface tension (N/m)
      Returns:
      interfacial friction result
    • calcBubble

      private InterfacialFriction.InterfacialFrictionResult calcBubble(double vG, double vL, double rhoG, double rhoL, double muG, double muL, double alphaL, double D)
      Calculate interfacial friction for bubble flow.

      Uses drag on individual bubbles in liquid continuum.

      Parameters:
      vG - gas velocity in m/s
      vL - liquid velocity in m/s
      rhoG - gas density in kg/m³
      rhoL - liquid density in kg/m³
      muG - gas viscosity in Pa·s
      muL - liquid viscosity in Pa·s
      alphaL - liquid holdup (volume fraction)
      D - pipe diameter in m
      Returns:
      interfacial friction calculation result
    • calcInterfacialForce

      public double calcInterfacialForce(PipeSection.FlowRegime flowRegime, double gasVelocity, double liquidVelocity, double gasDensity, double liquidDensity, double gasViscosity, double liquidViscosity, double liquidHoldup, double diameter, double surfaceTension)
      Calculate the interfacial friction force per unit pipe length.

      This is the force that appears in the momentum equations: F_i = τ_i * S_i where S_i is the interfacial width/perimeter per unit length.

      Parameters:
      flowRegime - Current flow regime
      gasVelocity - Gas velocity (m/s)
      liquidVelocity - Liquid velocity (m/s)
      gasDensity - Gas density (kg/m³)
      liquidDensity - Liquid density (kg/m³)
      gasViscosity - Gas viscosity (Pa·s)
      liquidViscosity - Liquid viscosity (Pa·s)
      liquidHoldup - Liquid holdup (0-1)
      diameter - Pipe diameter (m)
      surfaceTension - Surface tension (N/m)
      Returns:
      Interfacial friction force per unit length (N/m)