/// <summary> /// Задание компонентов обводненной скважины /// </summary> /// <param name="wellheadPressure">Давление на устье (МПа)</param> /// <param name="wellheadTemperature">Температура на устье (К)</param> /// <param name="bottomholeTemperature">Температура на забое (К)</param> public void InitWell(double wellheadPressure, double wellheadTemperature, double bottomholeTemperature, double nglDensity, double waterDensity) { base.InitWell(wellheadPressure, wellheadTemperature, bottomholeTemperature, nglDensity); WaterFluid = new WaterFluid(waterDensity); // Не работает NglFluid = new NaturalGasLiquidsFluid(nglDensity); // Не работает }
/// <summary> /// Вычисление необходимого напора (м) /// </summary> /// <param name="bottomholePressure">Забойное давление (МПа)</param> /// <param name="wellheadPressure">Устьевое давление (МПа)</param> /// <param name="depthWell">Глубина скважины (м)</param> /// <param name="waterFluid">Флюид пластовой воды</param> /// <returns></returns> public static double CalcNeededHeadHeight(double bottomholePressure, double wellheadPressure, double depthWell, WaterFluid waterFluid) { //Флюид дистилиованной воды WaterFluid distilledWater = new WaterFluid(PhysicalConstants.DistilledWaterDensity); double Pb = bottomholePressure; double Pwh = wellheadPressure; double d = depthWell; double Pc = waterFluid.CalcColumnPressure(depthWell); // Давление создаваемое столбом дистилированной воды double Ptmp = Pc - Pb + Pwh; double Hdw = distilledWater.CalcColumnHeight(Ptmp); //Высота столба жидкости, создаваемого такое давление return(Hdw); }
/// <summary> /// Жидкостной поток /// </summary> /// <param name="nglRate">Расход газового конденсата (м3/сут)</param> /// <param name="naturalGasLiquidsFluid">Газовый конденсат</param> /// <param name="waterRate">Расход пластовой воды (м3/сут)</param> /// <param name="waterFluid">Водный конденсат</param> public LiquidFlow(double nglRate, NaturalGasLiquidsFluid naturalGasLiquidsFluid, double waterRate, WaterFluid waterFluid) { WaterFluid = waterFluid; NaturalGasLiquidsFluid = naturalGasLiquidsFluid; WaterRate = waterRate; NaturalGasLiquidsRate = nglRate; Rate = NaturalGasLiquidsRate + WaterRate; double k1 = NaturalGasLiquidsRate / Rate; double k2 = WaterRate / Rate; Density = k1 * NaturalGasLiquidsFluid.Density + k2 * WaterFluid.Density; }