Class GradeEfficiencyCurve
- All Implemented Interfaces:
Serializable
A grade efficiency curve defines the fractional removal efficiency as a function of droplet diameter. The overall separation efficiency is obtained by integrating the grade efficiency over the droplet size distribution:
$$ \eta_{overall} = \int_0^\infty \eta(d) \cdot f(d) \, dd = \sum_i \eta(d_i) \cdot \Delta F_i $$This class provides published correlations for common separator internals. All correlations are from the open literature.
- Version:
- 1.0
- Author:
- NeqSim team
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumTypes of separator internals with published grade efficiency correlations. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate double[][]User-defined lookup table: {diameter[m], efficiency[0-1]}.private doubleCut diameter d_50 [m] at which 50% efficiency is achieved.private doubleMaximum efficiency (accounts for re-entrainment effects).private doubleMinimum efficiency (leakage floor).private static final longSerialization version UID.private doubleSharpness parameter controlling the steepness of the efficiency curve.Type of internals. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic GradeEfficiencyCurveaxialCyclone(double cutDiameter50, double sharpness, double maxEfficiency) Creates a grade efficiency curve for an axial-flow cyclone separator.static GradeEfficiencyCurveCreates a grade efficiency curve for an axial cyclone with typical default parameters.doubleComputes the overall separation efficiency by integrating the grade efficiency over a droplet size distribution.static GradeEfficiencyCurvecustom(double[] diametersM, double[] efficiencies) Creates a custom grade efficiency curve from a lookup table.doubleGets the cut diameter d_50 [m].doublegetEfficiency(double diameter) Calculates the fractional removal efficiency for a given droplet diameter.doubleGets the maximum efficiency.doubleGets the minimum efficiency (leakage floor).doubleGets the sharpness parameter.getType()Gets the internals type.static GradeEfficiencyCurvegravity(double cutDiameter) Creates a grade efficiency curve for gravity settling.private doubleinterpolateCustom(double diameter) Linearly interpolates the custom efficiency curve.static GradeEfficiencyCurveplatePack(double cutDiameter50, double maxEfficiency) Creates a grade efficiency curve for a plate pack (parallel plate) coalescer.voidsetCutDiameter(double cutDiameter) Sets the cut diameter d_50 [m].voidsetMaxEfficiency(double maxEfficiency) Sets the maximum efficiency.voidsetMinEfficiency(double minEfficiency) Sets the minimum efficiency (leakage floor).voidsetSharpness(double sharpness) Sets the sharpness parameter.static GradeEfficiencyCurvevanePack(double cutDiameter50, double sharpness, double maxEfficiency) Creates a grade efficiency curve for a vane pack (chevron) mist eliminator.static GradeEfficiencyCurveCreates a grade efficiency curve for a vane pack with typical default parameters.static GradeEfficiencyCurvewireMesh(double cutDiameter50, double sharpness, double maxEfficiency) Creates a grade efficiency curve for a wire mesh demister.static GradeEfficiencyCurveCreates a grade efficiency curve for a wire mesh demister with typical default parameters.
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
type
Type of internals. -
cutDiameter
private double cutDiameterCut diameter d_50 [m] at which 50% efficiency is achieved. -
sharpness
private double sharpnessSharpness parameter controlling the steepness of the efficiency curve. -
maxEfficiency
private double maxEfficiencyMaximum efficiency (accounts for re-entrainment effects). -
minEfficiency
private double minEfficiencyMinimum efficiency (leakage floor). -
customCurve
private double[][] customCurveUser-defined lookup table: {diameter[m], efficiency[0-1]}.
-
-
Constructor Details
-
GradeEfficiencyCurve
public GradeEfficiencyCurve()
-
-
Method Details
-
gravity
Creates a grade efficiency curve for gravity settling.Gravity efficiency follows a squared relationship for the Stokes regime:
$$ \eta(d) = \min\left(1, \left(\frac{d}{d_{cut}}\right)^2\right) $$where $d_{cut}$ is the critical diameter from the geometry and residence time. See Arnold and Stewart (2008), Surface Production Operations, Vol. 1, Gulf Professional Publishing.
- Parameters:
cutDiameter- critical diameter for 100% removal [m]- Returns:
- a new GradeEfficiencyCurve
-
wireMesh
public static GradeEfficiencyCurve wireMesh(double cutDiameter50, double sharpness, double maxEfficiency) Creates a grade efficiency curve for a wire mesh demister.Modelled as a sigmoid (logistic) capture efficiency:
$$ \eta(d) = \eta_{max} \cdot \left[1 - \exp\left(-0.693 \cdot \left(\frac{d}{d_{50}}\right)^n\right)\right] $$Typical wire mesh parameters from Brunazzi and Paglianti (1998), Chemical Engineering Science, 53(19), 3373-3380:
d_50 = 3-10 um for standard pads at typical gas velocities, n = 2-3 (sharpness), eta_max = 0.99-0.999 (below flooding).
- Parameters:
cutDiameter50- d_50 diameter at 50% efficiency [m]sharpness- n steepness parameter (typically 2.0-3.0)maxEfficiency- maximum efficiency below flooding (typically 0.99-0.999)- Returns:
- a new GradeEfficiencyCurve
-
wireMeshDefault
Creates a grade efficiency curve for a wire mesh demister with typical default parameters.Defaults: d_50 = 5 um, sharpness = 2.5, max efficiency = 0.998.
- Returns:
- a new GradeEfficiencyCurve
-
vanePack
public static GradeEfficiencyCurve vanePack(double cutDiameter50, double sharpness, double maxEfficiency) Creates a grade efficiency curve for a vane pack (chevron) mist eliminator.Vane pack efficiency is modelled using inertial impaction. The capture probability depends on the Stokes number $Stk = \rho_d d^2 V / (18 \mu_c W)$ where $W$ is the channel width. The efficiency is approximated as:
$$ \eta(d) = \eta_{max} \cdot \left[1 - \exp\left(-0.693 \cdot \left(\frac{d}{d_{50}}\right)^n\right)\right] $$Typical values from Phillips and Listak (1996) and Verlaan (2001): d_50 = 8-20 um, n = 1.5-2.5, eta_max = 0.99-0.995.
- Parameters:
cutDiameter50- d_50 diameter at 50% efficiency [m]sharpness- steepness parameter (typically 1.5-2.5)maxEfficiency- maximum efficiency (typically 0.99-0.995)- Returns:
- a new GradeEfficiencyCurve
-
vanePackDefault
Creates a grade efficiency curve for a vane pack with typical default parameters.Defaults: d_50 = 12 um, sharpness = 2.0, max efficiency = 0.995.
- Returns:
- a new GradeEfficiencyCurve
-
axialCyclone
public static GradeEfficiencyCurve axialCyclone(double cutDiameter50, double sharpness, double maxEfficiency) Creates a grade efficiency curve for an axial-flow cyclone separator.Cyclone efficiency follows the Barth collection efficiency model, approximated as a steep sigmoid. Cyclone tubes have very sharp cut-off characteristics. From Hoffmann and Stein (2008), Gas Cyclones and Swirl Tubes: Principles, Design and Operation, Springer:
d_50 = 2-5 um for typical axial cyclone tubes at high gas velocity, n = 3-5 (very steep cut-off), eta_max = 0.995-0.999.
- Parameters:
cutDiameter50- d_50 diameter at 50% efficiency [m]sharpness- steepness (typically 3.0-5.0)maxEfficiency- maximum efficiency (typically 0.995-0.999)- Returns:
- a new GradeEfficiencyCurve
-
axialCycloneDefault
Creates a grade efficiency curve for an axial cyclone with typical default parameters.Defaults: d_50 = 3 um, sharpness = 4.0, max efficiency = 0.998.
- Returns:
- a new GradeEfficiencyCurve
-
platePack
Creates a grade efficiency curve for a plate pack (parallel plate) coalescer.Plate packs reduce the effective settling height, improving gravity separation. The effective cut diameter is reduced by the ratio of plate spacing to vessel height. Modelled as gravity separation with reduced cut diameter.
See Polderman et al. (1997), "Design rules for plate pack/liquid-liquid coalescers", conference paper. Typical: d_50 = 20-100 um for oil-water, sharpness = 2.0.
- Parameters:
cutDiameter50- effective d_50 for plate pack [m]maxEfficiency- maximum efficiency- Returns:
- a new GradeEfficiencyCurve
-
custom
Creates a custom grade efficiency curve from a lookup table.- Parameters:
diametersM- diameter values [m], ascending orderefficiencies- corresponding efficiency values [0-1]- Returns:
- a new GradeEfficiencyCurve
-
getEfficiency
public double getEfficiency(double diameter) Calculates the fractional removal efficiency for a given droplet diameter.- Parameters:
diameter- droplet diameter [m]- Returns:
- efficiency [0-1]
-
calcOverallEfficiency
Computes the overall separation efficiency by integrating the grade efficiency over a droplet size distribution.- Parameters:
dsd- droplet size distribution- Returns:
- overall mass/volume separation efficiency [0-1]
-
interpolateCustom
private double interpolateCustom(double diameter) Linearly interpolates the custom efficiency curve.- Parameters:
diameter- droplet diameter [m]- Returns:
- interpolated efficiency [0-1]
-
getType
-
getCutDiameter
public double getCutDiameter()Gets the cut diameter d_50 [m].- Returns:
- cutDiameter [m]
-
setCutDiameter
public void setCutDiameter(double cutDiameter) Sets the cut diameter d_50 [m].- Parameters:
cutDiameter- [m]
-
getSharpness
public double getSharpness()Gets the sharpness parameter.- Returns:
- sharpness
-
setSharpness
public void setSharpness(double sharpness) Sets the sharpness parameter.- Parameters:
sharpness- the sharpness parameter
-
getMaxEfficiency
public double getMaxEfficiency()Gets the maximum efficiency.- Returns:
- maxEfficiency
-
setMaxEfficiency
public void setMaxEfficiency(double maxEfficiency) Sets the maximum efficiency.- Parameters:
maxEfficiency- max efficiency [0-1]
-
getMinEfficiency
public double getMinEfficiency()Gets the minimum efficiency (leakage floor).- Returns:
- minEfficiency
-
setMinEfficiency
public void setMinEfficiency(double minEfficiency) Sets the minimum efficiency (leakage floor).- Parameters:
minEfficiency- min efficiency [0-1]
-