声固耦合

在 COMSOL® 中模拟声-结构相互作用

2019年 6月 12日

声固耦合(ASI)问题要求对固体中的弹性波,流体中的压力波以及两者之间的相互作用进行建模。ASI 的使用包括有声音的产生,发散,传播或接收的设备,以及用于声音的分配、隔音或消除噪声的机械系统。对这些声学系统的研究通常涉及流体和固体两部分,并且可以预测其中波的行迹,而捕捉波在流体-固体分界面处的行为尤为重要。本文,我们将讨论如何使用 COMSOL Multiphysics® 软件来解决 ASI 问题。

可用于声固耦合分析的物理场接口

不同类型材料中的声学行为用不同的控制方程来描述。在 COMSOL Multiphysics 中,这意味着将不同的物理场添加至包含有不同材料的域中。固体中的弹性波,也称为固体振动,是属于结构力学里的一个分支,因此可以使用结构力学中的物理场接口进行建模。在用于结构分析的接口中,最常用于振动分析的接口是 固体力学多体动力学转子动力学 接口也可用于复杂机械系统计算噪声振动辐射,该复杂机械系统通过链接的刚性或柔性组件,或者通过一个可旋转的机械设备(例如转子或电动机)对振动进行计算。

A screenshot showing the structural mechanics interfaces in COMSOL Multiphysics®.
可用于结构分析的物理场接口。

在对流体中的声学问题进行建模时,COMSOL Multiphysics 可以给你提供更多的选择。从 COMSOL Multiphysics 版本 5.4 开始,声学模块中有大约 20 个物理场接口可用于模拟基于不同假设条件下的流体中的波。它们分为五个分支:

  • 压力声学
    • 压力波在黏性边界层之外的流体域中并且处于静止的条件下
  • 热黏性声学
    • 在声学的详细建模过程中,要包括壁附近的边界层,其中黏性损失和热传导不可忽略
  • 气动声学
    • 在静止环境下的声学改变就意味着流动,也称为对流声学
  • 超声
    • 使用不连续的 Galerkin 方法可以在比波长长度更大的距离里传播声信号
  • 几何声学
    • 高频声学,其声学波长远小于其几何特征

通常,您可以手动选择固体中弹性波的界面和流体中压力波的界面,然后定义它们之间的耦合。还有一个更简单,更方便的方法是使用其中一个内置多物理场接口,这些接口在固体和流体之间具有预定义的耦合。大多数这些多物理场接口都包含在“声学模块”的第六个分支中,即声学-结构 分支,在该分支中,压力声学与结构力学相互耦合。在热黏性声学分支中还有更多将热黏性声学与结构力学耦合的技术。下图显示了可用于 ASI 分析的多物理场接口。
声学结构相互作用建模接口的屏幕截图。
可用于 ASI 分析的多物理场接口。

首先,我们来讨论如何使用预定义的多物理场接口进行声固耦合分析,然后说明当选定的接口之间不存在预定义的多物理场功能时,如何手动添加接口并定义耦合。

使用预定义的多物理场接口对声固耦合进行建模

预定义的多物理场接口允许您在模型中包含多种材料类型,例如流体,线性弹性材料,多孔介质和压电设备。此外,不同材料之间的耦合会自动为您完成。根据模型中包括的材料类型以及您要在频域还是时域中解决问题,选择一个特定的接口。

我们以声学结构交互教程为例。我们想要对入射平面波与水中的弹性铝制圆柱体的相互作用进行建模。声音会引起弹性圆柱体的运动,进而将新的声波辐射到流体中。因此,需要在声学介质(水)和圆柱体之间进行完全双向耦合才能真实地模拟这种情况。下图显示了浸入水中的铝制圆柱体。入射波的频率为 60kHz(在超声区域)。圆柱体的高度为 2 厘米,直径为 1 厘米。水的声域范围截断在一个直径较大的球体中。
圆柱体ASI模型的示意图浸入水中。
浸入水中的铝圆筒的几何结构。

在这里,我们有两种类型的材料,流体(水)和线性弹性材料(铝),并且我们想进行频域分析以获得总声场的稳态时谐解。为了建立模型,我们选择声学-固体相互作用,频域 多物理场接口。该接口涉及两个单物理场接口:固体力学压力声学,频域。它还在 Multiphysics “多物理场”节点下定义了声学-结构边界 耦合特征。

