Class GeometryCalculator

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

public class GeometryCalculator extends Object implements Serializable
Geometry calculations for stratified two-phase flow in circular pipes.

Provides methods to calculate wetted perimeters, interfacial width, and phase areas based on liquid level in stratified flow. These geometric parameters are essential for the two-fluid model closure relations.

Geometry Definition

For a circular pipe of diameter D with liquid level h_L (measured from bottom):

  • A_L = liquid cross-sectional area
  • A_G = gas cross-sectional area
  • S_L = wetted perimeter (liquid-wall contact)
  • S_G = wetted perimeter (gas-wall contact)
  • S_i = interfacial width (gas-liquid interface)
Version:
1.0
Author:
Even Solbraa
See Also:
  • Field Details

  • Constructor Details

    • GeometryCalculator

      public GeometryCalculator()
  • Method Details

    • calculateFromLiquidLevel

      public GeometryCalculator.StratifiedGeometry calculateFromLiquidLevel(double liquidLevel, double diameter)
      Calculate stratified flow geometry from liquid level.

      Uses circular segment geometry formulas.

      Parameters:
      liquidLevel - Height of liquid from pipe bottom (m)
      diameter - Pipe inner diameter (m)
      Returns:
      StratifiedGeometry with all geometric parameters
    • calculateFromHoldup

      public GeometryCalculator.StratifiedGeometry calculateFromHoldup(double liquidHoldup, double diameter)
      Calculate stratified flow geometry from liquid holdup.

      Iteratively solves for liquid level that gives the specified holdup.

      Parameters:
      liquidHoldup - Target liquid holdup (0-1)
      diameter - Pipe inner diameter (m)
      Returns:
      StratifiedGeometry with all geometric parameters
    • approximateLiquidLevel

      public double approximateLiquidLevel(double holdup, double diameter)
      Calculate liquid level from holdup using direct formula (approximate).

      Uses Hart's approximation for faster computation when high accuracy is not required.

      Parameters:
      holdup - Liquid holdup (0-1)
      diameter - Pipe diameter (m)
      Returns:
      Approximate liquid level (m)
    • calcAnnularGasPerimeter

      public double calcAnnularGasPerimeter(double filmThickness, double diameter)
      Calculate gas-wall wetted perimeter for annular flow.

      In annular flow, gas occupies the core while liquid forms a film on the wall.

      Parameters:
      filmThickness - Liquid film thickness (m)
      diameter - Pipe diameter (m)
      Returns:
      Gas-interface perimeter (core perimeter)
    • calcAnnularFilmThickness

      public double calcAnnularFilmThickness(double liquidHoldup, double diameter)
      Calculate liquid film thickness from holdup in annular flow.

      Assumes uniform film around pipe circumference.

      Parameters:
      liquidHoldup - Liquid holdup (0-1)
      diameter - Pipe diameter (m)
      Returns:
      Film thickness (m)
    • calcAreaDerivative

      public double calcAreaDerivative(double liquidLevel, double diameter)
      Calculate the derivative of liquid area with respect to liquid level.

      Useful for stability analysis and Kelvin-Helmholtz criterion.

      Parameters:
      liquidLevel - Liquid level (m)
      diameter - Pipe diameter (m)
      Returns:
      dA_L/dh (m)
    • isStratifiedStable

      public boolean isStratifiedStable(double gasVelocity, double liquidLevel, double diameter, double gasDensity, double liquidDensity, double inclination)
      Check if flow can be stratified based on Kelvin-Helmholtz stability.

      Stratified flow becomes unstable when gas velocity exceeds critical value.

      Parameters:
      gasVelocity - Gas velocity (m/s)
      liquidLevel - Liquid level (m)
      diameter - Pipe diameter (m)
      gasDensity - Gas density (kg/m³)
      liquidDensity - Liquid density (kg/m³)
      inclination - Pipe inclination (radians, positive = uphill)
      Returns:
      true if stratified flow is stable