equinor / neqsim

NeqSim is a library for calculation of fluid behavior, phase equilibrium and process simulation

Home Page:https://equinor.github.io/neqsimhome/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

:bug: Bug - Three Phase Separator Producing Incorrect Output Phase

Sviatose opened this issue · comments

Bug Description
I have encountered a bug related to the behavior of the three phase separator. The separator receives only the water phase but produce only oil phase as output.

/workspaces/neqsim/src/test/java/neqsim/processSimulation/processSystem/waterDegasserTest.java

@Test
 public void runProcess2() 
     neqsim.processSimulation.processEquipment.separator.ThreePhaseSeparator separator_VA_01 = new neqsim.processSimulation.processEquipment.separator.ThreePhaseSeparator(inlet_stream_VA_01);
     separator_VA_01.setName("FIRST_SEPARATOR");
     separator_VA_01.run();
 
     neqsim.processSimulation.processEquipment.heatExchanger.Heater TP_setter_hydrocyclone = new neqsim.processSimulation.processEquipment.heatExchanger.Heater("TP_SETTER_HYDROCYCLONE_AFTER_1ST_SEPARATOR",
     separator_VA_01.getWaterOutStream()
     );
     TP_setter_hydrocyclone.setOutPressure(61.0700675688386, "bara");
     TP_setter_hydrocyclone.run();
 
     neqsim.processSimulation.processEquipment.separator.ThreePhaseSeparator hydrocyclone_main = (new 
     neqsim.processSimulation.processEquipment.separator.ThreePhaseSeparator(TP_setter_hydrocyclone.getOutStream()));
     hydrocyclone_main.setName("HYDROCYCLONE_AFTER_THE_1ST_SEPARATOR");
     hydrocyclone_main.setEntrainment(0.01, "mole", "feed", "aqueous", "gas");
     hydrocyclone_main.run();
     // Bug here : received only water phase -> but produces only oil phase ?
     System.out.println(hydrocyclone_main.getLiquidOutStream().getFlowRate("kg/hr"));
     System.out.println(hydrocyclone_main.getWaterOutStream().getFlowRate("kg/hr"));

To Reproduce
Steps to reproduce the behavior:

  1. Go to /workspaces/neqsim/src/test/java/neqsim/processSimulation/processSystem/waterDegasserTest.java
  2. Run test runProcess2

Expected behavior
System.out.println(hydrocyclone_main.getLiquidOutStream().getFlowRate("kg/hr")) should produce around 0, while System.out.println(hydrocyclone_main.getWaterOutStream().getFlowRate("kg/hr")) should produce around 33946

I will work on this. Probably related to enumeration changes for phases. @asmfstatoil

The bug is fixed in #692. Closing issue.