Modelica 与使用DASSL的正常计算模式相比,Dymola中内联集成的性能
我试图使用Dymola中的内联积分来进行实时仿真,我以Modelica 与使用DASSL的正常计算模式相比,Dymola中内联集成的性能,modelica,dymola,Modelica,Dymola,我试图使用Dymola中的内联积分来进行实时仿真,我以Modelica.Fluid.Examples.HeatingSystem为例,但无论我选择哪种内联积分方法,仿真总是失败 当我选择显式方法时,Dymola无法启动集成 当我选择隐式方法时,Dymola陷入了困境 特别的是Rosenbrock方法,其误差表明Dymola无法对某些方程进行微分 在我的理解中,内联积分意味着将离散化方程添加到模型方程中,然后Dymola可以进行更多的符号操作并得到新的BLT形式。我知道这种方法会导致更多的代数循环
Modelica.Fluid.Examples.HeatingSystem
为例,但无论我选择哪种内联积分方法,仿真总是失败
我的问题是:
Modelica.Fluid.Examples.HeatingSystem
为例,如何调整模型以使用内联集成对于大多数隐式解算器来说,它似乎被卡住了,因为:
- 它是一个大小合理的模型,可以与毫秒时间步长集成6000秒;这意味着600万步(每一步都涉及方程组)
- 在内联集成期间反馈较少(因为提供反馈需要花费太多时间)
注:Dymola中的内联解算器都是固定步长解算器,因此设置过短的步长会减慢模拟速度,过长的步长会导致模拟失败,而dassl、lsodar、radau、,esdirk*在积分过程中都会调整步长以避免这两个问题。如果我必须使用固定步长解算器,我必须优化步长以证明步长独立性,就像我进行CFD时一样,我需要证明网格独立性。你对这个问题有什么经验?