使用 Gauss-Seidel 和有限差分求解 Navier Stokes Eq

计算科学 纳维斯托克斯
2021-12-11 11:17:12

我正在尝试使用有限差分方法和迭代求解器(Gauss-Seidel)求解以下方程组。

连续性方程:

Vxx+Vyy=0

简化的斯托克斯方程:

η(2Vxx2+2Vxy2)Px=0

η(2Vyx2+2Vyy2)Py+ρg=0

我是否应该使用两个斯托克斯方程来求解速度()。但是,我该如何解决压力()?还是我首先使用连续性方程求解速度,最后使用斯托克斯方程求解压力?vx,vyP

2个回答

在不可压缩 Stokes(和 Navier-Stokes)方程中,压力用于强制不可压缩。对于三个未知场变量(),您有 3 个方程,因此一旦您选择了边界条件,您的系统就完全确定了。没有额外的压力方程。VxVyP

在求解与时间相关的 Navier-Stokes 方程时,一种流行的技术是使用预测器/校正器类型的方法,其中基于旧压力值提高速度,然后使用“压力投影”技术进行校正。这涉及求解泊松方程以找到强制不可压缩性所需的压力。这实质上意味着将更新的速度场投影到不可压缩速度场的空间上,其中压力场用于强制执行此投影。

在您的情况下,可以使用您所需的方法对斯托克斯方程进行离散化,从而生成一个线性方程组,该系统可以使用您所需的矩阵求逆技术或迭代方案同时求解。我不确定得到的线性系统在 Gauss-Seidel 迭代下的收敛性如何。它可能工作正常,或者您可能需要执行某种类型的预处理。

您似乎想解决一个简单的二维问题。在这种情况下,我强烈建议您使用方程的公式,该公式使用涡度的平面外分量和流函数。