Пример #1
0
        /// <summary>
        /// Вычисляет продолжительность выдержки в сечении 3
        /// </summary>
        /// <param name="t3m">Температура массы заготовки в сечении 3</param>
        /// <param name="t2m">Температура массы заготовки в сечении 2</param>
        /// <param name="t3pv">Температура верхней поверхности заготовки в сечении 3</param>
        /// <param name="t3pn">Температура нижней поверхности заготовки в сечении 3</param>
        /// <param name="t2p">Температура поверхности заготовки в сечении 2</param>
        /// <param name="t2c">Минимальная температура заготовки перед заходом на сплошной под (в сечении 2)</param>
        /// <param name="S">Толщина заготовки</param>
        /// <param name="steelType">Тип стали: 0 - литая кипящая, 1 - литая спокойная, 2 - кованая или прокатанная</param>
        /// <returns></returns>
        public Double GetTimeForZone3(Double t3m, Double t2m, Double t3pv, Double t3pn, Double t2p, Double t2c, Double S, SteelTypeForDensity steelType, SteelTypeProperty steel)
        {
            //ПОКА ТОЛЬКО МАЛОУГЛЕРОДИСТАЯ СТАЛЬ
            //Средняя теплоемкость заготовки
            Double Cm3 = GetHeatCapacityBySteelType(t3m, steel);
            Double Cm2 = GetHeatCapacityBySteelType(t2m, steel);
            Double Cm  = (Cm3 * t3m - Cm2 * t2m) / (t3m - t2m);
            //Средняя теплопроводность заготовки
            Double lambda = (GetThermalConductivityBySteelType(t3m - 100, steel) + GetThermalConductivityBySteelType(t2m - 100, steel)) / 2;
            //Средняя температуропроводность
            Int32 p;

            switch (steelType)
            {
            case SteelTypeForDensity.CastBoiling: p = 6600; break;

            case SteelTypeForDensity.CastQuiet: p = 7600; break;

            case SteelTypeForDensity.ForgedLaminated: p = 7850; break;

            default: throw new InvalidOperationException("Неверно задан тип стали");
            }
            Double Am = lambda / Cm / p;
            //Прогреваемая сверху толщина заготовки
            Double Sv = (-0.92 * 0.5 + 1.052) * S;
            Double Sn = S - Sv;

            return((Math.Pow(S, 2) / 2.467 / Am) * Math.Log(1.621 * (Math.Pow(S / Sv, 2) * 0.637 - S * Sn / Math.Pow(Sv, 2)) * ((t2p - t2c) / (t3pv - t3pn))));
        }
Пример #2
0
        /// <summary>
        /// Вычисляет длину активной части пода печи
        /// </summary>
        /// <param name="fullTime">Полное время нагрева изделий</param>
        /// <param name="furnanceProductivity">Производительность печи, тонн в час</param>
        /// <param name="S">Толщина заготовки</param>
        /// <param name="l">Длина заготовки</param>
        /// <param name="n">Число рядов заготовок по ширине печи</param>
        /// <param name="steelType">Тип стали: 0 - литая кипящая, 1 - литая спокойная, 2 - кованая или прокатанная</param>
        /// <returns></returns>
        public Double GetLengthActivePartFurnance(Double fullTime, Double furnanceProductivity, Double S, Double l, Double n, SteelTypeForDensity steelType)
        {
            Int32 p;

            switch (steelType)
            {
            case SteelTypeForDensity.CastBoiling: p = 6600; break;

            case SteelTypeForDensity.CastQuiet: p = 7600; break;

            case SteelTypeForDensity.ForgedLaminated: p = 7850; break;

            default: throw new InvalidOperationException("Неверно задан тип стали");
            }
            return((furnanceProductivity * 1000 / 3600) * fullTime / S / l / p / n / 0.92); //0.92 - коэффициент заполнения
        }
Пример #3
0
        /// <summary>
        /// Вычисляет время нагрева заготовки в зоне 2
        /// </summary>
        /// <param name="S">Высота заготовки</param>
        /// <param name="t1">Температура заготовки в сечении 1</param>
        /// <param name="t2">Температура заготовки в сечении 2</param>
        /// <param name="q">Средний тепловой поток в зоне 2</param>
        /// <param name="steelType">Тип стали: 0 - литая кипящая, 1 - литая спокойная, 2 - кованая или прокатанная</param>
        /// <returns></returns>
        public Double GetHeatingTimeinZone2(Double S, Double t1, Double t2, Double q, SteelTypeForDensity steelType, SteelTypeProperty steel)
        {
            //Верхняя прогреваемая толщина заготовки
            Double Sv  = (-0.92 * 0.5 + 1.052) * S; //0.5 - тепловая мощность низа печи
            Double Cm2 = GetHeatCapacityBySteelType(t2, steel);
            Double Cm1 = GetHeatCapacityBySteelType(t1, steel);
            Double Cm  = (Cm2 * t2 - Cm1 * t1) / (t2 - t1);
            //Плотность нагреваемой стали
            Double p;

            switch (steelType)
            {
            case SteelTypeForDensity.CastBoiling: p = 6600; break;

            case SteelTypeForDensity.CastQuiet: p = 7600; break;

            case SteelTypeForDensity.ForgedLaminated: p = 7850; break;

            default: throw new InvalidOperationException("Неверно задан тип стали");
            }
            return(Sv * Cm * p * (t2 - t1) / q);
        }