using System.Collections.Generic;
|
using System.Linq;
|
|
namespace PBS.WinFrmUI.Hydro.Dispatch
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public class CalculatorBase
|
{
|
/// <summary>
|
/// 初始化机泵列表
|
/// </summary>
|
protected bool BuildMachineList(List<SimuPumpViewModel> simuCalcPumps, out List<Model.MachineDetailEx> machines, out string errInfo)
|
{
|
machines = null;
|
errInfo = null;
|
|
machines = new List<Model.MachineDetailEx>();
|
foreach (var pump in simuCalcPumps)
|
{
|
var machineDetail = new Model.MachineDetailEx(pump);
|
machines.Add(machineDetail);
|
}
|
|
return true;
|
}
|
|
|
#region 计算能耗
|
|
/// <summary>
|
/// 计算千吨能耗
|
/// </summary>
|
/// <param name="power">功率kW</param>
|
/// <param name="flow">瞬时流量m³/h</param>
|
/// <returns>kW·h/km³</returns>
|
public static double CalculateWP(double power, double flow)
|
{
|
if (flow < 0.1)
|
return 0;
|
return power / flow * 1000;
|
}
|
|
/// <summary>
|
/// 计算单位能耗
|
/// </summary>
|
/// <param name="p">功率kW</param>
|
/// <param name="q">瞬时流量m³/h</param>
|
/// <param name="h">扬程m</param>
|
/// <returns>kW·h/km³</returns>
|
public static double CalculateUWP(double p, double q, double h)
|
{
|
if (q < 0.1)
|
return default;
|
if (h < 0.1)
|
return default;
|
return p / q / h * 1000;
|
}
|
|
#endregion
|
|
}
|
}
|