예제 #1
0
 /// <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);   // Не работает
 }
예제 #2
0
        /// <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);
        }
예제 #3
0
        /// <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;
        }