文件交换

图片缩略图

基于SIMPLE算法的二维盖驱动空腔流动

version 1.1.0 (7.59 KB) by 乔丹Sarfi
采用SIMPLE算法对经典的盖驱动腔流进行稳态求解。

2 k下载

更新08年8月2018年

查看许可协议

边界条件:

所有边的V都是0。u=0左右和底部,u=顶部BC的盖子速度

数值方法:

用于解决速度-压力耦合的简单算法。要了解在交错网格中索引是如何工作的,请查看“Versteeg, Malalasekera:计算流体动力学介绍”教科书。控制方程的离散化是基于这本教科书。u和v在每次迭代中都用Jacobi方法更新。在每次迭代中,采用五对角矩阵算法直接求解压力修正方程。收敛所需的欠松弛因子的正确选择。Jacobi方法是解决这类问题效率最低的方法,但它简单易解。我们鼓励您应用其他迭代方法,如逐行TDMA、Guess-seidel、多重网格或SOR,以更快地收敛。

压力校正:

我经常看到人们用SIMPLE算法解决压力修正方程,因为P'的bc不清楚。以下是解决方法:
压力是一个相对的概念。因此,作为边界条件,将域中一个节点的压力固定为零,其他节点的压力就会相对于那个点进行测量。通常的做法是让P(1,1)=0,因为P(1,1)已知P'(1,1)=0,但你需要在其他节点计算P'。很明显,对于底部壁上的P'点aS = 0因为它下面没有P'节点但它有aW aE aN。其他边界P'值将这样设置。你会得到一个五对角系数矩阵。

我用petc (C语言)并行编写了这段代码。我很快会把它上传到GitHub上。它比这个版本快得多,因为:
它是并行的而不是串行的,所以你可以使用多个处理器。
2) C版本通过迭代几次来解决动量方程,不像MATLAB版本只做一次雅可比扫描。
3)最重要的是,PETSc采用了Krylov子空间迭代法(类型:GMRES),并使用了预调节器(我认为Additive Shwartz PC最好)来求解动量和压力校正,在收敛速度上比Jacobi方法更有效。

引用作为

乔丹Sarfi(2021)。基于SIMPLE算法的二维盖驱动空腔流动(//www.tianjin-qmedu.com/matlabcentral/fileexchange/68348-2d-lid-driven-cavity-flow-using-simple-algorithm), MATLAB中央文件交换。检索

MATLAB版本兼容性
创建R2018a
与任何版本兼容
平台的兼容性
窗户 macOS Linux

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!