conductor_tension/Test/ConductorTensionFixture.cs

176 lines
7.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUnit.Framework;
using conductortension;
namespace Test
{
[TestFixture]
public class ConductorTensionFixture
{
private conductortension.Core.calStressLoadNew basicInput;
public static conductortension.Core.calStressLoadNew setInput()
{
conductortension.Core.calStressLoadNew t_basicInput;
t_basicInput = new conductortension.Core.calStressLoadNew();
t_basicInput.WaiJing = 33.8;
t_basicInput.ZhongLiang = 2078.4;
t_basicInput.SheJiFengSuGaoDu = 10;
t_basicInput.PingJunGaoDu = 20;
t_basicInput.MoLiang = 63700;
t_basicInput.XianPengZhang = 20.8 * 1e-6;
t_basicInput.AnQuan = 2.5;
t_basicInput.JieMianJi = 672.81;
t_basicInput.BaoZhengPoDuanZhangLiXiShu = 95;
t_basicInput.EDingLaDuanLi = 142680.5 / 0.95;
t_basicInput.NianPingJunXishu = 25;
t_basicInput.PingFeng = 0;
t_basicInput.PingBing = 0;
t_basicInput.PingWen = 15;
t_basicInput.FengFeng = 27;
t_basicInput.FengBing = 0;
t_basicInput.FengWen = -5;
t_basicInput.DiFeng = 0;
t_basicInput.DiBing = 0;
t_basicInput.DiWen = -20;
t_basicInput.BingFeng = 10;
t_basicInput.BingBing = 10;
t_basicInput.BingWen = -5;
return t_basicInput;
}
[OneTimeSetUp]
public void Setup()
{
basicInput = setInput();
}
[Test]
public void BigWindLoad()//大风综合荷载
{
conductortension.Core.calStressLoadNew condition = basicInput;
double Hezai=0;
condition.DaiBing = condition.FengBing;
condition.DaiFeng = condition.FengFeng;
//double wind_velocity = 0;//折算到平均高下的风速
//wind_velocity = Math.Round(condition.DaiFeng * Math.Pow(condition.PingJunGaoDu / condition.SheJiFengSuGaoDu, 0.16), 2);
//condition.DaiFeng = wind_velocity;
condition.DaiZheSuanFengSu = true;
conductortension.Core.CalHeZai(condition, ref Hezai);
Assert.AreEqual(25.8280, Hezai, 1e-4);
}
[Test]
public void AverageTemperatureLoad()//平均温综合荷载
{
conductortension.Core.calStressLoadNew condition = basicInput;
double Hezai = 0;
condition.DaiBing = condition.PingBing;
condition.DaiFeng = condition.PingFeng;
conductortension.Core.CalHeZai(condition, ref Hezai);
Assert.AreEqual(20.3821, Hezai, 1e-4);
}
[Test]
public void IceLoad()//覆冰综合荷载
{
conductortension.Core.calStressLoadNew condition = basicInput;
double Hezai = 0;
condition.DaiFeng = condition.BingFeng;
condition.DaiBing = condition.BingBing;
condition.DaiZheSuanFengSu = false;
conductortension.Core.CalHeZai(condition, ref Hezai);
Assert.AreEqual(32.7762, Hezai, 1e-4);
}
[Test]
public void FxFunctionBigWind()//计算大风下的Fx
{
conductortension.Core.calStressLoadNew condition=basicInput;
condition.DaiBing = condition.FengBing;
condition.DaiFeng = condition.FengFeng;
condition.DaiWen = condition.FengWen;
double Hezai=0;
//double wind_velocity;
//wind_velocity = Math.Round(condition.DaiFeng * Math.Pow(condition.PingJunGaoDu / condition.SheJiFengSuGaoDu, 0.16), 2);
//condition.DaiFeng = wind_velocity;
condition.DaiZheSuanFengSu = true;
conductortension.Core.CalHeZai(condition, ref Hezai);
double val;
val = conductortension.Core.Fx(condition.MoLiang, Hezai, condition.BaoZhengPoDuanZhangLiXiShu * condition.EDingLaDuanLi/100 / condition.AnQuan, condition.XianPengZhang, condition.JieMianJi, condition.DaiWen,1);
Assert.AreEqual(0.000543576 - 78.20182267, val, 1e-4);
}
[Test]
public void FxFunctionAverageTemperature()//平均温下的Fx
{
conductortension.Core.calStressLoadNew condition = basicInput;
condition.DaiBing = condition.PingBing;
condition.DaiFeng = condition.PingFeng;
condition.DaiWen = condition.PingWen;
double Hezai = 0;
condition.DaiFeng = 0;
conductortension.Core.CalHeZai(condition, ref Hezai);
double val;
val = conductortension.Core.Fx(condition.MoLiang, Hezai, condition.BaoZhengPoDuanZhangLiXiShu * condition.EDingLaDuanLi / 100 *condition.NianPingJunXishu/100, condition.XianPengZhang, condition.JieMianJi, condition.DaiWen,1);
Assert.AreEqual(0.0008666 - 72.89103917, val, 1e-4);
}
[Test]
public void FxFunctionIce()//覆冰下的Fx
{
conductortension.Core.calStressLoadNew condition = basicInput;
condition.DaiBing = condition.BingBing;
condition.DaiFeng = condition.BingFeng;
condition.DaiWen = condition.BingWen;
condition.DaiZheSuanFengSu = false;
double Hezai = 0;
conductortension.Core.CalHeZai(condition, ref Hezai);
double val;
val = conductortension.Core.Fx(condition.MoLiang, Hezai, condition.BaoZhengPoDuanZhangLiXiShu * condition.EDingLaDuanLi / 100 / condition.AnQuan, condition.XianPengZhang, condition.JieMianJi, condition.DaiWen,1);
Assert.AreEqual(0.000875377 - 78.20182267, val, 1e-4);
}
[Test]
public void HighTemperateureTension()//高温下张力
{
conductortension.Core.calStressLoadNew condition = basicInput;
condition.DaiFeng = 0;
condition.DaiWen = 50;
condition.DaiBing = 0;
condition.DangJu = 300;
double zhangli = 0;
conductortension.Core.CalZhangLi(condition, ref zhangli);
Assert.AreEqual(29374, zhangli, 1);
}
[Test]
public void LowTemperatureTension()//低温下张力
{
conductortension.Core.calStressLoadNew condition = basicInput;
condition.DaiFeng = 0;
condition.DaiWen = -20;
condition.DaiBing = 0;
condition.DangJu = 200;
double zhangli = 0;
conductortension.Core.CalZhangLi(condition, ref zhangli);
Assert.AreEqual(53800, zhangli, 1);
}
[Test]
public void IceTension()//覆冰下张力
{
conductortension.Core.calStressLoadNew condition = basicInput;
condition.DaiFeng = 10;
condition.DaiWen = -5;
condition.DaiBing = 10;
condition.DangJu = 200;
condition.DaiZheSuanFengSu = false;
double zhangli = 0;
conductortension.Core.CalZhangLi(condition, ref zhangli);
Assert.AreEqual(55284, zhangli, 1);
}
}
}