ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

滑动轴承CFD仿真:空化模型与油膜力提取全流程解析

滑动轴承CFD仿真:空化模型与油膜力提取全流程解析

前段做了个滑动轴承的支撑性能核算,轴承不大但转速和载荷条件都比较极限,需要把油膜压力分布、空化区域、承载力这些关键量全部算清楚。整套流程用Fluent跑下来,最磨人的不是建模,反而是空化模型怎么设、油膜力怎么准确提取这两个环节。这篇文章就把我从几何处理到后处理提取力的完整链路理一遍,包括一些常规文档里不会写的判断经验和排错记录,给做旋转机械润滑分析的朋友做个参考。

1. 滑动轴承仿真先想清楚要什么:性能指标、计算路线与两个核心难点

1.1 滑动轴承的“关键性能”到底指什么

滑动轴承的仿真目标,说到底就是回答几个工程问题:这个转速和载荷下油膜能不能撑住转子、最小油膜厚度够不够安全、摩擦功耗会不会导致温升超标、转子有没有失稳风险。对应到仿真输出,核心指标一般有四类:

  • 承载力:也就是油膜对轴颈的总支撑力,由压力场在整个轴颈表面的积分决定,单位是牛顿;
  • 最小油膜厚度:由给定偏心率直接算出,评估边界润滑和磨损风险;
  • 摩擦功耗与温升:壁面剪切应力积分得到摩擦力矩,再乘角速度得到功耗;
  • 刚度与阻尼(进阶):对动态仿真而言,给转子动力学分析提供油膜力对位移和速度的偏导数。

很多刚接触轴承CFD的人容易犯一个错误:一上来就把网格和模型堆得非常复杂,结果算了几个星期,提取出来的力却连量级都不对。我个人的习惯是,动手之前先把性能指标写清楚,再倒推需要哪些物理模型和后处理变量。否则Fluent里可看的结果太多,你反而抓不住重点。

1.2 为什么空化和力提取是整个流程的两大命门

这两个环节之所以关键,是因为它们在物理上强耦合、在操作上又容易出错。空化直接影响压力场——油膜发散区一旦出现空化,局部压力被限制在空化压力附近,不能再往负压区走,这会把压力分布的形态从“完整的半正弦波”截掉一块。压力场是力提取的原始输入,压力分布错了,承载力、偏位角、功耗全部跟着错。

而力提取本身也不是Fluent里点一下Report就结束那么简单。它涉及参考压力的设置、面积分的实现、坐标系的转换以及与理论解的交叉验证。有意思的是,这两个环节的坑往往是连环的:空化压力设得不准,力提取环节看起来一切正常,但结果和窄轴承近似公式差了一大截,你还以为是网格问题。这篇文的顺序就按实际项目推进来排:先做前处理和物性,再做求解设置,最后重点讲力的提取与验证。

2. 前处理阶段最容易埋雷的三个地方:油膜网格、狭间隙几何与润滑油物性

2.1 油膜厚度很小,网格该怎么切

滑动轴承的特点就是间隙特别小。以我这次核算的某中型轴承为例:轴颈直径D=50mm,轴承宽度L=40mm,半径间隙c=30微米,相对间隙c/R≈1.2‰。在偏心率ε=0.5的情况下,最小油膜厚度只有c(1-ε)=15微米,最大油膜厚度45微米。15微米对40mm宽的轴承来说,尺度比快到3000比1了,这决定了网格不能随便用自动划分拍脑袋生成。

我的做法是把油膜区域理解成一个“沿着圆周展开的非常薄的楔形通道”,用结构化六面体网格去切。径向方向(也就是油膜厚度方向)至少分12层,推荐16到20层,因为压力梯度和速度梯度在这个方向上最剧烈。周向方向按角度均匀分段,我一般取360到720个控制体。轴向方向根据轴承宽径比调整,L/D=0.8左右取60到80个节点就够了,要关注的是两个端面的出流边界。

这里有个容易忽视的细节:当偏心率不为零时,油膜厚度随周向变化很剧烈,最小膜厚处如果网格径向层数不够,速度梯度和压力梯度都捕捉不准。我在偏心率超过0.6的工况里,会把最小膜厚一侧再加密一到两层,保证该区域的首层网格高度不超过最小膜厚的十分之一。网格长宽比虽然难看得吓人,但在间隙流动里这是允许的,因为物理上压力沿膜厚方向基本不变,主要梯度都在径向。

2.2 轴颈壁面速度与坐标系对齐

前处理的另一个关键问题是边界条件的几何方向。Fluent里处理旋转最简单的方式是把轴颈表面设成Moving Wall并给切向速度ωR,不需要真的把整个轴颈固体域建出来。旋转中心要对准轴承的几何中心,否则看起来转速对,实际速度分解全是歪的。

