Taylor-Hood 有限六面体单元,压力发散

计算科学 有限元 纳维斯托克斯 不可压缩
2021-12-29 08:15:28

我正在使用 Taylor-Hood 算法开发 FEM 流体求解器,即速度的二次插值和压力的线性。

我已经开发了二维四边形和三角形的代码,一切正常。我正在尝试在 3D 中使用 20 节点和 8 节点六面体的组合,但我遇到了以下问题。速度解正确且收敛,但压力解非常不稳定。压力没有收敛。也不会发散。我尝试放松不足,但问题仍然存在。

代码看起来没问题(我检查了几次),但总有可能在某个地方出现问题。我错过了物理学中的某些东西吗?压力在某一点归零,我要解决的问题是简单的 3D 盖驱动型腔流动,其中在所有边界上都规定了速度。

你能推荐我任何相关的文件吗?

2个回答

如果不知道代码、测试用例和结果,当然很难说。所以在这里我真的帮不了你。

值得指出的是,你让自己工作太多了任何大型的开源有限元库都已经内置了这些元素,并且经过了非常好的测试。它们还具有自适应网格、出色的求解器和可用的并行性。您确实没有理由自己实现所有这些 - 节省您的时间和精力来实现特定于您的问题的东西,而不是通用的东西。

(免责声明:我是这些大型库之一 - deal.II的作者之一。您可能有兴趣查看Stokes 方程教程程序。您可以从那里找到 Navier-Stokes 求解器。)

我解决了我的问题。我在连续性方程中添加了一个小的压力系数,比方说1010. 在弱形式中,这个量乘以积分 {NT N}(或质量矩阵),其中N是 8 节点六面体的形状函数。代码现在可以正常工作。