From e5bfcecde9a5c696b3119ae29a6b7f2eb993cb82 Mon Sep 17 00:00:00 2001
From: cloudflight <cloudflight@126.com>
Date: 星期六, 23 十一月 2024 16:46:08 +0800
Subject: [PATCH] 更新计算部分合并代码

---
 Hydro/Yw.EPAnet.Calcu.Core/03-calcu/NetworkCalcuMinorLoss.cs |  223 ++++++++++++++++++++++++++++---------------------------
 1 files changed, 112 insertions(+), 111 deletions(-)

diff --git a/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/NetworkCalcuMinorLoss.cs b/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/NetworkCalcuMinorLoss.cs
index 01f9fb1..ef15760 100644
--- a/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/NetworkCalcuMinorLoss.cs
+++ b/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/NetworkCalcuMinorLoss.cs
@@ -2,132 +2,133 @@
 
 namespace Yw.EPAnet
 {
-    /// <summary>
-    /// 绠$綉璁$畻鎷撳睍
-    /// </summary>
-    public static class NetworkCalcuMinorExtensions
-    {
-        /// <summary>
-        /// 璁$畻
-        /// </summary>
-        public static CalcuResult CalcuMinorLoss(this Network network)
-        {
-            var minorResult = new CalcuResult();
+    ///// <summary>
+    ///// 绠$綉璁$畻鎷撳睍
+    ///// </summary>
+    //public static class NetworkCalcuMinorExtensions
+    //{
+    //    /// <summary>
+    //    /// 璁$畻
+    //    /// </summary>
+    //    public static CalcuResult CalcuMinorLoss(this Network network)
+    //    {
+    //        var minorResult = new CalcuResult();
         
 
-            //Null楠岃瘉
-            if (network == null)
-            {
-                minorResult.Succeed = false;
-                return minorResult;
-            }
+    //        //Null楠岃瘉
+    //        if (network == null)
+    //        {
+    //            minorResult.Succeed = false;
+    //            return minorResult;
+    //        }
 
-            using (var calcResult = network.Calcu(false))
-            {
-                network.GetAllLinks().ForEach(link =>
-                {
-                    if (calcResult.LinkDict.ContainsKey(link.Id))
-                    {
-                        var resultLink = calcResult.LinkDict[link.Id];
-                        link.Flow = resultLink.Flow;
-                    }
-                });
-            }
+    //        using (var calcResult = network.Calcu(false))
+    //        {
+    //            network.GetAllLinks().ForEach(link =>
+    //            {
+    //                if (calcResult.LinkDict.ContainsKey(link.Id))
+    //                {
+    //                    var resultLink = calcResult.LinkDict[link.Id];
+    //                    link.Flow = resultLink.Flow;
+    //                }
+    //            });
+    //        }
 
 
                 
       
-            network.GetAllNodes().ForEach(n =>
-            {
-                if (n is JunctionWT wt)
-                {
-                    if (wt.PrevLinks.Count != 1 || wt.NextLinks.Count != 1) return;
-                    var preLink = minorResult.GetLink(wt.PrevLinks[0].Id);
-                    var nextLink = minorResult.GetLink(wt.NextLinks[0].Id);
-                    preLink.EndNodeMinorlossCoff = wt.MinorLoss_WT / 2;
-                    nextLink.StartNodeMinorlossCoff = wt.MinorLoss_WT / 2;
-                }
-                else if (n is Junction3T j3t)
-                {
-                    if (j3t.PrevLinks.Count + j3t.NextLinks.Count != 3 || j3t.PrevLinks.Count==0 || j3t.NextLinks.Count==0) return;
-                    List<ILink> branchlinks = new List<ILink>();
-                    ILink mainlink = null;
-                    if (j3t.PrevLinks.Count==1)//涓�杩涳紝浜屽嚭
-                    {
-                        mainlink = j3t.PrevLinks[0];
-                        branchlinks= j3t.NextLinks;
-                    }
-                    else if(j3t.NextLinks.Count == 1)//涓�鍑猴紝N杩�
-                    {
-                        mainlink = j3t.NextLinks[0];
-                        branchlinks = j3t.PrevLinks;
-                    }
-                    if (branchlinks.Count==2)
-                    {
-                        var pipe0 = mainlink as Pipe;
-                        var pipe1 = branchlinks[0] as Pipe;
-                        var pipe2 = branchlinks[1] as Pipe;
-                        string Id1 = pipe1.Diameter == pipe0.Diameter ? pipe1.Id : pipe2.Id;
-                        string Id2 = pipe1.Diameter == pipe0.Diameter ? pipe2.Id : pipe1.Id;
-                        var preLink = minorResult.GetLink(mainlink.Id);
-                        var nextLink1 = minorResult.GetLink(Id1);
-                        var nextLink2 = minorResult.GetLink(Id2);
-                        nextLink1.StartNodeMinorlossCoff = j3t.MinorLoss_StraightThrough;
-                        nextLink2.StartNodeMinorlossCoff = j3t.MinorLoss_BranchThrough;
-                    }
-                    else if (branchlinks.Count==1)
-                    {
-                        var pipe0 = mainlink as Pipe;
-                        var pipe1 = branchlinks[0] as Pipe;
-                        string Id1 = pipe1.Id;
-                        var preLink = minorResult.GetLink(mainlink.Id);
-                        var nextLink1 = minorResult.GetLink(Id1);
-                        nextLink1.StartNodeMinorlossCoff = pipe1.Diameter == pipe0.Diameter? j3t.MinorLoss_StraightThrough: j3t.MinorLoss_BranchThrough;
-                    }
+    //        network.GetAllNodes().ForEach(n =>
+    //        {
+    //            if (n is JunctionWT wt)
+    //            {
+    //                if (wt.PrevLinks.Count != 1 || wt.NextLinks.Count != 1) return;
+    //                var preLink = minorResult.GetLink(wt.PrevLinks[0].Id);
+    //                var nextLink = minorResult.GetLink(wt.NextLinks[0].Id);
+    //                preLink.EndNodeMinorlossCoff = wt.MinorLoss_WT / 2;
+    //                nextLink.StartNodeMinorlossCoff = wt.MinorLoss_WT / 2;
+    //            }
+    //            else if (n is Junction3T j3t)
+    //            {
+    //                if (j3t.PrevLinks.Count + j3t.NextLinks.Count != 3 || j3t.PrevLinks.Count==0 || j3t.NextLinks.Count==0) return;
+    //                List<ILink> branchlinks = new List<ILink>();
+    //                ILink mainlink = null;
+    //                if (j3t.PrevLinks.Count==1)//涓�杩涳紝浜屽嚭
+    //                {
+    //                    mainlink = j3t.PrevLinks[0];
+    //                    branchlinks= j3t.NextLinks;
+    //                }
+    //                else if(j3t.NextLinks.Count == 1)//涓�鍑猴紝N杩�
+    //                {
+    //                    mainlink = j3t.NextLinks[0];
+    //                    branchlinks = j3t.PrevLinks;
+    //                }
+    //                if (branchlinks.Count==2)
+    //                {
+    //                    var pipe0 = mainlink as Pipe;
+    //                    var pipe1 = branchlinks[0] as Pipe;
+    //                    var pipe2 = branchlinks[1] as Pipe;
+    //                    string Id1 = pipe1.Diameter == pipe0.Diameter ? pipe1.Id : pipe2.Id;
+    //                    string Id2 = pipe1.Diameter == pipe0.Diameter ? pipe2.Id : pipe1.Id;
+    //                    var preLink = minorResult.GetLink(mainlink.Id);
+    //                    var nextLink1 = minorResult.GetLink(Id1);
+    //                    var nextLink2 = minorResult.GetLink(Id2);
+    //                    nextLink1.StartNodeMinorlossCoff = j3t.MinorLoss_StraightThrough;
+    //                    nextLink2.StartNodeMinorlossCoff = j3t.MinorLoss_BranchThrough;
+    //                }
+    //                else if (branchlinks.Count==1)
+    //                {
+    //                    var pipe0 = mainlink as Pipe;
+    //                    var pipe1 = branchlinks[0] as Pipe;
+    //                    string Id1 = pipe1.Id;
+    //                    var preLink = minorResult.GetLink(mainlink.Id);
+    //                    var nextLink1 = minorResult.GetLink(Id1);
+    //                    nextLink1.StartNodeMinorlossCoff = pipe1.Diameter == pipe0.Diameter? j3t.MinorLoss_StraightThrough: j3t.MinorLoss_BranchThrough;
+    //                }
                     
-                }
-                else if (n is Junction4T j4t)
-                {
-                    if (j4t.PrevLinks.Count + j4t.NextLinks.Count != 4 ) return;
-                    List<ILink> branchlinks = new List<ILink>();
+    //            }
+    //            else if (n is Junction4T j4t)
+    //            {
+    //                if (j4t.PrevLinks.Count + j4t.NextLinks.Count != 4 ) return;
+    //                List<ILink> branchlinks = new List<ILink>();
            
-                    if (j4t.PrevLinks.Count == 1)//涓�杩涳紝浜屽嚭
-                    {
+    //                if (j4t.PrevLinks.Count == 1)//涓�杩涳紝浜屽嚭
+    //                {
                         
-                        branchlinks = j4t.NextLinks;
-                    }
-                    else if (j4t.NextLinks.Count == 1)//涓�鍑猴紝N杩�
-                    {
+    //                    branchlinks = j4t.NextLinks;
+    //                }
+    //                else if (j4t.NextLinks.Count == 1)//涓�鍑猴紝N杩�
+    //                {
                         
-                        branchlinks = j4t.PrevLinks;
-                    }
-                    else if (j4t.NextLinks.Count==2)
-                    {
-                        branchlinks = j4t.NextLinks;
-                    }
-                    branchlinks.ForEach(link =>
-                    {
-                        var pipe = link as Pipe;
-                        var preLink = minorResult.GetLink(link.Id);
-                        preLink.EndNodeMinorlossCoff = j4t.MinorLoss_Crossing;
-                    });
-                }
-            });
+    //                    branchlinks = j4t.PrevLinks;
+    //                }
+    //                else if (j4t.NextLinks.Count==2)
+    //                {
+    //                    branchlinks = j4t.NextLinks;
+    //                }
+    //                branchlinks.ForEach(link =>
+    //                {
+    //                    var pipe = link as Pipe;
+    //                    var preLink = minorResult.GetLink(link.Id);
+    //                    preLink.EndNodeMinorlossCoff = j4t.MinorLoss_Crossing;
+    //                });
+    //            }
+    //        });
             
 
 
-            return minorResult;
-        }
+    //        return minorResult;
+    //    }
 
-        public static Link GetLink(this CalcuResult result, string linkId)
-        {
-            if (!result.LinkDict.ContainsKey(linkId))
-            {
-                result.LinkDict.Add(linkId, new Link() { MinorlossCoff=0});
+    //    public static Link GetLink(this CalcuResult result, string linkId)
+    //    {
+    //        if (!result.LinkDict.ContainsKey(linkId))
+    //        {
+    //            result.LinkDict.Add(linkId, new Link() { MinorlossCoff=0});
 
 
-            }
-            return result.LinkDict[linkId] as Link;
-        }
-    }
+    //        }
+    //        return result.LinkDict[linkId] as Link;
+    //    }
+    //}
+
 }

--
Gitblit v1.9.3