有限体积法:非结构化网格与八叉树自适应+细胞切割


12

我正在使用使用任意非结构化网格的OpenFOAM C ++计算连续体力学库(它可以处理流固耦合,MHD流...)。这是由使用快速生成(通常是自动)非结构化网格的优点来模拟复杂几何体中的问题的想法所驱动的。

但是,最近我遇到了另一种方法:使用单元格“切割”的八叉树自适应笛卡尔网格,其中使用主动网格细化来描述复杂的几何形状。

从数字的角度来看,笛卡尔网格更准确,所以我的问题是:有没有人使用/实现这两种方法中的一种或两种?他们如何相互比较?

我正在开发用于两相流体流动的代码,并且我注意到例如可以很容易地在笛卡尔网格上使场梯度的重建更加准确,而非结构化网格则需要线性回归以实现场的突然变化...


另一种选择:笛卡尔切细胞方法。有大量的文献。本文可能是一个不错的起点:dx.doi.org/10.1016/S0378-4754(02)00107-6
David Ketcheson 2011年

Answers:


5

我认为所有更现代的FEM库(例如Deal.II,libmesh等)都使用基于八叉树的方案(或更精确地说:八林,其中一棵树从非结构化粗网格的每个单元开始)。这有很多优点,主要是因为您知道网格单元的层次结构。这意味着您可以轻松地进行粗化,几何多重网格化等,如果仅从精细的非结构化网格开始,则所有这些操作都将非常困难。此外,分区成为几乎不重要的问题。这种方法的缺点是,如果您有复杂的几何图形,以前只需要向网格生成器描述它,而现在,您还必须向FEM代码描述它,因为精炼位于网格上的像元时需要几何图形。边界。

在其他所有条件相同的情况下,我认为基于八叉树的方法比使用一个巨大的非结构化网格更加灵活和有用。


我并不是说我会使用大型的非结构化网格。细化是基于八叉树的,但是如果您比较笛卡尔八叉树的细化网格和非结构化八叉树的细化网格,则精度会有差异。业界一直在推动非结构化网格的发展,希望能够自动(至少快速)生成复杂的几何体,但是现在,单元格切割+笛卡尔网格似乎也可以很快地完成工作,而且结构化性质还提供了额外的数值精度的网格...
tmaric 2012年

我以为我已经接受了这个答案.. :)对不起,抱歉。
tmaric

4

h2:1

hh106r 是一种很好的资源),可用于与移动的各向异性特征对齐。

还要注意,隐式时间离散化和直线方法更简单,并且对于自由度数和网格的连通性不变的方法具有更好的属性。此外,如果物理和空间离散化是连续可微的,则将存在连续的伴随(对于灵敏度分析,优化,不确定性量化等有用)。

最佳选择是高度依赖于问题的,但是对于边界层薄的CFD问题,尤其是当使用墙分辨率而不是墙建模时,非结构化或块结构的顺应网格是不错的选择。


2

与存在复杂边界的非结构化网格相比,结构化网格允许进行许多假设,这些假设可用于提高性能,但通常比非结构化网格更难以实现且执行效率更低。非结构化网格无需额外编程即可有效地逼近复杂边界,但是几乎不能对矩阵结构做出任何假设。与往常一样,没有比这更适合您需要的方法了。前者通常用于海洋,气候,宇宙/地理建模,后者则用于工程问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.