From 801a451429b294a435e1c69db55c70e20c45444d Mon Sep 17 00:00:00 2001 From: cloudflight <cloudflight@126.com> Date: 星期二, 24 十二月 2024 23:54:11 +0800 Subject: [PATCH] 换热器、普通控制阀状态问题 --- Hydro/Yw.Hydraulic.Core/src/input3.cpp | 15 +++++++++------ Hydro/Yw.EPAnet.Calcu.Core/04-Inp/InpInteropHelper.cs | 12 +++++++++++- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/Hydro/Yw.EPAnet.Calcu.Core/04-Inp/InpInteropHelper.cs b/Hydro/Yw.EPAnet.Calcu.Core/04-Inp/InpInteropHelper.cs index a143881..2c0bf51 100644 --- a/Hydro/Yw.EPAnet.Calcu.Core/04-Inp/InpInteropHelper.cs +++ b/Hydro/Yw.EPAnet.Calcu.Core/04-Inp/InpInteropHelper.cs @@ -155,7 +155,17 @@ valveSb.AppendLine(";ID Node1 Node2 Diameter Type Setting MinorLoss "); network.Valves?.ForEach(x => { - valveSb.AppendLine($"{x.Id}\t{x.StartNode.Id}\t{x.EndNode.Id}\t{x.Diameter:F4}\t{x.ValveType}\t{x.ValveSetting}\t{x.MinorLoss:F4}\t;\t");// + $"0"); + string settings; + if (x.LinkStatus == ValveStatus.None ) + { + settings = x.ValveSetting; + } + else + { + settings = "Undefined"; + } + if (string.IsNullOrEmpty(settings)) settings = "Undefined"; + valveSb.AppendLine($"{x.Id}\t{x.StartNode.Id}\t{x.EndNode.Id}\t{x.Diameter:F4}\t{x.ValveType}\t{settings}\t{x.MinorLoss:F4}\t;\t");// + $"0"); if (!string.IsNullOrEmpty(x.LinkStatus)) { statusSb.AppendLine(x.Id + "\t" + x.LinkStatus); diff --git a/Hydro/Yw.Hydraulic.Core/src/input3.cpp b/Hydro/Yw.Hydraulic.Core/src/input3.cpp index da276d9..6459a7e 100644 --- a/Hydro/Yw.Hydraulic.Core/src/input3.cpp +++ b/Hydro/Yw.Hydraulic.Core/src/input3.cpp @@ -532,14 +532,17 @@ if (type == GPV) { c = findcurve(net, parser->Tok[5]); - /* 奇怪的方法,为什么要进行openflag的判断呢? - int d=0; - EN_getcurveindex(pr, parser->Tok[5], &d); */ - - if (c == 0) return setError(parser, 5, 206); + /* 奇怪的方法,为什么要进行openflag的判断呢? + int d=0; + EN_getcurveindex(pr, parser->Tok[5], &d); */ + /*[Cloudflight修改]2024-12-24 + GPV阀门的曲线设置,如果没有设置曲线,那么就将状态设置为OPEN + if (c == 0) return setError(parser, 5, 206); + */ + if (c == 0) status = OPEN;//return setError(parser, 5, 206); setting = c; net->Curve[c].Type = HLOSS_CURVE; - status = OPEN; + //status = OPEN; } else if (!getfloat(parser->Tok[5], &setting)) return setError(parser, 5, 202); if (n >= 7 && !getfloat(parser->Tok[6], &lcoeff)) return setError(parser, 6, 202); -- Gitblit v1.9.3