Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OpenModelica中时间步长对结果的影响_Modelica_Dymola_Openmodelica - Fatal编程技术网

OpenModelica中时间步长对结果的影响

OpenModelica中时间步长对结果的影响,modelica,dymola,openmodelica,Modelica,Dymola,Openmodelica,你好堆栈溢出社区 我很想知道时间步长值如何影响OpenModelica模拟结果 以及如何优化仿真周期,从而加快仿真速度,在更短的时间内获得结果 还有什么会影响模拟时间,比如计算机性能和代码的复杂性 如果使用显式(固定步长)解算器(如Euler),步长大小将对结果的稳定性产生重大影响。 如果使用隐式(通常是多步)解算器(如Dassl),则步长不会真正影响任何性能或结果,除非打印到结果文件的值由解算器插值到这些点。如果要使其运行更快且精度更低,请增加解算器的公差 只是为了澄清术语。当你在这篇文章中说

你好堆栈溢出社区

我很想知道时间步长值如何影响OpenModelica模拟结果

以及如何优化仿真周期,从而加快仿真速度,在更短的时间内获得结果 还有什么会影响模拟时间,比如计算机性能和代码的复杂性

如果使用显式(固定步长)解算器(如Euler),步长大小将对结果的稳定性产生重大影响。 如果使用隐式(通常是多步)解算器(如Dassl),则步长不会真正影响任何性能或结果,除非打印到结果文件的值由解算器插值到这些点。如果要使其运行更快且精度更低,请增加解算器的公差


只是为了澄清术语。当你在这篇文章中说“步长”时,你指的是间隔参数吗

此外,我还有几个问题:

  • “初始时间步长”和“最大时间步长”的范围是什么。它们如何与间隔和耐受性相关

  • “输出”选项卡中的“等距时间网格”和“在事件中存储变量”的范围是什么


  • 感谢

    我使用的是Dassl解算器,这意味着步长不会影响结果,但会使模拟运行得更快吗?模拟速度本身不应受到影响(仅限于写入结果文件的部分)。请注意,模拟不会总是在公差更大的情况下运行得更快。有时,它可能会反直觉地帮助收紧一点公差-有时,性能似乎只是随机的。(注意:对于较大的公差;一旦公差低于某个阈值,较小的公差将需要更多的时间。)问题的最后一部分:影响模拟运行时的因素虽然是一个有趣的问题,但有着显著的不同。它超出了解算器通信步长或容差的选择范围。这个问题值得再提一次。