Mag*_*nne 2 modelica openmodelica dymola
使用dymola模拟模型,根据所选的积分方法,我会得到不同的结果.所以我的问题是:为什么选择哪种方法?
理想情况下,方法的选择应基于哪一个最快速地给出足够接近精确结果的结果.
但是我们不知道确切的结果,在这种情况下,至少有一些求解器(可能全部)不会产生足够接近它的结果.
一种可能性是首先尝试用更严格的公差来模拟 - 例如1e-9.(注意:对于固定的步长求解器,Euler和Rkfix*它的步长会更小,但不要开始使用它们.)
希望求解器之间的差异会减小,并且不同的求解器会得到更多相似的结果(应该接近于精确的结果).
然后,您可以始终使用这种更严格的容差.或者,如果一个求解器已经给出了相同的结果且不太严格的公差 - 那么你可以使用那个不太严格的公差; 但你还必须在准确性和模拟时间之间进行权衡.
有时候这种情况不会发生,甚至同一个解算器也会针对不同的公差产生不同的结果; 没有收敛到真正的解决方案.(假设解决方案在开始时很接近,但很快就会发散.)在这种情况下,模型很可能是混乱的.处理起来有点复杂,有几种选择:
它也可能是一些其他错误(包括初始化期间的问题),但这需要更完整的示例来进行调查.
| 归档时间: |
|
| 查看次数: |
279 次 |
| 最近记录: |