Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Phase num #1189

Merged
merged 4 commits into from
Nov 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -142,11 +142,11 @@ public void setComponents() {
* Setter for the field <code>components</code>.
* </p>
*
* @param phase a int
* @param phaseNum a int
*/
public void setComponents(int phase) {
public void setComponents(int phaseNum) {
for (int j = 0; j < components.length; j++) {
system.getPhase(phase).getComponents()[components[j].getComponentNumber()] = components[j];
system.getPhase(phaseNum).getComponents()[components[j].getComponentNumber()] = components[j];
}
}

Expand All @@ -155,12 +155,12 @@ public void setComponents(int phase) {
* setReactiveComponents.
* </p>
*
* @param phase a int
* @param phaseNum a int
*/
public void setReactiveComponents(int phase) {
public void setReactiveComponents(int phaseNum) {
for (int j = 0; j < components.length; j++) {
// System.out.println("comp " + components[j].getComponentNumber());
components[j] = system.getPhase(phase).getComponent(components[j].getComponentNumber());
components[j] = system.getPhase(phaseNum).getComponent(components[j].getComponentNumber());
}
}

Expand Down Expand Up @@ -189,15 +189,15 @@ public void setReactiveComponents() {
* calcInertMoles.
* </p>
*
* @param phase a int
* @param phaseNum a int
* @return a double
*/
public double calcInertMoles(int phase) {
public double calcInertMoles(int phaseNum) {
double reactiveMoles = 0;
for (int j = 0; j < components.length; j++) {
reactiveMoles += components[j].getNumberOfMolesInPhase();
}
inertMoles = system.getPhase(phase).getNumberOfMolesInPhase() - reactiveMoles;
inertMoles = system.getPhase(phaseNum).getNumberOfMolesInPhase() - reactiveMoles;
// System.out.println("inertmoles = " + inertMoles);
if (inertMoles < 0) {
inertMoles = 1.0e-30;
Expand Down Expand Up @@ -328,14 +328,14 @@ public double[] calcBVector() {
* calcChemRefPot.
* </p>
*
* @param phase a int
* @param phaseNum a int
* @return an array of type double
*/
public double[] calcChemRefPot(int phase) {
public double[] calcChemRefPot(int phaseNum) {
double[] referencePotentials = new double[components.length];
reactionList.createReactionMatrix(system.getPhase(phase), components);
reactionList.createReactionMatrix(system.getPhase(phaseNum), components);
double[] newreferencePotentials =
reactionList.updateReferencePotentials(system.getPhase(phase), components);
reactionList.updateReferencePotentials(system.getPhase(phaseNum), components);
if (newreferencePotentials != null) {
for (int i = 0; i < newreferencePotentials.length; i++) {
referencePotentials[i] = newreferencePotentials[i];
Expand All @@ -352,20 +352,20 @@ public double[] calcChemRefPot(int phase) {
* updateMoles.
* </p>
*
* @param phase a int
* @param phaseNum a int
*/
public void updateMoles(int phase) {
public void updateMoles(int phaseNum) {
double changeMoles = 0.0;
for (int i = 0; i < components.length; i++) {
if (Math.abs(newMoles[i]) > 1e-45) {
changeMoles += (newMoles[i]
- system.getPhase(phase).getComponents()[components[i].getComponentNumber()]
- system.getPhase(phaseNum).getComponents()[components[i].getComponentNumber()]
.getNumberOfMolesInPhase());
// System.out.println("update moles first " + (components[i].getComponentName()
// + " moles " + components[i].getNumberOfMolesInPhase()));
system.getPhase(phase).addMolesChemReac(components[i].getComponentNumber(),
system.getPhase(phaseNum).addMolesChemReac(components[i].getComponentNumber(),
(newMoles[i]
- system.getPhase(phase).getComponents()[components[i].getComponentNumber()]
- system.getPhase(phaseNum).getComponents()[components[i].getComponentNumber()]
.getNumberOfMolesInPhase()));
// System.out.println("update moles after " + (components[i].getComponentName()
// + " moles " + components[i].getNumberOfMolesInPhase()));
Expand Down Expand Up @@ -395,49 +395,49 @@ public boolean solveChemEq(int type) {
* solveChemEq.
* </p>
*
* @param phase a int
* @param phaseNum a int
* @param type a int
* @return a boolean
*/
public boolean solveChemEq(int phase, int type) {
if (this.phase != phase) {
setReactiveComponents(phase);
chemRefPot = calcChemRefPot(phase);
public boolean solveChemEq(int phaseNum, int type) {
if (this.phase != phaseNum) {
setReactiveComponents(phaseNum);
chemRefPot = calcChemRefPot(phaseNum);
}
this.phase = phase;
this.phase = phaseNum;
if (!system.isChemicalSystem()) {
System.out.println("no chemical reactions will occur...continue");
return false;
}

// System.out.println("pressure1");
calcChemRefPot(phase);
calcChemRefPot(phaseNum);
// System.out.println("pressure2");
if (firsttime || type == 0) {
try {
// System.out.println("Calculating initial estimates");
nVector = calcNVector();
bVector = calcBVector();
calcInertMoles(phase);
newMoles = initCalc.generateInitialEstimates(system, bVector, inertMoles, phase);
calcInertMoles(phaseNum);
newMoles = initCalc.generateInitialEstimates(system, bVector, inertMoles, phaseNum);
// Print statement added by Neeraj
// for (i=0;i<5;i++)
// System.out.println("new moles "+newMoles[i]);
updateMoles(phase);
updateMoles(phaseNum);
// System.out.println("finished iniT estimtes ");
// system.display();
firsttime = false;
return true;
} catch (Exception ex) {
logger.error("error in chem eq", ex);
solver = new ChemicalEquilibrium(Amatrix, bVector, system, components, phase);
solver = new ChemicalEquilibrium(Amatrix, bVector, system, components, phaseNum);
return solver.solve();
}
} else {
nVector = calcNVector();
bVector = calcBVector();
try {
solver = new ChemicalEquilibrium(Amatrix, bVector, system, components, phase);
solver = new ChemicalEquilibrium(Amatrix, bVector, system, components, phaseNum);
} catch (Exception ex) {
logger.error(ex.getMessage(), ex);
// todo: Will this crash below?
Expand All @@ -451,13 +451,13 @@ public boolean solveChemEq(int phase, int type) {
* solveKinetics.
* </p>
*
* @param phase a int
* @param phaseNum a int
* @param interPhase a {@link neqsim.thermo.phase.PhaseInterface} object
* @param component a int
* @return a double
*/
public double solveKinetics(int phase, PhaseInterface interPhase, int component) {
return kineticsSolver.calcReacMatrix(system.getPhase(phase), interPhase, component);
public double solveKinetics(int phaseNum, PhaseInterface interPhase, int component) {
return kineticsSolver.calcReacMatrix(system.getPhase(phaseNum), interPhase, component);
}

/**
Expand Down Expand Up @@ -487,12 +487,12 @@ public ChemicalReactionList getReactionList() {
* reacHeat.
* </p>
*
* @param phase a int
* @param phaseNum a int
* @param component a {@link java.lang.String} object
* @return a double
*/
public double reacHeat(int phase, String component) {
return reactionList.reacHeat(system.getPhase(phase), component);
public double reacHeat(int phaseNum, String component) {
return reactionList.reacHeat(system.getPhase(phaseNum), component);
}

/**
Expand Down
21 changes: 11 additions & 10 deletions src/main/java/neqsim/fluidmechanics/flownode/FlowNode.java
Original file line number Diff line number Diff line change
Expand Up @@ -476,10 +476,10 @@ public double calcNusseltNumber(double prandtlNumber, int phase) {

/** {@inheritDoc} */
@Override
public double getPrandtlNumber(int phase) {
return getBulkSystem().getPhases()[phase].getCp()
* getBulkSystem().getPhases()[phase].getPhysicalProperties().getViscosity()
/ getBulkSystem().getPhases()[phase].getPhysicalProperties().getConductivity();
public double getPrandtlNumber(int phaseNum) {
return getBulkSystem().getPhase(phaseNum).getCp()
* getBulkSystem().getPhase(phaseNum).getPhysicalProperties().getViscosity()
/ getBulkSystem().getPhase(phaseNum).getPhysicalProperties().getConductivity();
}

/** {@inheritDoc} */
Expand Down Expand Up @@ -557,13 +557,14 @@ public void increaseMolarRate(double moles) {}

/** {@inheritDoc} */
@Override
public double calcTotalHeatTransferCoefficient(int phase) {
double prandtlNumber = getBulkSystem().getPhases()[phase].getCp()
/ getBulkSystem().getPhases()[phase].getNumberOfMolesInPhase()
* getBulkSystem().getPhases()[phase].getPhysicalProperties().getViscosity()
/ getBulkSystem().getPhases()[phase].getPhysicalProperties().getConductivity();
public double calcTotalHeatTransferCoefficient(int phaseNum) {
double prandtlNumber = getBulkSystem().getPhase(phaseNum).getCp()
/ getBulkSystem().getPhase(phaseNum).getNumberOfMolesInPhase()
* getBulkSystem().getPhase(phaseNum).getPhysicalProperties().getViscosity()
/ getBulkSystem().getPhase(phaseNum).getPhysicalProperties().getConductivity();
double temp = 1.0 / (1.0
/ interphaseTransportCoefficient.calcWallHeatTransferCoefficient(phase, prandtlNumber, this)
/ interphaseTransportCoefficient.calcWallHeatTransferCoefficient(phaseNum, prandtlNumber,
this)
+ 1.0 / pipe.getWallHeatTransferCoefficient()
+ 1.0 / pipe.getSurroundingEnvironment().getHeatTransferCoefficient());
return temp;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -237,33 +237,33 @@ public ThermodynamicOperations getBulkSystemOpertions() {
* calcFluxTypeCorrectionMatrix.
* </p>
*
* @param phase a int
* @param phaseNum a int
* @param k a int
*/
public void calcFluxTypeCorrectionMatrix(int phase, int k) {
fluxTypeCorrectionMatrixV[phase] =
new Matrix(bulkSystem.getPhases()[phase].getNumberOfComponents(), 1);
fluxTypeCorrectionMatrix[phase] =
new Matrix(bulkSystem.getPhases()[phase].getNumberOfComponents() - 1, 1);
public void calcFluxTypeCorrectionMatrix(int phaseNum, int k) {
fluxTypeCorrectionMatrixV[phaseNum] =
new Matrix(bulkSystem.getPhase(phaseNum).getNumberOfComponents(), 1);
fluxTypeCorrectionMatrix[phaseNum] =
new Matrix(bulkSystem.getPhase(phaseNum).getNumberOfComponents() - 1, 1);
double temp = 0;

double sum = 0;
for (int i = 0; i < bulkSystem.getPhases()[phase].getNumberOfComponents() - 1; i++) {
for (int i = 0; i < bulkSystem.getPhase(phaseNum).getNumberOfComponents() - 1; i++) {
temp = (i == k) ? 1.0 : 0.0;
fluxTypeCorrectionMatrixV[phase].set(i, 0, temp);
sum += fluxTypeCorrectionMatrixV[phase].get(i, 0)
* bulkSystem.getPhases()[phase].getComponent(i).getx();
fluxTypeCorrectionMatrixV[phaseNum].set(i, 0, temp);
sum += fluxTypeCorrectionMatrixV[phaseNum].get(i, 0)
* bulkSystem.getPhase(phaseNum).getComponent(i).getx();
}

sum += fluxTypeCorrectionMatrixV[phase]
.get(bulkSystem.getPhases()[phase].getNumberOfComponents() - 1, 0)
* bulkSystem.getPhases()[phase]
.getComponents()[bulkSystem.getPhases()[phase].getNumberOfComponents() - 1].getx();
sum += fluxTypeCorrectionMatrixV[phaseNum]
.get(bulkSystem.getPhase(phaseNum).getNumberOfComponents() - 1, 0)
* bulkSystem.getPhase(phaseNum)
.getComponents()[bulkSystem.getPhase(phaseNum).getNumberOfComponents() - 1].getx();

for (int i = 0; i < bulkSystem.getPhases()[phase].getNumberOfComponents() - 1; i++) {
fluxTypeCorrectionMatrix[phase].set(i, 0,
(fluxTypeCorrectionMatrixV[phase].get(i, 0) - fluxTypeCorrectionMatrixV[phase]
.get(bulkSystem.getPhases()[phase].getNumberOfComponents() - 1, 0)) / sum);
for (int i = 0; i < bulkSystem.getPhase(phaseNum).getNumberOfComponents() - 1; i++) {
fluxTypeCorrectionMatrix[phaseNum].set(i, 0,
(fluxTypeCorrectionMatrixV[phaseNum].get(i, 0) - fluxTypeCorrectionMatrixV[phaseNum]
.get(bulkSystem.getPhase(phaseNum).getNumberOfComponents() - 1, 0)) / sum);
}
}

Expand All @@ -272,20 +272,20 @@ public void calcFluxTypeCorrectionMatrix(int phase, int k) {
* calcNonIdealCorrections.
* </p>
*
* @param phase a int
* @param phaseNum a int
*/
public void calcNonIdealCorrections(int phase) {
nonIdealCorrections[phase] =
new Matrix(bulkSystem.getPhases()[phase].getNumberOfComponents() - 1,
bulkSystem.getPhases()[phase].getNumberOfComponents() - 1);
public void calcNonIdealCorrections(int phaseNum) {
nonIdealCorrections[phaseNum] =
new Matrix(bulkSystem.getPhase(phaseNum).getNumberOfComponents() - 1,
bulkSystem.getPhase(phaseNum).getNumberOfComponents() - 1);
double temp = 0;
for (int i = 0; i < bulkSystem.getPhases()[phase].getNumberOfComponents() - 1; i++) {
for (int j = 0; j < bulkSystem.getPhases()[phase].getNumberOfComponents() - 1; j++) {
for (int i = 0; i < bulkSystem.getPhase(phaseNum).getNumberOfComponents() - 1; i++) {
for (int j = 0; j < bulkSystem.getPhase(phaseNum).getNumberOfComponents() - 1; j++) {
temp = (i == j) ? 1.0 : 0.0;
nonIdealCorrections[phase].set(i, j,
temp + bulkSystem.getPhases()[phase].getComponent(i).getx()
* bulkSystem.getPhases()[phase].getComponent(i).getdfugdn(j)
* bulkSystem.getPhases()[phase].getNumberOfMolesInPhase());
nonIdealCorrections[phaseNum].set(i, j,
temp + bulkSystem.getPhase(phaseNum).getComponent(i).getx()
* bulkSystem.getPhase(phaseNum).getComponent(i).getdfugdn(j)
* bulkSystem.getPhase(phaseNum).getNumberOfMolesInPhase());
// her må det fylles inn
}
}
Expand Down Expand Up @@ -321,18 +321,18 @@ public Matrix[] getMassTransferCoefficientMatrix() {

/** {@inheritDoc} */
@Override
public double getBinaryMassTransferCoefficient(int phase, int i, int j) {
return binaryMassTransferCoefficient[phase][i][j];
public double getBinaryMassTransferCoefficient(int phaseNum, int i, int j) {
return binaryMassTransferCoefficient[phaseNum][i][j];
}

/** {@inheritDoc} */
@Override
public double getEffectiveMassTransferCoefficient(int phase, int i) {
public double getEffectiveMassTransferCoefficient(int phaseNum, int i) {
double temp = 0.0;
for (int j = 0; j < bulkSystem.getPhase(phase).getNumberOfComponents(); j++) {
for (int j = 0; j < bulkSystem.getPhase(phaseNum).getNumberOfComponents(); j++) {
try {
temp += bulkSystem.getPhase(phase).getComponent(j).getx()
* binaryMassTransferCoefficient[phase][i][j];
temp += bulkSystem.getPhase(phaseNum).getComponent(j).getx()
* binaryMassTransferCoefficient[phaseNum][i][j];
} catch (Exception ex) {
logger.error(ex.getMessage(), ex);
}
Expand Down
Loading