Production Calculation uses K-Factor
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user