声 - 固相互作用,频域接口的预定义设置的屏幕截图。
预定义的 “声固耦合”频域多物理场接口涉及 固体力学 压力声学频域接口,并在 Multiphysics“多物理场”的节点下的定义了 “声学-结构边界耦合”特征。

设置模型的一个重要步骤是编辑每个接口的域选择,以确保将它们应用于正确的域。默认情况下,COMSOL Multiphysics 在每个接口中都包含所有物理域,因此我们需要遍历每个物理域并删除不适用的域。在此示例中,从压力声学, 频域节点中删除内部圆柱体,以便仅将其应用于水域。同样,从固体力学中 去除外部球形水域,因此它仅适用于实心圆柱体。一旦完成此步骤后,COMSOL Multiphysics 便能够检测压力声学和固体力学之间的界面,并将耦合应用于这些边界上。我们能够在 “多物理场” 下检查和查看声学-结构边界 节点下的耦合界面。

示例模型显示了自动声学-结构边界的多物理场耦合。

在此实例中,声源是水域外球形周边边界上的入射平面波,表示入射声波。为此,我们添加一个球面波辐射 边界节点并将其应用于球面,然后添加一个入射压力场 子节点以指定平面波的振幅和波方向。此辐射条件允许输出球面波以最小的反射离开建模域。当周围环境仅仅只是域的延续时,该边界条件是有用的。

在 ASI 模型中指定事件平面波时模型构建器的屏幕截图。
在水域的外球形周边边界上指定入射平面波以表示入射声波。

我们不需要对“固体力学” 接口做任何事情。在这种情况下,默认设置将起作用,并且不需要对此纯振动问题施加任何约束。通常,需要在模型中反映如何在空间中支撑固体。例如,需要对固定或限制在沿某些方向移动的固体的任何部分都进行建模。这些约束将影响固体的振动行为,因此不能忽略。但是,对于这个概念性示例,我们将保持简单并使用默认值。

让我们转到网格划分部分。波动问题的网格划分经验是每个波长中至少有五到六个二阶网格单元,以便得到解析波。压力声学和固体力学物理场接口默认情况下都使用二阶拉格朗日单元,因此我们需要将最大单元大小设置为波长的五分之一或更小。对于此示例,我们使用水中波长的六分之一来定义最大单元大小。这也确保了网格能够分辨固体中的弹性波,因为它们的波长比水中的波长更长。

如果模型包含有其声音速度比流体速度慢的非常柔软的弹性材料,请使用固体中的声速来估计应用在固体域中的最大单元大小。COMSOL Multiphysics 自动计算固体中的声音速度。例如,如果在模型中使用“固体力学” 接口,则将计算压力波速度并将其存储在变量 solid.cp 和剪切波速度 solid.cs 中。您可以使用较慢的剪切波速来设置起始网格。当我们需要解析通常比切变波传播还要慢的表面波模式时,应采用最慢的表面波的速度来确定用于离散实体域的网格的大小。

显示网格元素大小的设置和图形窗口的屏幕截图。
手动设置网格单元大小,以确保波形得到很好的解析。

下面的动画显示了圆柱体后方平面上水中的总声压以及铝制圆柱体的变形。

 

平面上水中的总声压和铝制圆筒的变形。

下图显示了全铝实心模型与简单模型之间的比较,其中实心界面被视为硬壁。该图显示,在汽缸壁附近,与铝制模型相比,硬壁壳体在上游和下游侧均具有更高的声压级,这表明金属物体的机械性能会对声学特性产生影响。

撞击时声压级的图。
气缸阴影侧的SPL图。

汽缸的撞击和阴影侧的声压级。

ASI 的耦合方法

该示例使用已实现的声学-结构边界 耦合,其中包括结构上的流体载荷和流体所经历的结构加速度。从数学上看,边界条件为

-\textbf
{n} \cdot \Big(-\frac{1}{\rho_c}(\nabla p_t – q_d)\Big) = -\textbf{n}
\cdot \textbf
{u}_{tt}
\textbf{F}_A = p_t\textbf{n}

