咱们今天聊点硬核的——如何从流体仿真一路杀到声场计算。射流噪声这玩意儿在航空发动机和工业排气里都是个磨人的小妖精,直接上操作流程
射流气动噪声近场远场计算(3节) 包括 fluent流场求解导出 Lms近场声辐射计算 Lms远场声辐射计算 可以解决:射流仿真基本步骤,四极子声源导出设置等问题,可以绘制各阶频率下的声压云图,噪声频谱图等。
先说流场这块,Fluent里得先搞定稳态流场。湍流模型选SST k-omega比较稳,出口边界别手抖设成压力出口,速度入口的湍流强度给个5%起步。重点来了!导出四极子声源数据的时候,记得在Monitors里勾选Acoustic Source Terms,用CGNS格式导出瞬态数据。这里有个坑:时间步长必须满足奈奎斯特频率,比如最高分析频率10kHz的话,时间步别超过5e-5秒。
导数据时用个TUI命令省事:
/file/set-transient-export cgns 0.001 0 2000这行代码设置了每0.001秒输出一次,总共2000步。导出的CGNS文件里带着速度脉动和应力张量,是后续声计算的粮草。
射流气动噪声近场远场计算(3节) 包括 fluent流场求解导出 Lms近场声辐射计算 Lms远场声辐射计算 可以解决:射流仿真基本步骤,四极子声源导出设置等问题,可以绘制各阶频率下的声压云图,噪声频谱图等。
切到LMS Virtual.Lab搞近场噪声。导入CGNS后,在Acoustic Mesh界面得特别注意网格适配——声学网格要比流体网格粗,但得包裹住射流剪切层。这里有个骚操作:用Python脚本批量处理声源映射:
from pyLMS import AcousticModel model = AcousticModel() model.map_sources(fluid_mesh="jet.cgns", acoustic_mesh="acou_mesh.unv", frequency_range=(50, 10000))这个脚本自动把流体脉动映射到声学网格上,频率范围设50Hz到10kHz。跑完计算能看到像章鱼触手一样的声压云图,在2000Hz附近通常会出现马赫波辐射现象。
远场计算更刺激。用FW-H积分的时候,要在LMS里设置虚面包围噪声源区域。配置文件里关键参数是积分面类型和运动状态:
<FWH_Setting> <IntegrationSurface type="fixed"/> <ObserverPoints path="farfield_grid.csv"/> <MaxFrequency>5000</MaxFrequency> </FWH_Setting>这里设了静止积分面,观测点从CSV文件导入。跑完能拿到远场指向性图,典型的结果是60度方向声压级最高,像个月牙形状。频谱图用matplotlib画的时候记得加计权:
plt.psd(sound_pressure, Fs=20000, NFFT=4096, window=np.hanning(2048), scale_by_freq=True) plt.ylabel('dB/Hz (A-weighted)')加A计权后更贴近人耳实际感受。注意频谱的峰值通常出现在斯特劳哈尔数0.2附近,对应涡脱落主频。
折腾完这三步,基本上就能从流场跑到声场了。实测过某型号喷管,远场预测和实验误差能在3dB以内。不过要注意,四极子源在低马赫数时可能干不过偶极子源,这时候得回头检查流场湍流模型是不是没捕捉到足够的小尺度涡。
