本文描述在Fluent中使用波动方程模型(Wave Equation Model)计算声学问题的基本流程。
注:本文内容取自Fluent UserGuide。
”
由于当前对背景流体流动的恒定密度及声速的限制,不允许由于温度或混合物组分不均匀而导致这两个参数发生显著变化,因此波动方程模型被建议用于低马赫数尺度解析湍流模型(LES、SBES、DES、SAS等)中。波动方程模型可用于二阶或有界二阶隐式时间格式的瞬态流动模拟。注意该模型不适用于Fluent的二维轴对称版本。
波动方程可以通过TUI命令激活:
/define/models/acoustics/wave-equation?
可在菜单中找到波动方程选项:
/define/models/acoustics/wave equation options
海绵层的人工粘度基准可通过TUI命令更改:
/define/models/acoustics/wave-equation-options/sponge-layer-base-level
可使用TUI命令设置远场参数:
/define/models/acoustics/far field parameters
波动过程激活后如下图所示。
1 指定声源遮蔽及海绵区域
Acoustics Region组框用于设置声源遮蔽和海绵区域。
定义几何体数据的方法有两种:
-
利用UDF进行定义 -
使用基本形状(矩形六面体、圆柱体、球体)进行定义
这两种方法可以组合在一起使用。声源遮蔽及海绵层UDF利用以下宏进行创建:
DEFINE_SOURCE_MASK(src_mask_define, c, t)
DEFINE_SPONGE_LAYER(sponge_define, c, t)
可以利用树形菜单Solution → Cell Registers New → Region.. 从基本形状(矩形六面体、圆柱体、球体)中构建简单的几何体。创建一个或多个单元区域后,可以通过单击按钮Basic Shapes… 来指定所需的几何体。基本性质对话框如下图所示。
2 波动模型的求解控制
当波动方程模型被激活时,Solution Controls任务页包含一个附加框架,其标题为Acoustics Wave Equation Solver Controls,如下图所示。
Relative Convergence Criterion和Max Iterations/Time Step控制隐式波动方程求解器的子迭代。子迭代的需要来自于对理论模型中基本拉普拉斯项和人工粘性项离散化的显式偏斜修正。在每个子迭代中,线性方程组由AMG线性解算器进行处理。这三种算法参数的最优值取决于网格质量。
波动方程求解控制的TUI命令为:
/solve/set/acoustics-wave-equation-controls/
子菜单/expert允许指定亚松弛因子以强制在低质量网格上收敛。正常情况下不建议进行亚松弛迭代。
3 计算初始化
波动方程模型可以在得到一个随时间变化的流场结果后激活。因此,需要单独对声场进行初始化。当波动方程模型被激活后,在Solution Initialization任务面板中会出现一个Sound Potential场及一个新的Initialize Acoustics… 按钮。初始声势值应始终保持为零。点击按钮Initialize Acoustics… 按钮打开声学初始化对话框,如下图所示,可以在其中指定渐变过程的时间步数。
可以在任何时候单独重新初始化声场,因为其不会影响只需继续下去的瞬态流动求解。
可以使用TUI命令指定渐变过程的时间步数:
/solve/initialize/init-acoustics-options
注意:如果在未初始化的设置中启用波动方程模型,则整个模拟的初始化也将初始化声场。但是斜坡持续时间将设置为零,此时可以通过分别重新初始化声学来重置渐变过程。
”
UDF宏DEFINE_INIT不能用于初始化波动方程模型,此时需要使用DEFINE__DEMAND宏。
4 使用基尔霍夫积分模型
基尔霍夫积分模型(Kirchhoff integral model)可用于波动方程模型的三维声学模拟。通过选中Acoustics Model对话框中的复选框Remote Receivers可以激活该功能。选中此复选框后,Wave Equation Options框中将出现一个子框Wave Equation Options和其他按钮,如图所示。
单击按钮Integration Surface... 打开所有当前可用的积分面的列表,如下图所示。Kirchhoff模型最常用的两种面为二次曲面(Ribbon菜单Domain→Surface→Create→Quadric)与等值面。目前只能在列表中选择一个面用于积分计算。
单击按钮Define Receivers... 打开与设置Ffowcs Williams and Hawkings(FW-H)模型相同的Acoustic Receivers对话框。为了使FW-H模型与基于波动方程的Kirchhoff积分模型同时使用,接收器在两个模型之间共享,无需设置两次。Kirchhoff模型的信号文件扩展名固定为.ark。
单击按钮Write Signals将远程接收器位置处计算得到的声信号写入到ASCII文件。写入的基尔霍夫信被自动修剪,如果声音信号太短且不包含完整的声压数据,则不会写入该信号,此时会在Fluent控制台中打印警告消息。
注意:(1)只有FW-H模型能够支持 Moving Receivers选项,在Kirchhoff模型中,该选项被忽略。(2)结果信号分别写入FW-H和Kirchhoff模型的数据文件中,这样可以同时使用和比较它们。但是,当声音信号写入ASCII接收器文件时,两种模型共享相同的用户指定文件名,但具有不同的文件扩展名:.ard表示FW-H型号信号,.ark表示基尔霍夫型号信号。
”
基尔霍夫模型目前仅在on-the-fly模式下可用,这意味着下一组信号样本将在每个时间步后的瞬态模拟中计算。FW-H模型的read-and-compute模式使得对FW-H和波动方程模型(采用基尔霍夫积分)使用相同的瞬态流模拟成为可能。要进行这样的模拟可采用以下流程 :
-
选择Wave Equation模型并激活选项Export Acoustic Source Data in ASD Format和Remote Receivers -
点击Export Options中的按钮Define Sources... 为FW-H模型指定积分面 -
在Kirchhoff Integral Options中选择Integration Surface... 为基尔霍夫模型指定一个积分面 -
在瞬态流动模拟过程中,每一步都要求解声波方程,并利用Kirchhoff积分模型对远程接收端的声信号进行实时计算。FW-H模型的源数据也将以ASD格式导出。模拟结束后,单击“写入信号”将基尔霍夫信号写入ASCII文件。 -
切换到FW-H模型,然后在Run Calculations任务页面上,使用Acoustic Signals... 按钮从ASD文件读入数据并开始FW-H模型计算。
本篇文章来源于微信公众号: CFD之道
评论前必须登录!
注册