| | |
| | | return result; |
| | | } |
| | | |
| | | var linkdict= network.GetAllLinks().ToDictionary(p => p.Id); |
| | | var linkdict = network.GetAllLinks().ToDictionary(p => p.Id); |
| | | var nodedict = network.GetAllNodes().ToDictionary(p => p.Id); |
| | | |
| | | //获取系统临时文件目录,创建inp临时文件 |
| | |
| | | } |
| | | result.NodeList.Add(calcuNode); |
| | | } |
| | | var nodeResultDict= result.NodeList.ToDictionary(p => p.Id); |
| | | var nodeResultDict = result.NodeList.ToDictionary(p => p.Id); |
| | | for (int i = 1; i <= linkCount; i++) |
| | | { |
| | | epanet.getlinkid(i, sb); |
| | |
| | | double minorloss1 = p.StartMinorloss * Math.Pow(calcuLink.Velocity, 2) / 2 / 9.81; |
| | | double minorloss2 = p.EndMinorloss * Math.Pow(calcuLink.Velocity, 2) / 2 / 9.81; |
| | | double minorloss = p.MinorLoss * Math.Pow(calcuLink.Velocity, 2) / 2 / 9.81; |
| | | calcuLink.Headloss-= minorloss1 + minorloss2; |
| | | calcuLink.Headloss -= minorloss1 + minorloss2; |
| | | calcuLink.MinorLoss = minorloss; |
| | | calcuLink.FrictionLoss = calcuLink.Headloss- minorloss; |
| | | calcuLink.FrictionLoss = calcuLink.Headloss - minorloss; |
| | | //if (nodedict[p.StartNode.Id] is Elbow) |
| | | { |
| | | nodeResultDict[p.StartNode.Id].Minorloss += minorloss1; |
| | | nodeResultDict[p.StartNode.Id].MinorLoss += minorloss1; |
| | | } |
| | | //if (nodedict[p.EndNode.Id] is Elbow) |
| | | { |
| | | nodeResultDict[p.EndNode.Id].Minorloss += minorloss2; |
| | | nodeResultDict[p.EndNode.Id].MinorLoss += minorloss2; |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | result.LinkList.Add(calcuLink); |
| | |
| | | branchPipe.StartMinorloss = minorLoss.Value; |
| | | else |
| | | branchPipe.EndMinorloss = minorLoss.Value; |
| | | |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | bool isNext = prevLinks.Count < nextLinks.Count; |
| | | |
| | | var branchLinks = isNext ? nextLinks:prevLinks ; |
| | | var branchLinks = isNext ? nextLinks : prevLinks; |
| | | foreach (var branchLink in branchLinks) |
| | | { |
| | | var pipe = branchLink as Pipe; |
| | |
| | | { |
| | | pipe.EndMinorloss = fourlink.MinorLoss.Value; |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | } |