COMSOL Multiphysics 5.4 版本的网格自适应:方法与应用

2024-09-29 22:02:47发布    浏览6次    信息编号:91654

友情提醒:凡是以各种理由向你收取费用,均有骗子嫌疑,请提高警惕,不要轻易支付。

COMSOL Multiphysics 5.4 版本的网格自适应:方法应用

网格自适应的目标是通过修改网格来获得更有效的解决方案。一般来说,我们希望使用尽可能少的网格单元获得准确的解,在不太重要的区域使用较粗的网格,在感兴趣的区域使用较细的网格。有时,我们甚至可能考虑各向异性元素。从版本 5.4 开始,® 软件包含多项网格调整增强功能。在这篇博客中,我们来看看如何使用这些方法。

确定所需的网格单元尺寸

要在网格上执行自适应操作,必须知道所需的网格单元大小。然而,找到合适的网格尺寸并不容易,实际上需要大量的研究。对于稳态和特征值问题,我们可以使用自适应和误差估计功能根据内置误差估计自动调整网格。

软件中的网格自适应方法不仅限于使用内置误差估计,还允许更大的灵活性。您可以首先在粗网格上求解较简单的问题,然后基于此解决方案求解表达式以控制较难问题的元素大小。或者,您可以使用导入的插值函数或任何自定义表达式来控制像元大小。

本文不讨论这个方面,但假设所需的像元大小隐式或显式已知为 x、y 和 z(三维空间)的函数。也就是说,网格单元的边长由该边的中点坐标的函数表达式确定。当然,一般情况下不可能完全满足这个要求,即使是三角形单元也需要满足三角形不等式。但是,请记住:大小表达式表示空间中每个点所需的单元边长。

2种根据尺寸表达调整网格的方法

有两种不同的方法来构建适应网格节点下的大小表达式的网格。

首先,我们可以使用网格划分序列中的尺寸表达式属性来更改生成的网格的尺寸。如果在研究中使用网格自适应功能,则相当于选择重新网格划分选项,其中自由网格生成器(自由三角形网格、自由四边形网格和自由四面体网格)将网格尺寸考虑在内。另一方面,像地图、扫描和某种程度上的边界层之类的东西会忽略大小表达式属性(根据定义,结构化网格不能遵循可变大小的字段)。简单来说,如果我们构建的是结构化网格,则可能不会使用这种方法。

另一种方法是使用自适应操作。此操作通过元素细化和粗化修改现有网格。我们可以对任何元素类型的网格以及导入的网格使用自适应操作。这是一种更强大的方法,可以更好地遵守指定的大小表达式。然而,结果通常不如从头生成的网格那么平滑。

下面,我们将详细讨论这两种方法,看看它们产生的结果有何不同。

使用尺寸表达式属性

如前所述,使用尺寸表达式属性方法通常会产生高质量的网格。然而,如果这种方法产生的细胞质量较差(当尺寸转变很快时可能会出现这种情况),则可能无法达到所需的细胞尺寸。有关网格质量的讨论,请阅读博客:如何在 ® 中检查网格质量。由于每次调整都会从头开始构建网格,因此对于复杂的几何形状,此过程可能非常耗时。

使用“尺寸表达式”属性将尺寸表达式应用于具有圆形几何形状的三角形网格,从而生成具有高质量网格元素和平滑尺寸过渡的网格。

如果尺寸表达式已知(例如全局插值函数),则通常可以方便地对背景栅格执行计算(上图中基于栅格的计算)。您需要确保栅格分辨率足够高,以捕获尺寸表达式描述的所有要素。

当尺寸表达式取决于已知的空间变化(例如材料)时,可以使用初始表达式评估选项。这样,可以使用模型中的任何表达式。软件将在求解之前评估表达式(将此与以下步骤命令的“获取初始值”进行对比,该命令可用于研究步骤)。我们还可以指定一个研究步骤,因为某些表达式的值取决于研究。

最后,计算也可以基于现有的解决方案。内置误差估计使用误差指示符表达式类型,但可以使用任何大小的表达式,具体取决于现有解决方案。例如,您有时可能想要细化应力较高的网格。

使用自适应操作

