本案例利用Fluent中的虚拟叶片模型(Virtual Blade Model,VBM)计算直升机外部流场。
VBM模型是一种模拟旋转叶片时间平均累积效应方法,其复杂性与精度介于简单的风扇模型和复杂的单/多参考系(SRF/MRF)方法之间。VBM模型利用由二维翼型截面堆叠组成的圆盘来代替旋转叶片。
根据叶片单元理论(BET),翼型截面的气动特性以升力系数和阻力系数随迎角变化的表格来模拟叶片的影响。因此在飞机/旋翼机的整体FLUENT模拟中,可以包括旋转速度、局部叶片角度、扭曲和弦长等对通过旋翼盘的气流的影响。Fluent VBM比风扇模型精度高得多,其结果有时甚至比SRF/MRF模型更好,而且无需特别多的计算网格。
注:
本文内容来自Fluent Beta手册。
”
1 问题描述
教程将演示佐治亚理工学院风洞中一架前飞的简单直升机的模拟。几何模型如表所示。
几何参数 | 参数值 |
---|---|
Tunnel dimensions | 2.134 x 2.743 x 4.877 m |
Body diameter | 0.134 m |
Body length | 1.35 m |
Body/rotor clearance | 0.135m |
Rotor blades | 2 |
Rotor radius | 0.4570 m |
Cutout radius | 0.0125 m |
Hinge offset | 0 m |
Blade section | NACA 0015 |
Blade chord | 0.086 m |
Disk pitch angle | -6° |
Disk bank angle | 0° |
Collective pitch | 10° (fixed) |
Coning angle | 0° |
Longitudinal flapping angle | 1.94° |
Lateral flapping angle | 2.03° |
Blade twist | 0° |
操作条件如下表所示。
物理量 | 物理值 |
---|---|
Advance ratio | 0.1 |
Reference pressure | 101263.15 Pa |
Reference temperature | 288.0997 K |
Reference density | 1.22451 kg/m3 |
Entrance velocity (Vx) | 10.04996 m/s |
Rotational speed | 2,100 rpm(219.9115 rad/s) |
Tip speed | 100.49955 m/s |
本次模拟中,前进比(Advance ratio)定义为:
几何模型如下图所示。

2 Fluent设置
-
以3D、Double Precision方式启动Fluent -
读取计算网格VBM_helicopter_tutorial.msh.gz

在创建计算区域及划分计算网格时,需要注意以下一些问题:
-
必须对转子的整个360°方位角进行建模 -
旋转盘表面(int_rotor)必须具有内部边界条件 -
连接到旋转盘一侧的单元必须标记为单独的计算域(live1) -
这些单元必须有一个完整的面连接到旋转盘,旋转盘仅允许使用六面体及棱柱网格 -
连续流体区域(LIVE)必须完全包围旋转盘区域(Live1)
2.1 编译UDF
-
这里的UDF中使用了15个UDM,因此在UDF编译加载之前先设置UDM数量为15,如下图所示。

-
如下图所示编译UDF并加载

2.2 读取Scheme文件
-
利用菜单File → Read → Scheme…读取脚本文件rotor_model.scm

注:
此处的Scheme用于为VBM模型提供界面。
”
2.3 Cell Zone Conditions
-
如下图所示,指定live1区域的动量源项

-
指定x方向动量源

-
指定y方向动量源

-
指定z方向动量源

-
指定完毕后如下图所示

2.4 加载额外的UDF
VBM模型中进行了一些控制。
-
点击按钮**Function Hooks…**打开对话框,如下图所示挂载UDF

2.5 操作条件设置
-
如下图所示设置操作条件

2.6 General设置
-
General面板采用默认设置

2.7 模型设置
-
打开能量方程

-
选择使用SA模型

2.8 材料介质设置
-
采用ideal-gas模型

注:
VBM也可以使用恒定密度和不可压缩理想气体,但是由于转子通常工作在可压缩区域,选择理想气体模型更合适。
”
2.9 边界条件设置
-
设置入口速度

-
指定入口温度

-
设置出口边界

-
设置出口回流温度

-
指定壁面边界

2.10 设置参考值
-
设置参考值

2.11 Methods设置
-
指定求解方法

2.12 残差设置
-
**Solution → Reports → Residuals…**设置残差标准

2.13 设置监测
-
**Solution → Reports → Definitions → New… → Surface Report → Integral…**设置变量监测

2.14 初始化
-
Solution → Initialization进行初始化计算

-
**File → Write → Case…**保存case文件
2.15 输入旋转盘信息
-
Models → Virtual Blade Model打开VBM对话框 -
如下图所示设置参数

-
进入Geometry标签页设置参数 -
点击按钮Change/Create设置参数

-
点击OK按钮关闭对话框
2.16 求解计算
-
设置迭代次数为500次

-
监测的物理量随迭代变化曲线如下图所示

注:
如果模拟终止,显示错误消息
The fl process could not be started
,请从现在开始继续执行以下步骤:
退出Fluent,然后使用不同数量的CPU重新启动Fluent 读入上一步中保存的case和dat文件。 加载UDF并将其链接到FLUENT 检查Rotor Inputs参数输入,单击按钮Change/Create,然后单击OK 重新计算 本机上单CPU可以执行下去,CPU数量超过1个都没法进行,个人认为是UDF中存在严重Bug。
”
3 后处理
3.1 创建切面
-
Results → Surface → Create → Iso-Surface… -
如下图所示创建等值面

-
创建第二个等值面

-
Results → Surface → Create →Iso-Clip…创建一个切面clip-port

-
创建切面clip-starboard

-
创建切面clip-bottom

-
创建切面clip-top

-
删除多余的面

3.2 创建平面
-
Results → Surface → Create → Plane…按下图参数创建平面plane-y=0

-
创建平面plane-x=0.3

3.3 自定义变量
-
User-Defined → Custom…创建变量

-
如下图所示新建变量

3.4 云图查看
-
查看plane-y=0面上的静压分布

-
静压如下图所示

-
plane-x=0.3平面上静压分布如下图所示

3.5 结果比较
-
Results→ Plots→ XY Plot→ New…创建曲线

-
计算值与实验值比较

-
相同方式查看clip-port

-
计算值与实验值比较

4 改进计算结果
-
打开VBM模型对话框,激活选项Trimming -
进入Trimming标签页,激活选项Collective pitch,如下图所示设置参数

-
进行迭代计算,并对计算结果进行比较
-
激活选项Cyclic pitch,如下图所示激活参数

-
迭代计算,并比较计算结果
由于只能单核计算,计算时间太长,这里就不计算了。
文中涉及到的相关文件:

本篇文章来源于微信公众号: CFD之道
VBM只有在2021版本之后才有对把