☰
直升机共轴刚性旋翼启动瞬态气动仿真:FLUENT滑移网格全流程解析
2026/10/11 3:55:07 网站建设 项目流程

直升机旋翼启动瞬态气动仿真这个题目,看着小众,真做起来比想象中要烧脑。尤其是共轴刚性旋翼这种构型,上下两副旋翼几乎贴着转,启动阶段转速从零爬升到工作状态,整个流场要经历"静止无环量→尾迹逐步建立→上下桨盘相互切割"的全过程。我这次用FLUENT完整跑了一轮刚性共轴旋翼直升机的旋翼启动过程瞬态气动仿真,从计算域规划、网格划分、滑移交界面设置、转速UDF控制,到后处理出动画,把整条链路都走了一遍。这篇就当一次踩坑记录,按可复现的方式写出来,适合正在做旋翼CFD的人参考,也适合刚接触FLUENT动网格/滑移网格的人抄作业。

1. 项目背景与方案选型:为什么要专门做旋翼启动瞬态仿真

1.1 共轴刚性旋翼构型的气动特点

共轴刚性旋翼构型最核心的气动特征就是上下两副旋翼共轴布置、反向旋转,利用上下桨盘的扭矩相互抵消,尾部再配一个推进桨负责高速段巡航。这种构型能同时兼顾直升机的低速操纵品质和固定翼飞机的高速度,这两年讨论度一直很高。

从气动角度说,上下旋翼之间的间距很小,通常只有旋翼半径的零点几倍。间距小意味着上旋翼的桨尖涡还没怎么扩散,就直接冲进下旋翼的桨盘区域。这种强烈的尾迹干涉在悬停、爬升、前飞各种状态下都存在,但最容易被低估的是启动阶段——因为转速低的时候大家很容易觉得"反正气动力小,没啥好看的",可事实上,启动过程恰恰是上旋翼尾迹第一次建立、下旋翼第一次被对向切割的瞬间,非定常效应非常强。

如果只是算稳态或者按固定转速做MRF,启动阶段的瞬态载荷尖峰、上下桨盘不匹配的力矩波动这些信息全部会被抹掉。因此,要拿完整气动载荷做后续结构强度校核、控制律设计输入,就必须把启动过程按瞬态做。

1.2 启动过程为什么容易翻车

从数值计算角度看,启动过程有几个天然的难点。

第一,转速从0加速到工作转速,桨尖马赫数从0一路爬到0.6左右,雷诺数也在同步变化。整个流场从低马赫数、低雷诺数过渡到高桨尖马赫数状态,可压缩效应逐渐变得不可忽略。你要是只在额定转速下开理想气体,启动段低速部分会引入虚假的密度扰动;你要是全段都当不可压算,末段高速部分误差又偏大。

第二,初始时刻流场是静止的,桨叶突然开始转动,流场需要在很短时间内建立起绕桨叶的环量。这个"环量建立"过程本身就容易造成压力场的大幅振荡,处理不好第一个时间步残差就冲顶。

第三,共轴构型让问题翻倍。两个旋转域一个正转一个反转,滑移网格界面错位方式完全不一样,上下旋翼之间还夹着一小段静止域来传递相互干扰的尾迹。三重界面,每一个地方都可能成为发散源。

1.3 FLUENT方案选型与其他CFD工具对比

做这类问题,可选工具其实不少,我最终选定FLUENT,主要有几个现实原因。

一是压力基Coupled求解器对低速到亚声速范围的旋翼绕流收敛稳定,不像密度基那样在低马赫数段容易预处理过猛。二是滑移网格的实现比较完善,旋转区域角速度可以通过UDF或Profile实时修改,正好符合启动过程转速时历控制的需求。三是后处理和并行扩展省心,自动导出截面云图、等值面动画这些功能都已经内置。

对比之下,CFX对旋转机械的涡轮机模型很强,但是要自定义双反向旋翼的转速时历并不如FLUENT UDF那么直接;OpenFOAM自定义能力强,可自由控制边界和网格运动,可是从网格生成、求解器稳定到后处理,调试成本高出一截。对于这种"要把转速斜坡喂给两个独立旋转域"的瞬态问题,FLUENT是最省事的路径。

