From 15d15d24fbccb9b70a305b46b71453b2ab1a720e Mon Sep 17 00:00:00 2001
From: qinjie <qinjie@163.com>
Date: 星期二, 19 十二月 2023 15:43:46 +0800
Subject: [PATCH] 提交代码

---
 Hydro.Inp/NetWork.cs |   25 ++++++++++++++++---------
 1 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/Hydro.Inp/NetWork.cs b/Hydro.Inp/NetWork.cs
index abc2fc2..2f4c527 100644
--- a/Hydro.Inp/NetWork.cs
+++ b/Hydro.Inp/NetWork.cs
@@ -2,6 +2,7 @@
 //using Hydro.HydraulicModel;
 using System;
 using System.Collections.Generic;
+using System.Data;
 using System.Drawing;
 using System.IO;
 using System.IO.Ports;
@@ -174,20 +175,20 @@
             nozzles.ForEach(nozzle => { AddNozzle(nozzle); });
         }
 
-        private void CheckNodesExist(NodeModel node)
+        private void CheckNodesExist(NodeCalcModel node)
         {
             if (Nodes.Any(d => d.ID == node.ID))
                 throw new Exception("宸插瓨鍦ㄩ噸澶嶇殑瀵硅薄");
         }
 
-        private void CheckLinksExist(LinkModel link)
+        private void CheckLinksExist(LinkCalcModel link)
         {
             if (Links.Any(d => d.ID == link.ID))
                 throw new Exception("宸插瓨鍦ㄩ噸澶嶇殑瀵硅薄");
         }
 
-        public List<NodeModel> Nodes { get; set; } = new List<NodeModel>();
-        public List<LinkModel> Links { get; set; } = new List<LinkModel>();
+        public List<NodeCalcModel> Nodes { get; set; } = new List<NodeCalcModel>();
+        public List<LinkCalcModel> Links { get; set; } = new List<LinkCalcModel>();
 
         /// <summary>
         /// 鏍规嵁INP鏂囦欢鐢熸垚
@@ -465,7 +466,7 @@
                 #region 浼樺寲鏂规
                 int k1 = 0;
                 int k2 = 0;
-                
+
 
                 Nodes.Sort((a, b) => string.Compare(a.ID, b.ID));
                 points.Sort((a, b) => string.Compare(a.ID, b.ID));
@@ -493,7 +494,7 @@
                 }
                 #endregion
 
-             
+
 
                 //寤虹珛鐐圭嚎鍏崇郴閾捐〃StartNode锛屽厛灏嗙绾夸互Node1锛堣妭鐐�1鐨処D锛夋帓搴忥紝鍐嶅皢Nodes鎸塈D鎺掑簭锛屽缓绔嬩袱涓父鏍噆1銆乲2锛屾鍚戜竴娆″惊鐜紝寤虹珛閾捐〃鍏崇郴
                 //鏃堕棿澶嶆潅搴� O(n)
@@ -564,7 +565,7 @@
             }
             if (!File.Exists(tempPath))
             {
-                throw new Exception("妯℃澘鏂囦欢涓嶅瓨鍦�");
+                throw new Exception("妯℃澘鏂囦欢涓嶅瓨鍦�," + tempPath);
             }
             if (!File.Exists(InpPath))
                 File.Create(InpPath).Close();
@@ -954,9 +955,15 @@
             HydraulicModel.Epanet epanet = new HydraulicModel.Epanet();
             var result = new List<TimePoint>();
             var err = epanet.open(InpPath, "d:\\5.log", "");
+
             if (err != 0)
             {
-                throw new Exception($"璁$畻澶辫触锛歿err}");
+                throw new Exception($"鎵撳紑璁$畻鏂囦欢澶辫触锛歿err}");
+            }
+            var errCal = epanet.solveH();
+            if (errCal != 0)
+            {
+                throw new Exception($"璁$畻澶辫触锛歿errCal}");
             }
             int nodeCount = 0, linkCount = 0;
             epanet.getcount((int)CountType.Node, ref nodeCount);
@@ -1007,7 +1014,7 @@
         /// <returns></returns>
         public virtual List<TimePoint> Calc()
         {
-            var inpPath = Path.Combine(Directory.GetCurrentDirectory(), @"data\inp\calc.inp");
+            var inpPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"data\inp\calc.inp");
             BuildToInp(inpPath);
             return Calc(inpPath);
         }

--
Gitblit v1.9.3