Skip to content

Commit 0d51776

Browse files
committed
Fix some bugs
1 parent ba1fb03 commit 0d51776

File tree

8 files changed

+50
-11
lines changed

8 files changed

+50
-11
lines changed

src/main/java/it/geoframe/blogspot/closureequation/closureequation/SWRCBrooksCorey.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public double f(double x, double y, int id) {
3737

3838
if(x>=0.0) {
3939
return super.parameters.thetaS[id] +
40-
9.81*(super.parameters.alphaSpecificStorage[id] + super.parameters.thetaS[id]*super.parameters.betaSpecificStorage[id])*x;
40+
1000*9.81*(super.parameters.alphaSpecificStorage[id] + super.parameters.thetaS[id]*super.parameters.betaSpecificStorage[id])*x;
4141
} else if(x<=super.parameters.par2[id]) {
4242
return super.parameters.thetaR[id] + (super.parameters.thetaS[id]-super.parameters.thetaR[id]) * Math.pow((super.parameters.par2[id]/x), super.parameters.par1[id]);
4343
} else {
@@ -51,7 +51,7 @@ public double f(double x, double y, int id) {
5151
public double df(double x, double y, int id) {
5252

5353
if(x>=0.0) {
54-
return 9.81*( super.parameters.alphaSpecificStorage[id] + super.parameters.thetaS[id]*super.parameters.betaSpecificStorage[id] );
54+
return 1000*9.81*( super.parameters.alphaSpecificStorage[id] + super.parameters.thetaS[id]*super.parameters.betaSpecificStorage[id] );
5555
} else if(x<=super.parameters.par2[id]) {
5656
return super.parameters.par1[id]*(super.parameters.thetaS[id] - super.parameters.thetaR[id])/Math.abs(super.parameters.par2[id]) * Math.pow(super.parameters.par2[id]/x,super.parameters.par1[id]+1);
5757
} else {

src/main/java/it/geoframe/blogspot/closureequation/closureequation/SWRCGardner.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public double f(double x, double y, int id) {
3838

3939
if(x>=0.0) {
4040
return super.parameters.thetaS[id] +
41-
9.81*(super.parameters.alphaSpecificStorage[id] + super.parameters.thetaS[id]*super.parameters.betaSpecificStorage[id])*x;
41+
1000*9.81*(super.parameters.alphaSpecificStorage[id] + super.parameters.thetaS[id]*super.parameters.betaSpecificStorage[id])*x;
4242
} else {
4343

4444
return super.parameters.thetaR[id] + (super.parameters.thetaS[id]-super.parameters.thetaR[id])
@@ -52,7 +52,7 @@ public double f(double x, double y, int id) {
5252
public double df(double x, double y, int id) {
5353

5454
if(x>=0.0) {
55-
return 9.81*( super.parameters.alphaSpecificStorage[id] + super.parameters.thetaS[id]*super.parameters.betaSpecificStorage[id] );
55+
return 1000*9.81*( super.parameters.alphaSpecificStorage[id] + super.parameters.thetaS[id]*super.parameters.betaSpecificStorage[id] );
5656
} else {
5757
return (super.parameters.thetaS[id]-super.parameters.thetaR[id])
5858
*Math.exp(super.parameters.par1[id]*x)*super.parameters.par1[id];

src/main/java/it/geoframe/blogspot/closureequation/closureequation/SWRCKosugi.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public double f(double x, double y, int id) {
4040

4141
if(x>=0.0) {
4242
return super.parameters.thetaS[id] +
43-
9.81*(super.parameters.alphaSpecificStorage[id] + super.parameters.thetaS[id]*super.parameters.betaSpecificStorage[id])*x;
43+
1000*9.81*(super.parameters.alphaSpecificStorage[id] + super.parameters.thetaS[id]*super.parameters.betaSpecificStorage[id])*x;
4444
} else {
4545

4646
return super.parameters.thetaR[id] + (super.parameters.thetaS[id]-super.parameters.thetaR[id])
@@ -54,7 +54,7 @@ public double f(double x, double y, int id) {
5454
public double df(double x, double y, int id) {
5555

5656
if(x>=0.0) {
57-
return 9.81*( super.parameters.alphaSpecificStorage[id] + super.parameters.thetaS[id]*super.parameters.betaSpecificStorage[id] );
57+
return 1000*9.81*( super.parameters.alphaSpecificStorage[id] + super.parameters.thetaS[id]*super.parameters.betaSpecificStorage[id] );
5858
} else {
5959
return (super.parameters.thetaS[id]-super.parameters.thetaR[id])/(Math.sqrt(2*Math.PI)*super.parameters.par2[id]*(-x)) * Math.exp(-Math.pow( Math.log(x/super.parameters.par1[id]),2)/(2*Math.pow(super.parameters.par2[id],2)));
6060
}

src/main/java/it/geoframe/blogspot/closureequation/closureequation/SWRCRomano.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public double f(double x, double y, int id) {
4343

4444
if(x>=0.0) {
4545
return super.parameters.thetaS[id] +
46-
9.81*(super.parameters.alphaSpecificStorage[id] + super.parameters.thetaS[id]*super.parameters.betaSpecificStorage[id])*x;
46+
1000*9.81*(super.parameters.alphaSpecificStorage[id] + super.parameters.thetaS[id]*super.parameters.betaSpecificStorage[id])*x;
4747
} else {
4848

4949
return super.parameters.thetaR[id] + (super.parameters.thetaS[id]-super.parameters.thetaR[id]) *
@@ -57,7 +57,7 @@ public double f(double x, double y, int id) {
5757
public double df(double x, double y, int id) {
5858

5959
if(x>=0.0) {
60-
return 9.81*( super.parameters.alphaSpecificStorage[id] + super.parameters.thetaS[id]*super.parameters.betaSpecificStorage[id] );
60+
return 1000*9.81*( super.parameters.alphaSpecificStorage[id] + super.parameters.thetaS[id]*super.parameters.betaSpecificStorage[id] );
6161
} else {
6262
this.gamma1 = Math.exp( -Math.pow( ( Math.log(x/super.parameters.par4[id])/(super.parameters.par2[id]*Math.sqrt(2))), 2 ) );
6363
this.gamma2 = Math.exp( -Math.pow( ( Math.log(super.parameters.par4[id]/super.parameters.par5[id]*x/super.parameters.par4[id])/(super.parameters.par3[id]*Math.sqrt(2))), 2 ) );

src/main/java/it/geoframe/blogspot/closureequation/closureequation/SWRCVanGenuchten.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public double f(double x, double y, int id) {
4141

4242
if(x>=0.0) {
4343
return super.parameters.thetaS[id] +
44-
9.81*(super.parameters.alphaSpecificStorage[id] + super.parameters.thetaS[id]*super.parameters.betaSpecificStorage[id])*x;
44+
1000*9.81*(super.parameters.alphaSpecificStorage[id] + super.parameters.thetaS[id]*super.parameters.betaSpecificStorage[id])*x;
4545
} else {
4646

4747
return super.parameters.thetaR[id] + (super.parameters.thetaS[id]-super.parameters.thetaR[id])
@@ -56,7 +56,7 @@ public double df(double x, double y, int id) {
5656
m = 1-1/super.parameters.par1[id];
5757

5858
if(x>=0.0) {
59-
return 9.81*( super.parameters.alphaSpecificStorage[id] + super.parameters.thetaS[id]*super.parameters.betaSpecificStorage[id] );
59+
return 1000*9.81*( super.parameters.alphaSpecificStorage[id] + super.parameters.thetaS[id]*super.parameters.betaSpecificStorage[id] );
6060
} else {
6161
return super.parameters.par2[id]*super.parameters.par1[id]*this.m*(super.parameters.thetaS[id] - super.parameters.thetaR[id]) / Math.pow(1.0 + Math.pow(Math.abs(super.parameters.par2[id]*x), super.parameters.par1[id]), this.m + 1.0)*Math.pow(Math.abs(super.parameters.par2[id]*x), super.parameters.par1[id] - 1.0);
6262
}

src/main/java/it/geoframe/blogspot/closureequation/interfaceconductivity/InterfaceConductivityHarmonicMean.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public class InterfaceConductivityHarmonicMean extends InterfaceConductivity{
2929
@Override
3030
public double compute(double value1, double value2, double volume1, double volume2) {
3131

32-
return (volume1+volume2)/(volume1/value1 + volume2/value2);
32+
return Math.pow(0.5*(1/value1 + 1/value2), -1);
3333

3434
}
3535

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package it.geoframe.blogspot.closureequation.interfaceconductivity;
2+
/*
3+
* GNU GPL v3 License
4+
*
5+
* Copyright 2019 Niccolo` Tubini
6+
*
7+
* This program is free software: you can redistribute it and/or modify
8+
* it under the terms of the GNU General Public License as published by
9+
* the Free Software Foundation, either version 3 of the License, or
10+
* (at your option) any later version.
11+
*
12+
* This program is distributed in the hope that it will be useful,
13+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15+
* GNU General Public License for more details.
16+
*
17+
* You should have received a copy of the GNU General Public License
18+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
19+
*/
20+
21+
22+
/**
23+
* Compute conductivity at control volume interface as the average of k[i] and k[i+1]
24+
* @author Niccolo' Tubini
25+
*/
26+
27+
public class InterfaceConductivityWeightedHarmonicMean extends InterfaceConductivity{
28+
29+
@Override
30+
public double compute(double value1, double value2, double volume1, double volume2) {
31+
32+
return (volume1+volume2)/(volume1/value1 + volume2/value2);
33+
34+
}
35+
36+
37+
}

src/main/java/it/geoframe/blogspot/closureequation/interfaceconductivity/SimpleInterfaceConductivityFactory.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ public InterfaceConductivity createInterfaceConductivity (String type) {
3939
return new InterfaceConductivityArithmeticMean();
4040
} else if(type.equalsIgnoreCase("Harmonic Mean") || type.equalsIgnoreCase("HarmonicMean")){
4141
return new InterfaceConductivityHarmonicMean();
42+
} else if(type.equalsIgnoreCase("Weighted Harmonic Mean") || type.equalsIgnoreCase("WeightedHarmonicMean")){
43+
return new InterfaceConductivityWeightedHarmonicMean();
4244
} else if(type.equalsIgnoreCase("Geometric Mean") || type.equalsIgnoreCase("GeometricMean")){
4345
return new InterfaceConductivityGeometricMean();
4446
} else if(type.equalsIgnoreCase("Max") || type.equalsIgnoreCase("Maximum")){

0 commit comments

Comments
 (0)