From b894c4586a80c98d14306b7a2564aef18cb54d2a Mon Sep 17 00:00:00 2001 From: Even Solbraa <41290109+EvenSol@users.noreply.github.com> Date: Wed, 21 Aug 2024 21:42:22 +0000 Subject: [PATCH] some updates --- .../StirredCellNode.java | 4 +- .../neqsim/thermo/component/Component.java | 2 +- .../StirredCellNodeTest.java | 66 +++++++++++++++++++ 3 files changed, 69 insertions(+), 3 deletions(-) diff --git a/src/main/java/neqsim/fluidMechanics/flowNode/twoPhaseNode/twoPhaseStirredCellNode/StirredCellNode.java b/src/main/java/neqsim/fluidMechanics/flowNode/twoPhaseNode/twoPhaseStirredCellNode/StirredCellNode.java index c28f2ea4f4..23e05ebfc3 100644 --- a/src/main/java/neqsim/fluidMechanics/flowNode/twoPhaseNode/twoPhaseStirredCellNode/StirredCellNode.java +++ b/src/main/java/neqsim/fluidMechanics/flowNode/twoPhaseNode/twoPhaseStirredCellNode/StirredCellNode.java @@ -146,14 +146,14 @@ public void update() { getBulkSystem().getPhases()[0].addMoles(componentNumber, gasMolarRate); getBulkSystem().getPhases()[1].addMoles(componentNumber, liquidMolarRate); } - // getBulkSystem().initBeta(); + getBulkSystem().initBeta(); getBulkSystem().init_x_y(); getBulkSystem().init(1); if (bulkSystem.isChemicalSystem()) { getOperations().chemicalEquilibrium(); + getBulkSystem().init(1); } - getBulkSystem().init(1); } /** {@inheritDoc} */ diff --git a/src/main/java/neqsim/thermo/component/Component.java b/src/main/java/neqsim/thermo/component/Component.java index 7417adae32..9107f68f83 100644 --- a/src/main/java/neqsim/thermo/component/Component.java +++ b/src/main/java/neqsim/thermo/component/Component.java @@ -515,7 +515,7 @@ public void addMolesChemReac(double dn, double totdn) { + " in phase and chage request was " + dn; neqsim.util.exception.InvalidInputException ex = new neqsim.util.exception.InvalidInputException(this, "addMolesChemReac", "dn", msg); - throw new RuntimeException(ex); + // throw new RuntimeException(ex); // logger.error(ex.getMessage()); } } diff --git a/src/test/java/neqsim/fluidMechanics/flowNode/twoPhaseNode/twoPhaseStirredCellNode/StirredCellNodeTest.java b/src/test/java/neqsim/fluidMechanics/flowNode/twoPhaseNode/twoPhaseStirredCellNode/StirredCellNodeTest.java index e7a1cf84db..8e24471c7e 100644 --- a/src/test/java/neqsim/fluidMechanics/flowNode/twoPhaseNode/twoPhaseStirredCellNode/StirredCellNodeTest.java +++ b/src/test/java/neqsim/fluidMechanics/flowNode/twoPhaseNode/twoPhaseStirredCellNode/StirredCellNodeTest.java @@ -1,9 +1,11 @@ package neqsim.fluidMechanics.flowNode.twoPhaseNode.twoPhaseStirredCellNode; +import java.util.ArrayList; import org.junit.jupiter.api.Test; import neqsim.fluidMechanics.geometryDefinitions.stirredCell.StirredCell; import neqsim.thermo.system.SystemInterface; import neqsim.thermo.system.SystemSrkEos; +import neqsim.thermodynamicOperations.ThermodynamicOperations; public class StirredCellNodeTest { @Test @@ -32,4 +34,68 @@ void testUpdate() { test.update(); } } + + @Test + void testStirredCell2() { + SystemInterface testSystem = new SystemSrkEos(313.3, 70.01325); + StirredCell cell1 = new StirredCell(0.1, 0.05); + testSystem.addComponent("methane", 0.6457851061152181, "kg/min"); + testSystem.addComponent("ethane", 0.1206862204876, "kg/min"); + testSystem.addComponent("propane", 0.206862204876, "kg/min"); + testSystem.addComponent("nC10", 10.206862204876, "kg/min"); + testSystem.setMixingRule(2); + + ThermodynamicOperations ops = new ThermodynamicOperations(testSystem); + ops.TPflash(); + + testSystem.prettyPrint(); + + testSystem.setPressure(10.0); + testSystem.init(1); + + testSystem.prettyPrint(); + + StirredCellNode test = new StirredCellNode(testSystem, cell1); + test.setInterphaseModelType(1); + test.getFluidBoundary().useFiniteFluxCorrection(true); + test.getFluidBoundary().useThermodynamicCorrections(true); + test.setStirrerSpeed(0.1); + test.setStirrerDiameter(0.1); + test.setDt(1.0); + + test.initFlowCalc(); + + ArrayList Kvalue_C1 = new ArrayList(); + ArrayList Kvalue_C2 = new ArrayList(); + ArrayList Kvalue_C3 = new ArrayList(); + ArrayList Kvalue_C10 = new ArrayList(); + ArrayList gas_mole_fraction = new ArrayList(); + + for (int i = 0; i < 10000; i++) { + Kvalue_C1.add(test.getBulkSystem().getPhase(0).getComponent("methane").getx() + / test.getBulkSystem().getPhase(1).getComponent("methane").getx()); + Kvalue_C2.add(test.getBulkSystem().getPhase(0).getComponent("ethane").getx() + / test.getBulkSystem().getPhase(1).getComponent("ethane").getx()); + Kvalue_C3.add(test.getBulkSystem().getPhase(0).getComponent("propane").getx() + / test.getBulkSystem().getPhase(1).getComponent("propane").getx()); + Kvalue_C10.add(test.getBulkSystem().getPhase(0).getComponent("nC10").getx() + / test.getBulkSystem().getPhase(1).getComponent("nC10").getx()); + gas_mole_fraction.add(test.getBulkSystem().getPhase(0).getNumberOfMolesInPhase()); + test.initFlowCalc(); + test.calcFluxes(); + test.update(); + } + + // for (int i = 0; i < 100; i++) { + // System.out.println("Kvalue_C1: " + Kvalue_C1); + // System.out.println("Kvalue_C3: " + Kvalue_C2); + // System.out.println("Kvalue_C3: " + Kvalue_C3); + // System.out.println("Kvalue_C10: " + Kvalue_C10); + System.out.println("gas_mole_fraction: " + gas_mole_fraction); + + ops.TPflash(); + + testSystem.prettyPrint(); + // } + } }