2. 核心细节拆解:计算域规划与网格生成

2.1 计算域到底该取多大

启动过程会向外辐射压力波,计算域如果太小,压力波打到远场边界再反射回来,会让旋翼载荷曲线出现莫名其妙的周期性毛刺。很多人觉得远场边界只是"设个压力出口的事",实际上反射波对瞬态仿真的污染程度远高于稳态计算。

我这次把背景计算域取成圆柱,半径取10R,上下高度取12R,旋翼布置在竖直方向中间偏下的位置。远场边界用压力远场条件,同时把入口出口的湍流量按自由来流设置。有人用半球域或者长方体域,各有各的好处,但核心原则是一致的:启动阶段扰动以声速向外传播,域尺寸宁大勿小,至少要保证在你想考察的总模拟时长内,反射波还来不及回到旋翼附近。

2.2 上下旋翼旋转域与滑移交界面

网格架构上,我采用一个静止背景域加两个独立旋转域的结构。上旋翼旋转域是一个圆柱,半径取1.15R,高度要把桨毂和桨叶完整包住,同时留出桨尖涡生成的空间;下旋翼旋转域同样,只是布置在下方对应位置。因为上下旋翼的反向旋转,两个旋转域必须各自独立,不能合成一个整体。

关键点在于上下旋转域之间要留一小段静止域间隙。我留了0.1R左右。这段间隙里的网格需要加密,因为上旋翼的桨尖涡在这里穿越静止域进入下旋翼旋转域,网格不够细的话涡量会被界面插值直接抹掉,后面看涡结构就什么都看不出来。

旋转域的外圆柱面和上下端面,分别与背景域之间建立滑移交界面(Mesh Interface)。Fluent计算过程中会根据界面两侧网格的实时错位做通量插值。这里有一个经验:界面两侧的网格尺度尽量接近,最好别超过1.5倍,否则插值误差会以"接缝锯齿"的形式出现在速度云图上。我最初左边界面网格密、右边背景网格疏,结果涡量等值面在交界面处明显断裂,排查了很久。

2.3 桨叶附面层网格与y+控制

旋翼CFD里,桨叶壁面的附面层网格直接决定阻力力矩算得准不准。启动过程后期桨尖速度接近200m/s,弦长按0.65m量级估算,特征雷诺数在千万量级。湍流模型用k-ω SST的话,最好把壁面y+控制在1附近,这样才能不依赖壁面函数直接解析粘性底层。

我按y+=1估算首层网格高度,算出来首层厚度大约在8×10^-6 m量级,然后沿桨叶法向拉伸20层棱柱,增长率控制在1.2左右。桨叶表面网格分展向和弦向加密,前缘、后缘、桨尖位置单独做局部细化。桨尖是最容易泄露涡的地方,网格密度如果不够,桨尖涡强度会在生成初期就被数值耗散掉。

2.4 网格无关性验证的取舍

严格做网格无关性验证,通常要跑粗、中、密三套网格对比。但启动过程瞬态仿真本身非常昂贵,如果每套网格都跑完整启动段,机时根本扛不住。

我采用了一个折中方案:先用MRF稳态模式,在45%额定转速下比较三套网格的上下旋翼拉力系数和力矩系数,确认空间离散的无关性。MRF模式和滑移网格的空间离散基本一致,用来做网格无关性判断是合理的,但它便宜得多。确认空间无关之后,再单独挑两套时间步长做瞬态验证。这样既保证了网格可信度,又没有让机时爆炸。

3. 实操过程:从转速时历到求解收敛

3.1 启动转速曲线的设计逻辑

启动过程模拟第一步不是设求解器,而是把转速时历曲线想清楚。物理上真实启动可能有十几秒甚至更久,CFD不需要、也没法照原样模拟,否则时间步数会多到不现实。工程做法是做一个数值压缩的启动曲线:把加速过程压缩到几秒内完成,同时保证每一步内的角加速度足够平滑。

我这里采用的曲线分三个阶段:

  • 0~1秒:转速从0缓慢加到5%额定转速,作用是打破静止状态,让流场平滑响应;
  • 1~8秒:主加速段,转速从5%线性加到100%额定转速;
  • 8~15秒:保持额定转速,让尾迹充分建立,以便观察稳定后的载荷特征。

为什么前面要单独加一个缓冲段?因为转速从0突变到非零值,即使数值上很小,滑移网格界面的通量也会突然被激活,容易在最初的物理步里触发压力振荡。把前1秒钟设计成更缓的斜坡,代价很小,但能极大减少起步发散概率。

3.2 转速控制UDF实现

FLUENT里控制旋转域转速有两种常规思路:一种是写Profile表,把时间-角速度序列读进去;另一种是用UDF动态计算角速度。我推荐UDF,原因是可以做更灵活的分段平滑,甚至加smoothstep函数来消除加速度突变。

新版Fluent推荐使用DEFINE_ZONE_MOTION宏。上旋翼的UDF可以这样写:

#include "udf.h" DEFINE_ZONE_MOTION(rotor_upper, omega, axis, origin, dt, time, dtime) { real omega_max = 47.12; /* 450 rpm 对应 rad/s */ real t_start = 1.0; /* 低速缓冲时间 */ real t_end = 8.0; /* 达到额定转速的时间 */ real omega_now; if (time <= t_start) { omega_now = 0.05 * omega_max * time / t_start; } else if (time <= t_end) { omega_now = omega_max * (0.05 + 0.95 * (time - t_start) / (t_end - t_start)); } else { omega_now = omega_max; } omega[0] = 0.0; omega[1] = 0.0; omega[2] = omega_now; /* 上旋翼绕Z轴正转 */ axis[0] = 0.0; axis[1] = 0.0; axis[2] = 1.0; origin[0] = 0.0; origin[1] = 0.0; origin[2] = 0.8; /* 上旋翼旋转域中心 */ }

下旋翼的UDF基本一样,两个地方要改:角速度取负,旋转域原点z坐标改成-0.8。一定别把转向设错,不然上下旋翼扭矩不会抵消,流场物理就不对了。

需要注意的是,这个宏里的omega是角速度矢量,方向决定旋转朝向。有人习惯只给角速度大小,忘了方向,结果上下旋翼同向转,整个共轴构型的气动特性全部失真。

3.3 求解器、湍流模型与离散格式

求解器我选择压力基Coupled,打开理想气体密度,以覆盖从启动初期低马赫数到末段高桨尖马赫数的整个过程。在FLUENT里做高速旋翼瞬态,压力基Coupled配合二阶空间离散通常比密度基更平稳,也更容易收敛。

湍流模型用k-ω SST,并且开启曲率修正。启动阶段流线弯曲剧烈,旋翼桨尖涡的曲率效应明显,SST默认模型对大曲率流线会高估湍动能耗散,开曲率修正后尾迹保持能力强不少。空间离散全部用二阶迎风,压力用二阶,梯度格式用Least Squares Cell Based。这些看起来是默认基本功,但很多人会在这里图省事用一阶,模拟出来的力矩曲线会异常平滑,其实很多波动被数值耗散吃掉了。

3.4 时间步长如何选才既稳又快

时间步长选择是瞬态旋翼仿真的核心平衡点。经验法则是:滑移网格单步旋转角度不宜超过0.5°~1°。以450rpm计算,旋转周期是0.1333秒,0.5°对应的时间步大约是0.000185秒。

如果整个15秒物理时间都用0.0002秒的时间步,代价无法接受。我采用分段变步长策略:

  • 0~1秒低速缓冲段,转速低,旋转域移动慢,用0.0005秒步长;
  • 1~6秒主加速段,转速爬升快,用0.0002秒步长;
  • 6~8秒额定转速尾迹建立段,桨尖马赫数最高,尾迹交互最强,用0.0001秒步长。

这样一个加速过程跑下来,总步数大约在三万步量级。每一步内迭代20~30次。如果某个物理步内残差下不去,优先减小时间步,而不是硬扛迭代次数——这一步的经验是:物理时间步选大了,迭代再多也救不回来。

3.5 初始化、监视器与收敛判据

整个流场初始化时直接把速度置为0,压力设为环境压力,温度288K。这种初始化方式对启动过程是合理的,因为物理上旋翼启动前流场本来就是静止的。

但我建议在正式计算前先做一步"预热":把转速时历的前几个时间步单独跑一下,确认压力场没有出现异常正负脉冲,再放进去跑完整曲线。这一步能早期暴露网格负体积、界面配对错位等隐藏问题。

监视器用于判断收敛和物理响应。我分别建立了上旋翼、下旋翼的力矩监视器和拉力监视器,并在上下旋翼中间区域的几个探针位置监测量压力脉动。收敛判据是每个物理时间步内残差RMS至少下降到1e-3量级,同时力矩曲线进入周期性稳定后没有异常锯齿。

4. 常见问题与排查技巧实录

4.1 启动初期就发散

这是我遇到最多的一个问题,症状特别典型:第一个物理时间步迭代没几步,残差直接冲顶,压力场出现数量级异常。

原因基本都在转速斜坡上。初始转速给太猛,或者时间步内角速度增量过大,流场来不及响应。处理办法是把低速缓冲段做得更缓,比如前0.5秒只给2%额定转速;同时把第一步的时间步再减半。

这里有一个非常实用的技巧:正式计算前先关闭旋转域运动跑100步稳态,让流场完全稳定在静止状态,再打开UDF驱动旋转域做瞬态。这样可以从物理上保证初始条件与静止流场真正匹配,而不是数值上强制给定。

4.2 滑移界面通量不匹配

表现是速度云图在交界面处出现明显的接缝锯齿,涡量等值面在跨过界面时断裂。这个现象在共轴构型里更容易出现,因为上下两个旋转域分别和背景域建立interface,交接区域多。

排查时先看界面两侧网格尺寸比,如果背景网格比旋转域网格稀疏太多,界面插值误差就会显现。处理办法有两种:一是加密背景域对应区域,把界面两边的单元尺寸压到差不多的水平;二是在Fluent新版里开启高阶界面插值选项。注意,这两种手段不要只用一种,尤其是界面附近还有上下旋翼尾迹穿越的时候,必须同时控制网格尺度和插值精度。

4.3 上下旋翼力矩振荡异常

当转速达到额定并运行几个周期后,力矩曲线出现强烈振荡,幅度超过10%。这里要分清物理振荡和数值振荡。

物理振荡在共轴构型里真实存在,上旋翼桨尖涡周期性打在下旋翼桨盘上,频率对应旋翼转频,振幅通常不大;数值振荡则没有明显周期规律,或者振幅大得不合理。如果确认是数值振荡,第一嫌疑是上下旋翼间静域间隙的网格太疏,第二嫌疑是时间步太大。我最后把间隙区网格加密了一倍,同时把额定转速段的物理时间步从0.0002秒降到0.0001秒,振荡幅度明显收敛。

4.4 算得太慢怎么办

启动瞬态仿真跑完需要非常可观的机时,尤其是这种两千万网格量级、几万时间步的规模。实测经验是:没必要从头到尾都保持最高精度,分段策略能省一半以上资源。

更极端的做法是"接力式仿真":先用较粗的网格和较大的时间步,从0跑到60%额定转速,把流场大致形态摸出来;然后锁定额定转速附近的关键区间,用密网格和细时间步重新起一个算例,初始条件用上一次结果的插值。因为启动中后段的涡系细节才是真正关心的内容,低速段只是为了背景过渡。

4.5 常见问题速查表

现象常见原因处理办法
第一个时间步残差冲顶转速起步过猛、初始流场不匹配减慢转速斜坡、半时间步启动预热
交界面出现接缝锯齿界面两侧网格尺度差异大、插值精度低加密背景域对应区、开启高阶界面插值
力矩曲线异常振荡上下旋翼间隙网格太疏、时间步过大加密间隙区、降低额定转速段时间步
上下旋翼扭矩不抵消两个旋转域转向设成了同向核对UDF中角速度矢量方向
涡量等值面断裂网格太稀导致涡在界面处耗散加密桨尖涡穿越路径上的网格

5. 结果分析与后处理经验

5.1 转速爬升过程中的拉力与扭矩响应

从监视曲线可以看到,拉力并不是随转速线性增长的,而是大致按转速平方的规律快速爬升。低速段拉力微乎其微,基本可以忽略;转速过了60%之后,拉力增长明显变快,到额定转速附近时曲线斜率陡增。这个规律和动量叶素理论的预计是吻合的。

扭矩曲线则要复杂一些。低速段主要是桨叶型阻扭矩,增长平缓;到高转速后,诱导功率增加和上下旋翼尾迹干扰叠加,扭矩增速变快,且上旋翼和下旋翼的力矩曲线开始出现相位差。这个相位差是共轴构型启动阶段的特征信号,控制器设计时要重点处理。

5.2 上下旋翼尾迹干扰特征

我重点观察了上下旋翼中间区域的涡量分布。启动中期,上旋翼桨尖涡刚刚形成,涡线还不太稳定,在向下游输运的过程中被下旋翼的诱导入流明显改变方向。由于上下间距小,上旋翼的桨尖涡在下洗流中还没充分扩散就被下旋翼桨盘切割,导致下旋翼在特定方位角区域出现周期性的局部压力脉动。

这个干扰的强弱和间距、转速比都有关系。如果设置更大的上下间距,干扰峰值会明显降低,但是共轴刚性旋翼的构型优势也会减弱。看到这个趋势后就不难理解,为什么这类构型对上下桨盘外的涡控设计要求那么高。

5.3 Q准则涡结构显示

启动初期涡结构非常破碎,Q准则等值面呈现杂乱无章的状态,这是流场环量建立初期的典型表现。转速达到60%后,开始出现较完整的螺旋桨尖涡结构;到额定转速并运转数个周期后,上下旋翼各自形成稳定的螺旋涡系,两套涡系在中间区域相互缠绕,但并不融合。

做Q准则云图时,等值面的阈值需要根据参考速度归一化。我用的参考量是额定转速下的桨尖速度,阈值取相对值后在各个时间步之间保持一致,动画看起来才不会忽多忽少。等值面用速度着色,能直观看出启动过程中涡的输运速度变化。

5.4 动画与曲线导出细节

后处理我采用每0.02秒保存一份结果文件的方式,整个启动过程大约输出几百帧。FLUENT可以直接在计算过程中自动导出每一帧的Q准则等值面图片,后面用图片序列拼成动画;也可以用CFD-Post批量录制,控制视角和光照。

真正对工程分析最有用的组合输出是:一张转速时历曲线叠加上下旋翼拉力/扭矩的二维图,配合一段Q准则动画。前者说明载荷演化,后者说明涡系物理机制。很多外部设计评审,这两样东西就足够把启动过程的瞬态气动特征讲清楚了。

最后说点实在的。这类启动瞬态仿真最容易踩的坑,不是网格也不是湍流模型,而是对流场"从零开始"这件事缺乏耐心。只要转速斜坡设计得够缓、第一个物理步扛过去,后面基本就是按时间推进的机械性过程。另一个体会是:启动过程真正的载荷高峰往往出现在转速爬升的中后段,而不是刚启动或刚达到额定转速那一刻,做减载设计时眼睛盯着60%~90%转速区间就够了。这个项目后续如果想继续延伸,完全可以把来流前飞速度也做成时历,把启动和加速连贯起来做,再往深一点还能把桨叶弹性结构耦合进去做单向FSI,看看启动阶段的瞬态结构响应。那是另外一个难度等级的事,但仿真框架是不需要推倒重来的。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询