| | |
| | | #region 检查数据 |
| | | if (complex_request_paras.OutletPipePara == null || complex_request_paras.OutletPipePara.Count < 1) |
| | | { |
| | | error_info = string.Format("第{0},分析出错,原因是:{1}", |
| | | error_info = string.Format("{0}时,分析出错,原因是:{1}", |
| | | hourRequest.Hour + 1, "出口管路参数有误, 请确认是否赋值, ERROR 35"); |
| | | return null; |
| | | } |
| | |
| | | {//检查压力 |
| | | continue; |
| | | } |
| | | if (complex_request_paras.WaterLevelPara != null) |
| | | if (complex_request_paras.InletPipePara != null) |
| | | { |
| | | foreach (var wl in complex_request_paras.WaterLevelPara) |
| | | foreach (var wl in complex_request_paras.InletPipePara) |
| | | { |
| | | cacheNameBuilder.AppendFormat("V{0}", Math.Round(wl.Value, 0)); |
| | | } |
| | |
| | | var result_anaSchemes = CalcSchemes压力(complex_request_paras, null, out error_info); |
| | | if (result_anaSchemes == null || result_anaSchemes.Count == 0) |
| | | { |
| | | error_info = string.Format("第{0},分析出错,原因是:{1}", hourRequest.Hour + 1, error_info); |
| | | if (string.IsNullOrEmpty(error_info)) |
| | | { |
| | | error_info = string.Format("{0}时,分析出错,可能是入参数据不合理,请检查", |
| | | hourRequest.Hour + 1 ); |
| | | } |
| | | else |
| | | { |
| | | error_info = string.Format("{0}时,分析出错,原因是:{1}", |
| | | hourRequest.Hour + 1, |
| | | error_info); |
| | | } |
| | | |
| | | return null; |
| | | } |
| | | opt_anaScheme = result_anaSchemes.First(); |
| | |
| | | sum.WP = CalculateWP(sum.Dt, sum.Qt); |
| | | return sum; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | /// <param name="pipes"></param> |
| | | /// <returns></returns> |
| | | protected static double CalcConnectPipeEta(List<IStation.Calculation.DispatchAna.Model.AnaScheme> pipes) |
| | | { |
| | | double eta = 0; |
| | | double qh = 0; |
| | | int count = 0; |
| | | foreach (var pipe in pipes) |
| | | { |
| | | if (pipe == null) |
| | | continue; |
| | | if (pipe.TotalWrkQ < 1 || pipe.TotalWrkH < 0.1) |
| | | continue; |
| | | qh += pipe.TotalWrkQ * pipe.TotalWrkH; |
| | | eta += pipe.TotalWrkQ * pipe.TotalWrkH * pipe.TotalWrkE; |
| | | count++; |
| | | } |
| | | if (count <= 0) |
| | | return 0; |
| | | return Math.Round(eta / qh, 2); |
| | | } |
| | | } |
| | | } |