圆柱绕流流致噪声仿真分析
1. 摘要
能源、船舶、电力行业常见的载流管道,通常包含弯头、三通、异径、阀门等流动奇异处,当流体(液体、气体)在管内流动时会形成湍流。从定性的角度分析可得,湍流自身含有的湍动能一部分作为管道结构振动的激励作用在管壁上,引起管壁的振动以及向外辐射噪声,另一部分能量将作为流动声源在管内产生噪声。流致噪声在航海、航空领域受到高度的关注,它不仅造成飞机、直升机舱室乘员感观和心理上的不适,还严重影响水下作战平台(如潜艇)的隐蔽性。流致噪声是指由于运动流体与固体边界相互作用以及流体内部湍流所引起的辐射噪声。其主要激发机理是由于固体与流体的相对运动以及流体自身的不规则运动所激起的流体内部及压力扰动在介质中的传递。
自上世纪50年代,我国就已开展了湍流噪声方面的研究,但进展缓慢;而且早期研究主要集中于湍流边界层的近场特性,对流体自辐射噪声的研究较少。时至今日,湍流噪声的理论研究大都基于Lighthill声比拟方程、Powell涡声理论及Kirchhoff理论;其中Powell涡声理论和Kirchhoff理论均是基于Lighthill声比拟理论发展而来。
当流体流经封闭的障碍物管时,在障碍物管和主管道连接处由于惯性、流体内摩擦力、边界层脱落效应的耦合叠加而产生漩涡脱落,其形成的管内噪声是管道声致振动疲劳损伤的重要原因。本技术贴从典型的漩涡脱落管内噪声为例,介绍管内流动噪声的计算方法。
本文使用ANSYS Fluent 19.0软件,对圆柱扰流流动所引起的诱导噪声进行声比拟仿真,内容包括网格导入、模型选择、材料物性、边界条件、求解参数、后处理的设置。通过声比拟方法获得扰流流场和噪声。
2. 模型仿真描述
本仿真为2D模型,圆柱直径为1.9cm,来流风速为69.2m/s。基于直径的雷诺数为90000,流场的计算域上游为5倍的圆柱直径,下游为20倍圆柱直径,采用2D LES模型进行模拟。
3. 操作步骤
3.1. 创建工作目录并启动Fluent
启动Fluent 19.0,在Fluent Launcher中,Dimension选择2D,Display Options中勾选Display Mesh After Reading和Workbench Color Scheme,勾选Double Precision,Processing Options选择Serial,点击OK启动Fluent。
3.2. 导入网格文件
菜单中点击【File】>【Read】>【Mesh…】,选取网格文件cylinder2d.msh.gz,点击OK导入网格。此时,图形界面中可以查看导入的网格。
3.3. General一般设置
在最左侧的树中,鼠标左键双击【Setup】>【General】,进行网格相关的操作以及选择求解器。
3.4. Models模型设置
在最左侧的树中,鼠标左键双击【Setup】>【Models】,进行物理模型设置。
3.4.1. 设置求解类型
在General下选择Solver Type为Pressure-Based,Velocity Formulation为Absolute,Time为Transient,2D Space为Planar。
3.4.2. 选择湍流模型
由于LES模型在2D下默认为不激活状态,因此需要在Console窗口中输入相应的命令来激活使用。
在Console窗口中输入:(rpsetvar 'les-2d? #t)
然后在树中【Setup】>【Models】>【Viscous】,鼠标左键双击Viscous,Model中选择Large Eddy Simulation(LES),设置Subgrid-Scales Model为Smagorinsky-Lilly。其余设置默认,点击OK完然后在树中【Setup】>【Models】>【Viscous】,成设置。
点击完OK后将看到一个信息框,提示LES模型默认将动量方程改为Bounded Central-Differencing。点击OK确认。
3.5. Materials材料设置
在最左侧的树中,鼠标左键双击【Setup】>【Materials】,进行材料物性设置。
在Materials的Task Page中选中Fluid下的air,点击Create/Edit…,在弹出的Create/Edit Materials窗口中,保留参数默认设置,点击Close退出材料属性定义。
3.6. Cell Zone Conditions设置
在最左侧的树中,鼠标左键双击【Setup】>【Cell Zone Conditions】,进行体网格区域条件的设置。
在Cell Zone Conditions的Task Page中点击【Operating Conditions…】,在弹出的Operating Conditions窗口中,默认设置Operating Pressure为101325 pascal,点击OK退出。
选中air,点击Edit…,确认Material Name中的材料为air,点击OK关闭对话框。
3.7. Boundary Conditions设置
在最左侧的树中,鼠标左键双击【Setup】>【Boundary Conditions】,进行边界条件的设置。
3.8. Solution Methods求解方法设置
在最左侧的树中,鼠标左键双击【Solution】>【Methods】,进行求解方法的设置。
选择Spatial Discretization下Gradient为Least Squares Cell Based,Pressure为PRESTO!, Momentum为Bounded Central Differencing格式。改Transient Formulation为Bounded Second Order Implicit。勾选Non-Iterative Time Advancement选项。选择Pressure-Velocity Coupling下Scheme为Fractional Step。
3.9. Solution Controls设置
在最左侧的树中,鼠标左键双击【Solution】>【Controls】,进行松弛因子的设置。设置Pressure为0.7,Momentum中填入1。
3.10. Monitors监视设置
树中【Solution】>【Monitors】>【Residual】,鼠标左键双击,确保Plot选项被勾选。设置Options下Iterations to Plot为20,Iterations to Store为10000,其余设置保持默认,点击OK完成设置。
3.11. Initialization初始化
树中【Solution】>【Initialization】,鼠标左键双击Initialization,在Task Page中确认Initialization Methods选择为Standard Initialization,在Compute from下拉菜单设置为inlet。点击Initialize按钮进行初始化。
3.12. Run Calculation运行计算
树中【Solution】>【Run Calculation】,鼠标左键双击Run Calculation,在Task Page中的Time Step Size中输入5e-6[1],Number of Iterations输入20。点击Calculate开始运行计算。
[1]LES计算时的时间步取决于最小涡的尺度,需要CFL数为1的量级。在初始计算时很难判断合适的时间步长,因此在流动成型后还需要进行调整。对于一个给定的时间步Δt,声学分析能够获得的最高频率为f=1/(2Δt)。此处设置的时间步,最大频率为100kHz。在大部分的噪声计算中,最大频率往往超出人耳所能听及的范围。
运行计算开始后,可以在视图窗口中看到残差曲线随迭代步数的变化。
计算进行了20步迭代后弹出Information窗口显示计算已经完成。点击OK完成计算。
3.13. 瞬态计算
在左侧树中选择【Solution】>【Run Calculation】,双击Run Calculation,设置Number of Time Steps为4000,计算至物理时间的0.02s后(5e-6s/step×4000step)的结果。
检查时间步是否合理
树中【Results】>【Plots】>【Histogram】,双击Histogram。在Histogram of下选择Velocity…,选中Cell Convective Courant Number,将Divisions设置为100,点击Plot。
查看到CFL数的分布情况,可以看到CFL数最大值小于3.5,绝大部分的CFL数分布在小于1的范围内,由此得出当前时间步为合理的时间步。后续计算可以参考此时间步进行。
保存case&data为cylinder2d_t0.02.cas.gz和cylinder2_t0.02.dat.gz。
3.14. 气动噪声计算
3.14.1. 设置噪声模型
树中【Setup】>【Models】>【Acoustics】,双击Acoustics,在弹出的对话窗口中Model下选择Ffowcs-Williams & Hawkings。点击勾选Export Options下的Export Acoustic Source Data in ASD Format。
点击Define Sources…,在弹出的对话框中Source Zones下选择wall_cylinder,Source Data Root File Name中填入cylinder2d,Write Frequency为2[2],Number of Time Steps per File为200[3]。点击Apply,点击Close关闭设置窗口。
[2]由于物理时间步大小和流动的时间尺度差别很大,没有必要在每一个时间步写出噪声源数据。本案例中,源数据在时间因子上设置为2。因此最高可以分析到的频率减小为f=1/[2(2△t)]=50kHz
[3]源数据被打包分成众多源数据文件集。这样可以在计算接收信号时分序列进行,简化流程。200值为每个源数据文件包含了200个时间步,写出频率为2则表示每个源数据文件最终将写入100个数据系列。
3.14.2. 调整求解控制
树中【Solution】>【Solution Controls】,在Relaxation Factor中将Pressure项改为1
3.14.3. 继续计算,保持【Solution】>【Run Calculation】中Number of Time Steps为4000,点击Calculate计算。本次计算将至物理时间的0.04s后
3.14.4. 保存case&data为cylinder2d_t0.04.cas.gz和cylinder2_t0.04.dat.gz。
3.14.5. 设置噪声模型常数
树中【Setup】>【Models】>【Acoustics】,双击Acoustics,保持Far-Field Density为1.225 kg/m3,保持Far-Field Sound Speed为340 m/s,保持Reference Acoustic Pressure为2e-5 Pa,设置Source Correlation Length为0.095 m。点击OK确认设置。
3.14.6. 计算噪声信号
树中【Solution】>【Run Calculations】>Acoustic Signals…,在弹出的对话框中选择Receivers…,在弹出Acoustic Receivers窗口中,设置Number of Receivers为2,在Acoustic Signals窗口中选中Active Source Zones、Receivers和Source Data Files中所有的项,点击Compute/Write。
3.14.7. 气动噪声后处理
3.14.7.1. 显示声压信号
树中【Results】>【Plots】>【File】,双击File。在弹出的窗口中选择Load…导入receiver-1.ard和receiver-2.ard,点击Plot显示声压值。
点击Fourier Transform窗口中的Axes…,在弹出的窗口中去选Auto Range,在Range选项栏中设置Minimum值为0,Maximum为5000,点击Apply,关闭窗口回到Fourier Transform窗口点击Plot FFT。显示0~5kHz的声压分布。输出的结果中可以看到,谱峰值出现在约900Hz处。
回到Fourier Transform窗口,点击Plot/Modify Input Signal…,在弹出的截面勾选Options下的Clip to Range选项,X Axis Range中设置Min为0.02,Max为0.04,点击Apply/Plot。
可以看出谱峰值约在Strouhal数为0.25附近。
文章来源:SCI仿真工作室