如何提高COMSOL瞬态模型的收敛性?

COMSOL Multiphysics 求解瞬态模型时,需要考虑各物理量随时间的变化。为此, 软件基于给定的初始条件,使用时间积分算法计算未知变量随时间的变化情况。在计算过程中,有时收敛较慢,有时不完全收敛。

COMSOL Multiphysics 提供 3 种方法求解微分代数方程: 向后差分公式法、广义 α 法和龙格-库塔法。向后差分公式法和广义 α 法是隐式方法,龙格-库塔法是显式方法。显式方法根据当前状态下的解直接计算其后状态下的解。隐式方法根据其后状态和当前状态下的解形成方程组并进行求解。隐式方法通常比显式方法更稳定、快速,但显式方法使用的内存更少。软件根据所用的物理场接口自动确定最合适的方法,一般不建议替代默认的求解器方法。如果要查看所使用的求解器,可以在求解器配置的瞬态求解器节点中查看时间步长设置。

调整瞬态求解器可以解决收敛问题。对于默认使用向后差分公式法和自由时间步长求解的扩散、对流和反应等问题,应注意以下 3 点。

(1) 使用事件接口模拟步长变化。

如果模型中的载荷或边界条件随时间发生瞬时变化,那么应通过引入事件接口求解。

(2) 网格必须足够细化才能模拟流场的变化。

特别是对于涉及扩散、对流和反应的问题,不能提前知道场中具有显著空间变化的具体位置,如果网格过于粗化,求解器可能需要采用非常小的时间步减小误差。但是,细化网格会导致求解器采用较大的时间步,代价是模型更大。

(3) 初始时间步长。

求解器启动时根据总计算时间估计要采用的初始时间步长,因此若对同一模型求解 2 次,其总时间不同,则初始时间步可能不同。

如果要指定初始时间步长,可转到瞬态求解器设置,在时间步长栏中启用初始步长,并输入固定的初始步长值。软件可以自由选择小于该值的步长,但不会使用超过该值的步长。瞬态求解器的初始步长设置窗口如图所示。

在这里插入图片描述

在处理非收敛模型时,如果瞬态求解器无法收敛,要么在整个仿真过程的某个时间点失败,要么在初始条件下立即求解失败。

如果是在仿真过程中的某个时间点失败,可以使用上述方法提高收敛性。如果网格不够细化或者存在一些正在传播的累积误差,那么绘制结果会特别突出显示。

如果求解器在初始条件下立即求解失败,要仔细检查每个物理场接口中指定的初始条件,以及模型中各物理场的所有边界条件、载荷和约束。如果这些因素不一致,会导致求解器失效。在默认情况下,求解器会试图通过找到与所有边界条件都一致的初始条件更正这一问题,但这可能与预想的结果有很大不同。

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值