上个月,我一直在努力提高模型在Dymola中的收敛性能。现在我在考虑,如果我定义状态变量的min和max属性,例如最大质量流量为10000kg / s,则在迭代过程中,当结果达到最大或最小边界,迭代将继续还是停止? 我正在考虑,当迭代结果达到边界时,迭代是否会朝相反的方向反弹,这可能会确保模型的收敛性。
我准备对我的想法进行一些测试,如果有人有相同的问题或意见,欢迎发表评论或回答。
答案 0 :(得分:3)
设置变量的最大/最小值不可能显着改善Dymola的性能。
如果某个变量的最小/最大断言处于活动状态,则求解器将拒绝具有超出范围的值的步骤,并且当前不会尝试以巧妙的方式将它们映射回有效值。这可能会跳过基于边界值的一些计算,但是很少有那么重要的事情-而且还存在拒绝步骤等的代价。