学习中心

理解和更改单元阶次


在 COMSOL Multiphysics® 软件的物理场接口节点的设置中,您可以在 离散化 栏看到所使用的单元阶次,并可以更改这个设置。这篇文章,我们将讨论单元阶次和离散化对仿真的意义和重要性,如何更改这个设置及其对模型网格和解的影响。

单元阶次和离散化的含义是什么?

COMSOL Multiphysics® 中的大多数物理场接口都使用有限元法来求解底层偏微分方程。有限元法的工作原理是将模拟域离散化为更小、更简单的域,即所谓的单元。通过对模型的所有单元进行方程组的组合和求解,可以计算出解。这些方程的解近似于偏微分方程的真实解。

每个单元内的方程也称为 形函数,可以有不同的阶数。例如,在最简单的一维有限元模型中,每个单元内的形函数都是定义在域上的一组多项式。下图绘制了一维线性(一阶)、二次(二阶)和三次(三阶)形函数。单元内的解基于这些形函数的线性总和。

3 side-by-side plots of shape functions within a 1D element, including linear, quadratic, and cubic shape functions from left to right.

一维单元内的线性(左)、二次(中)和三次(右)形函数示意图。

不同的物理场接口可以使用不同的形函数集。也就是说,每个物理场接口都有自己独特的离散化设置,这些设置可以控制对这些因变量使用什么阶数的形函数,如下图示例中的 电流 物理场接口的屏幕截图所示。

A screenshot of the Settings window for the Electric Currents interface, with the Discretization section expanded.

物理场接口的离散化设置。

很多情况下,软件默认的离散化是二阶(二次),部分原因是很多偏微分方程都有一个主要的二阶导数项。涉及流体流动和传输的问题通常默认使用一阶线性离散。根据特定的建模情况,有可能需要改变离散度,也有可能为每个不同的物理场接口单独改变离散度,但这样做会产生一些后果。

在不改变单元数的情况下降低离散度,模型所需的计算资源会减少,但求解精度也会降低;反之,提高离散度将得到更精确的解,但需要更多的计算资源。请注意,增加单元的阶数是验证模型的一种方法,但您可能希望通过 网格细化研究 来改进网格。

在二次和更高阶次离散时,有时还可以选择拉格朗日单元和巧凑边点单元。只有当网格中存在矩形、棱柱形、金字塔形或六面体单元时,这种设置才会生效。如下图所示,拉格朗日单元在单元中引入了额外的节点(自由度)。虽然巧凑边点单元在每个单元的节点数较少,但对于相同的网格,它通常具有相当高的精度,而且与拉格朗日单元相比,计算成本更低。如果可以创建以矩形、棱柱形、金字塔形或六面体单元为主的网格,且物理场也支持,通常值得使用巧凑边点单元离散化。

6 graphics showing how nodes are placed in different second-order elements, including triangular, rectangular, prismatic, tetrahedral, pyramidal, and hexahedral shapes.

二阶单元中节点位置的可视化绘图。黑色、白色和灰色节点均出现在拉格朗日单元中。在巧凑边点单元中,灰色节点被移除。

对网格的影响

在二维、二维轴对称或三维中建模时,物理场内的离散化设置也会影响网格单元。二维和三维中的网格单元还用于近似真实的 CAD 几何图形,它们通过一组几何形函数来近似模型边界的形状,这些几何形函数的阶数与模型内所有启用的物理场接口中使用的 最低 离散阶数相同。

4 side-by-side images showing the different ways to discretize a semicircular domain, including with linear, quadratic, and cubic shape functions.

用线性(中左)、二次(中右)和三次(右)几何形函数离散化的半圆形域(左)。蓝色圆圈代表节点。

例如,如上图所示,考虑一个半圆形域,使用由单个三角形单元组成的最简单的网格进行离散化。建模域的直边可以被精确表示,但弯曲边界只能通过几何形函数近似表示。如果使用线性形函数,这种近似方法只能简化为一个三角形单元,对建模域的表征非常差。二次和三次形函数能更好地表示基本几何形状。因此,在使用线性几何形函数时,通常需要在弯曲边界上使用更精细的网格,才能准确表示 CAD 的基本几何形状。在使用线性几何形函数时,一个很好的经验法则是,每 90° 弧至少需要 8 个单元,以求解误差小于 1% 的边界问题。另一方面,使用二次和高阶形函数时,即使每个 90° 弧只需要两个单元,也足以将 CAD 几何图形的误差大大降低到 1% 以下。这些经验法则只是创建初始网格的起点,网格细化研究 始终是必要的。

在创建和查看网格时,即使底层形函数的阶数较高,单元也始终显示为直边。只有在绘制结果时,才会以显示底层形函数的方式绘制单元边界。

An image of a semicircular domain that has been meshed using a linear Lagrange geometry shape function.

An image of a semicircular domain that has been meshed using a cubic Lagrange geometry shape function.

使用线性拉格朗日(左)和立方拉格朗日(右)几何形函数对半圆形域进行网格划分。请注意弯曲边界表示方法的不同。

有关几何形函数的信息也会显示在模型求解时生成的日志顶部。上述示例的日志文件将显示如下内容:

<---- Compile Equations: Stationary in Study 1/Solution 1 ----------------------
Started at ....
Geometry shape order: Quadratic
Running on ...

多物理场模型和离散化

当一个模型包含多个不同的物理场时,其中一个物理场的离散化设置可能与其他物理场不同。默认情况下,几何形函数将由所有激活的物理场中的最低阶数离散化控制。下文将解释一些耦合的物理场所使用的离散化设置。

流体流动

层流和湍流问题的默认离散方式是所谓的 P1+P1 离散,通过线性形函数求解流体速度场和压力场。也可以将离散化提高到 P2+P1,即对速度采用二次形函数,而对压力采用线性基函数。因此,对于 P2+P1 离散化的模型,仍然使用线性几何形函数。

流体与结构的相互作用

在求解流固耦合问题时,流体问题默认使用 P1+P1 离散,而固体力学问题则使用二次离散。虽然这些物理问题是在不同(不重叠)的域上进行求解,但所有物理问题仍必须使用相同的几何形函数。

请注意,虽然可以在模型树中 组件 节点的 常规 设置中手动设置几何图形的形函数,但只有在对理论有充分理解的情况下才能这样做。

进一步学习

有关单元阶次的更多信息,特别是有关多物理场模型的信息,请参阅 COMSOL 博客 追踪多物理场模型中的单元阶次。 在 线性静态问题的网格剖分注意事项 这篇博客文章中,我们对单元阶次也进行了讨论。


请提交与此页面相关的反馈,或点击此处联系技术支持