() P[wellBottom]=BHP |
() T[wellBottom]=BHT |
() for WellBottom-1 To i=0 [ |
() GasDensity[i]=Step 4.GassMassFlowRate[i] SG |
() OilDensity[i]=Step 4.OilMassFlowRate[i] API |
() WaterDensity[i]=Step 4.WaterMassFlowRate[i] WD |
() SumGasFlowRate[i]=GasFlowRate[i]+SumGasFlowRate[i+1] |
() SumOilFlowRate[i]=OilFlowRate[i]+SumOilFlowRate[i+1] |
() SumWaterFlowRate[i]=WaterFlowRate[i]+SumWaterFlowRate[i+1] |
() SumLiquidFlowRate[i]=SumOilFlowRate[i]+SumWaterFlowRate[i] |
() GOR[i]=GasFlowRate[i]/OilFlowRate[i] |
() GasSolubility[i]=correlation.GasSolubility(T[i+1], OilDensity[i], P[i+1], GasDensity[i+1]) |
() GasCompressibility[i]=correlation.gasCompressibility(T[i+1], GasDensity[i], P[i+1]) |
() GasFormationVolumeFactor[i]=correlation.GasFormationVolumeFactor(T[i+1], GasCompressibility[i], P[i+1]) |
() OilFormationVolumeFactor[i]=correlation.OilFormationVolumeFactor(T[i+1], OilDensity[i], GOR[i], GasDensity[i]) |
() WaterFormationVolumeFactor[i]=correlation.WaterFormationVolumeFactor(T[i+1], P[i+1]) |
() EarthThermalDiffusivity[i]=correlation.EarthThermalDiffusivity(T[i+1]) |
() SumGasFlowRate[i] =GasFormationVolumeFactor[i] |
() SumOilFlowRate[i] =OilFormationVolumeFactor[i] |
() SumWaterFlowRate[i] =WaterFormationVolumeFactor[i] |
() SumLiquidFlowRate[i]=SumOilFlowRate[i]+SumWaterFlowRate[i] |
() if (GasSolubility[i] < GOR[i]) |
FreeGasFlowRate[i]=GasFlowRate[i]−(GasSolubility[i] OilFlowRate[i]) |
else FreeGasFlowRate[i]=0 |
() GasInSolutionFlowRates[i]=Step 4.GasFlowRate[i]−FreeGasFlowRate[i] |
() BubblePointPressure[i]=correlation.BubblePointPressure(T[i], SepT, OilDensity[i], GasDensity[i], SepP, GOR[i]) |
() GasViscosity[i]=correlation.GasViscosity(T[i+1], GasDensity[i]) |
() DeadOilViscosity[i]=correlation.DeadOilViscosity(T[i+1], OilDesnity[i]) |
() SaturatedOilViscosity[i]=correlation.SaturatedOilViscosity(GasSolubility[i], DeadOilViscosity[i]) |
() UnderSaturatedOilViscosity[i]=correlation.UnderSaturatedOilViscosity(P[i+1], BubblePointPressure[i], |
SaturatedOilViscosity[i] |
() OilViscosity[i]=correlation.OilViscosity(DeadOilViscosity[i], SaturatedOilViscosity[i], UnderSaturatedOilViscosity[i], |
P[i+1], BubblePointPressure[i]) |
() WaterViscosity[i]=correlation.WaterViscosity(WaterDensity[i], T[i+1]) |
() OilHeatCapacity[i]=correlation.OilHeatCapacity(OilDensity[i], T[i+1]) |
() WaterHeatCapacity[i]=correlation.WaterHeatCapacity(T[i+1], WaterDensity[i]) |
() GasHeatCapacity[i]=correlation.GasHeatCapacity(T[i+1], GasDensity[i]) |
() LiquidViscosity[i]=(Step 4.OilMassFlowRate[i] Step 5.OilViscosity[i]+ |
Step 4.WaterMassFlowRate[i] Step 5.WaterViscosity[i])/(Step 4.OilMassFlowRate[i]+Step 4.WaterMassFlowRate[i]) |
() MixtureViscosity[i]=(Step 4.OilMassFlowRate[i] Step 5.OilViscosity[i]+ |
Step 4.WaterMassFlowRate[i] Step 5.WaterViscosity[i]+Step 4.GasMassFlowRate[i] |
Step 5.GasViscosity[i])/(Step 4.OilMassFlowRate[i]+Step 4.WaterMassFlowRate[i]+Step 4.GasMassFlowRate[i]) |
() LiquidHeatCapacity[i]=(Step 4.OilMassFlowRate[i] Step 5.OilHeatCapacity[i]+Step 4.WaterMassFlowRate[i] |
Step 5.WaterHeatCapacity[i])/(Step 4.OilMassFlowRate[i]+Step 4.WaterMassFlowRate[i]) |
() MixtureHeatCapacity[i]=(Step 4.OilMassFlowRate[i] Step 5.OilHeatCapacity[i]+ |
Step 4.WaterMassFlowRate[i] Step 5.WaterHeatCapacity[i] |
+Step 4.GasMassFlowRate[i] Step 5.GasHeatCapacity[i])/(Step 4.OilMassFlowRate[i] |
+Step 4.WaterMassFlowRate[i]+Step 4.GasMassFlowRate[i]) |
() LiquidDensity[i]=(Step 4.OilMassFlowRate[i] OilDensity[i]+Step 4.WaterMassFlowRate[i] |
WaterDensity[i])/(Step 4.OilMassFlowRate[i]+Step 4.WaterMassFlowRate[i]) |
() MixtureDensity[i]=(Step 4.OilMassFlowRate[i] OilDensity[i]+Step 4.WaterMassFlowRate[i] |
WaterDensity+Step 4.GasMassFlowRate[i] GasDensity[i])/(Step 4.OilMassFlowRate[i] |
+Step 4.WaterMassFlowRate[i]+Step 4.GasMassFlowRate[i]) |
() SumGasMassFlowRate[i]+=Step 4.GasMassFlowRate[i]+SumGasMassFlowRate[i+1] |
() SumOilMassFlowRate[i]+=Step 4.OilMassFlowRate[i]+SumOilMassFlowRate[i+1] |
() SumWaterMassFlowRate[i]+=Step 4.WaterMassFlowRate[i]+SumWaterMassFlowRate[i+1] |
() MixtureMassFlowRate[i]=SumGasMassFlowRate[i]+SumOilMassFlowRate[i]+SumWaterMassFlowRate[i] |
() T[i]=correlation.Temperature(…) |
() SurfaceTension[i]=correlation.SurfaceTension(T[i], P[i+1]) |
() P[i]=correlation.Pressure(…) |
] |
return new objectStep 5(accumulatedGasMassFlowRate, accumulatedOilMassFlowRate, accumulatedWaterMassFlowRate, gasD, |
oilD, watD, gasSolubility, gor, gasCompressibility, GFVF, OFVF, WFVF, bubblePoint, gasViscosity, oilViscosity, liquidViscosity, |
mixtureViscosity, waterViscosity, oilHeatCapacity, waterHeatCapacity, gasHeatCapacity, T, SurfaceTension, P); |