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