借助网格剖分序列提升几何模型的网格剖分效率

Caty Fairclough 2019年 6月 16日

您建立的模型是否需要耗费大量时间才能完成计算求解?一个可能的原因是网格使用了过多单元。遇到这类问题时,切换到用户控制网格是一个有效的解决方式,这样您就可以手动创建和编辑 COMSOL Multiphysics® 软件中可用的网格剖分序列,并使其替代默认的网格剖分序列。下面我们将通过一个教学案例来充分说明用户控制网格能够在保证计算结果的精确性的前提下,有效减少对内存的需求。

选择精确高效的网格类型

您为 COMSOL Multiphysics 的仿真模型选择的网格类型会在很大程度上影响您的模型对硬件资源的需求。事实表明,在建立和求解有限元问题时,网格剖分是最占用内存的步骤之一。

选定最适合特定模型的网格往往也意味着选择适当的单元类型和尺寸。在 COMSOL Multiphysics 中,网格剖分可使用四种不同类型的单元:四面体(tet)、六面体(brick)、三棱柱(prism)和四棱锥。此外,还有从极细化极粗化 的九种预设单元尺寸。

图像绘制了不同类型的网格剖分单元。
不同单元类型的示意图。从左往右依次为:四面体、六面体、三棱柱和四棱锥。

与 COMSOL Multiphysics 中的其他工具一样,网格剖分也可实现自定义及交互式设计。仅需短短的几个步骤,便能方便地对独立的面或域进行网格剖分。此外,默认的物理场控制网格剖分序列会创建出包含不同单元类型和尺寸特征的网格,推荐您以此为起点,学习如何添加、移动、禁用和删除的网格操作。每种网格操作依据创建顺序出现在网格序列中并生成最终的网格,您也可以通过移动它们的次序来修改网格。自定义网格剖分序列能够通过控制单元数量、类型和质量来减小对内存的需求,进而创建出精确高效的仿真。

在 COMSOL Multiphysics® 中自定义网格剖分序列

假设您要模拟一个被焊点固定在电路板上的电子元件。长时间的运行会使电子元件产生高温。正如之前的博客文章提到的:过热会损坏装置,甚至还可能引发火灾。

如果将此教学模型中的几何结构长时间置于高温环境,可能使固定电子元件的焊点发生蠕变现象,并最终导致焊点的永久变形和故障。在下文中,我们将讨论如何使用不同的网格来研究这类装置。

被球形焊点固定在电路板上的电子元件的几何图形。
被球形焊点固定在电路板上的电子元件。

首先,我们使用默认的物理场控制网格,即简单的非结构化四面体网格。此操作可自动创建适应模型物理场设置的网格,网格单元尺寸设置默认为常规,同时包含尺寸自由四面体网格 节点的网格剖分序列被隐藏了起来。

在 COMSOL Multiphysics 中对电子元件几何施加默认网格剖分。
电子元件几何模型的默认网格。

如上图所示,生成的网格由 45,000 个单元构成。此数量级的单元确实能够对几何结构进行良好解析,然而大部分的几何域仅需少量的单元便可满足解析要求,所以实际上并不需要占用这么大的内存。让我们看一看,修改网格剖分序列是如何减少网格单元数量的。

使用网格剖分序列中的网格操作和尺寸属性

为了减少网格单元,我们可以对网格进行自定义:进一步细化代表焊点的球面域的网格,同时使剩余几何结构的网格更加粗化。为了实现这一效果,我们要将注意力转向网格剖分序列中的局部和全局尺寸属性。在默认的网格剖分序列中,第一个全局属性 特征的设置被应用到其后的自由四面体网格 1 节点中。在网格序列中,第一个尺寸 特征节点就是全局属性特征,因为它影响到所有后续的网格操作。

为了达到目的,我们将应用于独立焊点域的局部尺寸属性 添加到了自由四面体网格 1 操作中。这样我们就可以专注于设计中的关键单元。使用该方法后的初始网格大约由 28,000 个单元构成,将近一半单元为默认网格。

图像展示 COMSOL Multiphysics 中自定义网格的使用方式。
自定义网格,其中球面域周围的网格单元数量较多。

为了进一步减少单元数量,我们可以使用扫掠网格,因为它能够显著缩小模型大小,进而降低计算复杂性。在本案例中,我们通过对自由四面体网格 1 操作进行修改,使其仅应用于焊点域。现在,我们将电路板和电子元件的上部用作扫掠网格的源。不过一定要注意,模型中多个靠近焊点的面已经被剖分网格。

接下来,我们在网格剖分序列中添加自由三角形网格 特征节点。在网格剖分序列中添加新节点时,COMSOL Multiphysics 会将新节点至于当前特征节点之后,因此自由三角形网格 1 节点会取代已有的自由四面体网格 1 节点成为当前特征。如有需要,您可以移动网格剖分序列中的节点顺序来便捷地修改当前特征。请记住,如果某项操作依赖于该序列中的先前操作,这种做法可能会引起构建错误。

将自由三角形网格特征节点添加到网格剖分序列。
添加了 自由三角形网格 1 特征节点后的网格。

现在,再次将目光转向网格剖分序列中的局部和全局尺寸属性。当创建自由三角形网格 1 节点时,网格生成器应用了第一个全局尺寸 特征的设置。我们可以利用局部尺寸属性将较粗化的三角形网格添加到自由三角形网格 1 操作中。新网格的外观几乎与上一次迭代一模一样,这是因为网格生成器必须将焊点上预先存在的网格应用到边上,并将全局尺寸设置(设为常规)应用到外边上。因此,局部的较粗化网格只能应用于已剖分网格的面的内部。

为了避免这种问题,我们只需确保整个几何结构的第一个全局尺寸 节点被设为最粗化网格。然后,针对需要更精细网格的网格剖分操作,您可以对其创建局部尺寸特征节点。利用这一技术,扫掠网格生成器即可采用较粗化 的预定义网格尺寸,并继续扫掠剩余域中的源网格。最终生成的网格将大约包含 17,000 个单元。

图像展示了修改后包含更少单元的网格。
修改后的网格包含了更少的单元。

若想更精确地控制网格单元数量,您可以自行指定扫掠网格生成器的分布。在教学模型中使用该方法后,网格大约包含 21,000 个单元,只有对分析具有重要意义的域(焊点),其分辨率才会更加精细。

针对重要的设计单元指定扫掠网格生成器的分布。
重要的设计单元的网格剖分更加精细,而其他区域的网格仍较为稀疏。

正如我们所演示的,借助更改网格剖分序列这一强大工具,不仅能大幅度减少网格单元并缩短计算时间,同时还能为几何结构的关键区域提供精确结果。有兴趣学习更多关于网格剖分的知识吗?请参阅下方的资源。

浏览更多有关网格剖分的资源,并运用到自己的仿真中


博客分类

加载评论……

博客分类


博客标签