另一种方法是修改现有网格以匹配所需的单元尺寸。这就是自适应操作的作用。它适用于所有元素类型,也适用于导入的网格。它具有许多与“大小表达式”属性相同的选项和输入字段。

该操作有三种适应方法:最长边缘细化、规则细化和一般修改。前两种细化方法基于单元边缘的二分运算。由于这些单元边缘太长,所有现有的网格顶点都会被保留,因此无法通过这些方法进行粗化。从5.4版本开始,软件内置了通用修改方法。顾名思义,网格的修改方式非常通用:

使用自适应操作的常见修改方法将相同的表达式应用于大小表达式属性。虽然网格元素质量对于大多数应用来说足够高,但尺寸过渡并不像从头生成的网格那么平滑。

如果将自适应方法更改为最长边缘细化,结果如下所示。太长的边将被分成两半,直到网格足够细化。这种网格操作非常快,但即使输入网格的质量很高,该方法也常常会产生低质量的网格元素。

与上面的模型相同,但自适应方法设置为最长边缘细化。在此图像中,您可以看到由原始三角形产生的图案。

支持所有单位类型

自适应操作适用于所有元素类型的网格,也可用于结构化网格域(尽管自适应后网格通常不再结构化)。但是,在对四边形单元 (2D)、六面体单元 (3D)、棱柱单元和金字塔单元等复杂单元使用此方法时必须小心,因为获得的结果可能很差。接下来,让我们看看在这种情况下像元大小如何转变。在 2D 模型中,三角形网格元素被插入到四边形网格中。

左:圆形几何体中默认的自由四边形网格。以最大角度质量对单元格进行着色。右:调整后的网格给出与上面的尺寸表达式相同的结果。请注意在大和小过渡区域中使用三角形元素。

在三维结构中,大小过渡区域经常使用四面体和金字塔,也可以在适当的地方插入其他单元类型。下图显示了与粗糙六面体啮合的圆柱体,并使用 0.02 + z*z 表达式进行了调整。

适配前后的圆柱体网格。

对边界层网格执行网格自适应操作

在上面的所有示例中,指定的尺寸函数表示各向同性单元的尺寸。也就是说,理想形状的元件的所有边的长度(大约)相同。如果要适应的网格是各向异性的(例如,单元沿边界延伸的边界层网格),则适应会沿各向同性方向修改网格。边界层细胞甚至可能被完全删除!这不是我们想要的结果。一种解决方法是禁用粗化操作,以便保留边界层。

左:以原点为中心的带有边界层网格的矩形。中图:适配方式为一般修改,大小表达式为0.04 + x*x。由于粗化操作,边界层被去除。右:禁用粗化的自适应结果,保留边界层。

构建各向异性网格

自适应操作也适用于各向异性自适应。各向异性网格单元是理想单元沿一个方向拉伸的单元。这种网格在CFD计算中很常见,典型的例子就是边界层网格。要实现各向异性自适应,可以首先选择各向异性度量作为表达式类型。然后,您需要指定一个 2×2(二维)或 3×3(三维)对称矩阵。该操作的意思是:在该点对表示单元边缘的向量进行矩阵变换,并测量变换后的向量的长度。如果长度小于1.0,则认为太短;如果长度大于1.0,则认为太长。该度量用于控制适应过程。下图显示了如何使用此方法。

使用三角形单元对控制域进行网格划分。

使用各向异性适应方法进行网格划分。在此示例中,指标由常量矩阵 \begin{}10 & -10 \\-10 & 60\end{} 指定。

使用自由三角形网格对控制域周围的域进行网格划分。

将网格控制域合并为更大的域。

结论

这篇博客展示了如何在.一种方法是使用网格节点的大小表达属性。这将控制生成的三角形和四面体网格的大小,通常会产生平滑且质量更高的网格。另一种方法是使用自适应操作,修改现有的网格。网格自适应是一种强大的方法,可以修改任何类型的网格,还可以生成各向异性网格元素。

下一步

要了解有关如何满足我们的建模需求的更多信息,请通过单击下面的按钮与我们联系以试用该软件:

连接

提醒:请联系我时一定说明是从奢侈品修复培训上看到的!