Class GradeEfficiencyCurve

java.lang.Object
neqsim.process.equipment.separator.entrainment.GradeEfficiencyCurve
All Implemented Interfaces:
Serializable

public class GradeEfficiencyCurve extends Object implements Serializable
Grade efficiency curves for separator internals (mist eliminators, inlet devices, gravity sections).

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:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      Serialization version UID.
      See Also:
    • type

      Type of internals.
    • cutDiameter

      private double cutDiameter
      Cut diameter d_50 [m] at which 50% efficiency is achieved.
    • sharpness

      private double sharpness
      Sharpness parameter controlling the steepness of the efficiency curve.
    • maxEfficiency

      private double maxEfficiency
      Maximum efficiency (accounts for re-entrainment effects).
    • minEfficiency

      private double minEfficiency
      Minimum efficiency (leakage floor).
    • customCurve

      private double[][] customCurve
      User-defined lookup table: {diameter[m], efficiency[0-1]}.
  • Constructor Details

    • GradeEfficiencyCurve

      public GradeEfficiencyCurve()
  • Method Details

    • gravity

      public static GradeEfficiencyCurve gravity(double cutDiameter)
      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

      public static 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

      public static 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

      public static 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

      public static GradeEfficiencyCurve platePack(double cutDiameter50, double maxEfficiency)
      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

      public static GradeEfficiencyCurve custom(double[] diametersM, double[] efficiencies)
      Creates a custom grade efficiency curve from a lookup table.
      Parameters:
      diametersM - diameter values [m], ascending order
      efficiencies - 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

      public double calcOverallEfficiency(DropletSizeDistribution dsd)
      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

      Gets the internals type.
      Returns:
      type
    • 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]