其中utt 是结构加速度,n 是表面法线方向,pt 为总声压,qd 是声偶极子域声源(如果适用的话),FA 是作用在结构上的载荷(每单位面积的力)。

声结构边界 耦合可以用任何结构组件来耦合压力声学模型。这包括基于有限元法(FEM)和边界元法(BEM)的声学接口。该功能与“固体力学”“壳”“膜”“多体动力学” 接口相耦合。

对于两侧均带有流体的薄型内部结构(如壳体和膜),在压力变量上加一个切口(使其不连续),并且我们确保将上下两侧能够连接起来。在内部边界上的条件为

-\textbf{n} \cdot \Big(-\frac{1}{\rho_c}(\nabla p_t – q_d)\Big)_{up} = -\textbf{n} \cdot \textbf{u}
_
{tt}
-\textbf{n} \cdot \Big(-\frac{1}{\rho_c}(\nabla p_t – q_d)\Big)_{down} = -\textbf{n} \cdot \textbf{u}_{tt}
\textbf
{F}
_A = (p_t,down – p_t,up)\textbf
{n}

这样,声负载是由薄型结构上的压降给出的。上下标识是指内部边界的两侧。

预定义的耦合功能

在向模型添加预定义的多物理场接口时,会同时将有用的物理接口和多物理场耦合添加到“模型开发器”中。有时,最好按顺序依次构建模型,一次添加一个物理接口。完成后,我们需要手动添加耦合。声学模块包括以下预定义的声学-结构耦合功能:

  • 声学结构边界
  • 热黏性声学结构边界
  • 气动声学结构边界
  • 声-孔边界
  • 多孔结构边界

这些功能用于预定义的多物理场接口中,但是当不存在预定义的多物理场接口时,也可以将它们用于耦合物理接口。例如,尽管没有预定义的 BEM 压力声学与结构力学耦合的多物理场接口,“声学-结构边界” 功能也可用于结构组件的 BEM 的压力声学模型

黏性声学-结构边界气动声学-结构边界 耦合用于将热黏性声学模型或气动声学模型(它仅适用于线性化的 Navier-Stokes 接口)耦合到固体力学 的结构模型和 Multibody Dynamics 接口。对于这两种耦合,都规定了速度场和表面应力的连续性,因为热黏性声学和线性化的 Navier-Stokes 模型都解决了边界层中的声学问题。(请参见具有黏性和热阻尼的振动微镜以及科里奥利流量计:频域教程模型中的 FSI 仿真。)

声学-结构边界与气动-声学界面一起耦合到多孔材料(比奥模型)与建模域多孔弹性波 的接口。这也包括了基于 FEM 和 BEM 的声学接口。该特征添加了流体在边界上连续性,其来自于多孔材料中的弹性波上的流体压力的边界载荷,以及流体经历的多孔基质骨架的正法向加速度。

多孔结构边界 用于耦合的多孔结构域(比奥模型)弹性多孔波 接口与固体力学,或多体动力学 的界面。在固-孔边界处,应用了位移场的连续性。

通过手动添加物理接口和耦合来对ASI进行建模

当预定义的多物理场接口不可用时-或者当一个新的物理接口被添加到现有模型并需要耦合到现有接口时-我们必须手动添加耦合以对接口之间的交互进行建模。只要预定义的耦合功能可用于添加的接口时,就会将“多物理场” 节点自动添加到“模型开发器”中。然后,我们只需右键单击“多物理场” 节点,然后从选择列表中选择耦合就可以了。

声学结构边界的屏幕截图设置。
预定义的 声学-结构边界功能可用于将 “压力声学,边界元素”接口耦合到 “固体力学”接口。

通常,我们能够使用预定义的耦合功能解决 ASI 问题。但是,有时无法使用预定义的耦合功能。例如,当使用集总电路模型来描述设备的机械性能时,需要 SPICE 模型和声学模型之间的双向耦合。在这些情况下,我们必须在物理接口中手动添加耦合。

示例:对集总接收器进行建模

