微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Dymola中求解DAE的过程

如何解决Dymola中求解DAE的过程

我试图了解在 Dymola 中解决 DAE 的过程。根据Dymola帮助文档的13.8章,Dymola会先用索引约简算法将原始的DAE转化为ODE,然后经过划分和撕裂得到BLT形式,这样Dymola就可以像DASSL一样用BDF方法解决ODE了。

这是 Dymola 帮助文档的屏幕截图。

enter image description here

我还从Wolfram mathematica中找到了一些关于如何解决DAE的材料,如下图所示,不同阶段可能有不同的策略,我在Dymola中标记了我认为采用的方法。我的问题是:

  1. Dymola 是否只是采用我标记方法
  2. 或者Dymola也采用了Wolfram Mathematica的方法,在不同的阶段使用不同的方法?如果是,Dymola 如何确定使用哪种方法

    enter image description here

解决方法

Dymola 做了一些类似于那条红线的事情,并忽略了该流程图中的许多选择,因为它们不相关并且隐藏了许多同样重要的选择。 例如,

  • 即使索引为 1 或 0,索引缩减算法也会起作用 - 它不会做任何事情。
  • 虚拟导数方法可以看作是一种投影方法。 (我很久以前就完成了关于实施它的硕士论文。)
  • IDAS 是日晷套件中的求解器之一。 Dymola 可以使用日晷求解器以及许多其他求解器进行积分;并且两者都将模型作为 ODE 或作为适合求解器的索引 1 DAE - 但这是在生成的 C 代码中处理的,不会影响其他部分。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。