在进行有限元(FEA)仿真时,创建合适的网格是获得准确的结果的关键。在这篇博客中,我们讨论了如何检查网格 信息、警告 和 错误 节点中报告的实体;如何查看网格或部分网格的统计信息;以及如何绘制网格及其相关变量,并将这些绘图划分到选定区域。
编者按:这篇博客更新于 2022 年 7 月 6 日,以反映 COMSOL Multiphysics ® 软件 6.0 版本的新特征和新功能。
检查 信息、警告 和 错误 节点中报告的实体
在COMSOL中创建网格时,有时会收到信息、警告和错误消息。遇到这种情况时,应该检查 信息、警告 和 错误 节点随附的报告列表。这些消息大多数是由于使用过粗的网格设置,导致无法正确解析薄区域和短边。
要找到这些几何实体的位置,可以单击 设置 窗口 选择 列表旁边的 缩放到选择 按钮,然后关闭 网格渲染 按钮,并打开三维网格中的 线框 按钮,就可以查看报告的内部几何体的位置,如下图所示。对于选定的实体,使用工具栏或者图形上下文菜单中的 测量 按钮,可以获得边的长度或点与点之间的距离。
一个山地车前叉的网格(左),其中一些边界处显示有狭窄的,在当前的网格大小设置下无法正确求解的区域。点击网格渲染和线框按钮后,用蓝色显示的边界(右)。
有了测量结果和实体信息,就可以设置 移除细节、虚拟操作 或 CAD 特征去除 来消除小的几何实体,或者当这些特征对模拟很重要时,用于减小网格大小。阅读 这篇博客以及系列教程,了解更多关于移除细节 和 CAD 特征去除的使用方法。调整非结构化网格生成器的单元大小教程模型演示了如何修改网格大小参数。
在 图形 窗口中,用红点表示信息中的一个或多个问题位置的坐标,单击 坐标中心 按钮,可以放大选定的位置。单击 绕坐标剪裁 按钮,可以在坐标周围添加一个剪裁球体,这样检查有问题区域附近的面网格就更加方便了。单击 移除剪裁 按钮可以移除剪裁球体,再次显示完整的网格。红色的点指示了有问题的位置,这样就可以对特定的区域进行详细的研究。
当有消息提示有一个或多个低质量的单元生成时,可能需要特别注意。出现这种情况时,消息旁边的设置窗口将显示网格的 最小单元质量。另一个检查 最小单元质量 的方法是在统计窗口。通过绘制质量最差的网格单元(在本文后面有进一步的详细解释),可以得到质量最差的单元的位置信息。
如果网格质量为负值或者为非常接近零的正值,说明报告的网格单元已经反转或者几乎反转。低质量的单元会导致求解器难收敛,或者使解对网格的微小变化很敏感。请注意,这里讨论的反转线性网格单元,与在求解时可能遇到的反转弯曲单元是不同的。我们将在文章的最后讨论检查弯曲单元。
查看网格的统计信息
一种快速了解所创建网格质量的方法是查看 网格统计信息 窗口中的统计信息,这可以通过工具栏或单击 网格 节点右键打开。
网格信息统计 窗口,显示了不同选择和网格质量评估的各种统计数据。
在 COMSOL 中,使用窗口顶部的 几何实体层 下拉菜单,还可以更改域、边界或边的选择的统计数据。在 质量测量 菜单中,可以选择各种网格质量测量,包括:
- 偏度
- 最大角度
- 体积 vs 外接半径
- 体积 vs 长度
- 条件数
- 增长率
- 弯曲偏度
质量测量的选项
偏度 适用于大多数类型的网格,因此是一个默认选项。这种质量测试基于等角偏度,它会惩罚与理想单元的标准角度相比具有较大或小角度的单元。在生成网格的过程中报告不良单元质量时,也会用偏度这个质量指标。使用 最大角度 指标,仅惩罚具有大角度倾斜的单元,因此这个指标特别适合用来检查是否存在各向异性单元的情况,例如用来检查边界层网格的质量。
体积vs.外接圆半径 是基于单元体积与单元外接球体(或圆)半径的商。这种质量测量对大角度、小角度和各向异性单元都很敏感。对于需要各向同性单元的二维三角形网格和三维四面体网格,体积 vs. 外接圆半径 是一个合适的选项。另一方面,体积 vs.长度 基于单元边长和单元体积的商。这种网格质量测量主要用于各向异性单元。
条件数 选项基于将实际单元转换为理想单元的矩阵属性。增长率 基于局部单元大小与所有方向上相邻单元大小的比较。
弯曲偏度 质量测量是在生成高阶单元(弯曲单元)时对变形的测量。
网格质量的注意事项
对于所有的网格质量测量,质量 1 是最好,表示所选质量测量中的最佳单元。在区间的另一端,0 表示退化单元。尽管 COMSOL Multiphysics 中的网格划分算法希望避免低质量单元,但并对所有几何形状都使用。过高的几何纵横比、小的边和面、薄区域,以及高度弯曲的面都可能导致网格质量差。当几何体确实导致网格质量不佳时,网格生成器会返回质量较差的网格进行检查,而不是完全不生成网格。
根据使用的网格质量测量,最小单元质量、平均单元质量 和 单元质量直方图 部分相应地将会更改。要获得准确的结果,需要了解哪种 最小单元质量 和 平均单元质量 适合你的应用,这一点非常重要。
没有绝对的数字可用于说明质量应该是多少,因为所使用的物理场和求解器对需要的网格质量有不同的要求。如果你想验证结果的准确性,建议执行网格细化研究。
一般来说,质量低于 0.1 的单元在许多应用中被认为质量较差。如果质量差,网格生成器会自动通知用户;如果质量很差,则会警告用户,因为在大多数情况下应该避免质量很差的单元。在一些情况下,如果几个低质量单元位于模型中重要性较低的部分,可能没问题,而在其他情况,低质量单元可能会导致收敛问题。
网格信息统计 窗口中的直方图可以让我们直观地看到网格质量,这是一种快速查看是否需要以某种方式更改整体网格大小的方式。
创建网格图
如果想了解低质量单元的位置以及要更改哪些网格大小参数,最好绘制网格图。可以通过单击 网格 功能区中的 绘图 按钮或右键单击要绘制的网格的网格 顶部节点并选择 绘图 来执行此操作。这样就会在 结果 > 数据集 下得到一个 网格 数据集,还可以在其中添加 选择 以缩小图中显示的实体数量。网格 绘图功能也可以与其他绘图功能结合使用。
可以大致了解特定的网格是如何通过不同类型的网格单元设置的。例如对于体网格,可以将 层 设置为 体,并从单元颜色列表中选择 类型,这样软件就会根据网格单元的类型自动为它上色。下图显示了一辆跑车周围的边界层网格。
跑车的大涡模拟模型网格中用不同颜色表示的单元类型。四面体用绿色表示,金字塔形用洋红色表示,棱柱型用黄色表示。为了更详细地了解单元是如何连接的,使用表达式 y> 0 对其进行过滤。
正如前文提到的,了解低质量单元的位置非常重要。这将帮助我们了解是否需要更改几何形状,或者是否需要修改网格大小,以更好地处理有问题的区域。
首先,可以将 层 设置为 体,然后在 单元过滤 部分选择 启用过滤 复选框,接着输入一个布尔表达式,代表要检查的单元。下图中显示了 偏度 低于 0.04 的单元。可以使用 替换表达式 功能轻松地访问不同质量测量的名称。这些方法可用于发现生成的网格中的不同缺点,因此应该确保检查所有这些方法,看看哪些最适合我们的特定应用。
管壳式换热器模型显示了表达式 qualskewness 低于0.04的体单元。在 图形 窗口前面,可以通过替换表达式 窗口方便地访问不同的网格质量测量选项。
在网格质量测量选项中,增长率 稍有不同,它显示的是两个网格单元之间的关系,而其他网格质量测量显示的是每个单一网格单元的形状质量。在单元大小恒定的区域,增长率最大为 1。在从一个单元增加到另一个单元的单元增长率增大的区域,增长率较低。需要绘制的重要的图往往在域的网格内,添加一个包括空间维度的过滤表达式可能会有用。下图显示了一个这样的例子。
双锥形天线模型的网格增长率。图中显示了 PML 域中的边界层网格具有相似的大小,而中间域的四面体网格中的增长率变化更大。在这个示例中,通过使用 单元过滤器 选项显示 x > 0.01 mm 的网格单元。切面图显示了电场模(dB)。
最后,检查特别求解的一些弯曲单元或高阶单元时,可以使用网格质量测量 弯曲偏度。在网格 数据集中设置适当的 几何形状 函数。请注意,无论求解什么问题,都有可能选择任意形函数,所以如果你不确定该选择哪一个,请仔细检查物理场接口的 离散化 设置。在所有的网格质量测量中,都可以采用类似的方法过滤掉质量不好的单元,以更好地了解几何体或网格设置可能需要微调的位置。
显示 弯曲偏度 的绘图。在 网格 数据集中设置 几何 形函数。
结语
在这篇博客中,我们讨论了检查网格质量的3种不同方法,这些方法可用于发现包含低质量网格单元的区域。现在,我们知道如何找出低质量网格单元的位置,并且可以手动调整这些区域中的网格或解决底层 CAD 几何本身的问题。如果想了解关于修改 CAD 几何以进行网格划分的信息,请参阅以下博客和网络研讨会视频:
想根据自己的模拟需求,评估 COMSOL Multiphysics 的网格划分功能吗?请单击以下按钮,联系 COMSOL:
评论 (0)