【问题标题】:Dymola: Initialization of District Heating Network Simluation model using Non-linear solverDymola:使用非线性求解器初始化区域供热网络模拟模型
【发布时间】: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


【解决方案1】:

好的,对于任何感兴趣的人,我最终设法模拟了我的网络。事实证明,初始化问题是在消费者中的“一阶”块中出现的,该块获取热交换器中测量的热流信号并将其传递给 PI。该组件的默认初始化类型是“noinit”,但是通过将其更改为采用初始猜测值(在这种情况下为名义消费者负载),初始化部分通过了。我猜这个问题出现在这个例子中,因为我的消费者标称负载比前面的例子高很多,因此初始值超出了合适的范围,没有手动指定。

【讨论】:

  • 你能分享你的网络吗?我是 UCD 的学生,我们正在尝试开发一个代表 UCD 的网络,我一直在验证我的模型。谢谢
  • 你可以在这里接受你自己的答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-16
相关资源
最近更新 更多