Class Hydrocyclone

All Implemented Interfaces:
Serializable, Runnable, ProcessEquipmentInterface, SeparatorInterface, StateVectorProvider, SimulationInterface, NamedInterface

public class Hydrocyclone extends Separator
Hydrocyclone for produced water treatment.

Hydrocyclones use centrifugal force to separate oil droplets from water. The swirling flow creates a centrifugal force many times gravity, causing oil droplets to migrate to the center and exit through the reject stream.

Performance Characteristics

  • d50 cut size: ~10-15 μm (50% removal efficiency)
  • d100: ~20-30 μm (near 100% removal)
  • Reject ratio: 1-3% of feed
  • Pressure drop: 1-3 bar

Separation Efficiency Model

η = 1 - exp(-A × (d / d50)^n)

where d50 is the cut size and n is typically 2-4.

Version:
1.0
Author:
ESOL
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • d50Microns

      private double d50Microns
      Typical d50 cut size in microns.
    • rejectRatio

      private double rejectRatio
      Reject ratio (oil-rich stream / feed).
    • pressureDrop

      private double pressureDrop
      Pressure drop across cyclone (bar).
    • oilRemovalEfficiency

      private double oilRemovalEfficiency
      Overall oil removal efficiency.
    • inletOilMgL

      private double inletOilMgL
      Inlet oil concentration (mg/L).
    • outletOilMgL

      private double outletOilMgL
      Outlet oil concentration (mg/L).
  • Constructor Details

    • Hydrocyclone

      public Hydrocyclone(String name)
      Creates a hydrocyclone.
      Parameters:
      name - equipment name
    • Hydrocyclone

      public Hydrocyclone(String name, StreamInterface inletStream)
      Creates a hydrocyclone with inlet stream.
      Parameters:
      name - equipment name
      inletStream - water stream containing oil
  • Method Details

    • setD50Microns

      public void setD50Microns(double d50)
      Sets the d50 cut size.
      Parameters:
      d50 - cut size in microns
    • getD50Microns

      public double getD50Microns()
      Gets the d50 cut size.
      Returns:
      d50 in microns
    • setRejectRatio

      public void setRejectRatio(double ratio)
      Sets the reject ratio.
      Parameters:
      ratio - reject/feed ratio (0.01-0.05 typical)
    • getRejectRatio

      public double getRejectRatio()
      Gets the reject ratio.
      Returns:
      reject ratio
    • setOilRemovalEfficiency

      public void setOilRemovalEfficiency(double efficiency)
      Sets overall oil removal efficiency.
      Parameters:
      efficiency - efficiency (0.0-1.0)
    • getOilRemovalEfficiency

      public double getOilRemovalEfficiency()
      Gets oil removal efficiency.
      Returns:
      efficiency (0.0-1.0)
    • setInletOilConcentration

      public void setInletOilConcentration(double oilMgL)
      Sets inlet oil concentration.
      Parameters:
      oilMgL - oil concentration in mg/L
    • getEfficiencyForDropletSize

      public double getEfficiencyForDropletSize(double dropletSizeMicrons)
      Calculates removal efficiency for a given droplet size.

      Uses a modified Rosin-Rammler distribution:

      η(d) = 1 - exp(-0.693 × (d / d50)^n)
      
      Parameters:
      dropletSizeMicrons - droplet diameter in microns
      Returns:
      removal efficiency (0.0-1.0)
    • run

      public void run(UUID id)

      In this method all thermodynamic and unit operations will be calculated in a steady state calculation.

      Specified by:
      run in interface SimulationInterface
      Overrides:
      run in class Separator
      Parameters:
      id - UUID
    • getOutletOilMgL

      public double getOutletOilMgL()
      Gets outlet oil concentration.
      Returns:
      oil concentration in mg/L
    • getPressureDropBar

      public double getPressureDropBar()
      Gets pressure drop.
      Returns:
      pressure drop in bar
    • setPressureDropBar

      public void setPressureDropBar(double dp)
      Sets pressure drop.
      Parameters:
      dp - pressure drop in bar