修改好了计算张力的程序。
This commit is contained in:
parent
35a7300803
commit
6bd527bae2
79
core.cs
79
core.cs
|
|
@ -2,8 +2,17 @@ using System;
|
|||
namespace conductortension
|
||||
{
|
||||
|
||||
partial class Core
|
||||
public partial class Core
|
||||
{
|
||||
//alpha 是膨胀系数
|
||||
//E 弹性模量
|
||||
//area 导线截面
|
||||
//t 温度
|
||||
// l 档距
|
||||
public static double Fx(double E,double load,double tension,double alpha,double area,double t)
|
||||
{
|
||||
return E * Math.Pow(load / tension, 2) /24- tension / area - alpha * E * t;
|
||||
}
|
||||
|
||||
public static bool CalZhangLi(calStressLoadNew inPut, ref double ZhangLi)
|
||||
{
|
||||
|
|
@ -19,8 +28,8 @@ namespace conductortension
|
|||
|
||||
//计算最大使用张力
|
||||
double ZuiDaShiYongZhangLi; //最大使用张力=计算拉断力*保证破断张力取计算拉断力的/安全系数
|
||||
//ZuiDaShiYongZhangLi = inPut.LaDuanLi * inPut.BaoZhengPoDuanZhangLi / inPut.AnQuan;
|
||||
ZuiDaShiYongZhangLi = inPut.LaDuanLi / inPut.AnQuan;
|
||||
ZuiDaShiYongZhangLi = inPut.LaDuanLi * inPut.BaoZhengPoDuanZhangLiXiShu / inPut.AnQuan;
|
||||
//ZuiDaShiYongZhangLi = inPut.LaDuanLi / inPut.AnQuan;
|
||||
//计算温度线膨胀系数
|
||||
double XianPengZhang = inPut.XianPengZhang * 0.000001;
|
||||
//计算平均运行张力
|
||||
|
|
@ -33,19 +42,19 @@ namespace conductortension
|
|||
{
|
||||
inPut.NianPingJun = inPut.NianPingJun / 100;
|
||||
}
|
||||
double PingJunYunXingZhangLi = inPut.LaDuanLi * inPut.BaoZhengPoDuanZhangLi * inPut.NianPingJun;///////////////////////////////////////////////////////////////////////年平均是20%还是0.2,这里要求的是小数
|
||||
double PingJunYunXingZhangLi = inPut.LaDuanLi * inPut.BaoZhengPoDuanZhangLiXiShu * inPut.NianPingJun;///////////////////////////////////////////////////////////////////////年平均是20%还是0.2,这里要求的是小数
|
||||
if (inPut.SheJiFengSuGaoDu == 0)
|
||||
{
|
||||
inPut.SheJiFengSuGaoDu = 10;
|
||||
}
|
||||
if (inPut.PingJunGaoDu == 0)
|
||||
{
|
||||
inPut.PingJunGaoDu = 20;
|
||||
inPut.PingJunGaoDu = 20;//TODO:需要依据电压等级选择
|
||||
}
|
||||
double a, b, T1, T2, T3, T4, T5, T6;
|
||||
//计算待求工况比载
|
||||
double BiZai = 0; //待求工况比载
|
||||
if (CalHeZai(inPut, ref BiZai) == false)
|
||||
double DaiHeZai = 0; //待求工况比载
|
||||
if (CalHeZai(inPut, ref DaiHeZai) == false)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -57,7 +66,7 @@ namespace conductortension
|
|||
double KongZhiYingLi;
|
||||
|
||||
//临界档距表计算
|
||||
//一、初始计算数组,5项分别代表:1:气温,2:比载,3:容许张力,4:P/T,5:Fo=-(T+A*E*a*t)(N)
|
||||
//一、初始计算数组,5项分别代表:1:气温,2:荷载,3:容许张力,4:P/T,5:Fo=-(T+A*E*a*t)(N)
|
||||
double[] ChuShiZuiDiQiWen = new double[5]; //最低温
|
||||
double[] ChuShiNianPingJun = new double[5]; //年平均气温
|
||||
double[] ChuShiDaFeng = new double[5]; //大风
|
||||
|
|
@ -94,7 +103,7 @@ namespace conductortension
|
|||
ChuShiNianPingJun[2] = PingJunYunXingZhangLi;
|
||||
ChuShiDaFeng[2] = ZuiDaShiYongZhangLi;
|
||||
ChuShiFuBing[2] = ZuiDaShiYongZhangLi;
|
||||
//4:计算并存储P/T
|
||||
//4:计算并存储P/T 荷载/张力
|
||||
ChuShiZuiDiQiWen[3] = ChuShiZuiDiQiWen[1] / ChuShiZuiDiQiWen[2];
|
||||
ChuShiNianPingJun[3] = ChuShiNianPingJun[1] / ChuShiNianPingJun[2];
|
||||
ChuShiDaFeng[3] = ChuShiDaFeng[1] / ChuShiDaFeng[2];
|
||||
|
|
@ -459,7 +468,7 @@ namespace conductortension
|
|||
//计算a
|
||||
a = inPut.JieMianJi * Math.Pow(KongZhiBiZai, 2) * Math.Pow(inPut.DangJu, 2) * inPut.MoLiang / (Math.Pow(KongZhiYingLi, 2) * 24) - KongZhiYingLi + XianPengZhang * inPut.JieMianJi * inPut.MoLiang * (inPut.DaiWen - KongZhiQiWen);
|
||||
//计算b
|
||||
b = inPut.JieMianJi * inPut.MoLiang * Math.Pow(BiZai, 2) * Math.Pow(inPut.DangJu, 2) / 24;
|
||||
b = inPut.JieMianJi * inPut.MoLiang * Math.Pow(DaiHeZai, 2) * Math.Pow(inPut.DangJu, 2) / 24;
|
||||
|
||||
T1 = ZuiDaShiYongZhangLi - (Math.Pow(ZuiDaShiYongZhangLi, 2) * (ZuiDaShiYongZhangLi + a) - b) / (Math.Pow(ZuiDaShiYongZhangLi, 2) * 3 + ZuiDaShiYongZhangLi * a * 2);
|
||||
T2 = T1 - (T1 * T1 * (T1 + a) - b) / (T1 * T1 * 3 + T1 * a * 2);
|
||||
|
|
@ -507,7 +516,7 @@ namespace conductortension
|
|||
public double DaiWen; //待求工况气温(C)
|
||||
public double DangJu; //档距(m)
|
||||
public double SheJiFengSuGaoDu; //设计基准风速高度
|
||||
public double BaoZhengPoDuanZhangLi; //保证破断张力取计算拉断力的%,即张力系数
|
||||
public double BaoZhengPoDuanZhangLiXiShu; //保证破断张力取计算拉断力的%,即张力系数
|
||||
public double dxLoad; //线荷载
|
||||
}
|
||||
|
||||
|
|
@ -562,26 +571,26 @@ namespace conductortension
|
|||
|
||||
double bi = 1;//覆冰增大系数B
|
||||
|
||||
if (inPut.DaiBing == 0) //'无冰工况
|
||||
bi = 1;
|
||||
else if (inPut.DaiBing <= 5)
|
||||
bi = 1.1;
|
||||
else if (inPut.DaiBing <= 10)
|
||||
bi = 1.2;
|
||||
else if (inPut.DaiBing <= 15)
|
||||
bi = 1.3;
|
||||
else if (inPut.DaiBing <= 20)
|
||||
bi = 1.5;
|
||||
else if (inPut.DaiBing <= 25)
|
||||
bi = 1.7;
|
||||
else if (inPut.DaiBing <= 30)
|
||||
bi = 1.8;
|
||||
else if (inPut.DaiBing <= 40)
|
||||
bi = 1.9;
|
||||
else if (inPut.DaiBing <= 60)
|
||||
bi = 2;
|
||||
|
||||
double u = 1.1;//体型系数
|
||||
//if (inPut.DaiBing == 0) //'无冰工况
|
||||
// bi = 1;
|
||||
//else if (inPut.DaiBing <= 5)
|
||||
// bi = 1.1;
|
||||
//else if (inPut.DaiBing <= 10)
|
||||
// bi = 1.2;
|
||||
//else if (inPut.DaiBing <= 15)
|
||||
// bi = 1.3;
|
||||
//else if (inPut.DaiBing <= 20)
|
||||
// bi = 1.5;
|
||||
//else if (inPut.DaiBing <= 25)
|
||||
// bi = 1.7;
|
||||
//else if (inPut.DaiBing <= 30)
|
||||
// bi = 1.8;
|
||||
//else if (inPut.DaiBing <= 40)
|
||||
// bi = 1.9;
|
||||
//else if (inPut.DaiBing <= 60)
|
||||
// bi = 2;
|
||||
//导线力学计算不考虑覆冰增大系数 by 杜孟远 20200406
|
||||
double u;//体型系数
|
||||
|
||||
if (inPut.DaiBing > 0 || inPut.WaiJing < 17)
|
||||
u = 1.2;
|
||||
|
|
@ -601,19 +610,17 @@ namespace conductortension
|
|||
if (inPut.DaiFeng < 20)
|
||||
a = 1;
|
||||
else if (inPut.DaiFeng < 27)
|
||||
a = 0.8;
|
||||
a = 0.85;
|
||||
else if (inPut.DaiFeng < 31.5)
|
||||
a = 0.75;
|
||||
else
|
||||
a = 0.7;
|
||||
|
||||
|
||||
dx3 = Math.Pow(inPut.DaiFeng, 2) * inPut.WaiJing * u * a * bi / 1600;// '导线无冰风荷载
|
||||
}
|
||||
else
|
||||
{
|
||||
a = 1; // '有冰工况定义风压不均匀系数a=1
|
||||
dx3 = Math.Pow(inPut.DaiFeng, 2) * (inPut.WaiJing + 2 * inPut.DaiBing) * a * bi * u / 1600; // '导线有冰风荷载
|
||||
//a = 1; // '有冰工况定义风压不均匀系数a=1
|
||||
dx3 = 1.2*Math.Pow(inPut.DaiFeng, 2) * (inPut.WaiJing + 2 * inPut.DaiBing) * a * bi/ 1600; // '导线有冰风荷载
|
||||
}
|
||||
|
||||
HeZai = Math.Sqrt(Math.Pow((ZiZhongHeZai + ChuiZhiHeZai), 2) + Math.Pow(dx3, 2));// '存储导线荷载
|
||||
|
|
|
|||
Loading…
Reference in New Issue