我一直在Dymola建模和模拟一些简单的区域供热网络,并且在初始化过程中经常遇到错误。
我们正在模拟的系统包括
下图是网络的大幅简化版本(此处出现相同的错误) 消费者模型如下所示: 和制片人:
在初始化期间,发生以下错误:
ERROR: Failed to solve non-linear system using Newton solver.
To get more information: Turn on Simulation/Setup/Debug/Nonlinear solver diagnostics/Details
Solution to systems of equations not found at time = 0
Nonlinear system of equations number = 3
Infinity-norm of residue = 118280
Iteration is not making good progress.
Accumulated number of residue calc.: 389
Accumulated number of symbolic Jacobian calc.: 5
Last values of solution vector:
L.PI.gainPID.y = 0
Last values of residual vector:
{ -118280 }
Trying to solve non-linear system using global homotopy-method.
... loading "data" from "C:/Users/Sim1/Desktop/Keith Dymola Files/GrazReininghaus_UseCase/PythonScriptsforTranslation/Reininghaus.txt"
ERROR: Failed to solve non-linear system using Newton solver.
To get more information: Turn on Simulation/Setup/Debug/Nonlinear solver diagnostics/Details
Solution to systems of equations not found at time = 0
Nonlinear system of equations number = 1
Infinity-norm of residue = 2.22814E+018
Iteration is not making good progress.
Accumulated number of residue calc.: 101
Accumulated number of symbolic Jacobian calc.: 9
Last values of solution vector:
M.port_a.m_flow = 0.000485868
N.valveLinear.dp = -55.8243
O.valveLinear.dp = -135.618
P.valveLinear.dp = 550.474
I.port_a.m_flow = 3.20321E-010
C.port_a.m_flow = 2.19343E-011
D.port_a.m_flow = 0.00208272
E.valveLinear.dp = 371.552
L.port_a.m_flow = -7.10982E-012
J.valveLinear.dp = 243.085
K.port_a.m_flow = 1.924E-005
Last values of residual vector:
{ 6.60393E+013, -1.14781E+018, -1.05438E+018, -2.58754E+016, -111988,
-1.56817E+010, 16024.9, 3.14411E+007, 3.99781E+008, 3.14412E+007,
-15012.9 }
Error: could not solve simplified initialization for homotopy method.
Error: could not solve simplified initialization for homotopy method.
FixInitials:Init
组件A,B,C e.t.c是网络中的消费者。我正在使用Radau IIa 5阶解算器,tol = 1e-06。消费者阀门inittype中的PI控制器仅与integrtor状态集成,生产者中的PI初始化为输出值。 我尝试过使用网络中质量流量和压降的各种标称值,以及PI控制器中的初始值,但始终返回相同的形式ERROR。该模型通过了错误检查,但在初始化时总是失败。
我想知道是否有人有过调试这种非线性系统的经验,如果有的话,关于如何初始化这些模型的一些提示对调试过程有很大的帮助。
答案 0 :(得分:2)
好的,对于任何感兴趣的人,我最终设法模拟了我的网络。事实证明初始化问题出现在"第一顺序"在消费者中阻塞,其在热交换器中获取测量的热流信号并将其传递给PI。此组件的默认初始化类型为" noinit"但是通过更改它以获取初始猜测值(在这种情况下工作的标称用户负载),初始化部分通过。我猜这个例子中出现了这个问题,因为我的消费者标称负载比前面的例子高很多,因此初始值超出了合适的范围而没有手动指定。