ÎļþÃû´Ó WinFrmUI/PBS.WinFrmUI.Hydro/06-simulation-drill/01-/02-schedule/ScheduleHelper.cs ÐÞ¸Ä |
| | |
| | | { |
| | | if (combine == null || !combine.Any()) |
| | | return default; |
| | | |
| | | |
| | | //å
ä¿®æ£ç»åæ²çº¿å模åçåå·®æ¬ç¨ |
| | | var conclusion_ex_list_list = new List<List<AnalysisConclusionViewModel>>(); |
| | | var conclusion_ex_list_dict = new Dictionary<long, List<AnalysisConclusionViewModel>>(); |
| | |
| | | { |
| | | |
| | | //è¿å£æ°´ä½ |
| | | var inlet_water_level = 0; |
| | | |
| | | |
| | | var inlet_water_level = 0; |
| | | var current_pressure_diff = target_pressure - inlet_water_level + _sel_opt_pump_pressure_excess; |
| | | current_pressure_diff = Math.Round(current_pressure_diff, 1); |
| | | |
| | |
| | | return default; |
| | | |
| | | |
| | | var total_flow_deviation_ratio = Math.Abs(1 - Math.Abs(total_flow / target_flow)); |
| | | if (total_flow_deviation_ratio > _sel_opt_flow_deviation_ratio) |
| | | return default; |
| | | if (total_flow_deviation_ratio > _sel_opt_reasonable_flow_deviation_ratio) |
| | | { |
| | | combine_merit_ratio -= total_flow_deviation_ratio; |
| | | } |
| | | //var total_flow_deviation_ratio = Math.Abs(1 - Math.Abs(total_flow / target_flow)); |
| | | //if (total_flow_deviation_ratio > _sel_opt_flow_deviation_ratio) |
| | | // return default; |
| | | //if (total_flow_deviation_ratio > _sel_opt_reasonable_flow_deviation_ratio) |
| | | //{ |
| | | // combine_merit_ratio -= total_flow_deviation_ratio; |
| | | //} |
| | | |
| | | double eff = 0, wp = 0, uwp = 0; |
| | | wp = Yw.Pump.CalculationHelper.CalcuWP(total_power, total_flow); |
| | |
| | | var current_frequency_space = frequency_space + (i * frequency_iteration_space); |
| | | cl_ex_list_list_list = FrequencyFilters(target_flow, frequency_min, frequency_max, current_frequency_space, all_fre_conclusion_ex_list_list, all_fix_conclusion_ex_list_list); |
| | | if (cl_ex_list_list_list.Any()) |
| | | { |
| | | break; |
| | | { |
| | | break; |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | //åç»æåç»åæ±æä¼ |
| | | var ana_combine_list = new List<AnaCombine>(); |
| | | foreach (var item_cl_ex_list_list in cl_ex_list_list_list) |
| | | foreach (var item_cl_ex_list_list in cl_ex_list_list_list) |
| | | { |
| | | var cl_ex_list_list = CartesianProduct(item_cl_ex_list_list, target_flow); |
| | | var opt_cl_ex_list = cl_ex_list_list.OrderBy(x => x.Sum(x => x.Power)).FirstOrDefault(); |