cloudflight
2024-12-24 801a451429b294a435e1c69db55c70e20c45444d
换热器、普通控制阀状态问题
已修改2个文件
27 ■■■■ 文件已修改
Hydro/Yw.EPAnet.Calcu.Core/04-Inp/InpInteropHelper.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Hydro/Yw.Hydraulic.Core/src/input3.cpp 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
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);