From 949c717b0aa9cc19bf0ff21bbdf30b9c6346175b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=85smund=20V=C3=A5ge=20Fannemel?= <34712686+asmfstatoil@users.noreply.github.com> Date: Tue, 16 May 2023 13:34:06 +0200 Subject: [PATCH 1/9] move_addHydratePhase2 --- .../neqsim/thermo/system/SystemThermo.java | 54 +++++++++---------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/src/main/java/neqsim/thermo/system/SystemThermo.java b/src/main/java/neqsim/thermo/system/SystemThermo.java index 822091e35a..60e6d1700b 100644 --- a/src/main/java/neqsim/thermo/system/SystemThermo.java +++ b/src/main/java/neqsim/thermo/system/SystemThermo.java @@ -350,33 +350,6 @@ public void addSolidPhase() { } } - /** - *

- * addHydratePhase2. - *

- */ - public void addHydratePhase2() { - if (!multiPhaseCheck) { - setMultiPhaseCheck(true); - } - phaseArray[3] = new PhaseHydrate(); - phaseArray[3].setTemperature(phaseArray[0].getTemperature()); - phaseArray[3].setPressure(phaseArray[0].getPressure()); - for (int i = 0; i < phaseArray[0].getNumberOfComponents(); i++) { - if (getPhase(0).getComponent(i).isIsTBPfraction()) { - phaseArray[3].addComponent("default", getPhase(0).getComponent(i).getNumberOfmoles(), - getPhase(0).getComponent(i).getNumberOfmoles(), i); - phaseArray[3].getComponent("default") - .setComponentName(getPhase(0).getComponent(i).getName()); - } else { - phaseArray[3].addComponent(getPhase(0).getComponent(i).getName(), - getPhase(0).getComponent(i).getNumberOfmoles(), - getPhase(0).getComponent(i).getNumberOfmoles(), i); - } - } - setNumberOfPhases(4); - } - /** {@inheritDoc} */ @Override public void addSolidComplexPhase(String type) { @@ -460,6 +433,33 @@ public void addHydratePhase() { setNumberOfPhases(5); } + /** + *

+ * addHydratePhase2. + *

+ */ + public void addHydratePhase2() { + if (!multiPhaseCheck) { + setMultiPhaseCheck(true); + } + phaseArray[3] = new PhaseHydrate(); + phaseArray[3].setTemperature(phaseArray[0].getTemperature()); + phaseArray[3].setPressure(phaseArray[0].getPressure()); + for (int i = 0; i < phaseArray[0].getNumberOfComponents(); i++) { + if (getPhase(0).getComponent(i).isIsTBPfraction()) { + phaseArray[3].addComponent("default", getPhase(0).getComponent(i).getNumberOfmoles(), + getPhase(0).getComponent(i).getNumberOfmoles(), i); + phaseArray[3].getComponent("default") + .setComponentName(getPhase(0).getComponent(i).getName()); + } else { + phaseArray[3].addComponent(getPhase(0).getComponent(i).getName(), + getPhase(0).getComponent(i).getNumberOfmoles(), + getPhase(0).getComponent(i).getNumberOfmoles(), i); + } + } + setNumberOfPhases(4); + } + /** {@inheritDoc} */ @Override public void setAllComponentsInPhase(int phase) { From f5c5e811e495b682da531446f750357d67cd4619 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=85smund=20V=C3=A5ge=20Fannemel?= <34712686+asmfstatoil@users.noreply.github.com> Date: Tue, 16 May 2023 13:37:09 +0200 Subject: [PATCH 2/9] move changecomponentname --- .../neqsim/thermo/system/SystemThermo.java | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/main/java/neqsim/thermo/system/SystemThermo.java b/src/main/java/neqsim/thermo/system/SystemThermo.java index 60e6d1700b..488d690367 100644 --- a/src/main/java/neqsim/thermo/system/SystemThermo.java +++ b/src/main/java/neqsim/thermo/system/SystemThermo.java @@ -738,20 +738,6 @@ public double getFlowRate(String flowunit) { } } - /** {@inheritDoc} */ - @Override - public void changeComponentName(String name, String newName) { - for (int i = 0; i < numberOfComponents; i++) { - if (componentNames.get(i).equals(name)) { - componentNames.set(i, newName); - } - } - - for (int i = 0; i < maxNumberOfPhases; i++) { - getPhase(i).getComponent(name).setComponentName(newName); - } - } - /** {@inheritDoc} */ @Override public void addSalt(String componentName, double value) { @@ -1339,6 +1325,20 @@ public void addComponent(int index, double moles, int phaseNumber) { setTotalNumberOfMoles(getTotalNumberOfMoles() + moles); } + /** {@inheritDoc} */ + @Override + public void changeComponentName(String name, String newName) { + for (int i = 0; i < numberOfComponents; i++) { + if (componentNames.get(i).equals(name)) { + componentNames.set(i, newName); + } + } + + for (int i = 0; i < maxNumberOfPhases; i++) { + getPhase(i).getComponent(name).setComponentName(newName); + } + } + /** {@inheritDoc} */ @Override public void removeComponent(String name) { From b3e6a5f89802686b5625e19747178a817c08ece4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=85smund=20V=C3=A5ge=20Fannemel?= <34712686+asmfstatoil@users.noreply.github.com> Date: Tue, 16 May 2023 13:40:30 +0200 Subject: [PATCH 3/9] move component name setters/getters --- .../neqsim/thermo/system/SystemThermo.java | 118 +++++++++--------- 1 file changed, 59 insertions(+), 59 deletions(-) diff --git a/src/main/java/neqsim/thermo/system/SystemThermo.java b/src/main/java/neqsim/thermo/system/SystemThermo.java index 488d690367..8011abf17b 100644 --- a/src/main/java/neqsim/thermo/system/SystemThermo.java +++ b/src/main/java/neqsim/thermo/system/SystemThermo.java @@ -1357,6 +1357,65 @@ public void removeComponent(String name) { numberOfComponents--; } + /** {@inheritDoc} */ + @Override + public String[] getComponentNames() { + ArrayList components = new ArrayList(); + + for (int j = 0; j < numberOfComponents; j++) { + components.add(phaseArray[0].getComponents()[j].getName()); + } + String[] componentList = new String[components.size()]; + for (int j = 0; j < numberOfComponents; j++) { + componentList[j] = components.get(j); + } + return componentList; + } + + /** {@inheritDoc} */ + @Override + public void setComponentNames(String[] componentNames) { + for (int i = 0; i < componentNames.length; i++) { + this.componentNames.set(i, componentNames[i]); + } + } + + /** {@inheritDoc} */ + @Override + public void renameComponent(String oldName, String newName) { + componentNames.set(getPhase(0).getComponent(oldName).getComponentNumber(), newName); + for (int i = 0; i < maxNumberOfPhases; i++) { + getPhase(i).getComponent(oldName).setComponentName(newName); + } + } + + /** {@inheritDoc} */ + @Override + public String getComponentNameTag() { + return componentNameTag; + } + + /** {@inheritDoc} */ + @Override + public void setComponentNameTag(String nameTag) { + componentNameTag = nameTag; + for (int i = 0; i < getPhase(0).getNumberOfComponents(); i++) { + renameComponent(componentNames.get(i), componentNames.get(i) + nameTag); + } + } + + /** {@inheritDoc} */ + @Override + public void setComponentNameTagOnNormalComponents(String nameTag) { + componentNameTag = nameTag; + for (int i = 0; i < getPhase(0).getNumberOfComponents(); i++) { + if (!getPhase(0).getComponent(i).isIsTBPfraction() + && !getPhase(0).getComponent(i).isIsPlusFraction()) { + renameComponent(componentNames.get(i), componentNames.get(i) + nameTag); + } + } + } + /** {@inheritDoc} */ @Override public void setEmptyFluid() { @@ -2394,21 +2453,6 @@ public void setMixingRule(String typename) { this.setMixingRule(var); } - /** {@inheritDoc} */ - @Override - public String[] getComponentNames() { - ArrayList components = new ArrayList(); - - for (int j = 0; j < numberOfComponents; j++) { - components.add(phaseArray[0].getComponents()[j].getName()); - } - String[] componentList = new String[components.size()]; - for (int j = 0; j < numberOfComponents; j++) { - componentList[j] = components.get(j); - } - return componentList; - } - /** {@inheritDoc} */ @Override public void setNumberOfPhases(int number) { @@ -4479,42 +4523,6 @@ public void addPhaseFractionToPhase(double fraction, String specification, Strin init_x_y(); } - /** {@inheritDoc} */ - @Override - public void renameComponent(String oldName, String newName) { - componentNames.set(getPhase(0).getComponent(oldName).getComponentNumber(), newName); - for (int i = 0; i < maxNumberOfPhases; i++) { - getPhase(i).getComponent(oldName).setComponentName(newName); - } - } - - /** {@inheritDoc} */ - @Override - public void setComponentNameTag(String nameTag) { - componentNameTag = nameTag; - for (int i = 0; i < getPhase(0).getNumberOfComponents(); i++) { - renameComponent(componentNames.get(i), componentNames.get(i) + nameTag); - } - } - - /** {@inheritDoc} */ - @Override - public void setComponentNameTagOnNormalComponents(String nameTag) { - componentNameTag = nameTag; - for (int i = 0; i < getPhase(0).getNumberOfComponents(); i++) { - if (!getPhase(0).getComponent(i).isIsTBPfraction() - && !getPhase(0).getComponent(i).isIsPlusFraction()) { - renameComponent(componentNames.get(i), componentNames.get(i) + nameTag); - } - } - } - - /** {@inheritDoc} */ - @Override - public String getComponentNameTag() { - return componentNameTag; - } - /** {@inheritDoc} */ @Override public void addGasToLiquid(double fraction) { @@ -4972,14 +4980,6 @@ public WaxModelInterface getWaxModel() { return waxCharacterisation.getModel(); } - /** {@inheritDoc} */ - @Override - public void setComponentNames(String[] componentNames) { - for (int i = 0; i < componentNames.length; i++) { - this.componentNames.set(i, componentNames[i]); - } - } - /** {@inheritDoc} */ @Override public double getLiquidVolume() { From ac45c9fc14a3562f3e6502d5215c3c0559c54b6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=85smund=20V=C3=A5ge=20Fannemel?= <34712686+asmfstatoil@users.noreply.github.com> Date: Tue, 16 May 2023 13:42:37 +0200 Subject: [PATCH 4/9] move clone --- .../neqsim/thermo/system/SystemThermo.java | 77 ++++++++++--------- 1 file changed, 39 insertions(+), 38 deletions(-) diff --git a/src/main/java/neqsim/thermo/system/SystemThermo.java b/src/main/java/neqsim/thermo/system/SystemThermo.java index 8011abf17b..a47dc15a01 100644 --- a/src/main/java/neqsim/thermo/system/SystemThermo.java +++ b/src/main/java/neqsim/thermo/system/SystemThermo.java @@ -220,44 +220,6 @@ public void resetCharacterisation() { characterization.getLumpingModel().setNumberOfLumpedComponents(numberOfLumpedComps); } - /** {@inheritDoc} */ - @Override - public SystemThermo clone() { - SystemThermo clonedSystem = null; - try { - clonedSystem = (SystemThermo) super.clone(); - // clonedSystem.chemicalReactionOperations = (ChemicalReactionOperations) - // chemicalReactionOperations.clone(); - } catch (Exception ex) { - logger.error("Cloning failed.", ex); - } - - clonedSystem.beta = beta.clone(); - clonedSystem.attractiveTermNumber = attractiveTermNumber; - clonedSystem.phaseType = phaseType.clone(); - clonedSystem.phaseIndex = phaseIndex.clone(); - - clonedSystem.componentNames = new ArrayList(componentNames); - if (interfaceProp != null) { - // clonedSystem.interfaceProp = (InterphasePropertiesInterface) - // interfaceProp.clone(); - } - clonedSystem.characterization = characterization.clone(); - if (clonedSystem.waxCharacterisation != null) { - clonedSystem.waxCharacterisation = waxCharacterisation.clone(); - } - - System.arraycopy(this.beta, 0, clonedSystem.beta, 0, beta.length); - System.arraycopy(this.phaseType, 0, clonedSystem.phaseType, 0, phaseType.length); - System.arraycopy(this.phaseIndex, 0, clonedSystem.phaseIndex, 0, phaseIndex.length); - - clonedSystem.phaseArray = phaseArray.clone(); - for (int i = 0; i < getMaxNumberOfPhases(); i++) { - clonedSystem.phaseArray[i] = phaseArray[i].clone(); - } - return clonedSystem; - } - /** {@inheritDoc} */ @Override public SystemInterface addFluid(SystemInterface addSystem) { @@ -545,6 +507,44 @@ public void replacePhase(int repPhase, PhaseInterface newPhase) { setTotalNumberOfMoles(newPhase.getNumberOfMolesInPhase()); } + /** {@inheritDoc} */ + @Override + public SystemThermo clone() { + SystemThermo clonedSystem = null; + try { + clonedSystem = (SystemThermo) super.clone(); + // clonedSystem.chemicalReactionOperations = (ChemicalReactionOperations) + // chemicalReactionOperations.clone(); + } catch (Exception ex) { + logger.error("Cloning failed.", ex); + } + + clonedSystem.beta = beta.clone(); + clonedSystem.attractiveTermNumber = attractiveTermNumber; + clonedSystem.phaseType = phaseType.clone(); + clonedSystem.phaseIndex = phaseIndex.clone(); + + clonedSystem.componentNames = new ArrayList(componentNames); + if (interfaceProp != null) { + // clonedSystem.interfaceProp = (InterphasePropertiesInterface) + // interfaceProp.clone(); + } + clonedSystem.characterization = characterization.clone(); + if (clonedSystem.waxCharacterisation != null) { + clonedSystem.waxCharacterisation = waxCharacterisation.clone(); + } + + System.arraycopy(this.beta, 0, clonedSystem.beta, 0, beta.length); + System.arraycopy(this.phaseType, 0, clonedSystem.phaseType, 0, phaseType.length); + System.arraycopy(this.phaseIndex, 0, clonedSystem.phaseIndex, 0, phaseIndex.length); + + clonedSystem.phaseArray = phaseArray.clone(); + for (int i = 0; i < getMaxNumberOfPhases(); i++) { + clonedSystem.phaseArray[i] = phaseArray[i].clone(); + } + return clonedSystem; + } + /** {@inheritDoc} */ @Override public SystemInterface getEmptySystemClone() { @@ -572,6 +572,7 @@ public SystemInterface getEmptySystemClone() { /** {@inheritDoc} */ @Override public SystemInterface phaseToSystem(PhaseInterface newPhase) { + // todo: other phaseToSystem functions returns clones. for (int i = 0; i < newPhase.getNumberOfComponents(); i++) { newPhase.getComponents()[i] .setNumberOfmoles(newPhase.getComponents()[i].getNumberOfMolesInPhase()); From 29957c588967c9bc9c151086f29213b9a23fa472 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=85smund=20V=C3=A5ge=20Fannemel?= <34712686+asmfstatoil@users.noreply.github.com> Date: Tue, 16 May 2023 14:37:36 +0200 Subject: [PATCH 5/9] move addtocomponentnames --- .../neqsim/thermo/system/SystemThermo.java | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/main/java/neqsim/thermo/system/SystemThermo.java b/src/main/java/neqsim/thermo/system/SystemThermo.java index a47dc15a01..6fc585c60c 100644 --- a/src/main/java/neqsim/thermo/system/SystemThermo.java +++ b/src/main/java/neqsim/thermo/system/SystemThermo.java @@ -1390,6 +1390,20 @@ public void renameComponent(String oldName, String newName) { } } + /** {@inheritDoc} */ + @Override + public void addToComponentNames(String postfix) { + for (int j = 0; j < componentNames.size(); j++) { + componentNames.set(j, componentNames.get(j) + postfix); + } + for (int i = 0; i < getMaxNumberOfPhases(); i++) { + for (int j = 0; j < componentNames.size(); j++) { + getPhase(i).getComponent(j) + .setComponentName(getPhase(i).getComponent(j).getComponentName() + postfix); + } + } + } + /** {@inheritDoc} */ @Override public String getComponentNameTag() { @@ -3910,20 +3924,6 @@ public void setFluidName(java.lang.String fluidName) { this.fluidName = fluidName; } - /** {@inheritDoc} */ - @Override - public void addToComponentNames(java.lang.String name) { - for (int j = 0; j < componentNames.size(); j++) { - componentNames.set(j, componentNames.get(j) + name); - } - for (int i = 0; i < getMaxNumberOfPhases(); i++) { - for (int j = 0; j < componentNames.size(); j++) { - getPhase(i).getComponent(j) - .setComponentName(getPhase(i).getComponent(j).getComponentName() + name); - } - } - } - /** *

* setLastTBPasPlus. From bdec72ace46e5c33062f202f832a37e34f07ee40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=85smund=20V=C3=A5ge=20Fannemel?= <34712686+asmfstatoil@users.noreply.github.com> Date: Tue, 16 May 2023 14:50:05 +0200 Subject: [PATCH 6/9] hasPhaseType and moved hasSolidPhase --- .../neqsim/thermo/system/SystemThermo.java | 33 ++++++++++++------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/src/main/java/neqsim/thermo/system/SystemThermo.java b/src/main/java/neqsim/thermo/system/SystemThermo.java index 6fc585c60c..77374ac2ae 100644 --- a/src/main/java/neqsim/thermo/system/SystemThermo.java +++ b/src/main/java/neqsim/thermo/system/SystemThermo.java @@ -1777,17 +1777,6 @@ public void reset() { } } - /** {@inheritDoc} */ - @Override - public boolean hasSolidPhase() { - for (int i = 0; i < numberOfPhases; i++) { - if (getPhase(i).getType() == PhaseType.SOLID) { - return true; - } - } - return false; - } - /** {@inheritDoc} */ @Override public void init(int type) { @@ -2267,6 +2256,27 @@ public ChemicalReactionOperations getChemicalReactionOperations() { return chemicalReactionOperations; } + /** + * Verify if system has a phase of a specific type. + * + * @param pt PhaseType to look for. + * @return True if system contains a phase of requested type. + */ + public boolean hasPhaseType(PhaseType pt) { + for (int i = 0; i < numberOfPhases; i++) { + if (getPhase(i).getType() == pt) { + return true; + } + } + return false; + } + + /** {@inheritDoc} */ + @Override + public boolean hasSolidPhase() { + return hasPhaseType(PhaseType.SOLID); + } + /** {@inheritDoc} */ @Override public final PhaseInterface getGasPhase() { @@ -2294,6 +2304,7 @@ public final PhaseInterface getLiquidPhase() { /** {@inheritDoc} */ @Override public boolean isPhase(int i) { + // todo: what if i > numberofphases? if (i > phaseArray.length) { return false; } From 4705057ca170146b700b3260d9da3fdc89a59d12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=85smund=20V=C3=A5ge=20Fannemel?= <34712686+asmfstatoil@users.noreply.github.com> Date: Tue, 16 May 2023 14:59:04 +0200 Subject: [PATCH 7/9] hasPhaseType --- .../neqsim/thermo/system/SystemInterface.java | 37 +++++++++++++------ .../neqsim/thermo/system/SystemThermo.java | 17 --------- 2 files changed, 25 insertions(+), 29 deletions(-) diff --git a/src/main/java/neqsim/thermo/system/SystemInterface.java b/src/main/java/neqsim/thermo/system/SystemInterface.java index 24144b9153..2542d35216 100644 --- a/src/main/java/neqsim/thermo/system/SystemInterface.java +++ b/src/main/java/neqsim/thermo/system/SystemInterface.java @@ -6,6 +6,7 @@ import neqsim.thermo.characterization.WaxModelInterface; import neqsim.thermo.component.ComponentInterface; import neqsim.thermo.phase.PhaseInterface; +import neqsim.thermo.phase.PhaseType; /** *

@@ -997,14 +998,36 @@ public void addPlusFraction(String componentName, double numberOfMoles, double m */ public void setBmixType(int bmixType); + /** + * Verify if system has a phase of a specific type. + * + * @param pt PhaseType to look for + * @return True if system contains a phase of requested type + */ + public boolean hasPhaseType(PhaseType pt); + + /** + * Verify if system has a phase of a specific type. + * + * @param phaseTypeName PhaseType to look for + * @return True if system contains a phase of requested type + * @deprecated Replaced by {@link hasPhaseType} + */ + @Deprecated + public default boolean hasPhaseType(String phaseTypeName) { + return hasPhaseType(PhaseType.byDesc(phaseTypeName)); + } + /** *

* hasSolidPhase. *

* - * @return a boolean + * @return True if system contains a solid phase */ - public boolean hasSolidPhase(); + public default boolean hasSolidPhase() { + return hasPhaseType(PhaseType.SOLID); + } /** *

@@ -2360,16 +2383,6 @@ public default double getNumberOfMoles() { */ public void setTotalNumberOfMoles(double totalNumberOfMoles); - /** - *

- * hasPhaseType. - *

- * - * @param phaseTypeName a {@link java.lang.String} object - * @return a boolean - */ - public boolean hasPhaseType(String phaseTypeName); - /** *

* getPhaseNumberOfPhase. diff --git a/src/main/java/neqsim/thermo/system/SystemThermo.java b/src/main/java/neqsim/thermo/system/SystemThermo.java index 77374ac2ae..4118056b2a 100644 --- a/src/main/java/neqsim/thermo/system/SystemThermo.java +++ b/src/main/java/neqsim/thermo/system/SystemThermo.java @@ -2271,12 +2271,6 @@ public boolean hasPhaseType(PhaseType pt) { return false; } - /** {@inheritDoc} */ - @Override - public boolean hasSolidPhase() { - return hasPhaseType(PhaseType.SOLID); - } - /** {@inheritDoc} */ @Override public final PhaseInterface getGasPhase() { @@ -4557,17 +4551,6 @@ public void setTotalNumberOfMoles(double totalNumberOfMoles) { this.totalNumberOfMoles = totalNumberOfMoles; } - /** {@inheritDoc} */ - @Override - public boolean hasPhaseType(String phaseTypeName) { - for (int i = 0; i < numberOfPhases; i++) { - if (getPhase(i).getPhaseTypeName().equals(phaseTypeName)) { - return true; - } - } - return false; - } - /** {@inheritDoc} */ @Override public double calcHenrysConstant(String component) { From 53cd4cdad94899c9bff6ea101b5a4a62040f965a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=85smund=20V=C3=A5ge=20Fannemel?= <34712686+asmfstatoil@users.noreply.github.com> Date: Fri, 19 May 2023 19:27:29 +0200 Subject: [PATCH 8/9] reorder getphase --- .../neqsim/thermo/system/SystemThermo.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/main/java/neqsim/thermo/system/SystemThermo.java b/src/main/java/neqsim/thermo/system/SystemThermo.java index 4118056b2a..9e2716bc87 100644 --- a/src/main/java/neqsim/thermo/system/SystemThermo.java +++ b/src/main/java/neqsim/thermo/system/SystemThermo.java @@ -2258,7 +2258,7 @@ public ChemicalReactionOperations getChemicalReactionOperations() { /** * Verify if system has a phase of a specific type. - * + * * @param pt PhaseType to look for. * @return True if system contains a phase of requested type. */ @@ -2330,35 +2330,35 @@ public PhaseInterface getPhase(String phaseTypeName) { /** {@inheritDoc} */ @Override - public int getPhaseNumberOfPhase(String phaseTypeName) { + public PhaseInterface getPhaseOfType(String phaseTypeName) { for (int i = 0; i < numberOfPhases; i++) { if (getPhase(i).getPhaseTypeName().equals(phaseTypeName)) { - return i; + return getPhase(i); } } - return 0; + return null; } /** {@inheritDoc} */ @Override - public int getPhaseIndexOfPhase(String phaseTypeName) { + public int getPhaseNumberOfPhase(String phaseTypeName) { for (int i = 0; i < numberOfPhases; i++) { if (getPhase(i).getPhaseTypeName().equals(phaseTypeName)) { - return phaseIndex[i]; + return i; } } - return phaseIndex[0]; + return 0; } /** {@inheritDoc} */ @Override - public PhaseInterface getPhaseOfType(String phaseTypeName) { + public int getPhaseIndexOfPhase(String phaseTypeName) { for (int i = 0; i < numberOfPhases; i++) { if (getPhase(i).getPhaseTypeName().equals(phaseTypeName)) { - return getPhase(i); + return phaseIndex[i]; } } - return null; + return phaseIndex[0]; } /** {@inheritDoc} */ From e7ff241177daa32d635be50db3f90e4218bf6b80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=85smund=20V=C3=A5ge=20Fannemel?= <34712686+asmfstatoil@users.noreply.github.com> Date: Fri, 19 May 2023 20:18:21 +0200 Subject: [PATCH 9/9] found the bug --- src/main/java/neqsim/thermo/system/SystemThermo.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/neqsim/thermo/system/SystemThermo.java b/src/main/java/neqsim/thermo/system/SystemThermo.java index 9e2716bc87..b1f17f325f 100644 --- a/src/main/java/neqsim/thermo/system/SystemThermo.java +++ b/src/main/java/neqsim/thermo/system/SystemThermo.java @@ -2267,6 +2267,11 @@ public boolean hasPhaseType(PhaseType pt) { if (getPhase(i).getType() == pt) { return true; } + if (getPhase(i).getPhaseTypeName().equals(pt.getDesc())) { + logger.error( + "Bug in setting phasetype somewhere. Phasetype and phasetypename should be the same."); + return true; + } } return false; }