边界条件:
v中各方= 0。U = 0上右,左,顶部在底部BC和u =盖速度
数值方法:
用于解决速度-压力耦合的简单算法。要了解在交错网格中索引是如何工作的,请查看“Versteeg, Malalasekera:计算流体动力学介绍”教科书。控制方程的离散化是基于这本教科书。u和v在每次迭代中都用Jacobi方法更新。在每次迭代中,采用五对角矩阵算法直接求解压力修正方程。收敛所需的欠松弛因子的正确选择。Jacobi方法是解决这类问题效率最低的方法,但它简单易解。我们鼓励您应用其他迭代方法,如逐行TDMA、Guess-seidel、多重网格或SOR,以更快地收敛。
压力校正:
我经常看到有人用简单的算法求解压力校正公式,因为P”的BC级还不清楚挣扎。这里是如何解决它:
1)的压力是相对的概念。所以,夹紧一个节点的压力在域中零作为边界条件,并在其他节点中的压力将相对于该点测量。这是一个常见的做法是将P(1,1)= 0,因为P(1,1)被称为P“(1,1)= 0,但你需要计算P”的其他节点。很明显,在它之下的节点,但它有AW,AE,一个AS = 0的P“是位于底壁因为没有P点”。其他的边界P”值将设置这种方式。你会与系数的五对角矩阵结束。
我用petc (C语言)并行编写了这段代码。我很快会把它上传到GitHub上。它比这个版本快得多,因为:
1)它是平行的,而不是串行所以你可以,你可以使用多个处理器。
2)C版通过迭代几个不同于MATLAB版本,其中不只有一个雅可比扫描时间解决了动量方程。
3)最重要的是,PETSc的使用Krylov子空间迭代法(类型:GMRES),它也使用预条件(我发现添加剂Shwartz PC是最好的)来解决动力和压力校正,这是远远比雅可比方法更有效收敛率方面。
引用
MJ Sarfi(2021)。2D盖用简单的算法驱动方腔流(//www.tianjin-qmedu.com/matlabcentral/fileexchange/68348-2d-lid-driven-cavity-flow-using-simple-algorithm),MATLAB中央文件交换。检索到。