diff --git a/src/main/java/neqsim/thermo/Fluid.java b/src/main/java/neqsim/thermo/Fluid.java index 43be92a5d..5d3f96561 100644 --- a/src/main/java/neqsim/thermo/Fluid.java +++ b/src/main/java/neqsim/thermo/Fluid.java @@ -40,21 +40,6 @@ public neqsim.thermo.system.SystemInterface getFluid() { return fluid; } - /** - * - */ - private void setThermoModel() { - if (thermoModel.equals("srk")) { - fluid = new neqsim.thermo.system.SystemSrkEos(); - } else if (thermoModel.equals("pr")) { - fluid = new neqsim.thermo.system.SystemPrEos(); - } else if (thermoModel.equals("cpa")) { - fluid = new neqsim.thermo.system.SystemSrkCPAstatoil(); - } else { - fluid = new neqsim.thermo.system.SystemSrkEos(); - } - } - /** *
* create2. @@ -344,6 +329,21 @@ public String getThermoModel() { return thermoModel; } + /** + * Init fluid object?. + */ + private void setThermoModel() { + if (thermoModel.equals("srk")) { + fluid = new neqsim.thermo.system.SystemSrkEos(); + } else if (thermoModel.equals("pr")) { + fluid = new neqsim.thermo.system.SystemPrEos(); + } else if (thermoModel.equals("cpa")) { + fluid = new neqsim.thermo.system.SystemSrkCPAstatoil(); + } else { + fluid = new neqsim.thermo.system.SystemSrkEos(); + } + } + /** *
* Setter for the field thermoModel
.
diff --git a/src/main/java/neqsim/thermo/component/Component.java b/src/main/java/neqsim/thermo/component/Component.java
index 5cf346136..a81862f52 100644
--- a/src/main/java/neqsim/thermo/component/Component.java
+++ b/src/main/java/neqsim/thermo/component/Component.java
@@ -821,48 +821,6 @@ public double getNormalLiquidDensity(String unit) {
return refDensity * conversionFactor;
}
- /** {@inheritDoc} */
- @Override
- public double getMolarMass(String unit) {
- double refMolarMass = getMolarMass();
- double conversionFactor = 1.0;
- switch (unit) {
- case "kg/mol":
- conversionFactor = 1.0;
- break;
- case "gr/mol":
- conversionFactor = 1000.0;
- break;
- case "lbm/lbmol":
- conversionFactor = 1000.0;
- break;
- default:
- throw new RuntimeException("unit not supported " + unit);
- }
- return refMolarMass * conversionFactor;
- }
-
- /** {@inheritDoc} */
- @Override
- public void setMolarMass(double value, String unit) {
- double refMolarMass = value;
- double conversionFactor = 1.0;
- switch (unit) {
- case "kg/mol":
- conversionFactor = 1.0;
- break;
- case "gr/mol":
- conversionFactor = 1000.0;
- break;
- case "lbm/lbmol":
- conversionFactor = 1000.0;
- break;
- default:
- throw new RuntimeException("unit not supported " + unit);
- }
- molarMass = refMolarMass * 1.0 / conversionFactor;
- }
-
/** {@inheritDoc} */
@Override
public double getViscosityCorrectionFactor() {
@@ -1028,6 +986,27 @@ public final double getMolarMass() {
return this.molarMass;
}
+ /** {@inheritDoc} */
+ @Override
+ public double getMolarMass(String unit) {
+ double refMolarMass = getMolarMass();
+ double conversionFactor = 1.0;
+ switch (unit) {
+ case "kg/mol":
+ conversionFactor = 1.0;
+ break;
+ case "gr/mol":
+ conversionFactor = 1000.0;
+ break;
+ case "lbm/lbmol":
+ conversionFactor = 1000.0;
+ break;
+ default:
+ throw new RuntimeException("unit not supported " + unit);
+ }
+ return refMolarMass * conversionFactor;
+ }
+
/** {@inheritDoc} */
@Override
public final double getNumberOfMolesInPhase() {
@@ -1883,6 +1862,28 @@ public void setMolarMass(double molarMass) {
this.molarMass = molarMass;
}
+ /** {@inheritDoc} */
+ @Override
+ public void setMolarMass(double value, String unit) {
+ double refMolarMass = value;
+ double conversionFactor = 1.0;
+ switch (unit) {
+ case "kg/mol":
+ conversionFactor = 1.0;
+ break;
+ case "gr/mol":
+ conversionFactor = 1000.0;
+ break;
+ case "lbm/lbmol":
+ conversionFactor = 1000.0;
+ break;
+ default:
+ throw new RuntimeException("unit not supported " + unit);
+ }
+ molarMass = refMolarMass * 1.0 / conversionFactor;
+ }
+
+
/** {@inheritDoc} */
@Override
public final boolean doSolidCheck() {
diff --git a/src/main/java/neqsim/thermo/mixingrule/CPAMixingRules.java b/src/main/java/neqsim/thermo/mixingrule/CPAMixingRules.java
index b883174ba..feaee35f3 100644
--- a/src/main/java/neqsim/thermo/mixingrule/CPAMixingRules.java
+++ b/src/main/java/neqsim/thermo/mixingrule/CPAMixingRules.java
@@ -193,9 +193,9 @@ public double calcDelta(int siteNumber1, int siteNumber2, int compnumb1, int com
* ((PhaseCPAInterface) phase).getGcpa();
}
- @Override
- public double calcDeltaNog(int siteNumber1, int siteNumber2, int compnumb1, int compnumb2,
- PhaseInterface phase, double temperature, double pressure, int numbcomp) {
+
+ public double calcDelta(int compnumb1, int compnumb2, PhaseInterface phase, double temperature,
+ double pressure, int numbcomp) {
if (assosSchemeType[compnumb1][compnumb2] == 0) {
double temp2 = 0;
double temp1 = (Math.exp(
@@ -205,7 +205,8 @@ public double calcDeltaNog(int siteNumber1, int siteNumber2, int compnumb1, int
* (((ComponentEosInterface) phase.getComponent(compnumb1)).getb()
+ ((ComponentEosInterface) phase.getComponent(compnumb1)).getb())
/ 2.0 * getCrossAssociationVolume(compnumb1, compnumb1, phase, temperature, pressure,
- numbcomp);
+ numbcomp)
+ * ((PhaseCPAInterface) phase).getGcpa();
if (compnumb1 == compnumb2) {
temp2 = temp1;
} else {
@@ -214,23 +215,25 @@ public double calcDeltaNog(int siteNumber1, int siteNumber2, int compnumb1, int
* (((ComponentEosInterface) phase.getComponent(compnumb2)).getb()
+ ((ComponentEosInterface) phase.getComponent(compnumb2)).getb())
/ 2.0 * getCrossAssociationVolume(compnumb2, compnumb2, phase, temperature, pressure,
- numbcomp);
+ numbcomp)
+ * ((PhaseCPAInterface) phase).getGcpa();
}
- return ((PhaseCPAInterface) phase).getCrossAssosiationScheme(compnumb1, compnumb2,
- siteNumber1, siteNumber2) * Math.sqrt(temp1 * temp2);
+ return Math.sqrt(temp1 * temp2);
}
- return ((PhaseCPAInterface) phase).getCrossAssosiationScheme(compnumb1, compnumb2,
- siteNumber1, siteNumber2)
- * (Math.exp(getCrossAssociationEnergy(compnumb1, compnumb2, phase, temperature, pressure,
- numbcomp) / (R * phase.getTemperature())) - 1.0)
+ return (Math.exp(
+ getCrossAssociationEnergy(compnumb1, compnumb2, phase, temperature, pressure, numbcomp)
+ / (R * phase.getTemperature()))
+ - 1.0)
* (((ComponentEosInterface) phase.getComponent(compnumb1)).getb()
+ ((ComponentEosInterface) phase.getComponent(compnumb2)).getb())
/ 2.0
- * getCrossAssociationVolume(compnumb1, compnumb2, phase, temperature, pressure, numbcomp);
+ * getCrossAssociationVolume(compnumb1, compnumb2, phase, temperature, pressure, numbcomp)
+ * ((PhaseCPAInterface) phase).getGcpa();
}
- public double calcDelta(int compnumb1, int compnumb2, PhaseInterface phase, double temperature,
- double pressure, int numbcomp) {
+ @Override
+ public double calcDeltaNog(int siteNumber1, int siteNumber2, int compnumb1, int compnumb2,
+ PhaseInterface phase, double temperature, double pressure, int numbcomp) {
if (assosSchemeType[compnumb1][compnumb2] == 0) {
double temp2 = 0;
double temp1 = (Math.exp(
@@ -240,8 +243,7 @@ public double calcDelta(int compnumb1, int compnumb2, PhaseInterface phase, doub
* (((ComponentEosInterface) phase.getComponent(compnumb1)).getb()
+ ((ComponentEosInterface) phase.getComponent(compnumb1)).getb())
/ 2.0 * getCrossAssociationVolume(compnumb1, compnumb1, phase, temperature, pressure,
- numbcomp)
- * ((PhaseCPAInterface) phase).getGcpa();
+ numbcomp);
if (compnumb1 == compnumb2) {
temp2 = temp1;
} else {
@@ -250,20 +252,19 @@ public double calcDelta(int compnumb1, int compnumb2, PhaseInterface phase, doub
* (((ComponentEosInterface) phase.getComponent(compnumb2)).getb()
+ ((ComponentEosInterface) phase.getComponent(compnumb2)).getb())
/ 2.0 * getCrossAssociationVolume(compnumb2, compnumb2, phase, temperature, pressure,
- numbcomp)
- * ((PhaseCPAInterface) phase).getGcpa();
+ numbcomp);
}
- return Math.sqrt(temp1 * temp2);
+ return ((PhaseCPAInterface) phase).getCrossAssosiationScheme(compnumb1, compnumb2,
+ siteNumber1, siteNumber2) * Math.sqrt(temp1 * temp2);
}
- return (Math.exp(
- getCrossAssociationEnergy(compnumb1, compnumb2, phase, temperature, pressure, numbcomp)
- / (R * phase.getTemperature()))
- - 1.0)
+ return ((PhaseCPAInterface) phase).getCrossAssosiationScheme(compnumb1, compnumb2,
+ siteNumber1, siteNumber2)
+ * (Math.exp(getCrossAssociationEnergy(compnumb1, compnumb2, phase, temperature, pressure,
+ numbcomp) / (R * phase.getTemperature())) - 1.0)
* (((ComponentEosInterface) phase.getComponent(compnumb1)).getb()
+ ((ComponentEosInterface) phase.getComponent(compnumb2)).getb())
/ 2.0
- * getCrossAssociationVolume(compnumb1, compnumb2, phase, temperature, pressure, numbcomp)
- * ((PhaseCPAInterface) phase).getGcpa();
+ * getCrossAssociationVolume(compnumb1, compnumb2, phase, temperature, pressure, numbcomp);
}
@Override
diff --git a/src/main/java/neqsim/thermo/mixingrule/EosMixingRules.java b/src/main/java/neqsim/thermo/mixingrule/EosMixingRules.java
index 8e0b1fea7..cfbb25755 100644
--- a/src/main/java/neqsim/thermo/mixingrule/EosMixingRules.java
+++ b/src/main/java/neqsim/thermo/mixingrule/EosMixingRules.java
@@ -1959,6 +1959,12 @@ public void calcWij(PhaseInterface phase) {
}
}
+ @Override
+ public double calcWij(int compNumbi, int compNumj, PhaseInterface phase, double temperature,
+ double pressure, int numbcomp) {
+ return -2.0 * getWij(compNumbi, compNumj, temperature); // iwij[0][compNumbi][compNumj];
+ }
+
@Override
public void setWijParameter(int i, int j, double value) {
// System.out.println("intparam: " + value);
@@ -2075,12 +2081,6 @@ public double calcWTT(PhaseInterface phase, double temperature, double pressure,
}
return -WTT;
}
-
- @Override
- public double calcWij(int compNumbi, int compNumj, PhaseInterface phase, double temperature,
- double pressure, int numbcomp) {
- return -2.0 * getWij(compNumbi, compNumj, temperature); // iwij[0][compNumbi][compNumj];
- }
}
/**
diff --git a/src/main/java/neqsim/thermo/system/SystemThermo.java b/src/main/java/neqsim/thermo/system/SystemThermo.java
index 4a944896d..a4384c7e8 100644
--- a/src/main/java/neqsim/thermo/system/SystemThermo.java
+++ b/src/main/java/neqsim/thermo/system/SystemThermo.java
@@ -3577,35 +3577,6 @@ public final void initTotalNumberOfMoles(double change) {
}
}
- /** {@inheritDoc} */
- @Override
- public void setPhaseType(int phaseToChange, String phaseName) {
- // System.out.println("new phase type: cha " + pt);
- if (allowPhaseShift) {
- phaseType[phaseIndex[phaseToChange]] = PhaseType.byName(phaseName);
- }
- }
-
- /** {@inheritDoc} */
- @Override
- public void invertPhaseTypes() {
- // Following code was from public void setPhaseType(int phaseToChange, String
- // phaseTypeName) {
- /*
- * int newPhaseType = 0; if (phaseTypeName.equals("gas")) { newPhaseType = 1; } else if
- * (StateOfMatter.isLiquid(PhaseType.byDesc(phaseTypeName))) { newPhaseType = 0; } else {
- * newPhaseType = 0; }
- */
-
- for (int i = 0; i < getMaxNumberOfPhases(); i++) {
- if (phaseType[i] == PhaseType.byValue(0)) {
- phaseType[i] = PhaseType.byValue(1);
- } else {
- phaseType[i] = PhaseType.byValue(0);
- }
- }
- }
-
/** {@inheritDoc} */
@Override
public final boolean isChemicalSystem() {
@@ -4264,16 +4235,6 @@ public void setAllComponentsInPhase(int phaseNum) {
init(1);
}
- /** {@inheritDoc} */
- @Override
- public void setAllPhaseType(PhaseType pt) {
- if (allowPhaseShift) {
- for (int i = 0; i < getMaxNumberOfPhases(); i++) {
- setPhaseType(i, pt);
- }
- }
- }
-
/** {@inheritDoc} */
@Override
public void setAttractiveTerm(int i) {
@@ -4782,6 +4743,45 @@ public void setPhaseType(int phaseToChange, PhaseType pt) {
}
}
+ /** {@inheritDoc} */
+ @Override
+ public void setPhaseType(int phaseToChange, String phaseName) {
+ // System.out.println("new phase type: cha " + pt);
+ if (allowPhaseShift) {
+ phaseType[phaseIndex[phaseToChange]] = PhaseType.byName(phaseName);
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setAllPhaseType(PhaseType pt) {
+ if (allowPhaseShift) {
+ for (int i = 0; i < getMaxNumberOfPhases(); i++) {
+ setPhaseType(i, pt);
+ }
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void invertPhaseTypes() {
+ // Following code was from public void setPhaseType(int phaseToChange, String
+ // phaseTypeName) {
+ /*
+ * int newPhaseType = 0; if (phaseTypeName.equals("gas")) { newPhaseType = 1; } else if
+ * (StateOfMatter.isLiquid(PhaseType.byDesc(phaseTypeName))) { newPhaseType = 0; } else {
+ * newPhaseType = 0; }
+ */
+
+ for (int i = 0; i < getMaxNumberOfPhases(); i++) {
+ if (phaseType[i] == PhaseType.byValue(0)) {
+ phaseType[i] = PhaseType.byValue(1);
+ } else {
+ phaseType[i] = PhaseType.byValue(0);
+ }
+ }
+ }
+
/** {@inheritDoc} */
@Override
public final void setPressure(double newPressure) {