From d4898c5d7e1bbbbba384a0e29f29c066d6f502a7 Mon Sep 17 00:00:00 2001
From: Shuxia Ning <NingShuxia0927@outlook.com>
Date: 星期一, 25 十一月 2024 17:44:18 +0800
Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/HStation/XHS.V1.0

---
 Hydro/Yw.EPAnet.Calcu.Core/03-calcu/00-core/NetworkCalcuExtensions.cs |   32 +++++++++++++++++++++++++-------
 1 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/00-core/NetworkCalcuExtensions.cs b/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/00-core/NetworkCalcuExtensions.cs
index a97a820..4339b3d 100644
--- a/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/00-core/NetworkCalcuExtensions.cs
+++ b/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/00-core/NetworkCalcuExtensions.cs
@@ -169,7 +169,7 @@
                     var prevLink = prevLinks[0] as Pipe;
                     if (prevLink != null)
                     {
-                        prevLink.MinorLoss += elbow.MinorLoss.Value / 2f;
+                        prevLink.EndMinorloss = elbow.MinorLoss.Value / 2f;
                     }
                     if (nextLinks.Count != 1)
                     {
@@ -178,7 +178,7 @@
                     var nextLink = nextLinks[0] as Pipe;
                     if (nextLink != null)
                     {
-                        nextLink.MinorLoss += elbow.MinorLoss.Value / 2f;
+                        nextLink.StartMinorloss += elbow.MinorLoss.Value / 2f;
                     }
                 }
                 else if (node is Threelink threelink)
@@ -191,7 +191,8 @@
                     }
                     Link mainLink = null;//涓荤
                     List<Link> branchLinks = null;//鏀鍒楄〃
-                    if (prevLinks.Count == 1)//1杩�2鍑�
+                    bool isNext = prevLinks.Count == 1;
+                    if (isNext)//1杩�2鍑�
                     {
                         mainLink = prevLinks[0];
                         branchLinks = nextLinks;
@@ -221,7 +222,10 @@
                                 minorLoss = threelink.MinorLoss;
                                 if (minorLoss.HasValue)
                                 {
-                                    branchPipe.MinorLoss += minorLoss.Value;
+                                    if (isNext)
+                                        branchPipe.StartMinorloss = minorLoss.Value;
+                                    else
+                                        branchPipe.EndMinorloss = minorLoss.Value;
                                 }
                             }
                         }
@@ -233,7 +237,11 @@
                                 minorLoss = threelink.MinorLoss;
                                 if (minorLoss.HasValue)
                                 {
-                                    branchPipe.MinorLoss = minorLoss.Value;
+                                    if (isNext)
+                                        branchPipe.StartMinorloss = minorLoss.Value;
+                                    else
+                                        branchPipe.EndMinorloss = minorLoss.Value;
+                                
                                 }
                             }
                         }
@@ -253,13 +261,23 @@
                         continue;
                     }
 
-                    var branchLinks = prevLinks.Count >= nextLinks.Count ? prevLinks : nextLinks;
+                    bool isNext = prevLinks.Count < nextLinks.Count;
+
+                    var branchLinks = isNext ? nextLinks:prevLinks  ;
                     foreach (var branchLink in branchLinks)
                     {
                         var pipe = branchLink as Pipe;
                         if (pipe != null)
                         {
-                            pipe.MinorLoss += fourlink.MinorLoss.Value;
+                            if (isNext)
+                            {
+                                pipe.StartMinorloss = fourlink.MinorLoss.Value;
+                            }
+                            else
+                            {
+                                pipe.EndMinorloss = fourlink.MinorLoss.Value;
+                            }
+                           
                         }
                     }
                 }

--
Gitblit v1.9.3