news 2026/10/3 13:25:41

水下低频吸声难?压电局域谐振结构与Comsol多物理场仿真全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
水下低频吸声难?压电局域谐振结构与Comsol多物理场仿真全解析

水下低频吸声一直是水声工程里的硬骨头。声波在水中频率越低,波长越长,传统吸声材料要么厚得离谱,要么在低频段几乎失灵。这几年我一直在折腾基于压电材料的局域谐振吸声结构,核心思路不是靠材料本身“吸掉”声能,而是利用压电单元的谐振特性,把声能先转化成机械能和电能,再通过外接电路损耗掉。这套方案最大的亮点是“可调”——通过改外接电路参数,就能让吸声峰在低频段随意移动,这在固定频段只能靠加厚材料硬扛的传统方案面前,完全是另一种设计思路。

这篇文章从问题出发,把局域谐振压电吸声的机理、建模思路、Comsol仿真全过程以及我踩过的坑都梳理一遍,适合正在做水下声学、压电器件仿真,或者想用Comsol做多物理场耦合仿真的朋友参考。文中涉及的公式推导、参数估算和操作细节,都是可以直接落到自己模型里的。

1. 为什么低频吸声这么难,偏偏要用压电谐振

1.1 低频声波在水下的“穿透力”有多夸张

先算一笔账。在水下,声速大约是1500 m/s,一个1000 Hz的声波,波长就是1.5米。而100 Hz的声波,波长直接拉到15米。想要用传统多孔吸声材料有效吸声,材料厚度通常需要达到波长的四分之一甚至更多。这意味着要对付几百赫兹的低频,你要么做一面几米厚的吸声墙,要么就用大尺寸的共振腔,这在工程上往往根本不现实。

还有个更麻烦的问题——水声阻抗很大。水的特征阻抗大概是1.5×10^6 Pa·s/m,比空气高了差不多三个数量级。所以很多在空气里好用的吸声材料,一放到水里就“失配”了。声波到了材料界面,大部分能量直接反射回去,根本进不到材料内部。这就是为什么传统手段在水下低频段特别难做。

我接触这个方向之前,也试过纯被动方案,比如用微穿孔板、用橡胶填充腔体,但无一例外都卡在一个两难里:想吸低频,就要做大尺寸、做厚结构;可水下装备对体积和重量又极其敏感。后来转向局域谐振这条路,才算找到突破口。

1.2 局域谐振:用小尺寸碰长波长

局域谐振这个概念,通俗讲就是在远小于波长的尺度上做一个“弹簧-质量-阻尼”系统。入射声波压在这个小系统上,当声波频率正好踩中这个小系统的固有频率时,局部振幅被放大,机械振动再把能量通过阻尼耗散掉。

类比一下:你推一个很重的秋千,推一下推不动,但如果每次都在它摆回来的瞬间补一把力,秋千会越荡越高。局域谐振吸声就是这个原理,只不过“补力”的动作是由入射声波自己完成的。因为在谐振频率附近,局部单元的位移响应会远大于入射波对应的介质位移,振动速度上去了,阻尼耗损的能量也跟着陡增。

这里的核心优势在于:谐振单元的物理尺寸可以很小(远小于波长),但吸声峰却可以发生在低频。也就是说,薄板上贴几排压电小片子,就能在一个比波长小得多的几何尺度上吃掉低频声能。这正是它比传统“厚板硬抗”方案高明的地方。

1.3 为什么必须是压电材料,还非要“可调”

压电材料在这里的角色很特殊。普通的局域谐振单元,一旦几何尺寸和材料定下来,固有频率就固定了。但压电片不一样——它受到机械应力时会产生电荷(正压电效应),反过来给它加电场时又会变形(逆压电效应)。这意味着它可以在机械域和电域之间建立一个“桥”。

关键是这座桥的外侧,你可以接电路。外接一个电感,压电片的自身电容(静电容C0)会和电感L组成一个LC谐振回路。这个电谐振回路再和声学振动耦合在一起,等于在原结构上增加了一个“电路旋钮”。你改电感值,整个系统在高频侧的等效力学阻抗就会跟着变,局域谐振峰的频率自然就动了。

用一个经验公式可以把量级估算得很舒服:电路谐振频率 fp ≈ 1/(2π√(L·C0))。比如压电片静电容 C0 = 2.4 nF,想让它谐振在 1 kHz 附近,电感 L ≈ 1/((2π×1000)²×2.4×10⁻⁹) ≈ 10.5 mH。这个量级的电感在市面上并不难找,而且仿真里改一个参数比实际换电感还要方便一百倍。

