我有一些测试模拟,当运行时,在Dymola 2021x和Dymola 2022中运行时不遵循完全相同的解决方案路径。因此,我的系统检查以确保我的测试模拟运行正常,表明它们实际上没有正常运行。看起来模拟仍然在彼此的+/-2*容差内。我试图了解为什么如果输入和模型是相同的,那么为什么解决方案在数值上是不相同的。更新版本中没有任何指示解决方案方法更改的内容。
发布于 2021-07-29 17:36:18
从Dymola 2022发行说明中,一个可能的解释可能是不同的Modelica语言规范( Dymola 2021x中的3.4,Dymola 2022中的3.5 ),或者直接影响模型(例如,MSL 4.0.0符合语言规范3.4),或者在翻译过程中处理模型的方式。
你提到你有一个系统来检查你的模拟。它是在Modelica中实现的吗?也就是说,它会受到不同语言规范的影响吗?
就我个人而言,我倾向于期望在每个版本中对翻译算法和求解器进行微小的更改/改进;即使它们可能在发布说明中没有提到。也许这种态度之所以有效,是因为我的模型相当粗糙,所以我不能真正说出计算解决方案(+-2*公差,在我的情况下是tolerance=0.1% )中的这种变化是否会使我更接近或更远离真正的解决方案。
https://stackoverflow.com/questions/68534102
复制相似问题