我可以通过在Dymola中设置状态变量的最小和最大边界来确保收敛吗?

时间:2019-12-06 09:13:47

标签: modelica dymola

上个月,我一直在努力提高模型在Dymola中的收敛性能。现在我在考虑,如果我定义状态变量的min和max属性,例如最大质量流量为10000kg / s,则在迭代过程中,当结果达到最大或最小边界,迭代将继续还是停止? 我正在考虑,当迭代结果达到边界时,迭代是否会朝相反的方向反弹,这可能会确保模型的收敛性。

我准备对我的想法进行一些测试,如果有人有相同的问题或意见,欢迎发表评论或回答。

1 个答案:

答案 0 :(得分:3)

设置变量的最大/最小值不可能显着改善Dymola的性能。

如果某个变量的最小/最大断言处于活动状态,则求解器将拒绝具有超出范围的值的步骤,并且当前不会尝试以巧妙的方式将它们映射回有效值。这可能会跳过基于边界值的一些计算,但是很少有那么重要的事情-而且还存在拒绝步骤等的代价。