2. 建模仿真前必须想清楚的四件事

2.1 几何维度与周期边界选择

建模型之前,第一个要决策的就是用二维还是三维。我的建议是:如果压电单元是圆形或方形,而且你可以接受忽略边缘效应,那就先做轴对称二维模型跑通流程,再升级到三维验证。二维轴对称模型计算量小,特别适合做参数扫描和机理验证。

如果单元是周期性排布的,比如一行一排贴在水下结构表面,那就要用周期性边界条件(Periodic Condition),只建一个单胞。这里有个容易翻车的地方:很多人在二维模型里用平面应变假设,但压电圆片的径向振动根本不是平面应变状态。你要是用二维平面应变去模拟圆片的“径向呼吸”模式,得到的谐振频率和三维模型能差出去百分之二三十。所以我后来做定量分析,一律用三维模型,最多在对称面上加对称边界。

对称边界也是个好东西。方形单元可以取四分之一,六边形单元可以取六分之一,善用对称性对网格量和求解时间的压减非常明显。

2.2 压电材料本构方程与参数准备

压电仿真的底层是压电本构方程。Comsol里用的是应力形式的压电方程:

T = cE·S - eT·E D = e·S + εS·E

其中 cE 是短路弹性刚度矩阵,e 是压电应力常数矩阵,εS 是夹持介电常数矩阵。很多人在这块容易搞混:材料库里的 PZT-5A、PZT-5H 参数,有的是应力形式,有的是应变形式,单位也分 SI 和 CGS。如果你从论文里抄参数,一定要确认这些参数是在哪个边界条件下测的——短路还是开路,恒应力还是恒应变。用错了组合,仿真出来的谐振峰位置能偏移出让人崩溃的距离。

以 PZT-5H 为例,典型参数组合包括:密度约 7500 kg/m³,相对介电常数 εr 在 1700 左右,压电常数 d31 约 -274×10⁻¹² C/N,d33 约 593×10⁻¹² C/N。但这些只是“材料库默认值”,建议有条件的话,用你自己手里实际样片的阻抗分析仪测试结果反推修正。仿真和实验差距最大的来源,往往不是算法,而是材料参数。

2.3 等效电路模型:为什么可调

在正式建多物理场模型之前,先用集总等效电路把系统“画”一遍是非常值得做的。压电谐振器的等效电路可以用经典的单晶振子模型来表示:

  • 支路一:静电容 C0(也叫并联电容、夹持电容)
  • 支路二:动态支路,由等效电感 Lm、等效电容 Cm、等效电阻 Rm 串联构成

当外接电感 L 并联到压电片两端时,电路拓扑变成这样:L 和 C0 先并联,再整体和动态支路串联。整个输入电阻抗谱就会显示出两个特征频率——并联谐振频率和串联谐振频率。重要的是,L 的值会直接搬动这两个频率的位置。

这就是“可调”的物理本质:外电路在改变压电元件的等效刚度。从公式上看,压电片在低频下的等效柔顺系数会因为外接电感的存在而出现一个频率相关的修正项。频率越高,修正越大,到了某个频率点,等效柔顺系数趋于奇点——这就是谐振峰大移动。

可能有人会问,为什么不直接改几何尺寸来调频?因为改几何参数是“一刀切”,你没法在一个连续工作频段里实时调节。而接一个可变电感或电容,等于给吸声器装了一个“调音旋钮”,这个在水下装备的工程实践中意义很大——不同海况、不同航速下的噪声主频是变的,吸声结构如果能跟着调,就不会出现“错峰”的尴尬。

2.4 多物理场耦合方式的选择

Comsol中实现压电声学耦合,物理场接口组合有多种。我用的最顺手的组合是:

  • 压力声学(频域):负责流体域声压传播
  • 固体力学:负责压电片和背衬板的机械振动
  • 静电(压电效应):负责压电材料里的电场和电荷
  • 电路接口:负责外接电感

多物理场耦合分两步:第一步,在压电体内部,固体力学和静电通过“压电效应”这个多物理场节点耦合;第二步,在压电表面和流体交界处,通过“声-结构边界”耦合。

如果想省事,也可以用Comsol自带的“压电器件”接口,它把固体力学和静电预耦合好了。但我个人建议物理场分开建立,自由度更大,后期如果要在压电片上施加不均匀的电压边界,或者叠加主动控制算法,这种“显式拆分”的方式调试起来更直观。

3. Comsol 建模实操流程

3.1 全局参数与几何搭建

在Comsol的全局参数里,先把下面这组核心参数定义好。这是我自己常用的基线配置:

