0

我试图了解在 Dymola 中解决 DAE 的过程。根据 Dymola 的帮助文档第 13.8 章,Dymola 会首先使用索引缩减算法将原始 DAE 转换为 ODE,然后经过分区和撕裂后得到 BLT 形式,因此 Dymola 可以像 DASSL 一样使用 BDF 方法解决 ODE。

这是 Dymola 的帮助文档的屏幕截图。 在此处输入图像描述

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

  1. Dymola 是否只是采用我标记的方法?
  2. 或者 Dymola 也采用了 Wolfram Mathematica 的方法,在不同的阶段使用不同的方法?如果是这样,Dymola 如何确定使用哪种方法? 在此处输入图像描述
4

1 回答 1

4

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

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