例如,让我们对Knowles ED-23146 平衡电枢接收器(一种微型扬声器)进行建模。先将该设备连接到测试装置,该测试装置代表耳后式助听器中的接收器,该助听器通过一根细长的管道驱动插入的耳模,以此来驱动耳道。使用电路 接口将接收器建模为电气 SPICE 电路,并在管入口处将其连接到有限元域。使用“ 压力声学,频域” 接口对管内和耦合器内的声学进行建模。

小型化的集总接收器模型示意图麦克风。
由接收器,电子管,耦合器和测量麦克风组成的建模系统的示意图。蓝色区域使用基于 FEM 的压力声学物理接口进行建模,并使用集总电路对接收器进行建模。

在用于接收器的集总模型中,输出端的电流对应于体积流量(m3/s),而输出端上的电压对应于在换能器出口处测量的压力(Pa)。

为了将 SPICE 网络耦合到基于 FEM 的压力声学模型里,将电子管入口上方的平均压力用作电路 接口中接收器出口处的电压源,并且在压力声学模型中将电流应用于 SPICE 的输出端,换能器模型作为内向法向加速度应用于管的入口。平均压力Pin和内向加速度 An 定义为

显示集总接收器的已定义变量的表模型。

intop_in() 在细管的入口表面上定义了一个积分算子,其中,p 是声压,acpr.iomega 是复合角频率,和 cir.V2_i 是 SPICE 接收器输出处的电流。

将SPICE网络手动耦合到基于FEM的压力声学模型中。

解决大型 ASI 模型

在默认情况下,COMSOL Multiphysics 对 ASI 模型使用完全耦合的直接求解器。如果直接求解器的内存不足,则第一种简单的方法是启用并使用迭代求解器中的一个。首先,选择“显示默认求解器” 并右键单击,然后在“ 固定求解器”“时间求解器” 下展开“求解器配置”。这样预定义的迭代求解器建议就可以自动生成。如下图所示,建议并禁用两个迭代求解器。要打开一个,请右键单击求解器并选择启用(或按 F4 键)。

第一个建议(带有 GMG 的 GMRES)使用带有几何多重网格(GMG)预处理器的通用最小误差(GMRES)迭代求解器。此方法通常比直接的求解器更快,并且对于大型 3D 模型的内存更少。第二个建议(带有GMG的FGMRES)使用带有 GMG 预调节器的 GMRES(FGMRES)迭代求解器。这种方法比GMRES更稳定,尤其是对于那些表现出明显共振的问题。如果 GMRES 建议其不收敛,请尝试 FGMRES 建议。

显示 COMSOL 中预定义迭代求解器建议列表的屏幕截图。
预定义的迭代求解器建议用 3D 声学模型的默认求解器自动生成。

解决大型声学结构问题的另一种策略是用分离的方式解决系统问题。也就是说,系统不能一步一步解决完全耦合的问题。相反,迭代只能一次解决一个物理接口问题。

要设置这样的求解器,我们选择“ 固定求解器 ”按钮单击鼠标右键,然后选择“隔离 ”按键。“隔离” 的第一步是求解结构有关的因变量(位移)。第二步来选择压力相关变量。在每个步骤下,都要为单个物理接口问题来选择求解器。例如,当仅包括较小的结构域时,对声学使用迭代多重网格方法,对结构使用直接求解器。

屏幕截图显示了解决大型声学 - 结构相互作用问题的隔离方法。
用另外独立的方法解决大型声学结构问题。

只有在通过 Neumann 条件完成固体和声学之间的耦合时,该策略才是适用的。对于所有声学领域,使用“压力声学” 接口的模型都是如此。例如,在具有热声-结构相互作用的模型中,耦合基于 Dirichlet 条件(点状约束),并且需要使用弱约束重新构造连续性条件。这种方法也不适用于耦合压电域,结构和声学的模型; 在这些情况下,必须采用全耦合的方法。

在所有情况下,在“《声学模块用户指南》”的“建模”部分中会详细讨论各种求解器策略和其他有用的建议,欢迎阅读。

下一步


评论 (2)

正在加载...
Jie Li
Jie Li
2022-03-30

这是我要学习的领域

Rongfu Mao
Rongfu Mao
2022-08-29

视频都没有了?

浏览 COMSOL 博客