参数名值说明
f1000[Hz]扫频中心频率
L_ext10[mH]外接电感
C02.4[nF]压电片静电容,由几何和材料决定
d20[mm]压电片直径
t2[mm]压电片厚度
t_back5[mm]背衬钢板厚度
rho_water1000[kg/m^3]水密度
c_water1500[m/s]水中声速

几何结构从上到下依次是:水柱(声学域,高度大于λ/2或配备PML)、压电圆片、背衬钢板。背衬板在这个方案里很重要,它既是支撑结构,也是透声与否的调节件。如果想研究“透射型吸声”,背衬可以做成水层,让能量从另一侧透出去;如果想研究“反射型吸声”,背衬就用钢板加约束边界。

建模时注意:所有边界的尺寸都要用参数驱动,别写死数值。因为你后面做参数扫描时,会发现几何尺寸、网格密度、扫频范围全都要联动改,写成参数能省掉大量重复劳动。

3.2 物理场接口与边界条件设置

压力声学域:水柱顶部如果是模拟半无限空间,要在最上面加一个完美匹配层(PML),PML厚度至少要覆盖一个扫频下限波长的五分之一。如果你只关心背衬板中的振动和压电片吸声,也可以在水柱顶部直接用平面波辐射边界,但注意辐射边界在低频的精度不如PML。

声-结构边界:在压电片/水的交界面上,把压力声学和固体力学耦合起来,Comsol会自动把声压载荷传递到结构表面,同时把结构表面的法向加速度作为声学边界条件。这里有个细节:声-结构边界默认是“双向耦合”,如果你在调试阶段只想看趋势,可以先把耦合方向设成单向(结构→声),计算量会小很多,但最终定量结果必须用双向。

静电条件:压电片上下表面设置电极。上表面接电路,下表面接地。这个“电路”驱动的设定,直接决定了“可调”能不能实现。

电路接口:用“电路”接口添加一个电感元件,一端接压电片上表面电极,另一端接地。Comsol的电路接口可以直接和静电接口通过“外部终端”耦合。也可以用外部集总阻抗边界条件实现,把导纳谱算出来再加电流约束,但用电路接口更直观,后续改成并联RLC也都方便。

3.3 网格划分:压电片区域是重中之重

网格划分直接决定压电谐振峰的仿真精度。我的经验是:

  • 压电片区域:至少划分6层以上的六面体网格(沿厚度方向),单元类型用二阶(二次)单元。压电片厚度振动模是沿厚度方向的驻波,如果一层网格都没有,厚度方向的高阶振动形变根本表达不出来,谐振峰直接消失。
  • 径向:圆周方向至少保证每波长10个节点,这个一般问题不大。
  • 水柱区域:最大网格尺寸要小于最高扫频频率对应的波长的1/6。比如扫到5000 Hz,水中波长是0.3 m,网格要控制在0.05 m以内。实际模型一般会比这个密得多。
  • 背衬板:建议用扫掠网格。钢板里剪切波速度快,网格要求没有水中那么苛刻,但厚度方向也至少三层。

一个关键检查点:网格无关性验证。把网格尺寸整体缩小一半,重新计算吸声峰频率。如果峰频变化在1%以内,就说明网格密度够用了。我见过不少人算出来的峰频和实验差10%以上,最后发现就是网格太粗。

3.4 频域扫描与求解器设置

频域扫描时,扫描范围要覆盖你关心的谐振频段。如果你的电感设定对准1000 Hz,那扫描范围至少从500 Hz到2500 Hz,才能看到完整的吸声峰形态。

求解器方面,频域问题直接用默认的“频域-直接”线性求解器通常就行。但如果模型复杂、自由度上百万,建议把求解器切换为“频域-分块”,把声学自由度和其他自由度分开求解,可以显著降低内存占用。

步长设置要特别留心:压电谐振峰非常窄,半功率带宽可能只有几十赫兹。如果你用线性步长扫100个点,可能根本踩不到峰。建议在谐振峰附近用对数步长或更细的线性步长。一个土办法:先粗扫一遍(比如步长20 Hz),找到峰的大概位置,再在那个区间加密到5 Hz甚至2 Hz,重新扫一次。这样既不会漏峰,也不至于让整个计算量失控。

4. 核心结果提取与后处理分析

4.1 吸声系数的提取方法

吸声系数的定义是 α = 1 - |R|²,R是声压反射系数。在Comsol里,有两种常用提取方式:

第一种是散射场法。把压力声学设定为散射场,入射场用平面波背景场定义。在结构表面上方取一个探针点,提取总声压,减去背景声压得到散射声压,再除以入射声压幅值,就能得到反射系数。这个方法的好处是结果直观,坏处是对网格精度比较敏感。

