如何优化和调整导入的网格

2019年 8月 15日

如果你曾经将网格导入 COMSOL Multiphysics® 软件中,那么你很有可能会想知道是不是有什么方法可以在不返回源网格的情况下修改网格。COMSOL Multiphysics® 软件中的两个有用的工具:细化自适应 操作,可被用于优化导入的网格。在这篇博文中,我们将演示这些操作的工作原理以及如何使用它们来充分利用导入的网格。

细化操作

细化 操作是降低导入的网格单元尺寸的一种方便、快速的方法。顾名思义,这个操作本质上是对网格中已经存在的单元进行分区。由下图所示的设置可以看到,我们可以选择要执行的细化次数 和操作的边界框,也可以对整个网格或域、边界或边的选择执行细化操作。但是,我们将在这篇文中讨论的选项是细化方式,有两种设置可供选择:

  1. 分割最长边
  2. 常规细化

显示 COMSOL Multiphysics® 中优化操作设置的屏幕截图
细化操作的设置窗口。可以指定细化方法和细化次数,以及操作的边界框和几何实体选择。

为了演示这些方法的工作原理和区别,我们来看一个四面体网格单元的例子。下面第二个图显示了使用拆分最长边 方法进行一个细化步骤后的基本单元。这个操作将基本单元的最长边分成两个相等的部分,然后使用新边将基本单元一分为二。但是请注意,当我们有多个连接的基本单元时,这将导致某些基本单元被拆分为两个以上的新单元以保留一致的网格。

使用 Refine 操作之前和之后的四面体网格元素的 3 个并排图像
构建细化操作之前和之后的单个四面体网格单元的三个网格图。左:未分区的单元。中心:使用拆分最长边设置分区的基本单元。右:使用常规细化设置对基本单元进行分区。中间和右侧图中的基本单元颜色表示网格单元质量。

使用常规细化设置,第三个图显示了相同四面体单元的结果。这一次,每条 边都被一分为二,然后被用来将单元分裂成几个相同类型的更小单元。对于四面体,这会产生八个新单元,而以前只有一个单元。常规细化 选项也有保存结构化网格结构的特征,因此,如果我们导入的是网状结构,这可能是需要考虑的问题。

自适应操作

现在,让我们来看看自适应 操作。虽然它包含许多功能,但在这篇博文中,我们将重点介绍如何使用绝对大小 表达式来修改导入网格单元的大小。

有关将自适应 操作与误差估计和解数据结合使用的更多信息,请查看之前关于使用自适应网格划分进行局部解决方案改进的博客文章以及文末列出的教程。此外,博客文章网格自适应的 2 种方法——实现更高效的计算展示了如何在处理各向异性单元时使用自适应操作

首先,我们将了解如何应用自适应 操作来处理单元的大小。使用的网格已经被保存为 NASTRAN® 文件格式,可以在曲轴的特征值分析模型教程中找到。与细化 操作一样,自适应 操作要求所有网格单元都是线性的,因此,我们将确保在导入 操作中选择导入为线性单元。然后添加一个自适应 特征节点,选择绝对大小 作为表达式类型

带有曲轴模型导入网格的模型构建器的屏幕截图
使用导入选项为线性单元并以 NASTRAN® 格式导入曲轴网格。 自适应节点已经添加到网格的 操作序列,解设置:无,表达式类型:绝对大小

细化 操作简单的分区所有单元,以构建更细的网格,通过选择绝对大小自适应 操作将尝试修改网格,以使基本单元的大小符合给定的表达式。以下三种不同的方法操作均可实现这个目的:

  1. 最长边细化
  2. 常规细化
  3. 常规修改

您可以在自适应方法 菜单中选择使用哪种方法。

最长边细化和常规细化

您可能会从上面关于细化 操作的讨论中识别出最长边细化常规细化,并且做出正确的判断:它们的功能基本上基于相同的原理。但是,虽然细化 对网格中的所有单元进行分区,但自适应 操作将使网格符合大小表达式。因此,如果网格中的单元已经与表达式非常匹配,或者更小,这些单元通常会保持不变。

