public void ConverWind(double aveHei, char terType) { var temp1 = WeathComm.Where(item => item.Name == "最大风速").FirstOrDefault(); if (temp1 == null) { temp1 = new ElecCalsWorkCondition(); } WeathComm.Add(new ElecCalsWorkCondition { //在计算中相当于Eecel"最大风速" Name = "换算最大风速", IceThickness = temp1.IceThickness, Temperature = temp1.Temperature, WindSpeed = ElecCalsToolBox.WindExChange(temp1.WindSpeed, aveHei, terType), BaseWindSpeed = temp1.WindSpeed, }); var temp = WeathComm.Where(item => item.Name == "不均匀风").FirstOrDefault(); if (temp == null) { temp = new ElecCalsWorkCondition(); } WeathComm.Add(new ElecCalsWorkCondition { //在计算中相当于Eecel"不均匀风" Name = "换算不均匀风", IceThickness = temp.IceThickness, Temperature = temp.Temperature, WindSpeed = ElecCalsToolBox.WindExChange(temp.WindSpeed, aveHei, terType), BaseWindSpeed = temp.WindSpeed, }); }
/// <summary> /// 增加其他需要应用的工况 /// </summary> public void AddOtherGk() { var temp = WeathComm.Where(item => item.Name == "最大覆冰").FirstOrDefault(); WeathComm.Add(new ElecCalsWorkCondition { Name = "覆冰无风", IceThickness = temp == null ? 0 : temp.IceThickness, WindSpeed = 0, Temperature = temp == null ? 0 : temp.Temperature, }); }
/// <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, }); }
public void AddInstallColdGk(double decrTem) { var wkCdt = WeathComm.Where(item => item.Name == "安装情况").FirstOrDefault(); if (wkCdt == null) { wkCdt = new ElecCalsWorkCondition(); } WeathComm.Add(new ElecCalsWorkCondition { Name = "安装情况降温", IceThickness = wkCdt.IceThickness, Temperature = wkCdt.Temperature - decrTem, WindSpeed = wkCdt.WindSpeed, }); }
/// <summary> /// 增加地线覆冰计算,用于计算地线覆冰荷 /// </summary> public void AddGrdWeath() { var temp = WeathComm.Where(item => item.Name == "最大覆冰").FirstOrDefault(); if (temp == null) { temp = new ElecCalsWorkCondition(); } WeathComm.Add(new ElecCalsWorkCondition { Name = "地线覆冰", IceThickness = (temp.IceThickness > 0 ? temp.IceThickness + 5 : temp.IceThickness), Temperature = temp.Temperature, WindSpeed = temp.WindSpeed, }); }
/// <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, }); }
/// <summary> /// 更新地线的验算工况的冰厚 /// </summary> public void AddCkeckGKIcr5mm(string towerType) { var chekWkCdt = WeathComm.Where(item => item.Name == "验算冰").FirstOrDefault(); if (chekWkCdt == null) { chekWkCdt = new ElecCalsWorkCondition(); } WeathComm.Add(new ElecCalsWorkCondition { Name = "验算冰(导线+5mm)", IceThickness = chekWkCdt.IceThickness + 5, Temperature = chekWkCdt.Temperature, WindSpeed = chekWkCdt.WindSpeed, }); var iceWkCdt = WeathComm.Where(item => item.Name == "地线覆冰").FirstOrDefault(); if (iceWkCdt == null) { iceWkCdt = new ElecCalsWorkCondition(); } WeathComm.Add(new ElecCalsWorkCondition { Name = "覆冰无风+5", IceThickness = iceWkCdt.IceThickness, Temperature = iceWkCdt.Temperature, WindSpeed = 0, }); if (towerType == "悬垂塔") { return; } var chekIWkCdt = WeathComm.Where(item => item.Name == "验算不均匀冰I").FirstOrDefault(); if (chekIWkCdt == null) { chekIWkCdt = new ElecCalsWorkCondition(); } WeathComm.Add(new ElecCalsWorkCondition { Name = "验算不均匀冰I(导线+5mm)", IceThickness = chekIWkCdt.IceThickness + 5, Temperature = chekIWkCdt.Temperature, WindSpeed = chekIWkCdt.WindSpeed, }); var chekIIWkCdt = WeathComm.Where(item => item.Name == "验算不均匀冰II").FirstOrDefault(); if (chekIIWkCdt == null) { chekIIWkCdt = new ElecCalsWorkCondition(); } WeathComm.Add(new ElecCalsWorkCondition { Name = "验算不均匀冰II(导线+5mm)", IceThickness = chekIIWkCdt.IceThickness + 5, Temperature = chekIIWkCdt.Temperature, WindSpeed = chekIIWkCdt.WindSpeed, }); }