第二种是能量法。用压力声学的“声功率”变量,分别计算入射声功率、反射声功率和透射声功率,吸声系数 = 1 - (反射功率 + 透射功率)/入射功率。能量法综合性强,尤其适合有背衬板透射的模型。

我在实际项目中两种方法都验证过,结果差距在5%以内,一般以能量法为准。因为能量法物理直观,而且对局部网格误差不敏感。

4.2 导纳曲线与阻抗曲线的换算:一个特别值得说透的细节

这个环节在热搜词里出现了,确实是个高频需求。Comsol里算出来的导纳Y,是一个复数,实部G叫电导,虚部B叫电纳。导纳取倒数就是阻抗Z:

Z = 1/Y = 1/(G + jB) = (G - jB)/(G² + B²)

所以阻抗实部R = G/(G²+B²),虚部X = -B/(G²+B²)。

实际操作时,在Comsol的“结果”里新建一维绘图组,横轴设为频率,纵轴表达式直接写成:

  • 阻抗实部:1/real(Y)是不对的!必须先用G和B分别提取再换算。

正确做法是用结果中的“全局计算”或“派生值”,把导纳的实部和虚部分别提取出来,然后新建表达式做复数运算。如果你在压电片端子定义了“Terminal 1”,Comsol可以直接输出comp1.terminal.I1(电流)和comp1.terminal.U1(电压),导纳就是comp1.terminal.I1/comp1.terminal.U1,阻抗直接就是comp1.terminal.U1/comp1.terminal.I1,这会省掉你手推换算的功夫。

不过要注意一个坑:如果扫频范围包含谐振附近的强耦合区,导纳的实部会出现峰值和过零,用上述直接除法表达式在极值附近会产生尖刺。这是因为数值误差导致的除零效应。解决办法是先把G和B分别绘出来检查平滑性,确认无异常点后,再用格式化表达式计算Z参数。做实验时用阻抗分析仪测出来的阻抗曲线,也是通过导纳谱换算得到的,仿真这边保持相同的后处理逻辑,方便最后和实测对表。

4.3 参数化扫描:看吸声峰如何被“旋钮”搬动

这是最兴奋的一步。在“研究”设置里,把外接电感L_ext选为扫描参数,给一组对数分布的值,比如1 mH、2 mH、5 mH、10 mH、20 mH,然后跑一遍频域扫描。

结果出来后会看到:不同电感下,吸声峰的位置和宽度都变了。电感越大,峰频越低;电感越小,峰频越高。峰值吸声系数通常维持在0.8以上,但峰宽有明显差异。这就是“可调”在图像上最直观的体现。

更精细的分析可以做:把每个电感值对应的峰频提出来,画一条“峰频 vs 电感”曲线。理论上这条曲线近似遵循 fp ≈ 1/(2π√(L·C0)) 的平方根关系,仿真结果如果偏离太大,就要检查静电容C0是否计算准确,以及机电耦合系数是否考虑充分。

5. 踩坑实录与调试心得

5.1 完美匹配层和周期边界“打架”

这是我最开始遇到的一个诡异问题:加了PML和周期边界后,仿真结果在低频段出现不正常的反射峰,怎么看都是数值假象。查了一圈发现,PML区域和周期边界耦合时,如果PML的厚度不够或者其内部网格是“各向同性”划分的,会导致掠射波在PML内部激发驻波,反弹回计算域。

解决办法是把PML厚度增加到覆盖最低频波长的三分之一,同时把PML区域的网格划分改成“扫掠网格”,保证PML内层单元形状规则。改完之后假反射就消失了。这里也建议你在正式扫频前,先做一个空载验证:不加压电片,纯水柱加PML,表面应该是全透射,反射系数接近0。如果这个基准算不平,后面一切结果都不可信。

5.2 压电片网格中二阶单元的主宰地位

有段时间我图省事,用一阶线性单元划分压电片,结果谐振峰完全消失,吸声曲线平得跟没有压电片一样。后来才明白:压电片的厚度振动模态形变是“弯曲型”的,一阶线性单元只能描述直线变形,根本没有足够的形函数空间表达弯曲模式。

这是个特别基础但特别坑的问题。我的规则是:压电区域一律用二阶拉格朗日单元(或高阶),厚度方向至少6层。宁可把水柱的网格放宽一点,也不能在压电片上省网格。

5.3 扫频步长太粗导致谐振峰丢失

