Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
EvenSol committed Jul 31, 2023
1 parent 0828801 commit b5bb720
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 31 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ public void run(UUID id) {
} catch (Exception e) {
e.printStackTrace();
}
mixedStream.getThermoSystem().init(2);
mixedStream.getThermoSystem().init(3);
// mixedStream.getThermoSystem().prettyPrint();

mixedStreamSplitter = new Splitter("splitter", mixedStream, 2);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import neqsim.processSimulation.processEquipment.separator.Separator;
import neqsim.processSimulation.processEquipment.stream.Stream;
import neqsim.processSimulation.processEquipment.stream.StreamInterface;
import neqsim.thermo.system.SystemInterface;
import neqsim.thermodynamicOperations.ThermodynamicOperations;

/**
Expand Down Expand Up @@ -141,14 +142,17 @@ public void init() {

((MixerInterface) trays.get(numberOfTrays - 1))
.addStream(trays.get(feedTrayNumber).getGasOutStream());
((Mixer) trays.get(numberOfTrays - 1)).getStream(0).getThermoSystem()
.setTotalNumberOfMoles(((Mixer) trays.get(numberOfTrays - 1)).getStream(0).getThermoSystem()
.getTotalNumberOfMoles() * (1.0));
// ((Mixer) trays.get(numberOfTrays - 1)).getStream(0).getThermoSystem()
// .setTotalNumberOfMoles(((Mixer) trays.get(numberOfTrays -
// 1)).getStream(0).getThermoSystem()
// .getTotalNumberOfMoles() * (1.0));
((MixerInterface) trays.get(0)).addStream(trays.get(feedTrayNumber).getLiquidOutStream());
int streamNumbReboil = (trays.get(0)).getNumberOfInputStreams() - 1;
((Mixer) trays.get(0)).getStream(streamNumbReboil).getThermoSystem().setTotalNumberOfMoles(
((Mixer) trays.get(0)).getStream(streamNumbReboil).getThermoSystem().getTotalNumberOfMoles()
* (1.0));
// ((Mixer)
// trays.get(0)).getStream(streamNumbReboil).getThermoSystem().setTotalNumberOfMoles(
// ((Mixer)
// trays.get(0)).getStream(streamNumbReboil).getThermoSystem().getTotalNumberOfMoles()
// * (1.0));

// ((Runnable) trays.get(numberOfTrays - 1)).run();
((Runnable) trays.get(0)).run();
Expand Down Expand Up @@ -198,6 +202,9 @@ public void init() {
((MixerInterface) trays.get(0)).replaceStream(streamNumb, trays.get(1).getLiquidOutStream());
trays.get(0).init();
((Runnable) trays.get(0)).run();

// massBalanceCheck();

}

/**
Expand Down Expand Up @@ -315,7 +322,8 @@ public void run(UUID id) {
for (int i = 0; i < numberOfTrays; i++) {
trays.get(i).setPressure(bottomTrayPressure - i * dp);
}
getTray(feedTrayNumber).getStream(0).setThermoSystem(feedStream.getThermoSystem().clone());
SystemInterface inpS = (SystemInterface) feedStream.getThermoSystem().clone();
getTray(feedTrayNumber).getStream(0).setThermoSystem(inpS);

if (numberOfTrays == 1) {
((SimpleTray) trays.get(0)).run(id);
Expand Down Expand Up @@ -347,6 +355,7 @@ public void run(UUID id) {
((SimpleTray) trays.get(i - 1)).run(id);
}
int streamNumb = trays.get(0).getNumberOfInputStreams() - 1;
trays.get(0).setPressure(bottomTrayPressure);
((Mixer) trays.get(0)).replaceStream(streamNumb, trays.get(1).getLiquidOutStream());
((SimpleTray) trays.get(0)).run(id);

Expand All @@ -365,15 +374,23 @@ public void run(UUID id) {
trays.get(i + 1).getLiquidOutStream());
((SimpleTray) trays.get(i)).run(id);
}
for (int i = 1; i <= numberOfTrays - 1; i++) {
int replaceStream = trays.get(i).getNumberOfInputStreams() - 2;
if (i == (numberOfTrays - 1)) {
replaceStream = trays.get(i).getNumberOfInputStreams() - 1;
}
((Mixer) trays.get(i)).replaceStream(replaceStream, trays.get(i - 1).getGasOutStream());
((SimpleTray) trays.get(i)).run(id);
}
for (int i = 0; i < numberOfTrays; i++) {
err += Math.abs(
oldtemps[i] - ((MixerInterface) trays.get(i)).getThermoSystem().getTemperature());
}
logger.info("error iter " + err + " iteration " + iter);
// System.out.println("error iter " + err + " iteration " + iter);
// massBalanceCheck();
} while (err > 1e-4 && err < errOld && iter < maxNumberOfIterations); // &&
// !massBalanceCheck());
} while (err > 1e-4 && iter < maxNumberOfIterations); // &&
// !massBalanceCheck());
// massBalanceCheck();
// componentMassBalanceCheck("water");
gasOutStream.setThermoSystem(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ public void DistillationColumnTest() throws Exception {
@Test
public void deethanizerTest() throws Exception {
neqsim.thermo.system.SystemInterface gasToDeethanizer =
new neqsim.thermo.system.SystemSrkEos(216.0, 30.00);
new neqsim.thermo.system.SystemSrkEos(216, 30.00);
gasToDeethanizer.addComponent("nitrogen", 1.67366E-3);
gasToDeethanizer.addComponent("CO2", 1.06819E-4);
gasToDeethanizer.addComponent("methane", 5.14168E-1);
Expand All @@ -146,15 +146,18 @@ public void deethanizerTest() throws Exception {
gasToDeethanizer.setMixingRule("classic");

Stream gasToDeethanizerStream = new Stream("gasToDeethanizer", gasToDeethanizer);
gasToDeethanizerStream.setFlowRate(100.0, "kg/hr");
gasToDeethanizerStream.run();

// gasToDeethanizerStream.getFluid().prettyPrint();

DistillationColumn column = new DistillationColumn(5, true, true);
column.setName("Deethanizer");
column.addFeedStream(gasToDeethanizerStream, 3);
column.getCondenser().setOutTemperature(210.0);
column.getReboiler().setOutTemperature(373.15);
column.setTopPressure(30.0);
column.setBottomPressure(30.0);
column.addFeedStream(gasToDeethanizerStream, 4);
column.getCondenser().setOutTemperature(gasToDeethanizerStream.getTemperature() - 1.0);
column.getReboiler().setOutTemperature(gasToDeethanizerStream.getTemperature() + 100.0);
column.setTopPressure(28.0);
column.setBottomPressure(32.0);
column.run();

double massbalance = (gasToDeethanizerStream.getFlowRate("kg/hr")
Expand All @@ -164,9 +167,7 @@ public void deethanizerTest() throws Exception {

assertEquals(0.0, massbalance, 0.2);
// column.getCondenser().getGasOutStream().getFluid().prettyPrint();
// column.getReboiler().getGasOutStream().getFluid().prettyPrint();


// column.getReboiler().getLiquidOutStream().getFluid().prettyPrint();
}

/**
Expand All @@ -178,7 +179,7 @@ public void debutanizerTest() throws Exception {
new neqsim.thermo.system.SystemSrkEos(289.0, 11.00);
gasToDbutanizer.addComponent("nitrogen", 3.09189E-7);
gasToDbutanizer.addComponent("CO2", 2.20812E-4);
gasToDbutanizer.addComponent("methane", 0.07192E-1);
gasToDbutanizer.addComponent("methane", 0.7192E-1);
gasToDbutanizer.addComponent("ethane", 0.15433E-1);
gasToDbutanizer.addComponent("propane", 2.01019E-1);
gasToDbutanizer.addComponent("i-butane", 2.953E-2);
Expand All @@ -192,27 +193,28 @@ public void debutanizerTest() throws Exception {
StreamInterface gasToDebutanizerStream = new Stream("gasToDbutanizer", gasToDbutanizer);
gasToDebutanizerStream.run();

DistillationColumn column = new DistillationColumn(5, true, true);
gasToDebutanizerStream.getFluid().prettyPrint();

DistillationColumn column = new DistillationColumn(1, true, true);
column.setName("Deethanizer");
column.addFeedStream(gasToDebutanizerStream, 3);
((Condenser) column.getCondenser()).setRefluxRatio(0.5);
column.addFeedStream(gasToDebutanizerStream, 1);
((Condenser) column.getCondenser()).setRefluxRatio(0.1);
((Condenser) column.getCondenser()).setTotalCondenser(true);
column.getReboiler().setOutTemperature(393.15);
column.setTopPressure(11.0);
column.setBottomPressure(11.0);
column.run();
column.run();
column.getCondenser().setOutTemperature(gasToDbutanizer.getTemperature() - 10.0);
column.getReboiler().setOutTemperature(gasToDbutanizer.getTemperature() + 50.0);
column.setTopPressure(9.0);
column.setBottomPressure(13.0);
column.run();

((Condenser) column.getCondenser()).getProductOutStream().getFluid().prettyPrint();
// ((Condenser) column.getCondenser()).getProductOutStream().getFluid().prettyPrint();

column.getReboiler().getLiquidOutStream().getFluid().prettyPrint();
// column.getReboiler().getLiquidOutStream().getFluid().prettyPrint();

double massbalance = (gasToDebutanizerStream.getFlowRate("kg/hr")
- column.getReboiler().getLiquidOutStream().getFlowRate("kg/hr")
- ((Condenser) column.getCondenser()).getProductOutStream().getFlowRate("kg/hr"))
/ gasToDebutanizerStream.getFlowRate("kg/hr") * 100;

// assertEquals(0.0, massbalance, 0.2);
assertEquals(0.0, massbalance, 0.2);
}
}

0 comments on commit b5bb720

Please sign in to comment.