ningshuxia
2025-03-28 b6a00e2fddcf2343b981c30be670aa00b87699dc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
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
 
    }
}