Class DropletSettlingCalculator
- All Implemented Interfaces:
Serializable
The Schiller-Naumann correlation provides a smooth transition across flow regimes (Schiller and Naumann, 1935):
$$ C_D = \frac{24}{Re}\left(1 + 0.15 Re^{0.687}\right) \quad \text{for } Re < 1000 $$ $$ C_D = 0.44 \quad \text{for } Re \geq 1000 $$The settling velocity is found by iterating the force balance:
$$ v_t = \sqrt{\frac{4 g d_p |\Delta\rho|}{3 C_D \rho_c}} $$For the Stokes regime ($Re \ll 1$), this reduces to:
$$ v_t = \frac{d_p^2 |\Delta\rho| g}{18 \mu_c} $$References: Schiller, L. and Naumann, Z. (1935), "A drag coefficient correlation", Zeitschrift des Vereines Deutscher Ingenieure, 77, 318-320. Clift, R., Grace, J.R., and Weber, M.E. (1978), Bubbles, Drops and Particles, Academic Press, New York.
- Version:
- 1.0
- Author:
- NeqSim team
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classHolds the result of an API 12J compliance check for a separator design. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final doubleGravitational acceleration [m/s2].private static final intMaximum iterations for velocity convergence.private static final longSerialization version UID.private static final doubleConvergence tolerance for velocity iteration. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic doublecalcCriticalDiameter(double availableHeight, double residenceTime, double continuousDensity, double dispersedDensity, double continuousViscosity) Calculates the critical (cut) diameter for gravity separation in a given geometry.static doublecalcDragCoefficient(double re) Calculates the drag coefficient using the Schiller-Naumann correlation.static doublecalcReynolds(double diameter, double velocity, double continuousDensity, double continuousViscosity) Calculates the particle Reynolds number.static doublecalcTerminalVelocity(double dropletDiameter, double continuousDensity, double dispersedDensity, double continuousViscosity) Calculates the terminal settling velocity of a single droplet or bubble using the Schiller-Naumann drag correlation.static doublecalcTurbulenceCorrectedCutDiameter(double gravityCutDiameter, double gasVelocity, double settlingHeight, double kFactor, double designKFactor, double gasDensity, double liquidDensity, double gasViscosity) Calculates the turbulence-corrected gravity cut diameter for a separator section.checkApi12JCompliance(double gravityCutDiameter_m, double kFactor, boolean mistEliminatorPresent, double liquidResidenceTime_s, String orientation, boolean isThreePhase) Checks API 12J (2014) compliance for a separator gravity section.
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
G
private static final double GGravitational acceleration [m/s2].- See Also:
-
MAX_ITERATIONS
private static final int MAX_ITERATIONSMaximum iterations for velocity convergence.- See Also:
-
TOLERANCE
private static final double TOLERANCEConvergence tolerance for velocity iteration.- See Also:
-
-
Constructor Details
-
DropletSettlingCalculator
public DropletSettlingCalculator()
-
-
Method Details
-
calcTerminalVelocity
public static double calcTerminalVelocity(double dropletDiameter, double continuousDensity, double dispersedDensity, double continuousViscosity) Calculates the terminal settling velocity of a single droplet or bubble using the Schiller-Naumann drag correlation.Positive velocity means downward (settling), applicable when dispersed phase is heavier. Negative velocity means upward (buoyant rise), applicable for bubbles in liquid.
- Parameters:
dropletDiameter- diameter of the droplet or bubble [m]continuousDensity- density of the continuous phase [kg/m3]dispersedDensity- density of the dispersed phase [kg/m3]continuousViscosity- dynamic viscosity of the continuous phase [Pa.s]- Returns:
- terminal settling velocity [m/s], positive = downward, negative = upward
-
calcDragCoefficient
public static double calcDragCoefficient(double re) Calculates the drag coefficient using the Schiller-Naumann correlation.- Parameters:
re- particle Reynolds number- Returns:
- drag coefficient C_D
-
calcReynolds
public static double calcReynolds(double diameter, double velocity, double continuousDensity, double continuousViscosity) Calculates the particle Reynolds number.- Parameters:
diameter- droplet diameter [m]velocity- settling velocity [m/s]continuousDensity- density of continuous phase [kg/m3]continuousViscosity- dynamic viscosity of continuous phase [Pa.s]- Returns:
- Reynolds number
-
calcTurbulenceCorrectedCutDiameter
public static double calcTurbulenceCorrectedCutDiameter(double gravityCutDiameter, double gasVelocity, double settlingHeight, double kFactor, double designKFactor, double gasDensity, double liquidDensity, double gasViscosity) Calculates the turbulence-corrected gravity cut diameter for a separator section.In a real separator, turbulence generated at the inlet redistributes small droplets, increasing the effective cut diameter beyond the quiescent gravity value. This correction applies the Csanady (1963) passive-particle turbulent diffusion model, simplified to an engineering formula (Koenders et al., 2015):
Turbulent diffusivity: $D_t = u_{rms} \cdot L_t$, where $L_t$ is the integral length scale (vessel radius / 5).
Effective cut diameter correction: $d_{cut,turb} = d_{cut,grav} \cdot \left(1 + \frac{D_t}{v_t \cdot H}\right)^{0.25}$
Turbulence intensity increases with gas load: at 50% of design K-factor the correction is negligible; above 80% it becomes significant and can shift the effective cut diameter by 20-60%.
References: Csanady, G.T. (1963). Turbulent diffusion of heavy particles in the atmosphere. J. Atmos. Sci., 20, 201-208. Koenders, M.A., Slot, J.J., Hoeijmakers, H.W.M. (2015). Numerical simulation of gas-liquid separator performance. SPE Production and Operations, 30(3), 215-225.
- Parameters:
gravityCutDiameter- quiescent gravity cut diameter [m]gasVelocity- superficial gas velocity in the vessel [m/s]settlingHeight- effective droplet settling height [m]kFactor- operating Souders-Brown K-factor [m/s]designKFactor- maximum design K-factor [m/s]; use 0 if unknowngasDensity- gas phase density [kg/m3]liquidDensity- liquid dispersed phase density [kg/m3]gasViscosity- gas dynamic viscosity [Pa.s]- Returns:
- turbulence-corrected cut diameter [m], always >= gravityCutDiameter
-
checkApi12JCompliance
public static DropletSettlingCalculator.ApiComplianceResult checkApi12JCompliance(double gravityCutDiameter_m, double kFactor, boolean mistEliminatorPresent, double liquidResidenceTime_s, String orientation, boolean isThreePhase) Checks API 12J (2014) compliance for a separator gravity section.API 12J criteria applied:
- Gas section — K-factor: operating K must not exceed 0.107 m/s (vertical, no mist eliminator) or 0.120 m/s (horizontal, no mist eliminator). With a mist eliminator the limit depends on the device type — 0.12 to 0.30 m/s.
- Gas section — droplet removal: gravity section alone must remove droplets ≥ 100 μm from gas (API 12J Table 2 for clean service).
- Liquid section — residence time: minimum 3 minutes (180 s) for two-phase separators in clean service; 5 minutes (300 s) for three-phase.
Reference: API Specification 12J, 8th Edition (2014). Specification for Oil and Gas Separators. American Petroleum Institute, Washington, DC.
- Parameters:
gravityCutDiameter_m- gravity cut diameter at operating conditions [m]kFactor- operating Souders-Brown K-factor [m/s]mistEliminatorPresent- true when a mist eliminator is installedliquidResidenceTime_s- liquid residence time in the vessel [s]orientation- vessel orientation:"vertical"or"horizontal"isThreePhase- true for three-phase (gas/oil/water) separators- Returns:
- compliance result object encapsulating pass/fail status and comments
-
calcCriticalDiameter
public static double calcCriticalDiameter(double availableHeight, double residenceTime, double continuousDensity, double dispersedDensity, double continuousViscosity) Calculates the critical (cut) diameter for gravity separation in a given geometry.This is the smallest droplet that can settle across the available height within the available residence time. In the Stokes regime:
$$ d_{cut} = \sqrt{\frac{18 \mu_c H}{|\Delta\rho| g t_{res}}} $$For higher Reynolds numbers, the critical diameter is found iteratively.
- Parameters:
availableHeight- height available for settling [m]residenceTime- gas or liquid residence time in the section [s]continuousDensity- density of continuous phase [kg/m3]dispersedDensity- density of dispersed phase [kg/m3]continuousViscosity- dynamic viscosity of continuous phase [Pa.s]- Returns:
- critical (cut) diameter [m]
-