学习中心

如何对参数扫描中的特征模态进行跟踪和分类


在结合参数扫描进行特征频率分析时,模态解不一定总是按模态族排序。当线性系统中存在模态交叉或简并时,这种情况尤为明显。这篇文章,您将学习如何使用 COMSOL Multiphysics®对特征模态进行跟踪和分类。该操作既可以通过“模态跟踪”功能自动完成(该功能可提供更精准、更稳定的处理方案),也可以通过定义模态重叠积分手动实现。

注: COMSOL Multiphysics 6.4 及以上版本支持模态跟踪功能。

一个简单的例子

先来看一个相对简单的例子:一个外部边界固定的椭圆形域上的二维波动方程(位移)。沿着椭圆高度方向扫描,同时求解前五个特征模态。椭圆的宽度固定为,高度在 8 cm 和 12 cm 之间变化。在此参数范围的中间, 模拟域是一个完美的圆,对称性导致某些特征模态相互简并。前五个模态的位移大小如下。

A model showing five elliptical shapes with fixed boundaries representing the eigenmode wave equation on a 2D membrane.
沿椭圆高度方向扫描时的前五个特征模态。

请注意,在处,当固有频率与椭圆高度相对应时,会出现模态交叉。

A graph with eigenfrequency (Hz) on the y-axis and vertical height (cm) of the elliptical domain on the x-axis, resulting in 5 plotted lines, each a different color, and sloping slightly downward.
二维波动方程的特征频率与椭圆域高度的关系图。注意 b = 10 cm 处的模态交叉。

仔细观察后,我们发现模态 2 和模态 3 在交叉后混在一起了。出现这种情况是因为特征值是根据其在解数据集中的顺序着色的。我们既可以通过自动化方法(更推荐此方法)解决该问题,也可以采用更偏向手动的自定义实现方式来处理。

自动化方法:模态跟踪

我们可以使用软件内置的“模态跟踪”功能,通过自动化方法获得正确的模态分析结果。您可以在软件中打开此处提供的初始模型文件,跟着操作步骤同步进行操作。

第一步需要导航至模型中的特征频率研究步骤。选中模型树中对应研究的节点后,在设置窗口中展开过滤和筛选栏,勾选模态跟踪复选框,这将会在参数扫描过程中,随着特征模态的动态演变自动完成模态的身份跟踪。

Model Builder tree highlighting the Eigfrequency study step settings window.
_ 特征频率研究的设置窗口,其中模态跟踪复选框已是勾选状态。

现在,重新运行研究。待模型完成该研究的全部求解计算后,绘图结果会自动更新为经过跟踪后的模态结果。

Plot of the eigenmodes of the simple example model introduced in this article, which contains five lines with markers in the colors purple, cyan, red, green, and blue
二维波动方程的特征频率随椭圆域高度的关系曲线图。即使在 b = 10 cm 处出现模态交叉,各阶模态仍保持了连续的身份跟踪连贯性。

您可以通过此处下载并打开已完成的模型文件(其中采用的是基于模态重叠积分的手动处理方法),将启用模态跟踪功能后得到的更新绘图结果,与未启用模态跟踪功能的原始绘图结果进行对比。您会发现,已完成的模型文件中带模态跟踪的绘图结果,与您刚刚自行生成的绘图结果完全一致。

手动方法:模态重叠积分

为了解决这个问题,我们可以使用模态重叠积分来对模态解进行分类:

上式的定义最为宽泛,和代表两个任意的特征模态解。对整个模拟域进行积分,星号表示复共轭。分子表示两种模态之间的内积,而分母则将的值归一化,使其介于 0 和 1 之间。对于这个特定问题,重叠积分可简化为

在接下来的章节中,我们将演示如何通过重叠积分计算对模态进行分类。您可以点击打开此处的模型文件来跟着学习。

定义模态归一化变量

第一步是定义一个模态归一化变量,以便在以后的重叠积分计算中引用。模态归一化的数学定义如下:

首先,创建一个覆盖整个模拟域的积分算子。

Model Builder tree highlighting the Integration node settings window to cover the entire simulation domain.
积分节点的设置窗口。

然后,创建一个变量节点,并使用以下表达式定义一个 modeNorm 变量:

intop1(u^2)

Model Builder tree highlighting the Variables node settings window to define the mode normalization variable.
变量节点的设置窗口。

请注意,合适的表达式会因模型物理场和因变量的不同而不同。例如,当因变量是电场的分量时,积分应定义电场与其共轭的点积。

定义modeNorm变量后,计算研究结果。

使用合并数据集设置参考模态

我们将使用合并数据集,以便于比较特定的模态解(也称为参考模态)和完整的模态解。参考模态应是所跟踪模态系列中具有代表性的解。

计算研究结果后,右键单击数据集并选择合并。

Model Builder tree highlighting the Join node Settings window.
合并节点的设置窗口。

