使用不同尺寸设置进行网格划分的最佳方式

2019年 7月 9日

您想知道创建网格划分序列的最佳方式吗?比如通过单独的操作节点对域进行网格划分与使用同一操作对整体域进行划分有什么区别?本文我们将讨论创建网格划分序列的不同方法,以及这些方法如何影响生成的网格。您将深入了解,当按序列应用网格划分操作时,会产生什么结果。

网格划分操作简介

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

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

网格划分序列的顺序选择

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

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

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

为了指定较细的网格,我们将一个局部大小节点添加到第二个自由三角形网格节点,并指定预定义的大小为超细化

COMSOL Multiphysics 中网格划分序列的屏幕截图,其中高亮显示了不同的节点。
网格划分序列包含一个全局大小节点、两个自由三角形网格节点和一个局部大小节点。

绘制生成的网格时,我们可以看到左侧域完全由粗化网格划分,而右侧域共享边界附近有一些粗化单元。这是因为共享边界的边界网格由第一个操作固定,因此在它附近不存在任何细化单元。此外,共享边界右侧的粗化单元质量低于其他单元。

网格划分序列中首先对左侧域进行网格划分得到的低质量网格的屏幕截图。
首先对左侧域进行网格划分得到的网格。尽管指定右侧域的网格为超细化,右侧域还是有一些低质量的粗化单元。

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

首先对右侧域进行网格划分得到的质量提高的网格的屏幕截图。
首先对右侧域进行网格划分得到的网格。现在,右侧域只包含细化单元,整体单元质量得到提高。

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

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

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

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

首先对带孔的左侧域进行网格划分得到的低质量网格图。
首先对左侧域进行网格划分得到的网格。首先对左侧域进行网格划分,不会考虑右侧域的几何结构。结果是共享边界与下部孔之间的窄区域包含低质量单元。

此序列设置将无法生成在几何结构的所有区域都具有高质量单元的网格。在这个示例中,交换操作的顺序没有起到作用,问题只会转移到上部窄区域。其实,这里仅使用一个自由三角形网格操作,并将它应用在两个域上,就可以同时包含整个几何结构,并创建适合两个域的边界网格。

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

当我们用一个操作绘制由序列生成的网格时,可以看到下部窄区域中的单元质量有了很大的提升。

同时对带孔的域进行网格划分得到的高质量网格图。
同时对两个域进行网格划分得到的网格。由于边界网格是针对两个域生成的,因此下部窄区域中的网格质量得到改善。

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

三维示例

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

三维线圈模型的几何结构。
线圈几何结构。放大视图显示了线圈匝之间的窄区域。

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

网格单元大小设置窗口的屏幕截图。
全局大小节点设置为粗化最小单元大小设置为自定义值 2e-4m。

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

线圈在周围域之前进行网格划分得到的网格图。
首先对线圈进行网格划分得到的网格。请注意,已经删除了半个盒子和一个线圈,以方便查看。由于首先对线圈进行网格划分,因此窄区域(红色)中生成的四面体网格质量较差。

接下来,我们按照最佳实践创建一个新的网格划分序列。添加单个自由四面体网格操作并将它应用在整个几何结构。我们在操作中添加一个局部大小节点,默认值为常规,设置域选择为线圈(如下图所示)。全局大小节点的设置与上一个序列相同。

选中“自由四面体网格”操作的网格单元设置的屏幕截图。
局部大小节点指定代表线圈的域 2-11 的单元大小。

在创建这个网格划分序列时,考虑到周围的几何结构,用非常细的网格对线圈边界的边界网格进行网格划分。这样,窄区域中生成的网格单元更细且质量更好。

为获得高质量单元而使用一个操作对线圈和周围域进行网格划分得到的网格图。

同时对两个域进行网格划分得到的网格。由于整个几何结构在一个操作中进行网格划分,因此内部边界上的网格比以前细得多,从而使窄区域中的单元质量更好。

总结

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

了解更多信息

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

博客分类


评论 (2)

正在加载...
清清 张
清清 张
2022-11-28

太牛了!!!

超 齐
超 齐
2023-06-23

学习了,之前还真没有注意到这些呢。

浏览 COMSOL 博客
Baidu
map