Production Calculation uses K-Factor

This commit is contained in:
Patrick McDonagh
2017-02-07 19:13:48 -06:00
parent 1771df0730
commit a65597d3e1
7 changed files with 92 additions and 282 deletions

View File

@@ -274,7 +274,7 @@ public class Card {
void calcStrokeData(int numSlices, double fluidGradient, double rodDepth, double anchorDepth, double tubingCSA,
double pumpArea, double frictionEstimate, double structuralRating,
double waterBBLRatio, double oilBBLRatio, double gasMCFRatio)
double kFactor, double waterBBLRatio, double oilBBLRatio, double gasMCFRatio)
{
calculateSPM();
surfacePositionMax = positionMax(surfacePosition, surfaceLoad, numPointsUsed);
@@ -350,7 +350,7 @@ public class Card {
downholeNetStrokeLength = bottomCorner.getPosition() - downholePositionMin.getPosition();
fillageCalculated = (downholeNetStrokeLength / downholeAdjustedGrossStrokeLength) * 100.0;
fillageEstimated =(downholeNetStrokeLength / downholeGrossStrokeLength) * 100.0;
fluidBBLMoved = downholeNetStrokeLength * pumpArea * 0.00010307;
fluidBBLMoved = downholeNetStrokeLength * pumpArea * 0.00010307 * kFactor;
oilBBLMoved = fluidBBLMoved * oilBBLRatio;
waterBBLMoved = fluidBBLMoved * waterBBLRatio;
gasMCFMoved = fluidBBLMoved * gasMCFRatio;

View File

@@ -139,6 +139,7 @@ public class Well {
private double fluidOilRatio; // BBL of oil per 1 BBL fluid
private double fluidWaterRatio; // BBL of water per 1 BBL fluid
private double fluidGasRatio; // MCF of gas per 1 BBL fluid
private double kFactor = 1.0;
// DATE & TIME PARAMETERS
private LocalDate lastCheckedDate = null;
@@ -432,6 +433,14 @@ public class Well {
return fluidGasRatio;
}
public double getkFactor() {
return kFactor;
}
public void setkFactor(double kFactor) {
this.kFactor = kFactor;
}
public void setupFluidRatio(double oilRatio, double waterRatio, double gasRatio){
fluidOilRatio = oilRatio;
fluidWaterRatio = waterRatio;
@@ -888,7 +897,7 @@ public class Well {
currentCard.calcStrokeData(150, fluidGradient,
rodDepthTotal, tubingAnchorDepth,
tubingCrossSectionalArea, pumpArea,
frictionEstimate, structuralRating, fluidWaterRatio, fluidOilRatio, fluidGasRatio);
frictionEstimate, structuralRating, kFactor, fluidWaterRatio, fluidOilRatio, fluidGasRatio);
for (int j = 98; j >= 0; j--) {
cardStorage[j + 1] = cardStorage[j];
}