首页 > 解决方案 > 调试此模型的第一步是什么?如何进行?

问题描述

在 OpenModelica 中进行调试似乎变得越来越难,因为我对它了解得越多,并且意识到我的经验是多么少。

我一直在阅读很多 OpenModelica 调试文献,并且大多数文章似乎只是在调试时触及了表面。我读过的最有帮助的文章是 Modelica 社区中非常杰出的人物 Martin Sjolund 的“基于方程的模型的分析、调试和性能改进的工具和方法”。不幸的是,我没有能够阅读所有 Sjlund 博士的书的背景/经验。甚至 OpenModelica 用户指南似乎也几乎没有在整个调试过程中进行迭代,剩下的就是在用户端弄清楚。

在我的模型成功 1. 检查和 2. 展平(实例化)之后,我永远不知道会发生什么。算法调试器对我来说仍然是个谜。

编辑:我遇到问题的模型代码

型号 HRSG_WaterDrum_HXVersion

///当前版本:阶段状态:留待解释/猜测。这可以切换回来。量也应探讨。. . 相对于小质量流量,从库模型中提取的体积非常小。当前版本:V & SA = 1///

ThermoPower.Water.Drum Drum(
Cm = 4.08e6 * 1.195e-2, 
DrumOrientation = 1, 
Kcs = 0.01, 
Ks = 100, 
L = 1.455, 
afd = 0.0, 
gl = 300, 
gv = 150, 
hlstart = 203.22e3, 
hvstart = 203.22e3, 
lm = 19, 
pstart = 
100e5, 
rext = 0.125, 
rint = 0.115, 
tauc = 5, 
tauev = 15)  annotation(
Placement(visible = true, transformation(origin = {-49, 3}, extent = 
{{-21, -21}, {21, 21}}, rotation = 0)));

ThermoPower.Water.SinkMassFlow Blowdown annotation(
Placement(visible = true, transformation(origin = {-10, -32}, extent = 
{{-10, -10}, {10, 10}}, rotation = 0)));

ThermoPower.Water.Flow1DFV2ph Downcomer(
A = 1.903e-3, 
Cfnom = 0.01, 
Dhyd = 0.04922, 
DynamicMomentum = false, 
FFtype = ThermoPower.Choices.Flow1D.FFtypes.Colebrook, 
H = -15.923, 
Kfc = 1, 
L = 15.923, 
N = 2, 
dpnom = 100, 
e = 6.1e-4, 
hstartin = 1407.6e3, 
hstartout = 1407.6e3, 
omega = 0.1546, 
pstart = 100e5, 
wnf = 0.3, 
wnom = 21.5)  annotation(
Placement(visible = true, transformation(origin = {-64, -50}, extent = 
{{-10, -10}, {10, 10}}, rotation = -90)));

ThermoPower.Thermal.MetalTubeFV Downcomer_Wall(
L = 15.923, 
Nw = 1, 
Tstart1 = 540, 
TstartN = 540, 
WallRes = true, 
lambda = 19, 
rext = 0.03015, 
rhomcm = 4.08e6, 
rint = 0.02461)  annotation(
Placement(visible = true, transformation(origin = {-48, -50}, extent = 
{{-10, -10}, {10, 10}}, rotation = 90)));

ThermoPower.Water.Header HeaderLower(
Cm = 4.08e6 * 4.51e-4, 
S = 1, 
Tmstart = 540, 
V = 1, 
gamma = 2000, 
hstart = 1407.6e3, 
noInitialPressure = true, 
pstart = 101.18e5)  annotation(
Placement(visible = true, transformation(origin = {-30, -96}, extent = 
{{-10, -10}, {10, 10}}, rotation = 0)));

ThermoPower.Water.PressDrop PressureDrop(
A = 5.62e-5, 
FFtype = ThermoPower.Choices.PressDrop.FFtypes.Kinetic, 
K = 3, 
Kfc = 2, 
dpnom = 80000, 
wnf = 0.1, 
wnom = 21.5)  annotation(
Placement(visible = true, transformation(origin = {38, -96}, extent = 
{{-10, -10}, {10, 10}}, rotation = 0)));