压电谐振峰的品质因数(Q值)很高,峰宽可能只有十几赫兹。如果你扫频步长是50 Hz,大概率直接跳过了整个峰。我个人的排查经验是:先跑一个单独的谐振分析或特征频率研究,把压电结构的前几阶模态频率算出来,看到底哪里有谐振。然后带着这个先验信息,再对频域扫描范围做细分布点。

如果特征频率分析也不方便,就用“自适应频率扫描”功能,它会在曲线变化剧烈的地方自动加密步点。这种方法比自己手动分段要高效得多,而且不太容易漏峰。

5.4 电感量级估算错误导致峰跑出扫频范围

这是我最常提醒别人的一个坑。如果不做前面的静电容估算,随手填一个电感值,很可能出现的结果是:谐振峰跑出了你设置的扫频范围,曲线看起来“什么都没发生”。但这不是没谐振,而是你的扫描目标区间不对。

正确做法是建模前先用公式 fp ≈ 1/(2π√(L·C0)) 估算一次,确定电感数量级,再配合扫频范围去设置。如果你要调的是1 kHz,C0 = 2.4 nF,电感应从毫亨级别起步。如果你要调的是100 Hz,电感直接得跳到亨利级别,这个在实物中可能要用电抗合成电路来实现了,所以做仿真前量级估算真的很重要。

6. 这个方案还能往哪些方向延伸

6.1 从单峰到多峰宽带吸声

单一尺寸的压电片对应一个局域谐振峰,吸声带宽天然很窄。想拓宽频带,一个直接思路是“多尺寸并排”——在同一块基板上排列不同直径或厚度的压电单元,每个单元对应不同频率的谐振峰,拼在一起就是一个宽频吸声器。Comsol里可以通过参数化几何轻松生成这样的阵列模型,然后做多单元间的协同优化。

优化目标函数建议用“带宽内平均吸声系数≥0.7”这样的工程指标做约束,然后用参数扫描或Comsol自带的优化模块来迭代几何参数。这种多设计变量的优化场景,正好是局域谐振方案从实验室走向工程应用的关键一步。

6.2 负电容电路与主动/半主动控制

外接无源电感的调节范围有限,带宽也窄。如果想进一步拓宽,可以接有源电路,最常见的是负电容电路。负电容电路的作用是抵消压电片自身的静电容C0,等效地把压电片的“电容”变小甚至变负,从而显著改变谐振频率和阻尼特性。配合一个可调负电容,理论上可以在很宽的频率范围内连续调谐,这是目前智能超表面研究的一个热点方向。

不过负电容电路非常不稳定,极易自激振荡,仿真中可以先用理想负电容元件跑通机理,再考虑实际电路的噪声、延迟和稳定性约束。

6.3 实验验证的对照策略

最后说一句和实验对接的问题。仿真跑完之后,建议你至少要复现一条“电阻抗谱”和一条“吸声系数谱”去和实测数据对照。阻抗谱用阻抗分析仪测压电片就能得到,不用下水,是最快的模型修正手段。吸声谱则需要用水管阻抗管或自由场测量,成本和复杂度都不是一个量级。

我的经验是:先用阻抗谱把压电片的材料参数修正到位,比如调整介电常数和压电常数来对齐谐振峰频率和宽度;这一步误差控制在5%以内以后,再上水声测量。否则上来就下水测吸声,一旦对不上,你根本分不清是材料参数问题、几何加工误差还是边界条件的问题。


说实话,这类多物理场耦合仿真最大的门槛不在软件操作,而在你愿不愿意先把物理机理想透。局域谐振压电吸声这个方向,只要理解了“外接电路改变等效刚度”这个本质,后面所有建模、调参都有清晰的指向。最后再分享一个小技巧:所有参数扫描任务,先用粗网格跑通逻辑,再上细网格跑定量结果,这样能省掉大量不必要的计算时间,也能让你更快找到“可调”的规律性结论。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/3 13:23:57

Android WLAN STA/AP并发实现:从驱动到框架的完整定制指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/3 13:23:46

Cesium接入天地图实现业务标记:从Entity到Primitive的性能优化实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/3 13:18:10

GLIBCXX_3.4.32 not found 解决方案:C++ 运行库版本兼容实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/3 13:17:42

合作博弈与Shapley值:综合能源系统优化调度及利益分配的MATLAB实现

简介:面向综合能源系统与电力市场方向的毕业设计,这里提供一套基于合作博弈的综合能源系统利益分配优化调度MATLAB源程序。代码覆盖P2G电转气、碳捕集、燃气轮机、热储能等设备建模,并实现三方主体合作联盟构建,利用Shapley值法对…

作者头像 李华