gpt4 book ai didi

modelica - Dymola 求解非线性系统模型的最大能力是多少?

转载 作者:行者123 更新时间:2023-12-02 21:55:25 34 4
gpt4 key购买 nike

在 Dymola 中,我经常遇到非线性系统初始化失败,或者可能是大型热流体系统中难以求解的刚性系统,但对于简单的系统,不会出现此类问题。我的问题是:

  1. 所以我想知道求解非线性系统模型的最大能力是多少?例如,我的模型中最多可以包含多少个非线性方程?
  2. Dymola 中是否有任何设置可以提高求解非线性系统的能力?
  3. 如何在不损害模型精度的情况下减少模型中非线性方程的数量?

最佳答案

这些都是很难以普遍有效的方式回答的问题。尽管如此,我还是会尝试分享我在 Dymola 和非线性系统方面的一些经验。

  1. 没有硬性数字来限制大小。它更多地取决于方程的非线性程度,而不是方程的数量。我用尺寸为 150 的非线性系统模拟了模型,这些模型非常稳定,而其他尺寸为 10 的系统可能会制动...

  2. 对此有多种观点

    • 我曾研究过一些导致 C 编译器在编译过程中内存不足的模型。如果您遇到此类问题,通过设置 Advanced.CompileWith64=2 强制进行 64 位编译会有所帮助。那么你就不应该再耗尽内存了。这仅指尺寸。
    • 通过设置 Advanced.Define.DAEsolver=true 激活 DAE 模式,可以提高非线性系统的性能。但这并不适用于所有求解器。
    • 除上述之外,它还可以帮助设置 Advanced.MoveEquationsToDynamics=true,手册中指出:“它强制积分器求解非线性方程每个积分器步骤都会更新方程,因此它也会更频繁地更新初始猜测。”
    • 正如 Erik 所提到的,homotpy() 运算符非常重要,因为它可以帮助求解器在初始化困难的情况下收敛。
  3. 这对于模型来说是非常具体的。解耦可以有所帮助,例如通过添加能量存储元件/状态将系统分割成更小的系统。这可以根据系统的物理原理来完成,如果可能的话,这是更好的解决方案。作为(更人为的)替代过滤器/延迟,可以添加。通常这会对准确性产生负面影响。

关于modelica - Dymola 求解非线性系统模型的最大能力是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61408790/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com