OpenModelica中时间步长对结果的影响
你好堆栈溢出社区 我很想知道时间步长值如何影响OpenModelica模拟结果 以及如何优化仿真周期,从而加快仿真速度,在更短的时间内获得结果 还有什么会影响模拟时间,比如计算机性能和代码的复杂性 如果使用显式(固定步长)解算器(如Euler),步长大小将对结果的稳定性产生重大影响。 如果使用隐式(通常是多步)解算器(如Dassl),则步长不会真正影响任何性能或结果,除非打印到结果文件的值由解算器插值到这些点。如果要使其运行更快且精度更低,请增加解算器的公差OpenModelica中时间步长对结果的影响,modelica,dymola,openmodelica,Modelica,Dymola,Openmodelica,你好堆栈溢出社区 我很想知道时间步长值如何影响OpenModelica模拟结果 以及如何优化仿真周期,从而加快仿真速度,在更短的时间内获得结果 还有什么会影响模拟时间,比如计算机性能和代码的复杂性 如果使用显式(固定步长)解算器(如Euler),步长大小将对结果的稳定性产生重大影响。 如果使用隐式(通常是多步)解算器(如Dassl),则步长不会真正影响任何性能或结果,除非打印到结果文件的值由解算器插值到这些点。如果要使其运行更快且精度更低,请增加解算器的公差 只是为了澄清术语。当你在这篇文章中说
只是为了澄清术语。当你在这篇文章中说“步长”时,你指的是间隔参数吗 此外,我还有几个问题:
感谢我使用的是Dassl解算器,这意味着步长不会影响结果,但会使模拟运行得更快吗?模拟速度本身不应受到影响(仅限于写入结果文件的部分)。请注意,模拟不会总是在公差更大的情况下运行得更快。有时,它可能会反直觉地帮助收紧一点公差-有时,性能似乎只是随机的。(注意:对于较大的公差;一旦公差低于某个阈值,较小的公差将需要更多的时间。)问题的最后一部分:影响模拟运行时的因素虽然是一个有趣的问题,但有着显著的不同。它超出了解算器通信步长或容差的选择范围。这个问题值得再提一次。