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; } } }