- * Constructor for Standard_ISO6976. - *
- * - * @param thermoSystem a {@link neqsim.thermo.system.SystemInterface} object - * @param volumetricReferenceTemperaturedegC a double - * @param energyReferenceTemperaturedegC a double - * @param calculationType a {@link java.lang.String} object - */ - public Standard_ISO6976(SystemInterface thermoSystem, double volumetricReferenceTemperaturedegC, - double energyReferenceTemperaturedegC, String calculationType) { - this(thermoSystem); - this.referenceType = calculationType; - volRefT = volumetricReferenceTemperaturedegC; - energyRefT = energyReferenceTemperaturedegC; - } - - /** {@inheritDoc} */ - @Override - public void calculate() { - Zmix0 = 1.0; - Zmix15 = 1.0; - Zmix20 = 1.0; - double Zmixtemp0 = 0.0; - double Zmixtemp15 = 0.0; - double Zmixtemp20 = 0.0; - Mmix = 0.0; - relDensIdeal = 0.0; - HsupIdeal0 = 0.0; - HsupIdeal15 = 0.0; - HsupIdeal20 = 0.0; - HsupIdeal25 = 0.0; - HsupIdeal60F = 0.0; - HinfIdeal0 = 0.0; - HinfIdeal15 = 0.0; - HinfIdeal20 = 0.0; - HinfIdeal25 = 0.0; - HinfIdeal60F = 0.0; - - for (int i = 0; i < thermoSystem.getPhase(0).getNumberOfComponents(); i++) { - Mmix += thermoSystem.getPhase(0).getComponent(i).getz() * M[i]; - - Zmixtemp0 += thermoSystem.getPhase(0).getComponent(i).getz() * bsqrt0[i]; - Zmixtemp15 += thermoSystem.getPhase(0).getComponent(i).getz() * bsqrt15[i]; - Zmixtemp20 += thermoSystem.getPhase(0).getComponent(i).getz() * bsqrt20[i]; - - HsupIdeal0 += thermoSystem.getPhase(0).getComponent(i).getz() * Hsup0[i]; - HsupIdeal15 += thermoSystem.getPhase(0).getComponent(i).getz() * Hsup15[i]; - HsupIdeal20 += thermoSystem.getPhase(0).getComponent(i).getz() * Hsup20[i]; - HsupIdeal25 += thermoSystem.getPhase(0).getComponent(i).getz() * Hsup25[i]; - HsupIdeal60F += thermoSystem.getPhase(0).getComponent(i).getz() * Hsup60F[i]; - - HinfIdeal0 += thermoSystem.getPhase(0).getComponent(i).getz() * Hinf0[i]; - HinfIdeal15 += thermoSystem.getPhase(0).getComponent(i).getz() * Hinf15[i]; - HinfIdeal20 += thermoSystem.getPhase(0).getComponent(i).getz() * Hinf20[i]; - HinfIdeal25 += thermoSystem.getPhase(0).getComponent(i).getz() * Hinf25[i]; - HinfIdeal60F += thermoSystem.getPhase(0).getComponent(i).getz() * Hinf60F[i]; - - relDensIdeal += thermoSystem.getPhase(0).getComponent(i).getz() * M[i] / molarMassAir; - } - Zmix0 -= Math.pow(Zmixtemp0, 2.0); - Zmix15 -= Math.pow(Zmixtemp15, 2.0); - Zmix20 -= Math.pow(Zmixtemp20, 2.0); - molRefm3 = volRefP * 1.0e5 * 1.0 - / (R * (getVolRefT() + 273.15) * getValue("CompressionFactor")); - // System.out.println("molRefm3 " + molRefm3); - } - - /** {@inheritDoc} */ - @Override - public double getValue(String returnParameter, java.lang.String returnUnit) { - if (returnParameter.equals("GCV")) { - returnParameter = "SuperiorCalorificValue"; - } - if (returnParameter.equals("LCV")) { - returnParameter = "InferiorCalorificValue"; - } - - double returnValue = 0.0; - - if (getVolRefT() == 0) { - returnValue = Zmix0; - } else if (getVolRefT() == 15) { - returnValue = Zmix15; - } else if (getVolRefT() == 15.55) { - returnValue = Zmix15; - } else if (getVolRefT() == 20) { - returnValue = Zmix20; - } - - if (returnParameter.equals("CompressionFactor")) { - return returnValue; - } - if (returnParameter.equals("MolarMass")) { - return Mmix; - } - - double realCorrection = 1.0; - if (getReferenceState().equals("ideal")) { - realCorrection = 1.0; - } else { - realCorrection = returnValue; - } - - if (returnParameter.equals("SuperiorCalorificValue") && getEnergyRefT() == 0) { - returnValue = HsupIdeal0; - } else if (returnParameter.equals("SuperiorCalorificValue") && getEnergyRefT() == 15) { - returnValue = HsupIdeal15; - } else if (returnParameter.equals("SuperiorCalorificValue") && getEnergyRefT() == 20) { - returnValue = HsupIdeal20; - } else if (returnParameter.equals("SuperiorCalorificValue") && getEnergyRefT() == 25) { - returnValue = HsupIdeal25; - } else if (returnParameter.equals("SuperiorCalorificValue") && getEnergyRefT() == 15.55) { - returnValue = HsupIdeal60F; - } else if (returnParameter.equals("InferiorCalorificValue") && getEnergyRefT() == 0) { - returnValue = HinfIdeal0; - } else if (returnParameter.equals("InferiorCalorificValue") && getEnergyRefT() == 15) { - returnValue = HinfIdeal15; - } else if (returnParameter.equals("InferiorCalorificValue") && getEnergyRefT() == 20) { - returnValue = HinfIdeal20; - } else if (returnParameter.equals("InferiorCalorificValue") && getEnergyRefT() == 25) { - returnValue = HinfIdeal25; - } else if (returnParameter.equals("InferiorCalorificValue") && getEnergyRefT() == 15.55) { - returnValue = HinfIdeal60F; - } else if (returnParameter.equals("SuperiorWobbeIndex") && getEnergyRefT() == 0) { - returnValue = HsupIdeal0; - } else if (returnParameter.equals("SuperiorWobbeIndex") && getEnergyRefT() == 15) { - returnValue = HsupIdeal15; - } else if (returnParameter.equals("SuperiorWobbeIndex") && getEnergyRefT() == 20) { - returnValue = HsupIdeal20; - } else if (returnParameter.equals("SuperiorWobbeIndex") && getEnergyRefT() == 25) { - returnValue = HsupIdeal25; - } else if (returnParameter.equals("SuperiorWobbeIndex") && getEnergyRefT() == 15.55) { - returnValue = HsupIdeal60F; - } else if (returnParameter.equals("InferiorWobbeIndex") && getEnergyRefT() == 0) { - returnValue = HinfIdeal0; - } else if (returnParameter.equals("InferiorWobbeIndex") && getEnergyRefT() == 15) { - returnValue = HinfIdeal15; - } else if (returnParameter.equals("InferiorWobbeIndex") && getEnergyRefT() == 20) { - returnValue = HinfIdeal20; - } else if (returnParameter.equals("InferiorWobbeIndex") && getEnergyRefT() == 15.55) { - returnValue = HinfIdeal60F; - } else if (returnParameter.equals("InferiorWobbeIndex") && getEnergyRefT() == 25) { - returnValue = HinfIdeal25; - } - if (returnUnit.equals("kWh")) { - returnValue /= 3600.0; - } - - double relativeDens = 0.0; - // System.out.println("reference state " + getReferenceState()); - if (getReferenceState().equals("ideal")) { - relativeDens = relDensIdeal; - } else if (getVolRefT() == 0) { - relativeDens = relDensIdeal * Zair0 / Zmix0; - } else if (getVolRefT() == 15) { - relativeDens = relDensIdeal * Zair15 / Zmix15; - } else if (getVolRefT() == 15.55) { - relativeDens = relDensIdeal * Zair15 / Zmix15; - } else if (getVolRefT() == 20) { - relativeDens = relDensIdeal * Zair20 / Zmix20; - } - if (returnParameter.equals("RelativeDensity")) { - return relativeDens; - } - if (returnParameter.equals("InferiorWobbeIndex") - || returnParameter.equals("SuperiorWobbeIndex")) { - returnValue /= Math.sqrt(relativeDens); - } - if (returnParameter.equals("DensityIdeal")) { - return volRefP * 1e5 / (R * (getVolRefT() + 273.15)) * Mmix / 1.0e3; - } - if (returnParameter.equals("DensityReal")) { - return volRefP * 1e5 / (R * (getVolRefT() + 273.15)) * Mmix / 1.0e3 / realCorrection; - } - - if (getReferenceType().equals("molar")) { - return returnValue; - } else if (getReferenceType().equals("mass")) { - return returnValue / (Mmix / 1000.0); - } else { - return returnValue * volRefP * 1.0e5 / (R * (getVolRefT() + 273.15)) / realCorrection; - } - } - - /** {@inheritDoc} */ - @Override - public double getValue(String returnParameter) { - return getValue(returnParameter, ""); - } - - /** {@inheritDoc} */ - @Override - public String getUnit(String returnParameter) { - if (returnParameter.equals("CompressionFactor")) { - return "-"; - } else { - return energyUnit; - } - } - - /** {@inheritDoc} */ - @Override - public boolean isOnSpec() { - return true; - } - - /** {@inheritDoc} */ - @Override - public String[][] createTable(String name) { - thermoSystem.setNumberOfPhases(1); - - thermoSystem.createTable(name); - - DecimalFormat nf = new DecimalFormat(); - nf.setMaximumFractionDigits(5); - nf.applyPattern("#.#####E0"); - String[][] table = new String[thermoSystem.getPhases()[0].getNumberOfComponents() + 30][6]; - // String[] names = { "", "Phase 1", "Phase 2", "Phase 3", "Unit" }; - table[0][0] = "";// getPhases()[0].getPhaseTypeName();//""; - - for (int i = 0; i < thermoSystem.getPhases()[0].getNumberOfComponents() + 30; i++) { - for (int j = 0; j < 6; j++) { - table[i][j] = ""; - } - } - for (int i = 0; i < thermoSystem.getNumberOfPhases(); i++) { - table[0][i + 1] = thermoSystem.getPhase(i).getPhaseTypeName(); - } - - StringBuffer buf = new StringBuffer(); - FieldPosition test = new FieldPosition(0); - - String referenceTypeUnit = ""; - if (getReferenceType().equals("volume")) { - referenceTypeUnit = "m^3"; - } else if (getReferenceType().equals("mass")) { - referenceTypeUnit = "kg"; - } else if (getReferenceType().equals("molar")) { - referenceTypeUnit = "mol"; - } - for (int i = 0; i < thermoSystem.getNumberOfPhases(); i++) { - for (int j = 0; j < thermoSystem.getPhases()[0].getNumberOfComponents(); j++) { - table[j + 1][0] = thermoSystem.getPhases()[0].getComponents()[j].getName(); - buf = new StringBuffer(); - table[j + 1][i + 1] = nf.format( - thermoSystem.getPhase(thermoSystem.getPhaseIndex(i)).getComponents()[j] - .getx(), - buf, test).toString(); - table[j + 1][4] = "[-]"; - } - - buf = new StringBuffer(); - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 3][0] = - "Compressibility Factor"; - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 3][i + 1] = - nf.format(getValue("CompressionFactor")); - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 3][4] = "[-]"; - - buf = new StringBuffer(); - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 4][0] = - "Superior Calorific Value"; - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 4][i + 1] = - nf.format(getValue("SuperiorCalorificValue")); - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 4][4] = - "[kJ/" + referenceTypeUnit + "]"; - - buf = new StringBuffer(); - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 5][0] = - "Inferior Calorific Value"; - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 5][i + 1] = - nf.format(getValue("InferiorCalorificValue")); - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 5][4] = - "[kJ/" + referenceTypeUnit + "]"; - - buf = new StringBuffer(); - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 6][0] = - "Superior Wobbe Index"; - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 6][i + 1] = - nf.format(getValue("SuperiorWobbeIndex") / 3600.0); - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 6][4] = - "[kWh/" + referenceTypeUnit + "]"; - - buf = new StringBuffer(); - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 7][0] = - "Superior Wobbe Index"; - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 7][i + 1] = - nf.format(getValue("SuperiorWobbeIndex")); - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 7][4] = - "[kJ/" + referenceTypeUnit + "]"; - - buf = new StringBuffer(); - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 8][0] = - "Inferior Wobbe Index"; - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 8][i + 1] = - nf.format(getValue("InferiorWobbeIndex")); - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 8][4] = - "[kJ/" + referenceTypeUnit + "]"; - - buf = new StringBuffer(); - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 9][0] = "Relative Density"; - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 9][i + 1] = - nf.format(getValue("RelativeDensity")); - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 9][4] = "[-]"; - - buf = new StringBuffer(); - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 10][0] = "Molar Mass"; - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 10][i + 1] = - nf.format(getValue("MolarMass")); - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 10][4] = "[gr/mol]"; - - buf = new StringBuffer(); - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 11][0] = "Density"; - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 11][i + 1] = - nf.format(getValue("DensityReal")); - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 11][4] = "[kg/m^3]"; - - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 13][0] = - "Reference Temperature Combustion"; - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 13][i + 1] = - Double.toString(getEnergyRefT()); - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 13][4] = "[C]"; - - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 14][0] = - "Reference Temperature Volume"; - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 14][i + 1] = - Double.toString(getVolRefT()); - table[thermoSystem.getPhases()[0].getNumberOfComponents() + 14][4] = "[C]"; - } - - resultTable = table; - return table; - } - - /** - *
- * Getter for the field energyRefT
.
- *
- * Setter for the field energyRefT
.
- *
- * Getter for the field energyRefP
.
- *
- * Setter for the field energyRefP
.
- *
- * Getter for the field volRefT
.
- *
- * Setter for the field volRefT
.
- *
- * Getter for the field componentsNotDefinedByStandard
.
- *
- * getTotalMolesOfInerts. - *
- * - * @return a double - */ - public double getTotalMolesOfInerts() { - double inerts = 0.0; - for (int j = 0; j < thermoSystem.getPhases()[0].getNumberOfComponents(); j++) { - if (carbonNumber[j] == 0) { - inerts += thermoSystem.getPhase(0).getComponent(j).getNumberOfmoles(); - } - } - - return inerts; - } - - /** - *- * removeInertsButNitrogen. - *
- */ - public void removeInertsButNitrogen() { - for (int j = 0; j < thermoSystem.getPhases()[0].getNumberOfComponents(); j++) { - if (carbonNumber[j] == 0 - && !thermoSystem.getPhase(0).getComponent(j).getName().equals("nitrogen")) { - thermoSystem.addComponent("nitrogen", - thermoSystem.getPhase(0).getComponent(j).getNumberOfmoles()); - thermoSystem.addComponent(thermoSystem.getPhase(0).getComponent(j).getName(), - -thermoSystem.getPhase(0).getComponent(j).getNumberOfmoles() * 0.99999); - } - } - } - - /** - *
- * Getter for the field averageCarbonNumber
.
- *
- * Getter for the field referenceType
.
- *
- * Setter for the field referenceType
.
- *
+ * Constructor for Standard_ISO6976. + *
+ * + * @param thermoSystem a + * {@link neqsim.thermo.system.SystemInterface} + * object + * @param volumetricReferenceTemperaturedegC a double + * @param energyReferenceTemperaturedegC a double + * @param calculationType a {@link java.lang.String} object + */ + public Standard_ISO6976(SystemInterface thermoSystem, double volumetricReferenceTemperaturedegC, + double energyReferenceTemperaturedegC, String calculationType) { + this(thermoSystem); + this.referenceType = calculationType; + volRefT = volumetricReferenceTemperaturedegC; + energyRefT = energyReferenceTemperaturedegC; + } + + /** {@inheritDoc} */ + @Override + public void calculate() { + Zmix0 = 1.0; + Zmix15 = 1.0; + Zmix20 = 1.0; + double Zmixtemp0 = 0.0; + double Zmixtemp15 = 0.0; + double Zmixtemp20 = 0.0; + Mmix = 0.0; + relDensIdeal = 0.0; + HsupIdeal0 = 0.0; + HsupIdeal15 = 0.0; + HsupIdeal20 = 0.0; + HsupIdeal25 = 0.0; + HsupIdeal60F = 0.0; + HinfIdeal0 = 0.0; + HinfIdeal15 = 0.0; + HinfIdeal20 = 0.0; + HinfIdeal25 = 0.0; + HinfIdeal60F = 0.0; + + for (int i = 0; i < thermoSystem.getPhase(0).getNumberOfComponents(); i++) { + Mmix += thermoSystem.getPhase(0).getComponent(i).getz() * M[i]; + + Zmixtemp0 += thermoSystem.getPhase(0).getComponent(i).getz() * bsqrt0[i]; + Zmixtemp15 += thermoSystem.getPhase(0).getComponent(i).getz() * bsqrt15[i]; + Zmixtemp20 += thermoSystem.getPhase(0).getComponent(i).getz() * bsqrt20[i]; + + HsupIdeal0 += thermoSystem.getPhase(0).getComponent(i).getz() * Hsup0[i]; + HsupIdeal15 += thermoSystem.getPhase(0).getComponent(i).getz() * Hsup15[i]; + HsupIdeal20 += thermoSystem.getPhase(0).getComponent(i).getz() * Hsup20[i]; + HsupIdeal25 += thermoSystem.getPhase(0).getComponent(i).getz() * Hsup25[i]; + HsupIdeal60F += thermoSystem.getPhase(0).getComponent(i).getz() * Hsup60F[i]; + + HinfIdeal0 += thermoSystem.getPhase(0).getComponent(i).getz() * Hinf0[i]; + HinfIdeal15 += thermoSystem.getPhase(0).getComponent(i).getz() * Hinf15[i]; + HinfIdeal20 += thermoSystem.getPhase(0).getComponent(i).getz() * Hinf20[i]; + HinfIdeal25 += thermoSystem.getPhase(0).getComponent(i).getz() * Hinf25[i]; + HinfIdeal60F += thermoSystem.getPhase(0).getComponent(i).getz() * Hinf60F[i]; + + relDensIdeal += thermoSystem.getPhase(0).getComponent(i).getz() * M[i] / molarMassAir; + } + Zmix0 -= Math.pow(Zmixtemp0, 2.0); + Zmix15 -= Math.pow(Zmixtemp15, 2.0); + Zmix20 -= Math.pow(Zmixtemp20, 2.0); + molRefm3 = volRefP * 1.0e5 * 1.0 / (R * (getVolRefT() + 273.15) * getValue("CompressionFactor")); + // System.out.println("molRefm3 " + molRefm3); + } + + /** {@inheritDoc} */ + @Override + public double getValue(String returnParameter, java.lang.String returnUnit) { + if (returnParameter.equals("GCV")) { + returnParameter = "SuperiorCalorificValue"; + } + if (returnParameter.equals("LCV")) { + returnParameter = "InferiorCalorificValue"; + } + + double returnValue = 0.0; + + if (getVolRefT() == 0) { + returnValue = Zmix0; + } else if (getVolRefT() == 15) { + returnValue = Zmix15; + } else if (getVolRefT() == 15.55) { + returnValue = Zmix15; + } else if (getVolRefT() == 20) { + returnValue = Zmix20; + } + + if (returnParameter.equals("CompressionFactor")) { + return returnValue; + } + if (returnParameter.equals("MolarMass")) { + return Mmix; + } + + double realCorrection = 1.0; + if (getReferenceState().equals("ideal")) { + realCorrection = 1.0; + } else { + realCorrection = returnValue; + } + + if (returnParameter.equals("SuperiorCalorificValue") && getEnergyRefT() == 0) { + returnValue = HsupIdeal0; + } else if (returnParameter.equals("SuperiorCalorificValue") && getEnergyRefT() == 15) { + returnValue = HsupIdeal15; + } else if (returnParameter.equals("SuperiorCalorificValue") && getEnergyRefT() == 20) { + returnValue = HsupIdeal20; + } else if (returnParameter.equals("SuperiorCalorificValue") && getEnergyRefT() == 25) { + returnValue = HsupIdeal25; + } else if (returnParameter.equals("SuperiorCalorificValue") && getEnergyRefT() == 15.55) { + returnValue = HsupIdeal60F; + } else if (returnParameter.equals("InferiorCalorificValue") && getEnergyRefT() == 0) { + returnValue = HinfIdeal0; + } else if (returnParameter.equals("InferiorCalorificValue") && getEnergyRefT() == 15) { + returnValue = HinfIdeal15; + } else if (returnParameter.equals("InferiorCalorificValue") && getEnergyRefT() == 20) { + returnValue = HinfIdeal20; + } else if (returnParameter.equals("InferiorCalorificValue") && getEnergyRefT() == 25) { + returnValue = HinfIdeal25; + } else if (returnParameter.equals("InferiorCalorificValue") && getEnergyRefT() == 15.55) { + returnValue = HinfIdeal60F; + } else if (returnParameter.equals("SuperiorWobbeIndex") && getEnergyRefT() == 0) { + returnValue = HsupIdeal0; + } else if (returnParameter.equals("SuperiorWobbeIndex") && getEnergyRefT() == 15) { + returnValue = HsupIdeal15; + } else if (returnParameter.equals("SuperiorWobbeIndex") && getEnergyRefT() == 20) { + returnValue = HsupIdeal20; + } else if (returnParameter.equals("SuperiorWobbeIndex") && getEnergyRefT() == 25) { + returnValue = HsupIdeal25; + } else if (returnParameter.equals("SuperiorWobbeIndex") && getEnergyRefT() == 15.55) { + returnValue = HsupIdeal60F; + } else if (returnParameter.equals("InferiorWobbeIndex") && getEnergyRefT() == 0) { + returnValue = HinfIdeal0; + } else if (returnParameter.equals("InferiorWobbeIndex") && getEnergyRefT() == 15) { + returnValue = HinfIdeal15; + } else if (returnParameter.equals("InferiorWobbeIndex") && getEnergyRefT() == 20) { + returnValue = HinfIdeal20; + } else if (returnParameter.equals("InferiorWobbeIndex") && getEnergyRefT() == 15.55) { + returnValue = HinfIdeal60F; + } else if (returnParameter.equals("InferiorWobbeIndex") && getEnergyRefT() == 25) { + returnValue = HinfIdeal25; + } + if (returnUnit.equals("kWh")) { + returnValue /= 3600.0; + } + + double relativeDens = 0.0; + // System.out.println("reference state " + getReferenceState()); + if (getReferenceState().equals("ideal")) { + relativeDens = relDensIdeal; + } else if (getVolRefT() == 0) { + relativeDens = relDensIdeal * Zair0 / Zmix0; + } else if (getVolRefT() == 15) { + relativeDens = relDensIdeal * Zair15 / Zmix15; + } else if (getVolRefT() == 15.55) { + relativeDens = relDensIdeal * Zair15 / Zmix15; + } else if (getVolRefT() == 20) { + relativeDens = relDensIdeal * Zair20 / Zmix20; + } + if (returnParameter.equals("RelativeDensity")) { + return relativeDens; + } + if (returnParameter.equals("InferiorWobbeIndex") || returnParameter.equals("SuperiorWobbeIndex")) { + returnValue /= Math.sqrt(relativeDens); + } + if (returnParameter.equals("DensityIdeal")) { + return volRefP * 1e5 / (R * (getVolRefT() + 273.15)) * Mmix / 1.0e3; + } + if (returnParameter.equals("DensityReal")) { + return volRefP * 1e5 / (R * (getVolRefT() + 273.15)) * Mmix / 1.0e3 / realCorrection; + } + + if (getReferenceType().equals("molar")) { + return returnValue; + } else if (getReferenceType().equals("mass")) { + return returnValue / (Mmix / 1000.0); + } else { + return returnValue * volRefP * 1.0e5 / (R * (getVolRefT() + 273.15)) / realCorrection; + } + } + + /** {@inheritDoc} */ + @Override + public double getValue(String returnParameter) { + return getValue(returnParameter, ""); + } + + /** {@inheritDoc} */ + @Override + public String getUnit(String returnParameter) { + if (returnParameter.equals("CompressionFactor")) { + return "-"; + } else { + return energyUnit; + } + } + + /** {@inheritDoc} */ + @Override + public boolean isOnSpec() { + return true; + } + + /** {@inheritDoc} */ + @Override + public String[][] createTable(String name) { + thermoSystem.setNumberOfPhases(1); + + thermoSystem.createTable(name); + + DecimalFormat nf = new DecimalFormat(); + nf.setMaximumFractionDigits(5); + nf.applyPattern("#.#####E0"); + String[][] table = new String[thermoSystem.getPhases()[0].getNumberOfComponents() + 30][6]; + // String[] names = { "", "Phase 1", "Phase 2", "Phase 3", "Unit" }; + table[0][0] = "";// getPhases()[0].getPhaseTypeName();//""; + + for (int i = 0; i < thermoSystem.getPhases()[0].getNumberOfComponents() + 30; i++) { + for (int j = 0; j < 6; j++) { + table[i][j] = ""; + } + } + for (int i = 0; i < thermoSystem.getNumberOfPhases(); i++) { + table[0][i + 1] = thermoSystem.getPhase(i).getPhaseTypeName(); + } + + StringBuffer buf = new StringBuffer(); + FieldPosition test = new FieldPosition(0); + + String referenceTypeUnit = ""; + if (getReferenceType().equals("volume")) { + referenceTypeUnit = "m^3"; + } else if (getReferenceType().equals("mass")) { + referenceTypeUnit = "kg"; + } else if (getReferenceType().equals("molar")) { + referenceTypeUnit = "mol"; + } + for (int i = 0; i < thermoSystem.getNumberOfPhases(); i++) { + for (int j = 0; j < thermoSystem.getPhases()[0].getNumberOfComponents(); j++) { + table[j + 1][0] = thermoSystem.getPhases()[0].getComponents()[j].getName(); + buf = new StringBuffer(); + table[j + 1][i + 1] = nf + .format(thermoSystem.getPhase(thermoSystem.getPhaseIndex(i)).getComponents()[j].getx(), buf, + test) + .toString(); + table[j + 1][4] = "[-]"; + } + + buf = new StringBuffer(); + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 3][0] = "Compressibility Factor"; + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 3][i + 1] = nf + .format(getValue("CompressionFactor")); + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 3][4] = "[-]"; + + buf = new StringBuffer(); + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 4][0] = "Superior Calorific Value"; + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 4][i + 1] = nf + .format(getValue("SuperiorCalorificValue")); + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 4][4] = "[kJ/" + referenceTypeUnit + "]"; + + buf = new StringBuffer(); + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 5][0] = "Inferior Calorific Value"; + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 5][i + 1] = nf + .format(getValue("InferiorCalorificValue")); + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 5][4] = "[kJ/" + referenceTypeUnit + "]"; + + buf = new StringBuffer(); + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 6][0] = "Superior Wobbe Index"; + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 6][i + 1] = nf + .format(getValue("SuperiorWobbeIndex") / 3600.0); + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 6][4] = "[kWh/" + referenceTypeUnit + "]"; + + buf = new StringBuffer(); + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 7][0] = "Superior Wobbe Index"; + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 7][i + 1] = nf + .format(getValue("SuperiorWobbeIndex")); + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 7][4] = "[kJ/" + referenceTypeUnit + "]"; + + buf = new StringBuffer(); + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 8][0] = "Inferior Wobbe Index"; + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 8][i + 1] = nf + .format(getValue("InferiorWobbeIndex")); + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 8][4] = "[kJ/" + referenceTypeUnit + "]"; + + buf = new StringBuffer(); + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 9][0] = "Relative Density"; + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 9][i + 1] = nf + .format(getValue("RelativeDensity")); + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 9][4] = "[-]"; + + buf = new StringBuffer(); + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 10][0] = "Molar Mass"; + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 10][i + 1] = nf.format(getValue("MolarMass")); + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 10][4] = "[gr/mol]"; + + buf = new StringBuffer(); + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 11][0] = "Density"; + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 11][i + 1] = nf.format(getValue("DensityReal")); + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 11][4] = "[kg/m^3]"; + + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 13][0] = "Reference Temperature Combustion"; + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 13][i + 1] = Double.toString(getEnergyRefT()); + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 13][4] = "[C]"; + + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 14][0] = "Reference Temperature Volume"; + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 14][i + 1] = Double.toString(getVolRefT()); + table[thermoSystem.getPhases()[0].getNumberOfComponents() + 14][4] = "[C]"; + } + + resultTable = table; + return table; + } + + /** + *
+ * Getter for the field energyRefT
.
+ *
+ * Setter for the field energyRefT
.
+ *
+ * Getter for the field energyRefP
.
+ *
+ * Setter for the field energyRefP
.
+ *
+ * Getter for the field volRefT
.
+ *
+ * Setter for the field volRefT
.
+ *
+ * Getter for the field componentsNotDefinedByStandard
.
+ *
+ * getTotalMolesOfInerts. + *
+ * + * @return a double + */ + public double getTotalMolesOfInerts() { + double inerts = 0.0; + for (int j = 0; j < thermoSystem.getPhases()[0].getNumberOfComponents(); j++) { + if (carbonNumber[j] == 0) { + inerts += thermoSystem.getPhase(0).getComponent(j).getNumberOfmoles(); + } + } + + return inerts; + } + + /** + *+ * removeInertsButNitrogen. + *
+ */ + public void removeInertsButNitrogen() { + for (int j = 0; j < thermoSystem.getPhases()[0].getNumberOfComponents(); j++) { + if (carbonNumber[j] == 0 && !thermoSystem.getPhase(0).getComponent(j).getName().equals("nitrogen")) { + thermoSystem.addComponent("nitrogen", thermoSystem.getPhase(0).getComponent(j).getNumberOfmoles()); + thermoSystem.addComponent(thermoSystem.getPhase(0).getComponent(j).getName(), + -thermoSystem.getPhase(0).getComponent(j).getNumberOfmoles() * 0.99999); + } + } + } + + /** + *
+ * Getter for the field averageCarbonNumber
.
+ *
+ * Getter for the field referenceType
.
+ *
+ * Setter for the field referenceType
.
+ *