我这次采用的坐标系是这样的:Z轴为轴承轴向,X-Y平面为径向平面,主轴颈绕Z轴旋转。轴颈表面速度方向就是圆周的切线方向,大小等于角速度乘以半径。3000rpm对应的角速度是314.16rad/s,轴颈半径25mm,所以表面速度是7.85m/s。这个数值后续验雷诺数的时候还要用到。

还有一个容易被忽略的设定:压力参考位置。Fluent默认参考压力是一个标准大气压,所有压力都以它为参考点。多相流空化模型里用的饱和蒸汽压通常是绝对压力,这两个参考体系一旦搞混,空化区域大小会完全失真。我一般把操作压力设成0,让整个计算都用绝对压力,这样后处理提取力的时候不用反复做加减法。

2.3 润滑油物性:粘度、密度与“等效空化压力”

润滑油参数看起来简单,实际上坑也不少。粘度对轴承性能的影响非常敏感,我用的某牌号透平油在40摄氏度下动力粘度约0.02Pa·s,密度约870kg/m³。如果做常温等温分析,这个数据可以接受;但高速重载工况下油膜温升可能到十几度甚至几十度,粘度随温度下降非常明显,这时候等温假设会导致承载力明显高估。

物性里面最麻烦的是空化压力。严格意义上的饱和蒸汽压对润滑油来说很低,可能只有几十帕。但工程滑动轴承里出现的“空化”,很大程度是溶解在油里的空气析出,不是油本身的沸腾。空气分离压力比饱和蒸汽压高得多,可能到几千帕甚至更高。所以这里要设置的是一个工程等效空化压力,而不是查表查润滑油的饱和蒸汽压。

实操中我习惯先用一个相对保守的等效空化压力做首轮计算,比如绝对压力1000Pa,再看空化区域形状是否和理论判断一致:空化应该出现在发散楔形区,沿着圆周在最大膜厚附近偏下游的位置,呈月牙形分布。如果空化区域过大或根本没有,再反向调整这个压力值。这个调参过程听起来不“优雅”,却是工程仿真里最实在的做法。

3. 求解器设置:空化模型、层流判断和时间步长的选择逻辑

3.1 间隙流是层流还是湍流,先算雷诺数再决定

很多人一听到高速旋转就上湍流模型,其实滑动轴承的间隙流动大部分都在层流范围。雷诺数怎么取?对轴承间隙流动,常用的定义是Re=ρ·U·c/μ,U是轴颈表面线速度,c是半径间隙。代入我的工况:870×7.85×3e-5/0.02≈102,这个数值离层流到湍流的转捩雷诺数(一般在1000以上)还很远。

所以在Fluent里我直接用了层流模型,没有开任何湍流模型。这不是偷懒,是物理判断。只有当转速特别高、轴承直径大、或者间隙异常大的时候,才需要考虑低雷诺数湍流模型,比如SST k-omega配合低雷诺数修正。判断依据永远是雷诺数,而不是直觉。这一点值得反复强调,因为很多人宁可算很贵的湍流模型,也不肯花两分钟算一下雷诺数。

3.2 多相流与空化模型的参数怎么设

空化模拟需要用到多相流。Fluent里滑动轴承空化我推荐用Mixture模型,而不是VOF。原因很简单:气穴在油膜里以小气泡团簇的形式存在,相界面不清晰,VOF对这种弥散型两相流既不稳定又算得慢;Mixture模型把两相当作混合流体处理,配合空化源项,在工程尺度上精度和稳定性都够。

空化模型我用默认的Zwart-Gerber-Belamri,这是工程计算里最常用的一个。主要设置参数包括:饱和蒸汽压、气泡半径、成核位点密度和蒸发/冷凝系数。气泡半径默认1e-6米,成核位点密度默认5e13,蒸发系数默认50,冷凝系数0.01。这些默认值对水空化验证过很多,但润滑油场景不见得最优。我的经验是优先调整饱和蒸汽压,其他参数只有在空化区域明显失真时才动。

有个操作小技巧:空化源项在压力场剧烈变化时容易让残差猛地抬升。解决办法是把欠松弛因子调低,尤其是压力项,从默认的0.3降到0.1到0.15,先让空化区域稳定下来再慢慢回升。如果你一上来就希望用默认松弛因子拿到收敛解,多半会被残差曲线教做人。

3.3 边界条件、求解器与时间步的工程取法

边界条件其实不复杂。进油口设质量流量入口或压力入口,端面出流口设压力出口。关键在压力出口的数值:如果参考压力是0,端面出口压力应设为油箱或环境压力对应的绝对压力;如果计算域包含外部环境,就直接用大气压。

