压电复合材料在超声换能器里算是常客了,特别是医疗超声探头里那些高频阵子。最近用COMSOL6.2整了个厚度方向振动的模型,顺手把阻抗曲线和表面位移都给跑出来了。这个模型最骚的是随便改几何参数都能快速出结果,特别适合搞材料参数优化的老铁。
先甩个核心代码片段,用App开发器生成的MATLAB接口:
model = ModelUtil.create('Model');
model.modelNode.create('comp1');
model.geom.create('geom1', 3);
model.geom('geom1').feature.create('blk1', 'Block');
model.geom('geom1').feature('blk1').set('size', {'0.5[m]' '0.5[m]' '2[mm]'});
这段建了个3D长方体,尺寸参数里毫米和米单位混用是故意的——COMSOL会自动统一量纲。注意厚度方向设成2mm,这个值直接决定共振频率。改第三维参数就能调谐振动模式,比如改成1mm会让基频翻倍。
材料属性这块用了自定义PZT-5H和环氧树脂的层状结构,关键在设置各向异性压电矩阵。这里有个骚操作:用旋转坐标系让极化方向对齐厚度轴。
model.material.create('mat1', 'Commonly Used Materials', 'PZT-5H');
model.material('mat1').propertyGroup('def').set('d', {'0' '0' '0' '0' '580e-12' '0'}, 'C/N');
压电常数d33设成580pC/N是行业常用值,但实际做参数扫描时可以改成变量表达式,配合COMSOL的全局参数联动修改。
边界条件要特别注意机械固定端和电学接地设置。在底部面施加固定约束时容易翻车——得用几何选择而不是物理选择:
model.physics('solidmech').feature('fix1').selection.set([2]);
model.physics('electrostatics').feature('gnd1').selection.set([2]);
数字2代表几何中的底面编号,这里机械固定和电学接地都作用在同一表面。注意压电仿真的机电耦合必须同时激活固体力学和静电模块。
扫频计算时阻抗曲线的精度取决于采样点密度。建议先用0.1MHz步长粗扫定位共振点,再用0.01MHz步长精修:
model.study('std1').feature('freq').set('plist', 'linspace(0.5e6,3e6,26)');
这个设置从0.5MHz扫到3MHz取26个点。实测在2.1MHz附近会出现相位突变,对应厚度伸缩振动模态。修改材料密度或弹性常数时,这个峰值位置会明显漂移。
后处理里位移场可视化有个坑——默认显示的是总位移,其实应该看Z向分量。用这个表达式截取法向位移:
model.result().dataset('dset1').set('expr', 'solid.dispz');
表面位移云图能清晰看到驻波分布,节点位置对应应力集中区域。结合频响曲线可验证是否发生厚度共振。
最后说下参数化技巧。比如要批量测试不同径厚比的影响,可以用COMSOL的批处理循环:
for r = [0.5,1,2]
model.param.set('aspect_ratio', num2str(r));
model.geom('geom1').feature('blk1').set('size', {[num2str(r),'[mm]'] [num2str(r),'[mm]'] '2[mm]'});
model.sol('sol1').runAll;
exportImpedanceData(r);
end
这个脚本自动修改横向尺寸并导出阻抗数据,适合做阵列换能器的优化设计。实测发现当径厚比大于2时,会出现非厚度方向的寄生振动模式。
模型文件在6.2以下版本确实打不开,主要用到了新版的多物理场直接求解器。需要代做超声聚焦或光声耦合仿真的朋友,记得提供具体的换能器构型参数——比如是1-3型还是2-2型复合,这对边界条件设置影响贼大。