【发布时间】:2017-03-16 14:58:08
【问题描述】:
我一直在 Dymola 中对一些简单的区域供热网络进行建模和模拟,并且在初始化过程中经常遇到错误。
我们正在模拟的系统由
- 生产者:两个压力边界 - 源和汇。源压力通过 PI 进行控制,确保源压力使得通过消费者的最小压差大于或等于某个设定值。
- 消费者:他们有一个 PI 控制阀和一个具有固定回流温度的热交换器。阀门控制质量流量,随后控制热流量,以在任何给定时间匹配消费者负载。
- 管道:具有热损失和空间分布以考虑延迟的动态热水力模型。用于减少非线性方程的矢量化端口和混合体积。
下图是网络的一个高度简化的版本(这里出现同样的错误) 消费者模型如下所示: 和制片人:
在初始化过程中,出现以下错误:
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 等是网络中的消费者。我正在使用 tol=1e-06 的 Radau IIa 5 阶求解器。消费者阀门 inittype 中的 PI 控制器仅与积分器状态集成,生产者中的 PI 使用输出值初始化。 我尝试过使用网络中质量流量和压降的各种标称值,以及 PI 控制器中的初始值,但始终返回相同形式的 ERROR。模型通过了错误检查,但在初始化时总是失败。
我想知道是否有人在调试此类非线性系统方面有经验,如果有,一些关于如何初始化这些模型的技巧将对调试过程有很大帮助。
【问题讨论】:
-
Keith,我使用相同类型的系统。如果您可以分享您的模型,那将非常有帮助。问候雷内·贾斯特·尼尔森
-
我已经添加了一些主要组件的图片和模型的简化版本。管道模型改编自 Annex60。
-
有没有自己测试生产者和消费者模型,然后逐步扩展模型?
-
是的,我之前已经在各种网络中成功使用过所有这些组件,但是在某些情况下,初始化不起作用。你有遇到过这样的错误吗?
-
相关:stackoverflow.com/questions/34661475/… 现在您已经成功运行了一次模拟,您应该保留结果并尝试将它们用于将来的初始化。
标签: initialization modelica dymola