求解器我习惯用压力基求解器,压力速度耦合选Coupled比SIMPLEC更稳,代价是内存占用高一点。时间步长的确定原则是:每个时间步让轴颈旋转0.5到2度。3000rpm下轴颈转一圈需要0.02秒,如果每步旋转1度,时间步长就是0.02/360≈5.6e-5秒。这样设置的好处是,旋转诱发的压力波前在每个时间步内的移动距离可控,空化区演化也能分辨清楚。

如果只是求稳态工况下的油膜力,可以先用定常计算得到一个初场,再切换瞬态继续算,这样能节省不少时间。但最终结果一定要基于瞬态稳定后的时均数据,因为滑动轴承在高速运转下油膜力本身就有一定波动。

4. 油膜力提取的完整操作:从Fluent报告到坐标变换与承载力计算

4.1 参考压力是力提取的第一大坑

先说最坑的地方:Fluent的Report→Forces直接输出的力,单位是牛顿,但它算的是壁面表压的积分,而表压是相对参考压力的。如果你操作压力设的是101325Pa,那么一个绝对压力等于大气压的面,表压是0,它对力的积分没有任何贡献。这本身没错,但如果你不记得这回事,直接用绝对压力场去做面积分,误差就是一个大气压乘以整个轴颈表面积,算出来会是一个离谱的大数。

我的做法是:Mesh→Boundary Conditions里把操作压力(Operating Pressure)改成0,让所有压力以绝对压力形式参与计算和后处理。这样Report→Forces读出来的表压就等于绝对压力,物理含义清楚,也省得后面换算。

实际操作中,为了让受力分量更可控,我给轴颈壁面单独命名了一个边界组,比如叫journal-wall,后处理时只看这一组。千万不要在整个域上做积分,那会把端面出流边界上的压力也算进来。

4.2 力的面积分实现与坐标变换

虽然Report→Forces很方便,但如果你需要做更精细的处理,比如分离压力贡献和粘性力贡献,或者按特定方向分解力,我会把压力场和网格数据导出后用脚本做离线积分。核心公式就是:

F = ∫(p - p_ref) * n * dA

其中n是壁面外法线向量,dA是面积微元。示意代码大致长这样:

F_x = 0.0 F_y = 0.0 for element in wall_elements: A = element.area nx, ny = element.normal_x, element.normal_y p = element.pressure_absolute F_x += (p - p_ref) * A * nx F_y += (p - p_ref) * A * ny F_total = (F_x**2 + F_y**2) ** 0.5

这里的p_ref就是操作压力,如果设成了0,那括号里就是p本身。把Fluent导出的壁面压力数据按这个逻辑处理一遍,和软件自带报告交叉验证,两者应该在数值上非常接近。粘性剪切力对承载力的贡献通常可以忽略,但对摩擦功耗很重要,积分公式里换成粘性剪应力τ再乘力臂就能得到扭矩。

4.3 数值实例:从分量合成到偏位角判断

假设我这次计算稳定后得到轴颈壁面的力分量是:F_x=-523N,F_y=6480N。那么总承载力就是:

F = sqrt(523² + 6480²) ≈ 6500N

如果外载荷是竖直向下的6500N,那么油膜支撑力应该竖直向上,Y分量为正就是对的。横向的523N说明轴心位置和外载荷方向之间存在一个小偏位角,这个角度可以估算为:

α = atan(523 / 6480) ≈ 4.6度

在滑动轴承理论里,这个角对应载荷线与偏心线之间的夹角,称为偏位角。它的合理范围一般随着偏心率变化,偏心率越大偏位角越小。如果你算出的偏位角和经验值差得离谱,比如十几二十度,那多半不是物理现象,而是网格周向划分不对称、坐标轴没对齐,或者空化压力设错了导致压力分布畸变。

4.4 一个方便交叉验证的量纲估算

在Fluent结果出来之前,最好先用窄轴承近似公式粗算一遍承载力量级。我的工况数据:D=50mm,L=0.04m,c=3e-5m,ε=0.5,ω=314.16rad/s,μ=0.02Pa·s。按无限短轴承近似估算,特征力级在:

μ * ω * R * L³ / c² = 0.02 * 314.16 * 0.025 * (0.04³) / (3e-5²) ≈ 1.1e4 N

再乘一个随偏心率变化的系数(ε=0.5时大致在0.6量级),粗估在6到7kN的区间。这和我的Fluent结果6500N能对上,说明模型设置和边界条件方向正确。如果CFD结果比这个量级高出一倍或低一半,先回头查空化、参考压力、端面出流边界,基本都能找到问题。

5. 收敛性排查与结果可信度:几张表讲清楚我踩过的坑

5.1 发散和不收敛的排查清单

