2.2 压力速度耦合算法


文档摘要

2.2 压力速度耦合算法 控制体与通量的世界观建立后,本节处理数值引擎的第二根柱子:不可压流动里压力没有自己的方程,它藏在连续性方程里,靠速度场来"感应"。怎么让一对互相纠缠的变量收敛到同时满足动量与连续性,是压力基求解器的核心难题,也是 Fluent 求算面板上第一批让你做选择的开关。 为什么不可压流动偏偏缺一个压力方程 动量方程把速度变化归因于压力梯度,连续性方程要求速度场无散。粗数一下:三个速度分量加一个压力,四个未知数,方程也恰好四条。但细看结构就发现错位——连续性方程不含压力,它只约束速度;压力只以梯度形式出现,绝对值不唯一。

2.2 压力速度耦合算法

控制体与通量的世界观建立后,本节处理数值引擎的第二根柱子:不可压流动里压力没有自己的方程,它藏在连续性方程里,靠速度场来"感应"。怎么让一对互相纠缠的变量收敛到同时满足动量与连续性,是压力基求解器的核心难题,也是 Fluent 求算面板上第一批让你做选择的开关。

为什么不可压流动偏偏缺一个压力方程

动量方程把速度变化归因于压力梯度,连续性方程要求速度场无散。粗数一下:三个速度分量加一个压力,四个未知数,方程也恰好四条。但细看结构就发现错位——连续性方程不含压力,它只约束速度;压力只以梯度形式出现,绝对值不唯一。于是标准做法是构造:把动量方程按预估压力推进得到中间速度场,中间速度场几乎必然违背连续性,再借助"速度场违背连续性的程度"反解出压力修正量,用压力修正回头校准速度。整个压力基算法就是这条"预估-校准"循环的工程化。

图 2-2:SIMPLE 算法的迭代环路

两条路线:分离式与耦合式

SIMPLE 家族(分离式)。动量方程与压力修正方程分开依次求解,每步之间用欠松弛因子防止校准过头。SIMPLE、SIMPLEC、PISO 是同一家族的三个变体:SIMPLEC 放宽修正幅度、可用更高松弛因子;PISO 在一步里做多次压力修正,适合瞬态计算中小时间步长的推进。分离式的代价是压力-速度信息传递慢,稳态强耦合问题(如旋流、浮升力驱动流动)收敛吃力。

Coupled(耦合式)。把动量与连续性(以压力为变量)联立成一个大矩阵同时求解。内存占用更高、单步更贵,但省掉了漫长的"压力信号在变量之间来回传递"过程,很多过去要算上千步的稳态问题现在几百步收敛。Fluent 的 Coupled 算法配合伪瞬态(Pseudo Transient)选项,用一个自动增长的人工时间步替代手工欠松弛,已成为新版默认推荐。

选型经验法则可以压成一张表:

维度 SIMPLE 家族 Coupled
内存占用 约多一倍以上
单步成本
强耦合稳态流动 收敛慢甚至发散 明显占优
轻度耦合常规流动 足够且省资源 提速但收益递减
调参负担 亚松弛因子手工调 伪瞬态自动管理
可压缩高速流动 通常转密度基思路 Fluent 内亦可处理

密度基求解器是第三条路线:它把连续性方程当作密度方程解,速度由动量方程给,天然适合强可压缩、激波主导的外流与超音速问题。Fluent 允许同个模型在压力基与密度基之间切换,切换后边界条件含义保持、数值细节自动适配。

现场案例:一台旋流分离器的收敛拉锯

背景。某旋风分离器改造项目,气流带强旋转,压力场与切向速度强耦合。工程师按老习惯用 SIMPLE 加默认欠松弛,跑了三千步,残差降到一定水位后开始锯齿状震荡,监测的出口压降还在缓慢漂移。

操作。第一步检查物理配置无错:RSM 湍流模型(旋流需要各向异性描述)、二阶格式、网格质量达标。第二步换算法:改 Coupled 加伪瞬态,库朗数上限设五十让求解器自动管理。第三步加监测:出口压降与分离效率两个工程量进入收敛判据,不再只盯残差。

结果。约四百步残差整体下降五个数量级,出口压降曲线走平,分离效率监测值波动小于千分之一,两个判据同时锁定后判定收敛。总墙钟时间反而比原方案缩短,因为每一步虽贵、步数骤减。

解读。强耦合问题的病根在"信息传递路径太长",分离式算法每步只传递一点点,步数堆到三千步还在半路;耦合式一步传完,用单步成本换总时间。这个案例同时演示了验收单第三关的动作:收敛判定用残差加工程监测量双重签字,单一证据不作数。

变式。若内存不允许 Coupled,退路是 SIMPLEC 加大松弛因子至零点七到零点九之间,并配合第九章要讲的收敛加速手段(先一阶格式粗收敛再切二阶、良好初始化)。若问题含激波,直接考虑密度基显式格式加时间步推进。

欠松弛与伪瞬态:两只安全阀

分离式算法的欠松弛因子给每步修正打折:动量常用零点七,压力常用零点三,湍流量零点八。打得太狠收敛慢,打得太松容易震荡甚至发散——它本质是用时间换稳定。伪瞬态把这套手工打折自动化:求解器把稳态问题当成一个带人工时间导数的瞬态问题推进,时间步从保守值自动增长,等效于自适应的欠松弛。两个安全阀别同时拧到极限:用 Coupled 加伪瞬态时就不要再叠加手工欠松弛,双保险拧过头反而互相干扰。

高频疑问与现场判据

伪瞬态时间步设多大。默认自动管理通常够用;收敛曲折时把初始时间步压小(等效加大初期欠松弛),后期让求解器自动放大。它是旋钮不是开关——观察残差形态再动。

边界条件离得远就随便放吗。不。压力出口放在回流区里、速度入口贴着钝体,都会把"边界假设错误"伪装成"收敛困难"。先量距离(工程惯例十倍特征尺度或至少避开强曲率区),再谈算法。

Coupled 会把内存吃爆吗。动量与压力联立使内存增长约一倍,千万网格级算例先在小分区上试跑估内存再排产。内存不够的退路是 SIMPLEC 加适度松弛,速度损失换来可行性。

收敛阶段判读速查表:

现象 诊断方向 处置
前几百步就飞出量级 初始化或边界错误 查初始场与边界值量纲
残差锯齿、监测量均值稳 非稳态物理被稳态硬解 改瞬态或看均值判据
残差降到中途平台 强耦合信息传递慢 换 Coupled 或加伪瞬态
能量残差不降 网格或源项问题 查热源量级与界面配对

本节验收点

  • 能画出 SIMPLE 的预估-校准环路,并指出每个环节解的是什么方程。
  • 当前项目的算法选择与耦合强度匹配:强耦合上 Coupled,内存受限再回 SIMPLE 家族。
  • 亚松弛因子或伪瞬态参数已记录在案,没有沿用"祖传默认值"。
  • 收敛判定包含至少一个工程监测量,而非只看残差。

作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U