在二维 cfd 仿真中,应如何将边界条件应用于压力场?

How should I apply boundary conditions to a pressure field in a 2D cfd simulation?

提问人:Akin83 提问时间:9/24/2023 更新时间:9/24/2023 访问量:30

问:

我正在编写一个 2D 不可压缩非定常纳维-斯托克斯求解器,以计算形状上方和下方的气流。该程序使用MAC方法,在速度的边界条件下使用带有幽灵单元的交错网格,我在边界条件(形状)内将所有值设置为零。问题在于边界条件未正确应用。没有一个迭代在边界内显示为 0 压力(但显示形状外的 x 速度的预期结果),最终所有迭代都显示所有像元的所有值都设置为零。

此外,对于大多数单元,在第 9 次迭代后,不满足连续性。

我尝试将形状内的压力以及所有其他值设置为 0。形状的边界平均了它之前/之后的速度,以强制执行无滑移条件。

除了形状内的细胞外,所有细胞都应该满足连续性,但大多数细胞(仅 30/3300)都没有满足连续性

Python 流体动力学

评论

0赞 lastchance 9/24/2023
这不是编码问题,所以你最好有一个CFD论坛。但是,如果您在所有边界上设置压力 = 0 ...不会有净力,因此没有流动!通常压力满足零梯度边界条件;有时您仅在 OUTLET 边界上设置压力 = 0。对其他边界的压力将比这更大。
0赞 Akin83 9/24/2023
感谢您的重定向。看来我不清楚。我在形状内将压力设置为 0,而不是直接在形状的边界上,其中压力是使用压力校正方案计算为正常的。我仍然会尝试你的建议,看看是否有效。
0赞 lastchance 9/25/2023
您需要在实体边界上将速度设置为 0,但强制实施零梯度压力边界条件的最简单方法是将幻影节点(边界内)的值设置为等于外部的值。
0赞 Community 9/25/2023
请提供足够的代码,以便其他人可以更好地理解或重现问题。

答: 暂无答案