通过这种方式,自适应 操作不会细化分辨率已经非常好的网格部分,从而防止不必要的内存使用。例如,假设我们想让曲轴网格的较大单元更精细。使用设置为分割最长边细化 操作并将细化次数设置为 1,我们将网格中的单元次数增加了大约 3.5 倍。然而,使用最长边细化大小表达式设为 8[mm]自适应操作,我们可以在目标单元中实现相同的尺寸减小,而单元总数仅增加不到 2 倍。

显示曲轴模型的网格截面的图形。
Adapt 操作后曲轴网格的图像

使用最长边细化设置和将大小表达式设为 8[mm] 的自适应操作之前(左)和之后(右)的曲轴网格部分。需要注意的是,并非所有单元都已分区,只有那些大于表达式中指定大小的单元(在两个图像中均以绿色着色)才被分区。

常规修改

使用常规修改 设置,除了通过分割单元创建新单元外,该操作还能够移动网格顶点和折叠太小而无法粗化网格的单元。因此,在尝试使网格符合大小表达式时,它往往会使单元保持各向同性,从而消除一些质量较差的单元。正如我们将看到的,这是一个非常通用和强大的工具。

在应用具有一般细化的 Adapt 操作之前的网格部分
使用常规细化设置后的网格部分

应用 自适应的常规细化设置之前(左)和之后(右)的部分网格。颜色表示单元质量,可以看出随着小单元折叠和顶点移动,单元质量明显提高。

下图显示了选择常规修改 方法时自适应操作 通常如何修改网格。其中,使用常规修改大小表达式8[mm] 的自适应操作之前和之后的部分曲轴网格如下图所示。为了对比差异,这个图还显示了使用具有相同表达式的最长边细化 的结果。需要注意的是,对于常规修改,操作已移动顶点。这会导致更多的各向同性和更高质量的单元。此外,假设您想运行一个快速仿真来估计结果。使用合适的大小表达式常规修改 可以粗化网格,减少单元数量,从而减少计算时间。

未修改的曲轴网格的图像
具有最长边缘细化选项的曲轴网格图像
具有常规修改设置的曲轴网格图像

曲轴网格的一部分,左侧为未修改的版本。中间为使用了大小表达式 8[mm] 的自适应操作。右侧使用了 最长边细化 常规修改。请注意 常规修改如何粗化部分网格并移动顶点以更好地拟合表达式并提高质量。

修改边界网格

在导入的 2D 或 3D 网格上使用细化自适应 操作时,该操作将为输入网格的每条边创建一条样条曲线。这个操作将使用这些样条来确定需要细化或调整的网格的边缘网格顶点位置。下图表明,出现在边界上的新网格顶点位于样条曲线上,而不仅仅位于输入边界网格上。

显示细化网格边界上的网格顶点的图形
显示输入网格边界的网格顶点的图形

新网格顶点在细化网格边界(右侧)上的位置由使用基于输入网格边界(左侧)的网格顶点的样条曲线确定。

对于 3D 面上的网格顶点,细化自适应 操作不会创建任何样条曲面。这意味着对于细化或调整的网格,面网格顶点将被投影到输入面网格。下图表明,出现在面上的新顶点位于输入面网格上。

显示网格顶点在细化网格面上的位置的图形
输入网格的表面网格的图像

新网格顶点在细化网格(右侧)面上的位置通过投影到输入网格的面网格(左侧)来确定,而边上网格顶点的位置由样条曲线确定。

总结性思考

综上,我们已经向您介绍了如何使用细化自适应 操作来修改和改进您导入的网格。细化 提供了一种轻松减小网格单元大小的快速方法,而自适应 允许通过指定大小表达式 来获得更多粒度。常规修改 设置的功能特别强大,它能够细化和粗化网格,以及移动顶点,从而创建更多各向同性单元并提高网格质量。

下一步

自适应 操作还有很多有用的功能。如果您还想了解更多有关使用自适应 及其带来的所有强大功能,请尝试以下教程模型:

NASTRAN 是 NASA 的注册商标。

博客分类


评论 (2)

正在加载...
孟原 程
孟原 程
2022-03-21

从其它软件生成的网格导入Comsol中总是显示报错“面自相交的边”,该如何解决?

Kaixi Tang
Kaixi Tang
2022-04-04 COMSOL 员工

你好,导致该错误可能是由于模型几何存在问题。可以检查是否形成有效的几何,或者也可以尝试在软件中导入几何并进行检查和修复。

浏览 COMSOL 博客