与浸入边界法一起使用的斯托克斯求解器的缓慢收敛

计算科学 迭代法 纳维斯托克斯
2021-12-22 21:26:50

我正在使用浸没边界法来模拟 3D 斯托克斯流中的弹性粒子。具体来说,一个有2up+f(t)=0,u, 在哪里f(t)是根据流动平流的一些粒子集合的瞬时构型计算的u. 更明确地说,r˙i=u(ri),f(t)=F({ri}),F表示一些依赖于所有的函数(al)ri:s。

在浸没边界法中,u在空间(非移动)网格上离散化。为了模拟一个时间步,首先求解一个离散线性系统以获得u对于给定的瞬时值f,然后将粒子移动到它们的位置ri:s 与这些位置的流速:ri(t+δt)=ri(t)+δtu(ri,t). 最后,更新一个f根据新获得的值ri:s。

从广义上讲,我可以看到两种处理斯托克斯动力学的方法:
(1)上述方法,需要在每一步中求解一个大型线性系统。
(2) 通过添加模拟瞬态流ρtu项和方程的人为可压缩性。

在我手中,使用方法(1)很慢,因为它需要在每个时间步求解一个线性系统。我使用在 PETSc 中实现的迭代 MINRES 求解器,但达到收敛的迭代次数往往很大(大约 4000 次)。
方法 (2) 不需要求解线性系统,但引入了一个会降低精度的小参数,除非该参数非常小(需要小时间步长)。

我的问题是双重的:
(1)使用方法(1),我确实从前一个时间步回收我的解决方案作为迭代求解器的初始猜测。然而,通常,所需的迭代次数似乎很大(约 4000 次)。难道我做错了什么?
(2)如果使用方法(2),是否有一些“聪明”的方法来校正非零惯性并获得更接近零雷诺极限的东西?也许基于这两种策略的组合?

0个回答
没有发现任何回复~