Class GeometryCalculator
- All Implemented Interfaces:
Serializable
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:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classResult container for stratified flow geometry calculations. -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondoubleapproximateLiquidLevel(double holdup, double diameter) Calculate liquid level from holdup using direct formula (approximate).doublecalcAnnularFilmThickness(double liquidHoldup, double diameter) Calculate liquid film thickness from holdup in annular flow.doublecalcAnnularGasPerimeter(double filmThickness, double diameter) Calculate gas-wall wetted perimeter for annular flow.doublecalcAreaDerivative(double liquidLevel, double diameter) Calculate the derivative of liquid area with respect to liquid level.calculateFromHoldup(double liquidHoldup, double diameter) Calculate stratified flow geometry from liquid holdup.calculateFromLiquidLevel(double liquidLevel, double diameter) Calculate stratified flow geometry from liquid level.booleanisStratifiedStable(double gasVelocity, double liquidLevel, double diameter, double gasDensity, double liquidDensity, double inclination) Check if flow can be stratified based on Kelvin-Helmholtz stability.
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
-
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
-