设置数据 1为参考模态。对于本文示例,我们选择的第一特征模态。设置数据 2为完整解。对于组合方法,请选择显式。显式方法允许我们使用data1()和data2()算子参考每个解的特定变量。

使用计算组计算模态重叠

接下来,右键单击结果并添加一个计算组。将源数据集设置为合并数据集。

Model Builder tree highlighting the Evaluation Group node to calculate the mode overlap.
计算组节点的设置窗口。

右键单击新的计算组节点,添加表面积分子节点(对于三维问题,用体积分代替表面积分)。选择所有域,需要积分的表达式如下:

data1(u)*data2(u)/sqrt(data1(modeNorm)*data2(modeNorm))

Model Builder tree highlighting the Surface Integration subnode under the Evaluation Group node.
表面积分子节点的设置窗口。

这里,data1(u)指的是参考模态的位移,data2(u)指的是其他模态的位移。在分母中,我们参考了之前定义的模态归一化变量。

接下来,修改计算组节点设置中的变换设置,如下图所示。

Model Builder tree highlighting the Evaluation Group node to show the Transformation settings.
计算组节点变换设置的设置窗口。

在表达式框中,int1表示表面积分节点计算的积分值,abs(int1)^2表示等式 2 中定义的值。这里的目标是生成一个新的布尔数据列,表示重叠值是否与参考模态匹配(1 表示匹配,0 表示不匹配)。因此,表达式中的与阈值 0.5 之间存在逻辑比较。

请注意,阈值并不是固定不变的,而是可能因问题而异,或因不同的模态系列而异。我们的目标是选取一个阈值,将属于所需模态系列的解与其他解区分开来。对于模态重叠值分布较广的问题,可能需要通过反复试验进行微调。

在上图所示的列标题框中,我们可以选择为变换后的数据列添加标题。还可以选中保留子节点选项,以保留原始重叠数据列。完成后,点击计算按钮。请注意,计算可能需要一些时间,尤其是对于大型模型。

Table for the Evaluation Group for Mode 1, showing the values for b, Eigenfrequency (Hz), Mode match, and Overlap.
计算组表格。

计算完成后,应显示与上表类似的表格。如果希望在表格中添加更多数据列,可以通过在计算组中添加额外的计算节点来实现。切记使用 data1() 和 data2() 算子引用相应的模态解。

用表图绘图

创建一维绘图组并添加表图节点。

Model Builder tree highlighting the Table Graph node settings under a new 1D Plot Group.
表图节点的设置窗口。

选择新创建的计算组作为数据源。选择适当的 X 轴数据(扫描参数)和绘图列(特征值)。可根据需要调整着色、样式和图例选项。

接下来,右键单击表图节点,添加一个过滤器子节点。在表达式框中输入col3==1。这里,col3指的是模态匹配数据列。

Model Builder tree highlighting the Filter subnode settings window under the Table Graph node.
过滤器子节点的设置窗口。

过滤器子节点根据给定的逻辑标准过滤绘图数据。在这种情况下,只绘制匹配模态解。单击绘图按钮执行绘图。

跟踪其他模态系列

要跟踪其他模态系列,我们只需重复前面的步骤。您可以使用复制操作来快速设置其他合并、计算组和表图节点。为此,右键单击相应节点并选择复制(快捷键 CTRL-SHIFT-D)。对于每个新模态系列:

  1. 复制合并数据集。重命名节点并更新数据 1 部分,使其指向新的参考模态。
  2. 复制计算组。重命名节点并将源数据集更改为新的合并数据集。单击计算获取数据表。
  3. 复制表图节点。将计算组来源更改为新的计算组。根据需要更改颜色、样式和图例选项。单击绘图更新图表。

您还可以将节点分组,以便更好地组织模型树。为此,请选中所有要分组的节点,右键单击并选择分组(快捷键 CTRL-G)。

Model Builder tree highlighting the grouped Join datasets and Evaluation Groups for mode matching.
模型开发树显示了模态匹配组。

手动方法的重要使用说明

  • 切记在做出任何会影响模态匹配结果的更改后,重新计算每个计算组。
  • 在清除解或对特征频率研究进行重大修改后,有时需要重新设置合并数据集的参考模态。为了提高可重复性,我们建议在外部文件中记录每个合并数据集使用的参考模态。
  • 关于参考模态的选择,我们建议选择一个与其模态系列中的其他模态重合度较高,而与另外的模态相似度较低的模态。通常,通过绘制模态解可以直观地确定这一点。如果某个模态系列在参数范围内变化很大,则可能需要通过一些尝试才能找到合适的参考模态。

进一步学习

查看这篇博客文章了解应用于各种物理应用中的模态跟踪演示。要了解更多有关合并数据集及其各种其他用途的信息,请参阅这篇博客文章。


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

Baidu
map