Modelica 在Dymola中,如何找到错误方程所属的分量?

Modelica 在Dymola中,如何找到错误方程所属的分量?,modelica,dymola,Modelica,Dymola,如果我用Dymola建立一个模型,但在翻译中,会有一个关于方程不相容单位的警告,但仅仅根据警告信息,我找不到错误方程所属的组件。那我怎么能在迪莫拉找到它呢 我同意Dymola应该在单元检查中包含更多关于方程的信息。 然而,我们可以看到: 它似乎不是一个函数,因为它是一个微分方程 它似乎不在heatExchangerFixedTemperature中,因为所有变量都不是以该前缀开头的(除非t\u amb是一个包常量)。因此,该方程似乎直接存在于当前模型中,或存在于其基类中 您可以在方程式中看到组

如果我用Dymola建立一个模型,但在翻译中,会有一个关于方程不相容单位的警告,但仅仅根据警告信息,我找不到错误方程所属的组件。那我怎么能在迪莫拉找到它呢


我同意Dymola应该在单元检查中包含更多关于方程的信息。 然而,我们可以看到:

  • 它似乎不是一个函数,因为它是一个微分方程
  • 它似乎不在
    heatExchangerFixedTemperature
    中,因为所有变量都不是以该前缀开头的(除非
    t\u amb
    是一个包常量)。因此,该方程似乎直接存在于当前模型中,或存在于其基类中

您可以在方程式中看到组件名称。一般来说,der(heatExchangerFixedTemperature.EB)表示部件heatExchangerFixedTemperature包含部件EB和方程式der(EB)。有时,如果你提到方程层次结构中更深层的组件,情况就不是这样了。实际上,在我的模型中,没有称为“HeatExchangerFixedTemorature”的组件,因此很难找到错误源。不知怎的,我想Dymola可以给我们提供错误方程所属组件的信息,但选择不这样做。我不知道为什么。所以,现在最好的解决方案是逐行检查代码。调试总是一个痛苦的部分。我建议Dymola可以在调试期间对需求进行调查并加以改进。同时,我认为最好有一个关于如何找到错误源的教程,特别是对于初学者。大多数错误消息提供了更多的上下文,但单元检查有点缺乏。非线性也是一个问题,Dymola应该告诉用户在哪里可以找到非线性方程,而不仅仅是显示模型中有多少个方程。