Class CO2FlowCorrections

java.lang.Object
neqsim.process.equipment.pipeline.CO2FlowCorrections

public final class CO2FlowCorrections extends Object
CO2-specific correction factors for two-phase flow correlations. The standard Beggs and Brill (1973) correlation was developed for oil-gas-water systems and may not accurately represent the flow behaviour of CO2-dominated streams where the liquid phase is dense-phase CO2 rather than conventional hydrocarbon liquid.

This utility class provides correction factors for:

  • Liquid holdup: CO2 liquid has lower viscosity and higher density than typical oil, affecting hold-up
  • Friction factor: dense-phase CO2 has different friction characteristics
  • Flow pattern transitions: CO2 liquid-gas transitions differ from oil-gas boundaries
  • Surface tension: CO2 liquid-vapour interfacial tension is typically much lower than hydrocarbon systems

Usage:

// Check if CO2 corrections should be applied
if (CO2FlowCorrections.isCO2DominatedFluid(system)) {
  double holdupFactor = CO2FlowCorrections.getLiquidHoldupCorrectionFactor(system);
  double frictionFactor = CO2FlowCorrections.getFrictionCorrectionFactor(system);
  correctedHoldup = baseHoldup * holdupFactor;
  correctedFriction = baseFriction * frictionFactor;
}

Reference: Peletiri, S.P., Rahmanian, N. and Mujtaba, I.M. (2018). CO2 Pipeline Design: A Review. Energies, 11(9), 2184.

Version:
1.0
Author:
neqsim
  • Field Details

    • CO2_THRESHOLD

      private static final double CO2_THRESHOLD
      Minimum CO2 mole fraction to consider the fluid CO2-dominated.
      See Also:
    • CO2_TC

      private static final double CO2_TC
      CO2 critical temperature in Kelvin.
      See Also:
    • CO2_PC

      private static final double CO2_PC
      CO2 critical pressure in bara.
      See Also:
  • Constructor Details

    • CO2FlowCorrections

      private CO2FlowCorrections()
      Private constructor to prevent instantiation.
  • Method Details

    • isCO2DominatedFluid

      public static boolean isCO2DominatedFluid(SystemInterface system)
      Checks whether the fluid is CO2-dominated (more than 50 mol% CO2).
      Parameters:
      system - the thermodynamic system
      Returns:
      true if the fluid contains more than 50 mol% CO2
    • getCO2MoleFraction

      public static double getCO2MoleFraction(SystemInterface system)
      Gets the CO2 mole fraction in the overall fluid. Searches by component name for robustness.
      Parameters:
      system - the thermodynamic system
      Returns:
      the CO2 overall mole fraction
    • getLiquidHoldupCorrectionFactor

      public static double getLiquidHoldupCorrectionFactor(SystemInterface system)
      Calculates a correction factor for liquid holdup in CO2-dominated two-phase flow. CO2 liquid has lower viscosity and higher density ratio (liquid/gas) compared to typical oil, resulting in lower liquid holdup for the same superficial velocities.

      The correction factor is based on the reduced temperature (T/Tc). Near the critical point, CO2 liquid and gas properties converge, reducing the holdup correction. Far below Tc, CO2 liquid behaves more like a conventional dense liquid.

      Parameters:
      system - the thermodynamic system
      Returns:
      the holdup correction factor (multiply by Beggs-Brill holdup). Returns 1.0 for non-CO2 systems or single-phase conditions
    • getFrictionCorrectionFactor

      public static double getFrictionCorrectionFactor(SystemInterface system)
      Calculates a correction factor for friction in CO2-dominated two-phase flow. Dense-phase CO2 has lower viscosity than typical crude oil, generally resulting in lower friction factors.
      Parameters:
      system - the thermodynamic system
      Returns:
      the friction correction factor (multiply by Beggs-Brill friction factor). Returns 1.0 for non-CO2 systems
    • estimateCO2SurfaceTension

      public static double estimateCO2SurfaceTension(SystemInterface system)
      Estimates the CO2 liquid-vapour surface tension based on the reduced temperature. This can be used to correct flow pattern transition criteria.

      Uses the Sugden correlation adapted for CO2: sigma = sigma_0 * (1 - Tr)^n where sigma_0 and n are fitted parameters for CO2.

      Parameters:
      system - the thermodynamic system
      Returns:
      the estimated surface tension in N/m, or 0 if above the critical point
    • isDensePhase

      public static boolean isDensePhase(SystemInterface system)
      Checks whether the fluid conditions are in the dense phase region (supercritical but liquid-like). In this region, single-phase flow is expected but properties differ from conventional gas.
      Parameters:
      system - the thermodynamic system
      Returns:
      true if T is above Tc and P is above Pc (supercritical/dense phase)
    • getReducedTemperature

      public static double getReducedTemperature(SystemInterface system)
      Gets the reduced temperature of the CO2 in the system.
      Parameters:
      system - the thermodynamic system
      Returns:
      the reduced temperature T/Tc
    • getReducedPressure

      public static double getReducedPressure(SystemInterface system)
      Gets the reduced pressure of the CO2 in the system.
      Parameters:
      system - the thermodynamic system
      Returns:
      the reduced pressure P/Pc