你的模拟是否需要大量的计算时间才能求解?一个可能的原因是使用了过多的网格单元。遇到这类问题时,一种有效的解决方式是切换到用户控制的网格,手动创建和编辑 COMSOL Multiphysics® 软件中可用的网格划分序列,将其作为默认网格划分序列的替代方案。正如我们将在一个教学案例中说明的,用户控制的网格能够帮助减少内存需求,同时提供精确的结果。
选择一种精确且高效的网格类型
你在 COMSOL Multiphysics 为模型选择的网格类型在很大程度上会影响模型对硬件资源的需求。事实表明,在模拟和求解有限元问题时,网格划分是最占用内存的步骤之一。
为特定模型选定最适合的网格往往也意味着选择正确的单元类型和大小。在 COMSOL Multiphysics 中,网格划分可使用四种不同类型的单元:四面体(tet)、六面体(brick)、三棱柱(prism)和四棱锥。此外,还有从 极细化 到 极粗化 的九种预设单元大小。
不同单元类型的示意图。从左往右依次为:四面体、六面体、三棱柱和四棱锥。
与 COMSOL Multiphysics 中的其他方法一样,网格划分也可实现自定义及交互式设计。仅需几个步骤即可轻松地对独立的面或域进行网格划分。此外,默认的物理场控制网格划分序列会创建出包含不同单元类型和大小特征的网格,推荐您以此为起点,学习如何添加、移动、禁用和删除等网格操作。每种网格操作依据创建顺序出现在网格序列中,并生成最终的网格,你也可以通过移动它们的次序来修改网格。自定义网格划分序列能够通过控制单元数量、类型和质量来减小对内存的需求,进而创建出精确高效的仿真。
在 COMSOL Multiphysics® 中自定义网格划分序列
假设你要模拟一个通过焊点固定在电路板上的电子元件。长时间的运行会使电子元件产生高温。正如之前的博客中提到的:过热会损坏装置,甚至还可能引发火灾。
如果将此教学模型中的几何结构长时间置于高温环境,可能会使固定电子元件的焊点发生蠕变现象,并最终导致焊点的永久变形和故障。下文,我们将讨论如何使用不同的网格来研究这类装置。
通过球形焊点固定在电路板上的电子元件。
首先,我们使用默认的 物理场控制网格,即简单的非结构化四面体网格。此操作可自动创建适应模型物理场设置的网格,网格单元大小设置默认为 常规,并且隐藏了包含 大小 和 自由四面体网格 节点的网格划分序列。
电子元件模型几何的默认网格。
如上图所示,生成的网格由 45,000 个单元构成。此数量级的单元确实能够对几何结构进行良好解析,然而大部分的几何域仅需少量的单元便可满足解析要求,所以实际上并不需要占用这么大的内存。接下来,我们来看看如何通过修改网格划分序列减少网格单元数量。
使用网格划分序列中的网格操作和大小属性
为了减少网格单元,我们可以对网格进行自定义:进一步细化代表焊点的球面域的网格,同时使剩余几何结构的网格更加粗化。为了实现这一效果,我们要将注意力转向网格划分序列中的局部和全局大小属性。在默认的网格划分序列中,第一个 全局属性 特征的设置被应用到其后的 自由四面体网格 1 节点中。在网格序列中,第一个 大小 特征节点就是全局属性特征,因为它影响到所有后续的网格操作。
为了实现目标,我们将应用于独立焊点域的 局部大小属性 添加到了 自由四面体网格 1 操作中。这样就可以专注于设计中的关键单元。使用该方法后的初始网格大约由 28,000 个单元构成,其中将近一半单元为默认网格。
自定义网格,其中球面域周围的网格单元数量较多。
为了进一步减少单元数量,我们可以使用扫掠网格,因为它能够显著减小模型大小,进而降低计算复杂性。在本文示例中,我们通过对 自由四面体网格 1 操作进行修改,使其仅应用于焊点域。现在,我们将电路板和电子元件的上部用作扫掠网格的源。需要注意的是,模型中多个靠近焊点的面已经被划分网格。
接下来,我们在网格划分序列中添加 自由三角形网格 特征节点。在网格划分序列中添加新节点时,COMSOL Multiphysics 会将新节点至于当前特征节点之后,因此 自由三角形网格 1 节点会取代已有的 自由四面体网格 1 节点成为当前特征。如果有需要,你可以移动网格划分序列中的节点顺序来便捷地修改当前特征。请记住,如果某项操作依赖于该序列中的先前操作,这种做法可能会引起构建错误。
添加了 自由三角形网格 1 特征节点后的网格。
现在,让我么再次将注意力转向网格划分序列中的局部和全局大小属性。当创建 自由三角形网格 1 节点时,网格生成器应用了第一个全局 大小 特征的设置。我们可以利用局部大小属性将较粗化的三角形网格添加到 自由三角形网格 1 操作中。新网格的外观几乎与上一次迭代一模一样,这是因为网格生成器必须将焊点上预先存在的网格应用到边上,并将全局大小设置(设为 常规)应用到外边上。因此,局部的较粗化网格只能应用于已划分网格的面的内部。
为了避免这种问题,我们只需确保整个几何结构的第一个全局 大小 节点被设为最粗化网格。然后,针对需要更精细网格的网格划分操作,可以对其创建局部大小特征节点。利用这种建模技术,扫掠网格生成器即可采用 较粗化 的预定义网格大小,并继续扫掠剩余域中的源网格。最终生成的网格将大约包含 17,000 个单元。
修改后的网格包含了更少的单元。
如果想更精确地控制网格单元数量,你可以自行指定扫掠网格生成器的分布。在教学模型中使用该方法后,网格大约包含 21,000 个单元,只有对分析具有重要意义的域(焊点),其分辨率才会更加精细。
重要的设计单元的网格划分更加精细,而其他区域的网格仍较为稀疏。
正如我们所演示的,更改网格划分序列这一强大的模拟方法,不仅能大幅度减少网格单元,缩短计算时间,同时还能为几何结构的关键区域提供精确结果。如果你有兴趣学习更多关于网格划分的知识,请参阅下方的资源。
浏览更多有关网格划分的资源,并运用到自己的仿真中
- 浏览 COMSOL 博客,阅读更多关于网格划分的文章
- 观看下列视频,深入了解如何使用 COMSOL Multiphysics 的网格划分功能:
评论 (0)