Skip to content

Commit

Permalink
strugling to find error
Browse files Browse the repository at this point in the history
  • Loading branch information
EvenSol committed Dec 8, 2023
1 parent 4bffb77 commit 28fac73
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -679,32 +679,38 @@ public void runTransient(double dt, UUID id) {
return;
}

// runController(dt, id);
// System.out.println("delta p compressor "
// + (outStream.getThermoSystem().getPressure() - inStream.getThermoSystem().getPressure()));
inStream.getThermoSystem().initProperties();
double guessFlow = inStream.getThermoSystem().getFlowRate("m3/hr");
outStream.getThermoSystem().init(3);
thermoSystem = inStream.getThermoSystem().clone();
thermoSystem.init(3);
thermoSystem.initPhysicalProperties("density");

inStream.getThermoSystem().init(3);
outStream.getThermoSystem().init(3);

double polytropicHead = outStream.getThermoSystem().getEnthalpy("kJ/kg")
- inStream.getThermoSystem().getEnthalpy("kJ/kg");
// System.out.println("polytropic head " + polytropicHead);
double actualFlowRateNew = 10.0;
actualFlowRateNew = getCompressorChart().getFlow(polytropicHead, getSpeed(), guessFlow);
// polytropicHead = 106.44278644;
polytropicFluidHead = polytropicHead;
System.out.println("polytropic head " + polytropicFluidHead + " pres inn "
+ inStream.getPressure() + " out stream " + outStream.getPressure());
double guessFlow = thermoSystem.getFlowRate("m3/hr");
double actualFlowRateNew = getCompressorChart().getFlow(polytropicHead, getSpeed(), guessFlow);

try {
inStream.getThermoSystem().setTotalFlowRate(actualFlowRateNew, "Am3/hr");
inStream.getThermoSystem().init(3);
inStream.getThermoSystem().initPhysicalProperties("density");
// inStream.run(id);
} catch (Exception e) {
logger.error(e.getMessage());
}
try {
outStream.getThermoSystem().setTotalFlowRate(actualFlowRateNew, "Am3/hr");
outStream.setFlowRate(inStream.getFlowRate("kg/hr"), "kg/hr");
outStream.getThermoSystem().init(3);
} catch (Exception e) {
logger.error(e.getMessage());
}
dH = polytropicFluidHead * 1000.0 * thermoSystem.getMolarMass() / getPolytropicEfficiency()
* inStream.getThermoSystem().getTotalNumberOfMoles();
setCalculationIdentifier(id);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ public CompressorChart generateCompressorChart(String generationOption) {
double minSpeed = refspeed / 2.0;
double maxSpeed = refspeed * 2.0;

compressor.getInletStream().getFluid().initPhysicalProperties("density");
double refflow = compressor.getInletStream().getFlowRate("m3/hr");
double[][] flow = new double[1][3];
flow[0][0] = refflow * 0.7;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ public void testDynamicCompressor() {
testSystem2.setMixingRule(2);

Stream stream1 = new Stream("Stream1", testSystem2);
stream1.setFlowRate(50.0, "kg/hr");
stream1.setFlowRate(501.0, "kg/hr");
stream1.setPressure(100.0, "bara");
stream1.setTemperature(55.0, "C");

Expand All @@ -245,7 +245,7 @@ public void testDynamicCompressor() {
separator1.addStream(valve1.getOutletStream());
separator1.setCalculateSteadyState(false);
separator1.setSeparatorLength(3.0);
separator1.setInternalDiameter(0.8);
separator1.setInternalDiameter(10.8);
separator1.setLiquidLevel(0.0);

Compressor compressor1 = new Compressor(separator1.getGasOutStream());
Expand All @@ -272,24 +272,45 @@ public void testDynamicCompressor() {
p.add(valve2);

p.run();

System.out.println(" speed " + compressor1.getSpeed() + "feed flow "
+ stream1.getFlowRate("kg/hr") + " compressor flow rate "
+ compressor1.getInletStream().getFlowRate("kg/hr") + " out flow "
+ valve2.getOutletStream().getFlowRate("kg/hr") + " delta p "
+ (compressor1.getOutletStream().getPressure() - compressor1.getInletStream().getPressure())
+ " pres inn " + compressor1.getInletStream().getPressure() + " pres out "
+ compressor1.getOutletStream().getPressure());
assertEquals(100.0, compressor1.getOutletStream().getPressure(), 0.01);

neqsim.processSimulation.processEquipment.compressor.CompressorChartGenerator compchartgenerator =
new neqsim.processSimulation.processEquipment.compressor.CompressorChartGenerator(
compressor1);
compressor1.setCompressorChart(compchartgenerator.generateCompressorChart("normal"));
compressor1.getCompressorChart().setUseCompressorChart(true);

// compressor1.setCalculateSteadyState(true);
p.run();
System.out.println(" speed " + compressor1.getSpeed() + "feed flow "
+ stream1.getFlowRate("kg/hr") + " compressor flow rate "
+ compressor1.getInletStream().getFlowRate("kg/hr") + " out flow "
+ valve2.getOutletStream().getFlowRate("kg/hr") + " delta p "
+ (compressor1.getOutletStream().getPressure() - compressor1.getInletStream().getPressure())
+ " pres inn " + compressor1.getInletStream().getPressure() + " pres out "
+ compressor1.getOutletStream().getPressure());

assertEquals(102.7, compressor1.getOutletStream().getPressure(), 2.01);
assertEquals(50.0, separator1.getGasOutStream().getPressure(), 0.01);
System.out.println("speed " + compressor1.getSpeed());
p.setTimeStep(1.0);
p.runTransient();

// compressor1.setSpeed(compressor1.getSpeed() + 500);
for (int i = 0; i < 1000; i++) {
System.out.println(" speed " + compressor1.getSpeed() + "feed flow "
+ stream1.getFlowRate("kg/hr") + " compressor flow rate "
+ compressor1.getInletStream().getFlowRate("kg/hr") + " out flow "
+ valve2.getOutletStream().getFlowRate("kg/hr") + " delta p "
+ (compressor1.getOutletStream().getPressure() - compressor1.getInletStream().getPressure())
+ " pres inn " + compressor1.getInletStream().getPressure() + " pres out "
+ compressor1.getOutletStream().getPressure());
// compressor1.setSpeed(compressor1.getSpeed() + 5);
for (int i = 0; i < 100; i++) {
System.out.println("time " + i + " speed " + compressor1.getSpeed() + "feed flow "
+ stream1.getFlowRate("kg/hr") + " compressor flow rate "
+ compressor1.getInletStream().getFlowRate("kg/hr") + " out flow "
Expand All @@ -301,8 +322,8 @@ public void testDynamicCompressor() {
p.runTransient();
}

compressor1.setSpeed(compressor1.getSpeed() - 500);
for (int i = 0; i < 2000; i++) {
// compressor1.setSpeed(compressor1.getSpeed() - 5);
for (int i = 0; i < 200; i++) {
System.out.println("time " + i + " speed " + compressor1.getSpeed() + "feed flow "
+ stream1.getFlowRate("kg/hr") + " compressor flow rate "
+ compressor1.getInletStream().getFlowRate("kg/hr") + " out flow "
Expand Down

0 comments on commit 28fac73

Please sign in to comment.