全国服务热线

178-9711-7595
行业新闻
当前位置:首页>>新闻中心>>行业新闻
COMSOL:如何进行网格划分提高网格质量
作者:超级管理员   时间:2024-08-02 14:26:22  来源:本站   浏览1500次

您考虑过创建网格划分序列的最佳方式吗?比如,使用多个操作分别对各个域划分网格与使用一个操作对整体域划分网格有什么区别?这篇文章,我们将讨论创建网格划分序列的不同方式,以及这些方式如何影响生成的网格。此外,还将详细讲解当按照序列应用网格划分操作时,会产生什么结果。

网格划分操作简介

网格划分操作有两类:结构化和非结构化。结构化操作包含映射和扫掠,用于生成结构化网格,非结构化操作有自由三角形网格、自由四边形网格和自由四面体网格,用于生成非结构化网格。非结构化操作的一个显著特征是可以对任何几何结构进行网格划分,而结构化操作要求几何结构满足一定的标准。

当生成非结构化网格时,需要同时考虑单元质量和指定的大小参数,以获得可用于 COMSOL Multiphysics® 软件计算的优化网格。除了指定大小参数之外,创建网格划分序列的方式也将影响最终网格。接下来,我们通过几个示例来探究这些影响,以及如何利用这些影响快速生成优化网格。

选择网格划分序列操作的顺序

首先需要说明的是,网格划分序列与顺序有关。假设研究对象为二维空间中的两个相邻正方形。我们希望对右侧的正方形使用更精细的网格,原因可能是材料要求,也可能是物理场需要。

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

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

c28f09c3-fba4-4c52-a1c9-ea013ebc3278.png

网格划分序列包含一个全局大小节点、两个自由三角形网格节点和一个局部大小节点。

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

789b9abd-684e-460f-8191-5b15b4e41ed7.png

先对左侧域进行网格划分生成的网格。虽然指定右侧域的网格大小为超细,但右侧域仍然有一些低质量的粗网格单元。

如果交换两个自由三角形网格节点的顺序,以相反的顺序操作(即先对右侧域划分网格),将得到不同的结果。由结果绘图可以看到,共享边界现在的网格比之前的更细。右侧域现在完全由细网格单元组成,而左侧域共享边界附近有一些细单元。由此产生的最终结果是,网格中的单元数量增加,并且最小单元质量几乎增加了一倍,也就是说网格的整体质量有所提高。

7a30fee1-962f-43c3-a6d3-1dc5a0e41a5e.png

先对右侧域进行网格划分生成的网格。现在,右侧域只包含细单元,整体单元质量得到提高。

这里需要注意,前一个操作生成的网格将对后续任何操作创建的网格起到约束作用。对于本例而言,这意味着在已经划分过网格的边界附近生成的网格将受到该边界单元大小的影响。

使用一个操作对多个域划分网格

现在,我们来看一个稍微不同的例子。假设研究对象是与上述设置相同的正方形,但每个正方形在共享边界附近都有一个圆孔。在这个示例中,假设我们希望用相同的单元大小对两个域进行网格划分。与上述示例类似,通过在网格划分序列中添加两个自由三角形网格节点,并将它们分别应用于每一个域来创建网格划分序列。这次,将全局大小节点设置为预定义的常规大小,并且不添加任何额外的大小节点。最终生成的网格并没有达到我们的预期。研究这个网格绘图后我们发现,共享边界和下方孔之间的窄域区域中的单元质量较差。由于先对左侧域进行网格划分,因此在生成边界网格时不会考虑右侧域的几何结构。下方孔与共享边界之间的域很窄,所以需要生成比共享边界上的网格更小的单元,避免产生低质量单元。

a34288b5-59d0-4f2e-afec-2631d68588a0.png

先对左侧域进行网格划分生成的网格。先对左侧域进行网格划分不会考虑右侧域的几何结构。因此,共享边界与下方孔之间的窄域包含低质量单元。

这种序列设置将无法在所有几何区域生成高质量的网格单元。在这个示例中,交换操作顺序并不能解决问题,因为问题只会转移到上方的窄域区域。其实,仅使用一个自由三角形网格操作,并将它应用在两个域上,就可以同时考虑整个几何结构,并创建一个适合两个域的边界网格。

当绘制使用一个操作序列生成的网格时,可以看到下方窄域区域中的单元质量有了很大的改善。

38386f62-da6b-448c-8974-401a5b9e167d.png

同时对两个域进行网格划分生成的最终网格。由于生成的边界网格适合两个域,因此下方窄域区域的网格质量得到改善。

虽然我们可能使用相同的网格大小对两个相邻域划分网格,但网格划分的顺序对最终网格会产生很大影响。需要注意的是,使用同一个操作对多个域进行网格划分时,计算机能够并行生成网格。因此,建议使用尽可能少的操作。

三维示例

最后,我们在三维中研究一个盒子里的线圈,来了解上述不同的网格划分效果如何在更复杂的几何结构中体现。示例中使用的是 AC/DC 模块零件库单导体线圈–矩形线,跑道形,闭侧中的可调节线圈。我们在线圈周围添加了一个盒子,并调整线圈使两匝之间的区域非常窄,这表示这两匝线圈之间需要非常细的网格,以避免出现低质量单元。本例中,我们希望生成的网格在盒子周围较粗,在线圈中较细,而在线圈之间的窄域中足够细。

cb17059a-9281-4884-b640-e52ee4a4600c.png

线圈的几何结构。放大视图显示了两匝线圈之间的窄域。

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

83968172-37c5-4aab-ae0f-8efa82b133ef.png

将全局大小节点设置为粗化,最小单元大小设置为自定义值 2e-4m。

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

c4ea2545-bf34-4058-b0d9-5e814bd0e73d.png

先对线圈进行网格划分生成的网格。请注意,我们删除了半个盒子和一个线圈,以方便查看。由于先对线圈进行网格划分,因此窄域(以红色显示)中生成的四面体网格质量较差。

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

0b81b41c-bea2-40b4-adc8-05159b0b2fe6.png

在局部大小节点对代表线圈的域 2-11 指定单元大小。

在创建这个网格划分序列时,考虑到线圈周围的几何结构,我们用非常细的网格对线圈边界划分网格,这样就可以在窄域区域生成的网格单元更细、质量更高。

a26deb3d-b5da-46d7-9d85-9451afd96173.png

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

总结

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