面对Dymola中的初始化分歧,如何找到错误的起始值猜测 我正在使用一个开源的modelica库(ThermoSysPro)来构建一个简单的Rankine循环模型,但似乎存在初始化问题。

面对Dymola中的初始化分歧,如何找到错误的起始值猜测 我正在使用一个开源的modelica库(ThermoSysPro)来构建一个简单的Rankine循环模型,但似乎存在初始化问题。,modelica,dymola,Modelica,Dymola,因此,我更改了调试设置,如下所示,以检查日志文件: 在dslog.txt文件中,我可以看到相同类型的错误很多: 如日志文件所示,所有这些错误都是由迭代发散和错误的开始值引起的: 为了查看哪个迭代变量导致了发散,我检查了所有迭代变量的迭代结果,但它们似乎都在正确的范围内。所以我不确定下一步该怎么做才能找到分歧的根源。Dymola帮助手册中的方法在实践中不起作用 我的问题是,面对Dymola中的初始化差异,我应该如何找到错误的开始值? 这里是库的链接、我构建的模型和生成的日志文件。 不

因此,我更改了调试设置,如下所示,以检查日志文件:

在dslog.txt文件中,我可以看到相同类型的错误很多:

如日志文件所示,所有这些错误都是由迭代发散和错误的开始值引起的:

为了查看哪个迭代变量导致了发散,我检查了所有迭代变量的迭代结果,但它们似乎都在正确的范围内。所以我不确定下一步该怎么做才能找到分歧的根源。Dymola帮助手册中的方法在实践中不起作用

我的问题是,面对Dymola中的初始化差异,我应该如何找到错误的开始值?

这里是库的链接、我构建的模型和生成的日志文件。


不是一个解决方案,只是一篇你已经看过的相关论文:希望Dymola能尽快采用这个解决方案,使建立模型更容易。ThermoSysPro的理念只是在组件中设置方程式,但没有通过设置起始值进行隐式初始化,也没有通过使用
初始方程
code进行显式初始化。因此,ThermoSysPro过于依赖Dymola的解算器,它对大多数迭代变量使用默认值,这就是为什么在使用此库时存在严重的分歧问题。目前,最好的方法是确保在构建某些组件时,根据组件的参数使用有意义的值初始化所有变量