Class WallFriction
java.lang.Object
neqsim.process.equipment.pipeline.twophasepipe.closure.WallFriction
- All Implemented Interfaces:
Serializable
Wall friction correlations for two-fluid multiphase pipe flow.
Provides separate wall friction calculations for gas and liquid phases based on flow regime. The wall shear stress is calculated as: τ_w = 0.5 * f * ρ * v² where f is the Fanning friction factor.
Correlations by Flow Regime
- Stratified: Taitel-Dukler (separate phases with hydraulic diameters)
- Slug: Slug body + film friction
- Annular: Core + film model
- Single-phase: Haaland/Colebrook-White
- Version:
- 1.0
- Author:
- Even Solbraa
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classResult container for wall friction calculations. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleDefault pipe roughness (m).private GeometryCalculatorGeometry calculator for stratified flow.private static final long -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate WallFriction.WallFrictionResultcalcAnnularFriction(double vG, double vL, double rhoG, double rhoL, double muG, double muL, double alphaL, double D, double eps) Calculate wall friction for annular flow.private WallFriction.WallFrictionResultcalcBubbleFriction(double vG, double vL, double rhoG, double rhoL, double muG, double muL, double alphaL, double D, double eps) Calculate wall friction for bubble/dispersed bubble flow.private WallFriction.WallFrictionResultcalcChurnFriction(double vG, double vL, double rhoG, double rhoL, double muG, double muL, double alphaL, double D, double eps) Calculate wall friction for churn flow.doublecalcColebrookFanning(double reynolds, double roughness, double diameter) Calculate Colebrook-White friction factor iteratively.doublecalcFanningFrictionFactor(double reynolds, double roughness, double diameter) Calculate Fanning friction factor using Haaland equation.private WallFriction.WallFrictionResultcalcSinglePhaseGasFriction(double vG, double rhoG, double muG, double D, double eps) Calculate wall friction for single-phase gas flow.private WallFriction.WallFrictionResultcalcSinglePhaseLiquidFriction(double vL, double rhoL, double muL, double D, double eps) Calculate wall friction for single-phase liquid flow.private WallFriction.WallFrictionResultcalcSlugFriction(double vG, double vL, double rhoG, double rhoL, double muG, double muL, double alphaL, double D, double eps) Calculate wall friction for slug flow.private WallFriction.WallFrictionResultcalcStratifiedFriction(double vG, double vL, double rhoG, double rhoL, double muG, double muL, double alphaL, double D, double eps) Calculate wall friction for stratified flow using Taitel-Dukler approach.private doublecalcTurbulentFanning(double Re, double epsD) Haaland equation for turbulent Fanning friction factor.calculate(PipeSection.FlowRegime flowRegime, double gasVelocity, double liquidVelocity, double gasDensity, double liquidDensity, double gasViscosity, double liquidViscosity, double liquidHoldup, double diameter, double roughness) Calculate wall friction for both phases.doubleGet default roughness value.voidsetDefaultRoughness(double roughness) Set default roughness value.
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
defaultRoughness
private double defaultRoughnessDefault pipe roughness (m). -
geometryCalc
Geometry calculator for stratified flow.
-
-
Constructor Details
-
WallFriction
public WallFriction()Constructor.
-
-
Method Details
-
calculate
public WallFriction.WallFrictionResult calculate(PipeSection.FlowRegime flowRegime, double gasVelocity, double liquidVelocity, double gasDensity, double liquidDensity, double gasViscosity, double liquidViscosity, double liquidHoldup, double diameter, double roughness) Calculate wall friction for both phases.- Parameters:
flowRegime- Current flow regimegasVelocity- 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)roughness- Pipe wall roughness (m)- Returns:
- Wall friction results for both phases
-
calcStratifiedFriction
private WallFriction.WallFrictionResult calcStratifiedFriction(double vG, double vL, double rhoG, double rhoL, double muG, double muL, double alphaL, double D, double eps) Calculate wall friction for stratified flow using Taitel-Dukler approach.Each phase uses its hydraulic diameter for friction calculation.
- Parameters:
vG- gas velocity [m/s]vL- liquid velocity [m/s]rhoG- gas density [kg/m³]rhoL- liquid density [kg/m³]muG- gas dynamic viscosity [Pa·s]muL- liquid dynamic viscosity [Pa·s]alphaL- liquid holdup fraction [-]D- pipe diameter [m]eps- pipe wall roughness [m]- Returns:
- wall friction result containing shear stresses and friction factors
-
calcSlugFriction
private WallFriction.WallFrictionResult calcSlugFriction(double vG, double vL, double rhoG, double rhoL, double muG, double muL, double alphaL, double D, double eps) Calculate wall friction for slug flow.Uses mixture properties in slug body, stratified approach in film region.
- Parameters:
vG- gas velocity [m/s]vL- liquid velocity [m/s]rhoG- gas density [kg/m³]rhoL- liquid density [kg/m³]muG- gas dynamic viscosity [Pa·s]muL- liquid dynamic viscosity [Pa·s]alphaL- liquid holdup fraction [-]D- pipe diameter [m]eps- pipe wall roughness [m]- Returns:
- wall friction result containing shear stresses and friction factors
-
calcAnnularFriction
private WallFriction.WallFrictionResult calcAnnularFriction(double vG, double vL, double rhoG, double rhoL, double muG, double muL, double alphaL, double D, double eps) Calculate wall friction for annular flow.Liquid film on wall, gas in core. Film friction dominates.
- 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 volume fraction [-]D- pipe diameter [m]eps- pipe roughness [m]- Returns:
- wall friction result containing friction factors and shear stresses
-
calcBubbleFriction
private WallFriction.WallFrictionResult calcBubbleFriction(double vG, double vL, double rhoG, double rhoL, double muG, double muL, double alphaL, double D, double eps) Calculate wall friction for bubble/dispersed bubble flow.Liquid-continuous flow with dispersed gas bubbles. Use liquid properties.
- Parameters:
vG- gas velocity (m/s)vL- liquid velocity (m/s)rhoG- gas density (kg/m³)rhoL- liquid density (kg/m³)muG- gas viscosity (Pa·s)muL- liquid viscosity (Pa·s)alphaL- liquid holdup fractionD- pipe diameter (m)eps- pipe roughness (m)- Returns:
- wall friction result
-
calcChurnFriction
private WallFriction.WallFrictionResult calcChurnFriction(double vG, double vL, double rhoG, double rhoL, double muG, double muL, double alphaL, double D, double eps) Calculate wall friction for churn flow.Similar to slug but more chaotic. Use mixture approach.
- Parameters:
vG- gas velocity (m/s)vL- liquid velocity (m/s)rhoG- gas density (kg/m³)rhoL- liquid density (kg/m³)muG- gas viscosity (Pa·s)muL- liquid viscosity (Pa·s)alphaL- liquid holdup fractionD- pipe diameter (m)eps- pipe roughness (m)- Returns:
- wall friction result
-
calcSinglePhaseGasFriction
private WallFriction.WallFrictionResult calcSinglePhaseGasFriction(double vG, double rhoG, double muG, double D, double eps) Calculate wall friction for single-phase gas flow.- Parameters:
vG- gas velocity (m/s)rhoG- gas density (kg/m3)muG- gas viscosity (Pa.s)D- pipe diameter (m)eps- pipe roughness (m)- Returns:
- wall friction result
-
calcSinglePhaseLiquidFriction
private WallFriction.WallFrictionResult calcSinglePhaseLiquidFriction(double vL, double rhoL, double muL, double D, double eps) Calculate wall friction for single-phase liquid flow.- Parameters:
vL- liquid velocity (m/s)rhoL- liquid density (kg/m3)muL- liquid viscosity (Pa.s)D- pipe diameter (m)eps- pipe roughness (m)- Returns:
- wall friction result
-
calcFanningFrictionFactor
public double calcFanningFrictionFactor(double reynolds, double roughness, double diameter) Calculate Fanning friction factor using Haaland equation.Explicit approximation to Colebrook-White equation, valid for turbulent flow. For laminar flow (Re < 2300), uses f = 16/Re.
- Parameters:
reynolds- Reynolds numberroughness- Pipe roughness (m)diameter- Pipe diameter (m)- Returns:
- Fanning friction factor
-
calcTurbulentFanning
private double calcTurbulentFanning(double Re, double epsD) Haaland equation for turbulent Fanning friction factor.- Parameters:
Re- Reynolds numberepsD- relative roughness (roughness/diameter)- Returns:
- Fanning friction factor
-
calcColebrookFanning
public double calcColebrookFanning(double reynolds, double roughness, double diameter) Calculate Colebrook-White friction factor iteratively.More accurate than Haaland for edge cases.
- Parameters:
reynolds- Reynolds numberroughness- Pipe roughness (m)diameter- Pipe diameter (m)- Returns:
- Fanning friction factor
-
getDefaultRoughness
public double getDefaultRoughness()Get default roughness value.- Returns:
- Default roughness (m)
-
setDefaultRoughness
public void setDefaultRoughness(double roughness) Set default roughness value.- Parameters:
roughness- Default roughness (m)
-