网格剖分中不同尺寸设置的最佳方式

by Eric Linvill
Guest
2019年 7月 9日

你想知道构建网格剖分序列的最佳方式吗?比如说,通过单独的操作节点对域进行网格剖分与使用同一操作对整体域进行剖分有什么区别吗?在本博客中,我们将讨论构建网格剖分序列的不同方法,以及这些方法如何影响生成的网格。您将深入了解网格剖分操作在序列中的应用特性。

网格剖分操作简介

网格剖分操作分为两类:结构化和非结构化。结构化操作是映射 扫掠,生成结构化网格,非结构化操作是自由三角形网格自由四边形网格 自由四面体网格,生成非结构化网格。

非结构化操作的一个显著特征是它们可以对任何几何结构进行网格剖分,而结构化操作只能对满足特定标准的几何结构进行网格剖分。生成非结构化网格时,单元质量和指定的大小参数都要考虑在内,以便在 COMSOL Multiphysics® 软件得到针对计算的优化网格。除了指定大小参数之外,构建网格剖分序列的方式也将影响最终的网格。我们通过研究几个例子来探究这些影响,以及如何利用它们来发挥你的优势。

网格剖分序列的顺序选择

首先,我们解释一下,网格剖分序列与顺序相关。假设我们想要研究二维模式下的两个相邻正方形。在右侧的正方形中,我们想要使用较细化的网格,原因可能是材料要求,也可能是我们要研究的物理场需要。

我们通过创建两个自由三角形网格 节点来构建网格剖分序列。在第一个自由三角形网格 节点中,我们选择左侧域,在第二个节点中,我们选择右侧域(如下图所示)。接下来,我们将全局大小 节点设置为预定义的超粗化,这是因为,最好在第一个全局大小 节点中指定最粗化网格大小。

进一步阅读使用网格剖分序列教程模型中关于使用局部和全局大小 节点的内容(特别是 PDF 文档的第 10 页)。

为了指定较细化的网格,我们将一个局部大小 节点添加到第二个自由三角形网格 节点,并指定预定义大小超细化
COMSOL Multiphysics 中网格划分序列的屏幕截图,其中高亮显示了不同的节点。
网格剖分序列包含全局 大小、两个 自由三角形网格和一个 局部大小节点。

绘制生成的网格时,我们可以看到左侧域完全由粗化网格剖分,而右侧域中共享边界附近有一些粗化单元。这是因为共享边界的边界网格由第一个操作指定,因此在其附近不存在任何细化单元。此外,共享边界右侧的粗化单元的质量低于其他单元。
网格划分序列中首先对左侧域进行网格划分得到的低质量网格的屏幕截图。
首先对左侧域进行网格剖分得到的网格。尽管我们指定右侧域的网格为 超细化,右侧域中还是有一些低质量的粗化单元。

如果我们交换两个自由三角形网格 节点的顺序,以相反的顺序执行操作(首先对右侧域进行网格剖分),我们会得到不同的结果。在结果图中,我们可以看到现在的共享边界由比之前更细化的网格组成。因此,右侧域现在完全由细化单元组成,而左侧域共享边界附近有一些细化单元。因而,网格中单元数量增加了,最小单元质量 几乎增加了一倍,这意味着网格的整体质量提高了。
首先对右侧域进行网格划分得到的质量提高的网格的屏幕截图。
首先对右侧域进行网格剖分得到的网格。现在,右侧域只包含细化单元,整体单元质量得到提高。

这里需要注意的是,先前操作生成的网格将对任何后续操作创建的网格产生约束。本例中,这意味着在先前网格边界附近生成的网格将会受到该边界单元尺寸的影响。

使用单个操作对多个域进行网格剖分

现在,我们设想一个稍有不同的例子。假设我们研究的是相同设置的正方形,但每个正方形在共享边界附近有一个圆孔。本例中,我们假设我们希望两个域都具有相同的单元大小。与前面的示例类似,我们通过在网格剖分序列中添加两个自由三角形网格 节点并将它们分别应用于左右两个域来构建网格剖分序列。这次,我们将全局大小 节点设置为预定义大小常规,并且不添加任何其他大小 节点。

最终得到的网格图不像我们预期的那样令人满意。在研究该绘图时,我们可以看到共享边界和下部孔之间的窄区域中的单元质量较差。由于首先对左侧域进行网格剖分,因此在生成边界网格时不会考虑右侧域的几何结构。因为下部孔与边界之间的区域很窄,所以需要生成比共享边界上更小的单元,从而避免低质量单元。
首先对带孔的左侧域进行网格划分得到的低质量网格图。
首先对左侧域进行网格剖分得到的网格。首先对左侧域进行网格剖分,不会考虑右侧域的几何结构。结果,共享边界与下部孔之间的窄区域包含低质量单元。

