Beispiel #1
0
        public void AddUnevenIceGKHang(bool bAdd5mm, double dia, double iceCover1, double iceCover2)
        {
            ElecCalsWorkCondition iceWkCdt;

            var elecCalsSpec = GlobalInfo.GetInstance().GetElecCalsSpecParas();

            if (elecCalsSpec == null)
            {
                return;
            }

            if (bAdd5mm)
            {
                //增加5mm要地线覆冰工况
                iceWkCdt = WeathComm.Where(item => item.Name == "地线覆冰").FirstOrDefault();
            }
            else
            {
                //不增加5mm要最大覆冰工况
                iceWkCdt = WeathComm.Where(item => item.Name == "最大覆冰").FirstOrDefault();
            }


            double thickness  = iceWkCdt == null ? 0 : iceWkCdt.IceThickness;
            double thickness1 = ElecCalsToolBox.IceThicknessExChange(dia, iceCover1, thickness);
            double thickness2 = ElecCalsToolBox.IceThicknessExChange(dia, iceCover2, thickness);

            WeathComm.AddRange(new List <ElecCalsWorkCondition>()
            {
                new ElecCalsWorkCondition()
                {
                    Name         = bAdd5mm ? "不均匀冰满冰(导线+5mm)" : "不均匀冰满冰",
                    IceThickness = thickness,
                    Temperature  = elecCalsSpec.UnevenIceTemp,
                    WindSpeed    = elecCalsSpec.UnevenIceWind,
                },
                new ElecCalsWorkCondition()
                {
                    Name         = bAdd5mm ? "不均匀冰20%(导线+5mm)" : "不均匀冰20%",
                    IceThickness = thickness1,
                    Temperature  = elecCalsSpec.UnevenIceTemp,
                    WindSpeed    = elecCalsSpec.UnevenIceWind,
                },
                new ElecCalsWorkCondition()
                {
                    Name         = bAdd5mm ? "不均匀冰开断(导线+5mm)" : "不均匀冰开断",
                    IceThickness = thickness2,
                    Temperature  = elecCalsSpec.UnevenIceTemp,
                    WindSpeed    = elecCalsSpec.UnevenIceWind,
                },
            });
        }
Beispiel #2
0
        /// <summary>
        /// 增加断线工况-悬垂塔
        /// </summary>
        /// <param name="bGrd">是否是地线:1 地线; 0 导线</param>
        /// <param name="grdIceUnbaPara">地线不平衡张力取值,1:轻冰区不考虑增加5mm,2:重冰区增加5mm</param>
        /// <param name="dia">直径</param>
        /// <param name="breakIceCover">断线覆冰率</param>
        public void AddBreakGKHang(bool bAdd5mm, double dia, double breakIceCover1, double breakIceCover2)
        {
            var elecCalsSpec = GlobalInfo.GetInstance().GetElecCalsSpecParas();

            if (elecCalsSpec == null)
            {
                return;
            }

            ElecCalsWorkCondition iceWkCdt;

            if (bAdd5mm)
            {
                iceWkCdt = WeathComm.Where(item => item.Name == "地线覆冰").FirstOrDefault();
            }
            else
            {
                iceWkCdt = WeathComm.Where(item => item.Name == "最大覆冰").FirstOrDefault();
            }
            double iceThickness = iceWkCdt == null ? 0 : iceWkCdt.IceThickness;

            double thickness1 = ElecCalsToolBox.IceThicknessExChange(dia, breakIceCover1, iceThickness);
            double thickness2 = ElecCalsToolBox.IceThicknessExChange(dia, breakIceCover2, iceThickness);

            WeathComm.Add(new ElecCalsWorkCondition()
            {
                Name         = bAdd5mm ? "断线(导线+5mm)" : "断线",
                IceThickness = thickness1,
                Temperature  = elecCalsSpec.BreakTemp,
                WindSpeed    = elecCalsSpec.BreakWind,
            });

            WeathComm.Add(new ElecCalsWorkCondition()
            {
                Name         = bAdd5mm ? "断线开断(导线+5mm)" : "断线开断",
                IceThickness = thickness2,
                Temperature  = elecCalsSpec.BreakTemp,
                WindSpeed    = elecCalsSpec.BreakWind,
            });

            WeathComm.Add(new ElecCalsWorkCondition()
            {
                Name         = bAdd5mm ? "断线满冰(导线+5mm)" : "断线满冰",
                IceThickness = iceThickness,
                Temperature  = iceWkCdt == null ? 0 : iceWkCdt.Temperature,
                WindSpeed    = 0,
            });
        }
Beispiel #3
0
        /// <summary>
        /// 增加断线工况-耐张塔
        /// </summary>
        /// <param name="bGrd">是否是地线:1 地线; 0 导线</param>
        /// <param name="grdIceUnbaPara">地线不平衡张力取值,1:轻冰区不考虑增加5mm,2:重冰区增加5mm</param>
        /// <param name="dia">直径</param>
        /// <param name="breakIceCover">断线覆冰率</param>
        public void AddBreakGKStrain(string name, int bGrd, int grdIceUnbaPara, double dia, double breakIceCover)
        {
            double thickness;
            ElecCalsWorkCondition iceWkCdt;

            var elecCalsSpec = GlobalInfo.GetInstance().GetElecCalsSpecParas();

            if (elecCalsSpec == null)
            {
                return;
            }

            if (bGrd == 1 && grdIceUnbaPara == 2)
            {
                //地线不平衡张力考虑+5m时,要找到地线覆冰工况
                iceWkCdt = WeathComm.Where(item => item.Name == "地线覆冰").FirstOrDefault();
                if (iceWkCdt == null)
                {
                    return;
                }
                thickness = ElecCalsToolBox.IceThicknessExChange(dia, breakIceCover, iceWkCdt.IceThickness);
            }
            else
            {
                //导线以及地线不平衡张力不考虑+5m 要找到最大覆冰工况
                iceWkCdt = WeathComm.Where(item => item.Name == "最大覆冰").FirstOrDefault();
                if (iceWkCdt == null)
                {
                    return;
                }
                thickness = ElecCalsToolBox.IceThicknessExChange(dia, breakIceCover, iceWkCdt.IceThickness);
            }

            WeathComm.Add(new ElecCalsWorkCondition()
            {
                Name         = name,
                IceThickness = thickness,
                Temperature  = elecCalsSpec.BreakTemp,
                WindSpeed    = elecCalsSpec.BreakWind,
            });
        }