滑动轴承CFD最常见的发散原因不是物理模型不对,而是网格和前处理细节。我把排查问题按出现频率整理成一张表,方便对照。

现象常见原因处理方式
残差震荡不下降压力欠松弛系数过大压力松弛降到0.1~0.15
空化区域过大等效空化压力设得太高降低到合理范围
没有空化区域操作压力参考体系错误检查绝对压力与饱和蒸汽压一致性
Fx/Fy方向混乱坐标系或转速方向设置错误逐一核对旋转轴方向
计算中途发散网格出现负体积检查偏心率大时最小膜厚处网格质量
力报告值跳变瞬态未稳定,气穴周期性脱落取稳定段时均值

在这些坑里,我花时间最多的是“没有空化区域”。当时把润滑油的饱和蒸汽压填成几十帕,理论上没问题,但实际油中溶解空气析出压力远高于这个值,导致空化一直不出现。后来把等效空化压力设成1000Pa(绝对压力),空化区域才正常出现,压力场的负压段也被正确地削平了。

5.2 残差、质量守恒与网格无关性检查

残差收敛只是最低要求,更重要的是物理量守恒。每轮计算结束后我都会单独检查端面泄漏流量和进油流量的平衡:泄漏量由进油口流量和空化区引起的质量源共同决定,但总体质量流率偏差应该控制在0.1%以内。如果质量守恒差很多,回到网格质量排查。

网格无关性验证我做了三套:基准网格(径向16层,周向480),加密网格(径向20层,周向720),粗网格(径向12层,周向360)。结果对比如下:

网格方案径向层数周向控制体承载力(N)与基准偏差
粗网格123606210-4.5%
基准网格1648065000
加密网格207206530+0.5%

粗网格和周向加密网格偏差约4%,可以接受,但偏心率如果升到0.7以上,粗网格偏差会迅速扩大。所以建议偏心率高的工况至少用基准网格起步,再视算力决定是否加密。

5.3 瞬态力波动与时均值取法

高速轴承的油膜力并不是一条平稳直线。空化气泡的产生和溃灭、供油压力的扰动,都会让Fx和Fy出现周期性波动。从Report→Forces里看到力在几百牛顿范围内来回跳是很正常的,不要急着怀疑模型。

我的取值方法是:瞬态计算稳定后,记录至少五个旋转周期内的力时间历程,然后对时间做平均。如果波动的幅值在平均值的10%以内,用平均值做承载力判断完全够用;如果波动大到15%到20%,就要怀疑是否存在气穴周期脱落导致的压力脉动,这时除了取平均,还要把这个脉动幅值报给下游转子动力学分析,因为它可能是一个潜在的激励源。

对摩擦功耗也一样处理。积分得到摩擦力矩后,功耗P=T·ω。我的算例里摩擦力矩在0.35N·m左右,乘以角速度314.16后功耗约110W。这个数看起来不大,但如果轴承润滑冷却不足,全部变成油膜温升,效果就不可忽视了。

6. 从稳态分析到更复杂的工况:留几个扩展方向

6.1 热效应与弹性变形的叠加

我做的是常温等温分析,但工程上很多轴承工况不允许忽略热效应。油膜温升会改变粘度,粘度分布又反过来改变压力场和剪切应力场,这是双向耦合。Fluent里可以用能量方程加粘性耗散项来做流热耦合,润滑油粘度按温度的经验关系式设置。代价是计算量明显增加,收敛难度也上一个台阶。

弹性变形是另一个方向。高比压轴承的轴瓦表面在油膜压力下会发生弹性变形,反过来改变油膜间隙形状。这种情况建议走双向流固耦合,或者至少做一次压力场→变形→几何更新的迭代。如果只是粗略评估,可以先忽略弹性变形,但要把这个假设写进报告结论里,提醒决策方注意边界。

6.2 从给定偏心率到给定载荷的平衡位置计算

最后想说一个容易被误解的点:本文这套流程的前提是给定轴心位置(也就是给定偏心率和偏位角),求油膜力。但在真实工程里,往往是给定外载荷,问轴心会浮在哪里。这个逆向问题需要动网格或6自由度模型,让轴心在外载荷和油膜力作用下逐渐移动到平衡位置。Fluent的动网格加6DOF求解器可以做到,但计算成本和时间成本都不是稳态分析能比的。

我的建议是先跑通本文的稳态正向流程,拿到力和压力分布,再往动态平衡走。否则一上来就做全耦合的瞬态动网格分析,出问题了你都不知道是空化模型的事还是刚体运动求解的锅。

按这个顺序走一遍,滑动轴承的CFD分析基本上就不会出现“算了很久结果却没法用”的尴尬情况了。哪怕只是想把Fluent当辅助校核工具,从空化到力的提取这条主线理顺了,后面的扩展才有底子。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进