做仿真这七年,我见过太多新手犯同一个错。拿着k-epsilon模型去算有强烈分离流的复杂内流场,算出来结果跟实验差着十万八千里,还在那儿怀疑人生。今天不整那些虚头巴脑的理论推导,咱们就聊聊这cfd三大湍流模型到底咋选,怎么避坑。
先说最经典的k-epsilon模型。这玩意儿就像出租车,满大街都是,便宜、快、鲁棒性强。对于大多数工程问题,比如管道流动、简单的换热器,它完全够用。但是!千万别用它去算大分离流或者强曲率流动。我去年有个项目,客户非要算一个弯管里的二次流,用标准k-epsilon算出来的速度分布跟实测数据完全对不上,误差高达20%。后来换了Realizable k-epsilon,虽然计算时间多了点,但结果靠谱多了。记住,k-epsilon不是万能的,它在处理各向异性湍流时表现很拉胯。
再说说k-omega SST模型。这算是目前工业界的“香饽饽”,尤其是近壁面处理得好。如果你关心壁面剪切应力、边界层分离,选它准没错。比如我们做汽车外流场,或者涡轮叶片的气动分析,SST模型几乎是标配。它结合了k-epsilon在自由流场的优势和k-omega在近壁面的精度。不过有个坑,SST模型对网格要求比较高,特别是y+值,得控制在1左右,否则近壁面解析不准,结果直接废掉。我见过不少朋友为了省算力,把网格搞得很粗,结果算出来的阻力系数偏差巨大,这钱花得冤枉。
最后是大涡模拟LES,这属于高端局了。LES不是湍流模型,而是一种模拟方法,它直接解析大尺度涡,小尺度涡用亚网格模型。精度没得说,能捕捉到瞬态的湍流结构。但是!计算成本极高。算一个简单的方柱绕流,可能需要几百个核心跑几天。除非你是做燃烧、气动噪声这种对瞬态细节要求极高的场景,否则别轻易碰LES。对于大多数工程应用,RANS模型(雷诺平均)就够了。
那怎么在这cfd三大湍流模型里做选择?我给你个简单的步骤。
第一步,明确你的物理问题。如果是稳态、无强分离、对精度要求不高,首选k-epsilon,特别是Realizable版本。第二步,如果涉及边界层分离、近壁面效应重要,或者你有旋转机械,选k-omega SST。第三步,如果你需要看瞬态涡结构,或者做声学、燃烧分析,且预算充足,再考虑LES或DES。
别听那些卖软件的销售忽悠,说什么“高精度模型一定好”。高精度往往意味着高计算成本和低收敛性。我有个客户,非要上DES模型算一个通风管道,结果跑了三天三夜没收敛,最后发现用SST模型十分钟就能出结果,而且误差在可接受范围内。这就是教训。
还有一点,网格质量比模型选择更重要。再好的模型,网格烂了也是白搭。特别是近壁面网格,一定要加密。别为了省那点内存,把网格搞得太粗糙。
最后说句实在话,仿真不是魔法,它只是对物理世界的近似。没有完美的模型,只有最适合的模型。多对比实验数据,多验证,别盲目自信。
如果你还在为模型选择纠结,或者算出来的结果总是不对劲,欢迎来聊聊。我不卖课,也不推销软件,就是帮你看看哪里出了问题。毕竟,少走弯路,省下的都是真金白银。