ThermoPower.Water.Header HeaderUpper(
Cm = 4.08e6 * 4.51e-4,
FluidPhaseStart = ThermoPower.Choices.FluidPhase.FluidPhases.TwoPhases, 
S = 1, 
Tmstart = 311.1 + 273.15, 
V = 1, 
gamma = 2000, 
hstart = 2724.7e3, 
noInitialPressure = true, 
pstart = 100.2e5)  annotation(
Placement(visible = true, transformation(origin = {72, -36}, extent = 
{{-10, -10}, {10, 10}}, rotation = 90)));

ThermoPower.Water.Flow1DFV2ph Pipe2Drum(
A = 5.557e-4, 
Cfnom = 0.01, 
Dhyd = 0.0266, 
FFtype = ThermoPower.Choices.Flow1D.FFtypes.Cfnom, 
H = 2.779, 
HydraulicCapacitance = ThermoPower.Choices.Flow1D.HCtypes.Upstream, 
L = 2.779, 
N = 2, 
Nt = 1, 
dpnom = 17000, 
e = 9.9e-4, 
hstartin = 2724.7e3, 
hstartout = 2724.7e3, 
noInitialPressure = true, 
omega = 0.0835, 
pstart = 100e5, 
wnf = 0.1, 
wnom = 21.5)  annotation(
Placement(visible = true, transformation(origin = {19, -9}, extent = 
{{-11, 11}, {11, -11}}, rotation = 180)));

ThermoPower.Thermal.MetalTubeFV Pipe2Drum_Wall(
L = 2.779, 
Nw = 1, 
Tstart1 = 584.25, 
TstartN = 584.25, 
WallRes = true, 
lambda = 19, 
rext = 0.0167, 
rhomcm = 4.08e6, 
rint = 0.0133)  annotation(
Placement(visible = true, transformation(origin = {19, 9}, extent = {{-11, 
-11}, {11, 11}}, rotation = 180)));

ThermoPower.Water.Flow1DFV2ph Pipe2SH(
A = 3.301 - 4, 
Cfnom = 0.004, 
Dhyd = 0.0205, 
DynamicMomentum = false, 
FFtype = ThermoPower.Choices.Flow1D.FFtypes.Cfnom, 
H = 0, 
HydraulicCapacitance = ThermoPower.Choices.Flow1D.HCtypes.Downstream, 
L = 11.48, 
N = 2, 
Nt = 1, 
dpnom = 2000, 
hstartin = 2724.7e3, 
hstartout = 2724.7e3, 
omega = 0.0644, 
pstart = 100e5, 
wnom = 0.06)  annotation(
Placement(visible = true, transformation(origin = {-20, 50}, extent = 
{{-10, -10}, {10, 10}}, rotation = 0)));

ThermoPower.Thermal.MetalTubeFV Pipe2SH_Wall(
L = 11.480, 
Nw = 1, 
Tstart1 = 584.25, 
TstartN = 584.25, 
WallRes = true, 
lambda = 19, 
rext = 0.01305, 
rhomcm = 4.08e6, 
rint = 0.01025)  annotation(
Placement(visible = true, transformation(origin = {-20, 66}, extent = 
{{-10, -10}, {10, 10}}, rotation = 180)));

ThermoPower.Water.ValveVap VaporValve(
Av = 2.7e-5, 
CvData = ThermoPower.Choices.Valve.CvTypes.Av, 
dpnom = 2e+06, 
pnom = 95e5, 
useThetaInput = true, 
wnom = 2 * 0.06)  annotation(
Placement(visible = true, transformation(origin = {70, 50}, extent = 
{{-10, -10}, {10, 10}}, rotation = 0)));

ThermoPower.Thermal.MetalTubeFV Pipe2Valve_Wall(
L = 6.6, 
Nw = 1, 
Tstart1 = 633.15, 
TstartN = 633.15, 
WallRes = true, 
lambda = 19, 
rext = 0.01275, 
rhomcm = 4.08e6, 
rint = 0.0100)  annotation(
Placement(visible = true, transformation(origin = {40, 66}, extent = 
{{-10, -10}, {10, 10}}, rotation = 180)));

