Class BlackOilSeparator

All Implemented Interfaces:
Serializable, Runnable, ProcessEquipmentInterface, ProcessElementInterface, SimulationInterface, NamedInterface

public class BlackOilSeparator extends ProcessEquipmentBaseClass
Equilibrium Black-Oil separator at given (P_out, T_out).

Extends ProcessEquipmentBaseClass so it can be added to a ProcessSystem and participate in sequential flowsheet execution alongside compositional equipment.

Inlet and outlet fluids are represented as SystemBlackOil objects (not SystemInterface). Access them via getBlackOilInlet(), getOilOut(), getGasOut(), getWaterOut().

Version:
2.0
Author:
esol
See Also:
  • Field Details

  • Constructor Details

    • BlackOilSeparator

      public BlackOilSeparator(String name, SystemBlackOil inlet, double outletPressure, double outletTemperature)
      Constructs a BlackOilSeparator.
      Parameters:
      name - equipment name used in the process system
      inlet - the inlet Black-Oil fluid
      outletPressure - separator outlet pressure in bar(a)
      outletTemperature - separator outlet temperature in Kelvin
  • Method Details

    • setInlet

      public void setInlet(SystemBlackOil inlet)
      Sets the inlet Black-Oil fluid.
      Parameters:
      inlet - a SystemBlackOil object
    • getBlackOilInlet

      public SystemBlackOil getBlackOilInlet()
      Returns the inlet Black-Oil fluid.
      Returns:
      a SystemBlackOil object
    • getOilOut

      public SystemBlackOil getOilOut()
      Returns the oil outlet stream after separation.
      Returns:
      a SystemBlackOil object, or null if not yet run
    • getGasOut

      public SystemBlackOil getGasOut()
      Returns the gas outlet stream after separation.
      Returns:
      a SystemBlackOil object, or null if not yet run
    • getWaterOut

      public SystemBlackOil getWaterOut()
      Returns the water outlet stream after separation.
      Returns:
      a SystemBlackOil object, or null if not yet run
    • getLastFlashResult

      public BlackOilFlashResult getLastFlashResult()
      Returns the last flash result from the most recent run.
      Returns:
      a BlackOilFlashResult object, or null if not yet run
    • getOutletPressure

      public double getOutletPressure()
      Returns the separator outlet pressure.
      Returns:
      outlet pressure in bar(a)
    • setOutletPressure

      public void setOutletPressure(double outletPressure)
      Sets the separator outlet pressure.
      Parameters:
      outletPressure - outlet pressure in bar(a)
    • getOutletTemperature

      public double getOutletTemperature()
      Returns the separator outlet temperature.
      Returns:
      outlet temperature in Kelvin
    • setOutletTemperature

      public void setOutletTemperature(double outletTemperature)
      Sets the separator outlet temperature.
      Parameters:
      outletTemperature - outlet temperature in Kelvin
    • run

      public void run(UUID id)

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

      Parameters:
      id - UUID
    • runSeparation

      public void runSeparation()
      Legacy run method for backward compatibility (no UUID tracking).
    • toJson

      public String toJson()

      Serializes the Process Equipment along with its state to a JSON string.

      Specified by:
      toJson in interface ProcessEquipmentInterface
      Overrides:
      toJson in class ProcessEquipmentBaseClass
      Returns:
      json string.
    • getResultsMap

      public Map<String,String> getResultsMap()
      Returns key results as a string map for reporting.
      Returns:
      map of result name to value string