namespace Yw.Epanet
{
///
/// 计算辅助类
///
public class CalcuHelper
{
///
/// 计算流速 m/s
///
/// 流量m³/h
/// 直径 mm
/// 流速 m/s
public static double CalcuVelocity(double flow, double diameter)
{
if (diameter <= 0)
{
return default;
}
// 单位转换
var q = flow / 3600;// m³/h → m³/s
var d = diameter / 1000; // mm → m
// 计算横截面积
var a = Math.PI * Math.Pow(d, 2) / 4;
// 计算流速 (m/s)
double velocity = q / a;
return velocity;
}
///
/// 计算局部损失
///
/// 损失系数
/// 流速m/s
/// 局部损失 m
public static double CalcuMinorLoss(double k, double velocity)
{
return k * Math.Pow(Math.Abs(velocity), 2) / (2 * ConstParas.g);
}
///
/// 计算能量
///
/// 流量 m³/h
/// 水头 m
/// 能量 w
public static double CalcuEnergy(double flow, double head)
{
var energy = Math.Abs(flow * head);
energy = energy * ConstParas.WaterDensity * ConstParas.g / 3600;
return energy;
}
}
}