ThermoPower.Water.Flow1DFV2ph Pipe2Valve(
A = 3.142e-4, 
Cfnom = 0.004, 
Dhyd = 0.02, 
DynamicMomentum = false, 
FFtype = ThermoPower.Choices.Flow1D.FFtypes.Cfnom, 
H = 0, 
HydraulicCapacitance = ThermoPower.Choices.Flow1D.HCtypes.Upstream, 
L = 6.6, 
N = 2, 
Nt = 1, 
dpnom = 1000, 
hstartin = 2962.1e3, 
hstartout = 2962.1e3, 
omega = 0.0628, 
pstart = 96e5, 
wnf = 0.1, 
wnom = 0.06)  annotation(
Placement(visible = true, transformation(origin = {40, 50}, extent = 
{{-10, -10}, {10, 10}}, rotation = 0)));

ThermoPower.Water.SinkPressure Sink(
p0 = 95e5)  annotation(
Placement(visible = true, transformation(origin = {100, 50}, extent = 
{{-10, -10}, {10, 10}}, rotation = 0)));

inner ThermoPower.System system annotation(
Placement(visible = true, transformation(origin = {-90, 90}, extent = 
{{-10, -10}, {10, 10}}, rotation = 0)));

Modelica.Blocks.Interfaces.RealOutput DrumPressure annotation(
Placement(visible = true, transformation(origin = {110, -10}, extent = 
{{-10, -10}, {10, 10}}, rotation = 0), iconTransformation(origin = {110, 
-10}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));

Modelica.Blocks.Interfaces.RealOutput DrumLevel annotation(
Placement(visible = true, transformation(origin = {110, -38}, extent = 
{{-10, -10}, {10, 10}}, rotation = 0), iconTransformation(origin = {110, 
-38}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));

Modelica.Blocks.Interfaces.RealInput Valve_Opening annotation(
Placement(visible = true, transformation(origin = {90, 80}, extent = {{8, 
-8}, {-8, 8}}, rotation = 0), iconTransformation(origin = {90, 80}, extent 
= {{8, -8}, {-8, 8}}, rotation = 0)));

ThermoPower.PowerPlants.HRSG.Components.HE SH(
Cfnom_F = 0.01, 
Cfnom_G = 0.01, 
FFtype_F = ThermoPower.Choices.Flow1D.FFtypes.Cfnom, 
FFtype_G = ThermoPower.Choices.Flow1D.FFtypes.Cfnom, 
Kfnom_F = 0, 
Kfnom_G = 0, 
N_F = 2, 
N_G = 2, 
Tstartbar_G(displayUnit = "K") = 787.72, 
dpnom_F = 100, 
dpnom_G = 100, 
exchSurface_F = 2.752, 
exchSurface_G = 2.752, 
extSurfaceTub = 5.504, 
fluidNomFlowRate = 21.5, 
fluidNomPressure = 1e+07, 
fluidVol = 0.01376, 
gasNomFlowRate = 169.755, 
gasNomPressure = 101325, 
gasVol = 0.01376, 
lambda = 19, 
metalVol = 0.01376, 
pstart_F = 1e+07, 
pstart_G = 101325, 
rhomcm = 4.08e6, 
rhonom_F(displayUnit = "kg/m3") = 997, 
rhonom_G = 1)  annotation(
Placement(visible = true, transformation(origin = {10, 50}, extent = {{10, 
-10}, {-10, 10}}, rotation = 90)));

ThermoPower.Gas.SourceMassFlow Source_FlueGas(
redeclare package Medium = ThermoPower.Media.FlueGas, 
T = 514.57 + 273.15, Xnom = {0.23, 0.02, 0.01, 0.04, 0.7}, 
p0 = 101325, 
w0 = 167.755)  annotation(
Placement(visible = true, transformation(origin = {0, 90}, extent = {{-10, 
-10}, {10, 10}}, rotation = 0)));

ThermoPower.PowerPlants.HRSG.Components.HE Economizer(
Cfnom_F = 0.01, 
Cfnom_G = 0.01, 
FFtype_G = ThermoPower.Choices.Flow1D.FFtypes.Cfnom, 
Kfnom_G = 0, 
N_F = 2, 
N_G = 2, 
Tstartbar_G = 604.74, 
dpnom_F = 100, 
dpnom_G = 100, 
exchSurface_F = 2.752, 
exchSurface_G = 2.752, 
extSurfaceTub = 5.504, 
fluidNomFlowRate = 21.5,
fluidNomPressure = 1e+07, 
fluidVol = 0.01376, 
gasNomFlowRate = 169.755, 
gasNomPressure = 101325, 
gasVol = 0.01376, 
lambda = 19, 
metalVol = 0.01376, 
pstart_F = 1e+07, 
pstart_G = 101325, 
rhomcm = 4.08e6, 
rhonom_F(displayUnit = "kg/m3") = 997, 
rhonom_G = 1)  annotation(
Placement(visible = true, transformation(origin = {-132, 0}, extent = 
{{-10, -10}, {10, 10}}, rotation = 90)));

ThermoPower.Water.Flow1DFV2ph Pipe2DrumFeed(
A = 3.301e-4, 
Cfnom = 0.004, 
Dhyd = 0.0205, 
DynamicMomentum = false, 
FFtype = ThermoPower.Choices.Flow1D.FFtypes.Cfnom, 
FluidPhaseStart = ThermoPower.Choices.FluidPhase.FluidPhases.Liquid, 
H = 0, 
HydraulicCapacitance = ThermoPower.Choices.Flow1D.HCtypes.Downstream, 
L = 10, 
N = 2, 
Nt = 1, 
dpnom = 2000,
hstartin = 1407.6e3, 
hstartout = 1407.6e3, 
omega = 0.0644, 
pstart = 100e5, 
wnom = 0.06)  annotation(
Placement(visible = true, transformation(origin = {-96, 0}, extent = 
{{-10, -10}, {10, 10}}, rotation = 0)));

ThermoPower.Thermal.MetalTubeFV Pipe2DrumFeed_Wall(
L = 11.480, 
Nw = 1, 
Tstart1 = 584.25, 
TstartN = 584.25, 
WallRes = true, 
lambda = 19, 
rext = 0.01305, 
rhomcm = 4.08e6, 
rint = 0.01025)  annotation(
Placement(visible = true, transformation(origin = {-96, 16}, extent = 
{{-10, -10}, {10, 10}}, rotation = 180)));

ThermoPower.Gas.SinkPressure Sink_FlueGas(
redeclare package Medium = ThermoPower.Media.FlueGas, T = 185.25 + 273.15, 
Xnom = {0.23, 0.02, 0.01, 0.04, 0.7}, 
p0 = 101325)  annotation(
Placement(visible = true, transformation(origin = {-122, 34}, extent = 
{{-10, -10}, {10, 10}}, rotation = 0)));

ThermoPower.Water.SourceMassFlow Source_Water(
T = 46.45 + 273.15, 
h = 203.22e3, 
p0 = 100.0e5, 
use_T = true, 
w0 = 21.5)  annotation(
Placement(visible = true, transformation(origin = {-164, 0}, extent = 
{{-10, -10}, {10, 10}}, rotation = 0)));

ThermoPower.PowerPlants.HRSG.Components.HE Risers(
Cfnom_F = 0.01, 
Cfnom_G = 0.01, 
Kfnom_F = 0, 
Kfnom_G = 0, 
N_F = 2, 
N_G = 2, 
Tstartbar_G(displayUnit = "K") = 760.17, 
dpnom_F = 100, 
dpnom_G = 100, 
exchSurface_F = 2.752, 
exchSurface_G = 2.752, 
extSurfaceTub = 5.504, 
fluidNomFlowRate = 21.5, 
fluidNomPressure = 1e+07, 
fluidVol = 0.01376, 
gasNomFlowRate = 169.755, 
gasNomPressure = 101325, 
gasVol = 0.01376, 
lambda = 19, 
metalVol = 0.01376, 
pstart_F = 1e+07, 
pstart_G = 101325, 
rhomcm = 4.08e6, 
rhonom_F(displayUnit = "kg/m3") = 997, 
rhonom_G = 1)  annotation(
Placement(visible = true, transformation(origin = {72, -72}, extent = 
{{-10, -10}, {10, 10}}, rotation = 180)));

equation
connect(Valve_Opening, VaporValve.theta) annotation(
Line(points = {{90, 80}, {70, 80}, {70, 58}}, color = {0, 0, 127}, 
thickness = 0.75));
connect(Pipe2Drum_Wall.int, Pipe2Drum.wall) annotation(
Line(points = {{19, 6}, {19, -4.3}}, color = {255, 127, 0}, thickness = 
0.75));
connect(Downcomer.wall, Downcomer_Wall.int) annotation(
Line(points = {{-59, -50}, {-51, -50}}, color = {255, 127, 0}, thickness = 
0.75));
connect(Pipe2Valve_Wall.int, Pipe2Valve.wall) annotation(
Line(points = {{40, 63}, {40, 55}}, color = {255, 127, 0}, thickness = 
0.75));
connect(Pipe2SH_Wall.int, Pipe2SH.wall) annotation(
Line(points = {{-20, 63}, {-20, 56}}, color = {255, 127, 0}, thickness = 
0.75));
connect(Pipe2DrumFeed_Wall.int, Pipe2DrumFeed.wall) annotation(
Line(points = {{-96, 13}, {-96, 6}}, color = {255, 127, 0}, thickness = 
0.75));
connect(HeaderUpper.outlet, Pipe2Drum.infl) annotation(
Line(points = {{72, -26}, {72, -9.5}, {30, -9.5}, {30, -9}}, color = {0, 
0, 255}, thickness = 1));
connect(Pipe2Drum.outfl, Drum.riser) annotation(
Line(points = {{8, -9}, {-33, -9}}, color = {0, 0, 255}, thickness = 1));
connect(Drum.steam, Pipe2SH.infl) annotation(
Line(points = {{-37, 18}, {-36.82, 18}, {-36.82, 49.7}, {-30.82, 49.7}}, 
color = {0, 0, 255}, thickness = 1));
connect(SH.gasOut, Risers.gasIn) annotation(
Line(points = {{10, 40}, {10, 40}, {10, 20}, {92, 20}, {92, -72}, {82, 
-72}, {82, -72}}, color = {159, 159, 223}, thickness = 0.75));
connect(Risers.gasOut, Economizer.gasIn) annotation(
Line(points = {{62, -72}, {-132, -72}, {-132, -10}, {-132, -10}}, color = 
{159, 159, 223}, thickness = 0.75));
connect(HeaderUpper.inlet, Risers.waterOut) annotation(
Line(points = {{72, -46}, {72, -46}, {72, -62}, {72, -62}}, color = {0, 0, 
255}, thickness = 1));
connect(PressureDrop.outlet, Risers.waterIn) annotation(
Line(points = {{48, -96}, {72, -96}, {72, -82}, {72, -82}, {72, -82}}, 
color = {0, 0, 255}, thickness = 1));
connect(Economizer.gasOut, Sink_FlueGas.flange) annotation(
Line(points = {{-132, 10}, {-132, 10}, {-132, 34}, {-132, 34}}, color = 
{159, 159, 223}, thickness = 0.75));
connect(Blowdown.flange, Drum.blowdown) annotation(
Line(points = {{-20, -32}, {-49, -32}, {-49, -18}}, color = {0, 0, 255}, 
thickness = 1));
connect(Source_Water.flange, Economizer.waterIn) annotation(
Line(points = {{-154, 0}, {-142, 0}, {-142, 0}, {-142, 0}}, color = {0, 0, 
255}, thickness = 1));
connect(Economizer.waterOut, Pipe2DrumFeed.infl) annotation(
Line(points = {{-122, 0}, {-106, 0}, {-106, 0}, {-106, 0}}, color = {0, 0, 
255}, thickness = 1));
connect(Pipe2DrumFeed.outfl, Drum.feedwater) annotation(
Line(points = {{-86, 0}, {-69, 0}}, color = {0, 0, 255}, thickness = 1));
connect(Drum.downcomer, Downcomer.infl) annotation(
Line(points = {{-64, -12}, {-64, -12}, {-64, -40}, {-64, -40}}, color = 
{0, 0, 255}, thickness = 1));
connect(Downcomer.outfl, HeaderLower.inlet) annotation(
Line(points = {{-64, -60}, {-64, -96}, {-40, -96}}, color = {0, 0, 255}, 
thickness = 1));
connect(Source_FlueGas.flange, SH.gasIn) annotation(
Line(points = {{10, 90}, {10, 90}, {10, 60}, {10, 60}, {10, 60}, {10, 
60}}, color = {159, 159, 223}, thickness = 0.75));
connect(Pipe2SH.outfl, SH.waterIn) annotation(
Line(points = {{-10, 50}, {0, 50}, {0, 50}, {0, 50}, {0, 50}, {0, 50}}, 
color = {0, 0, 255}, thickness = 1));
connect(SH.waterOut, Pipe2Valve.infl) annotation(
Line(points = {{20, 50}, {30, 50}, {30, 50}, {30, 50}}, color = {0, 0, 
255}, thickness = 1));
connect(VaporValve.outlet, Sink.flange) annotation(
Line(points = {{80, 50}, {90, 50}}, color = {0, 0, 255}, thickness = 1));
connect(Pipe2Valve.outfl, VaporValve.inlet) annotation(
Line(points = {{50, 50}, {60, 50}}, color = {0, 0, 255}, thickness = 1));
connect(HeaderLower.outlet, PressureDrop.inlet) annotation(
Line(points = {{-20, -96}, {28, -96}}, color = {0, 0, 255}, thickness = 
1));
DrumPressure = Drum.p;
DrumLevel = Drum.y;
annotation(
uses(ThermoPower(version = "3.1"), Modelica(version = "3.2.3")));end 
HRSG_WaterDrum_HXVersion;

标签: oopdebuggingmodelicadymolaopenmodelica

解决方案


运行该模型(至少使用我拥有的 ThermoPower 版本)立即停止:

错误:在时间检测到以下错误:0 外部半径必须大于内部半径失败条件:SH.metalTube.rext > 0.01

原因是 ThermoPower.PowerPlants.HRSG.Components.HE 有:

 Thermal.MetalTubeFV metalTube(
    rint=fluidVol*4/exchSurface_F/2,
    rext=(metalVol + fluidVol)*4/extSurfaceTub/2,

并且您设置为、和的extSurfaceTub两倍大。exchSurface_FSHEconomizerRisers

一般来说,我会说第一步是问你为什么要调试模型?

  1. 是不是初始化失败了?
  2. 它是否已初始化,但模拟在某个时间停止了?
  3. 它会运行,但会产生错误的结果吗?
  4. 据您所知,它是否运行并产生正确的结果,但速度太慢?

否则我不知道你为什么要调试。

调试任何模型的第一步是:

  • 查看翻译过程中的警告
  • 检查模型组件是否经过测试
  • 检查它们是否以正确的方式和合适的参数连接在一起

纠正之前的错误会在初始化期间停止模型,但 Dymola 中有两种警告表明应该纠正的问题:

初始条件没有完全指定。Dymola 已选择默认初始条件。

假设连续状态的起始值固定:

Economizer.fluidFlow.htilde[] Economizer.gasFlow.Xtilde[] Risers.fluidFlow.htilde[] Risers.gasFlow.Xtilde[] SH.gasFlow.p(start = SH.gasFlow.pstart) SH.gasFlow.Xtilde[]

冲突的起始值

变量 Economizer.fluidFlow.htilde[1] 的起始值为 Pipe2DrumFeed.hstart[1] 已被选为默认初始条件。然而,起始值是从一组具有相同优先级的冲突起始值的别名变量中选择的。1407600.0,Pipe2DrumFeed.h[1] 的起始值作为 Pipe2DrumFeed.hstart[1] 给出。100000.0,Economizer.fluidFlow.htilde[1] 的起始值作为 Economizer.fluidFlow.hstart[2] 给出。

迭代变量 SH.fluidFlow.htilde[1] 已被选择为具有猜测值 Pipe2Valve.hstart[1]。然而,起始值是从一组具有相同优先级的冲突起始值的别名变量中选择的。2962100.0,Pipe2Valve.h[1] 的起始值作为 Pipe2Valve.hstart[1] 给出。100000.0,SH.fluidFlow.htilde[1] 的起始值为 SH.fluidFlow.hstart[2]。

迭代变量 HeaderUpper.p 已被选择为具有猜测值 HeaderUpper.pstart。然而,起始值是从一组具有相同优先级的冲突起始值的别名变量中选择的。10020000.0,作为 HeaderUpper.pstart 给出的 HeaderUpper.p 的起始值。10000000.0,Pipe2Drum.p 的起始值为 Pipe2Drum.pstart。

迭代变量 VaporValve.w 已被选择为具有猜测值 VaporValve.wnom。然而,起始值是从一组具有相同优先级的冲突起始值的别名变量中选择的。0.12,VaporValve.inlet.m_flow 的起始值作为 VaporValve.wnom 给出。-0.12,VaporValve.outlet.m_flow 的起始值为 -VaporValve.wnom。-0.06,Pipe2Valve.outfl.m_flow 的起始值为 -Pipe2Valve.wnom。


推荐阅读