此序列设置将无法生成在几何结构的所有区域都具有高质量单元的网格。在这种情况下,交换操作的顺序没有帮助,问题只会转移到上部窄区域。解决方案是仅使用一个自由三角形网格 操作,并将其应用于两个域,这样网格剖分算法可以同时包含整个几何结构,并构建适合于两个域的边界网格。

阅读上一篇博客文章“改进的四面体单元网格剖分功能”,了解生成四面体网格的详细过程。

当我们用一个操作绘制由序列生成的网格时,我们可以看到下部窄区域中的单元质量有了很大的提高。
同时对带孔的域进行网格划分得到的高质量网格图。
同时对两个域进行网格剖分得到的网格。由于边界网格是针对两个域生成的,因此下部窄区域中的网格质量得到改善。

即使我们可能在两个相邻域中具有相同的大小规格,我们对这两个域进行剖分的顺序也会对最终的网格产生很大的影响。需要注意的是,使用单个操作对多个域进行网格剖分时,计算机能够并行生成网格。出于这些原因,建议使用尽可能少的操作。

三维示例

最后,我们将在三维模式下研究盒子内的线圈,以了解这些效果如何体现在更高级的几何结构中。我们使用的是内置线圈几何单导线线圈 – 矩形导线、跑道型、闭侧,可在“AC/DC 模块”的零件库中找到。在我们的模型中,我们在线圈周围添加一个盒子,并调整线圈,使一对线圈之间的区域变得非常窄,这意味着线圈之间需要非常细化的网格,以避免低质量单元。本例中,我们希望生成的网格为:周围盒子中的网格较粗化,线圈中的网格较细化,线圈之间窄区域中的网格足够细化。
三维线圈模型的几何结构。
线圈几何结构。放大视图显示了线圈匝之间的窄区域。

我们将全局大小 节点设置为预定义值粗化,然后开始构建网格剖分序列。为了在窄区域中获得足够小的网格,我们必须调整参数最小单元大小,以便可以解析间距约为 1.7e-4m 的窄区域。这可以通过在全局大小 节点中选择自定义 并将最小单元大小 设置为 2e-4 m,如下图所示。接下来,我们添加两个自由四面体网格 操作,在第一个操作中选择线圈,在第二个操作中选择周围的盒子。在作用于线圈的第一个自由四面体网格 节点上,我们添加一个局部大小 节点,并将其设置为预定义值常规
网格单元大小设置窗口的屏幕截图。
全局 大小节点设置为 粗化最小单元大小设置为自定义值 2e-4 m。

在下图中,我们可以看到类似于二维示例的结果:即使我们指定了较小的最小单元大小,窄区域的单元质量仍然非常差。同样,这是网格剖分操作顺序导致的。当通过第一个操作对线圈进行网格剖分时,周围盒子中的窄区域不会对边界上的单元大小产生约束。因此,边界网格是根据线圈上指定的网格大小(即常规)生成的。对周围的盒子进行网格剖分时,共享边界的网格是固定的,因此窄区域中的网格单元只能为偏斜形状。
线圈在周围域之前进行网格划分得到的网格图。
首先对线圈进行网格剖分得到的网格。请注意,已排除半个盒子和一个线圈,以便查看。由于首先对线圈进行网格剖分,因此窄区域(红色)中生成的四面体网格质量较差。

接下来,我们按照最佳实践构建一个新的网格剖分序列。添加单个自由四面体网格 操作并将其应用于整个几何结构。我们在操作中添加一个局部大小 节点,默认值为常规,设置域选择为线圈(如下图所示)。全局大小 节点的设置与上一个序列相同。
选中“自由四面体网格”操作的网格单元设置的屏幕截图。
局部 大小节点指定代表线圈的域 2-11 的单元大小。

在构建这个网格剖分序列时,考虑到周围的几何结构,用非常细化的网格对线圈边界的边界网格进行网格剖分。这样,窄区域中生成的网格单元更细化且质量更好。
为获得高质量单元而使用一个操作对线圈和周围域进行网格划分得到的网格图。
同时对两个域进行网格剖分得到的网格。由于整个几何结构在一个操作中进行网格剖分,因此内部边界上的网格比以前细化得多,从而使窄区域中的单元质量更好。

总结

总之,我们已经看到网格剖分序列中的操作顺序对最终的网格有影响,这是因为生成的网格是固定的,因此来自前一个操作节点的任何网格都是后续操作的基础。所以,最佳做法是使用尽可能少的操作,并添加全局或局部大小 节点。此外,如果你需要在序列中进行多个操作(例如,想要使用不同的单元类型),考虑它们的顺序非常重要。

了解更多信息

如果你有兴趣了解相关主题的更多信息,我们推荐以下资源:

博客分类


评论 (0)

正在加载...
浏览 COMSOL 博客