流函数

分类: 流体解析(CFD) | 综合版 2026-04-06
CAE visualization for stream function theory - technical simulation diagram
流れ関数

理论与物理

流函数的定义

🧑‍🎓

老师,流函数到底有什么意义呢?我经常听到这个名字。


🎓

流函数 $\psi$ 是一个标量函数,在二维不可压缩流动中,它能给出一个自动满足连续性方程的速度场。定义如下。


$$ u = \frac{\partial \psi}{\partial y}, \quad v = -\frac{\partial \psi}{\partial x} $$

从这个定义可以确认,连续性方程 $\frac{\partial u}{\partial x} + \frac{\partial v}{\partial y} = 0$ 是恒成立的。


🧑‍🎓

恒成立,意思是无论网格粗细如何都严格成立吗?


🎓

在解析上是这样。数值计算中虽然会引入离散化误差,但如果用流函数来公式化,质量守恒在结构上就能得到保证。这是流函数法相对于原始变量法($u, v, p$)的一大优点。


与流线的关系

🧑‍🎓

流函数和流线之间有什么关系呢?


🎓

流函数的等值线就是流线。也就是说,流体粒子沿着 $\psi = \text{const.}$ 的曲线移动。此外,通过两条流线 $\psi_1$ 和 $\psi_2$ 之间的单位深度体积流量为


$$ Q = \psi_2 - \psi_1 $$

这就是流函数的物理意义。


🧑‍🎓

流函数值的差直接就是流量啊。真方便。


🎓

壁面本身就是一条流线,所以可以将 $\psi = \text{const.}$ 用作壁面的边界条件。例如,对于静止壁面,通常设 $\psi = 0$。


流函数的Poisson方程

🧑‍🎓

是和涡量结合起来使用的吧?


🎓

将流函数的定义代入涡量 $\omega$ 的定义 $\omega = \frac{\partial v}{\partial x} - \frac{\partial u}{\partial y}$,就能得到Poisson方程。


$$ \nabla^2 \psi = -\omega $$

也就是说,如果知道了涡量分布,在边界条件下求解这个椭圆型方程,就能确定流函数(进而确定速度场)。


🧑‍🎓

对于非粘性、无旋流动($\omega = 0$)会怎样呢?


🎓

会变成拉普拉斯方程 $\nabla^2 \psi = 0$。这就是势流的流函数,与速度势 $\phi$ 的拉普拉斯方程构成对偶关系。$\psi$ 和 $\phi$ 的等值线是正交的。


Stokes流函数(轴对称

🧑‍🎓

三维情况下也能使用流函数吗?


🎓

一般的三维流动无法定义流函数。但对于轴对称流动,可以定义Stokes流函数。在圆柱坐标 $(r, z)$ 下


$$ u_z = \frac{1}{r} \frac{\partial \Psi}{\partial r}, \quad u_r = -\frac{1}{r} \frac{\partial \Psi}{\partial z} $$

需要注意的是,与二维的 $\psi$ 不同,$\Psi$ 的量纲是 $[m^3/s]$。两个流面之间的体积流量为 $Q = 2\pi(\Psi_2 - \Psi_1)$。


🧑‍🎓

看起来可以用于管道内流动或喷嘴流动之类的分析呢。


🎓

正是如此,它在轴对称射流或管道流动的分析中非常有用。例如,Hagen-Poiseuille流动的流函数可以解析地求出为 $\Psi = \frac{U_0}{2R^2}(R^2 r^2 - r^4/2)$,所以可以用作验证问题。


适用范围与局限

🧑‍🎓

流函数法在什么情况下无法使用呢?


🎓

主要的限制如下。


  • 一般的三维流动: 无法定义标量流函数。虽然可以用矢量势扩展,但实用性不高
  • 可压缩流动: 前提是不可压缩,因此不适用。对于可压缩流动,虽然可以通过修正定义 $\rho u = \partial \psi / \partial y$ 来使用,但会变得复杂
  • 多相流: 跨越界面的流函数连续性条件复杂
  • 三维湍流: 在实际的CFD中,原始变量法(如SIMPLE系列)是主流

🧑‍🎓

也就是说,主要应用场景是二维不可压缩流动的教育和研究用途,对吧。


🎓

这个认识是正确的。不过,其计算的鲁棒性(质量守恒的结构性保证)很有吸引力,所以至今仍常用于二维基准问题的验证。

Coffee Break 闲话

流线函数的发明——拉格朗日导出的二维流动之美妙描述(1781年)

流线函数(Stream Function)ψ的概念通常被认为是由法国数学家约瑟夫-路易·拉格朗日(Joseph-Louis Lagrange)在1781年的论文中引入的。这是一个巧妙的数学技巧,在二维不可压缩流动中,通过定义速度分量 u=∂ψ/∂y, v=-∂ψ/∂x,可以自动满足连续性方程。由于 ψ=const. 的等值线与流线一致,因此也可直接用于流动可视化。它与伯努利定理结合,构成了翼型升力计算中使用的势流理论(ψ与φ(速度势)的复变函数)的核心概念。在现代CFD中,压力-速度耦合法是主流,但ψ的等值线图仍然是加深对流动场物理理解的最直观的可视化手段之一。

各项的物理意义
  • 时间项 $\partial(\rho\phi)/\partial t$:想象一下拧开水龙头的瞬间。一开始水会不稳定地喷溅出来,过一会儿才变成稳定的水流,对吧?描述这个“变化过程中”的就是时间项。心脏搏动导致血流脉动,发动机阀门每次开闭引起流动变化,这些都是非定常现象。那么定常分析是什么?就是只看“经过足够长时间、流动稳定之后”——也就是将此项设为零。计算成本会大幅下降,因此先用定常求解是CFD的基本策略。
  • 对流项 $\nabla \cdot (\rho \mathbf{u} \phi)$:把落叶丢进河里会怎样?会被水流带着往下游漂去。这就是“对流”——流体的运动携带物体的效应。暖气的热风能到达房间的另一头,也是因为空气这个“搬运工”通过对流输送热量。这里有个有趣的地方——这项包含了“速度×速度”,因此是非线性的。也就是说,流速变快时此项会急剧增强,变得难以控制。这就是湍流的根本原因。一个常见的误解:“对流和传导差不多吧?”→ 完全不一样!对流是流动携带,传导是分子传递。效率有天壤之别。
  • 扩散项 $\nabla \cdot (\Gamma \nabla \phi)$:有过把牛奶倒入咖啡后放置的经历吗?即使不搅拌,过一会儿也会自然混合。那就是分子扩散。那么下一个问题——蜂蜜和水,哪个更容易流动?当然是水对吧。因为蜂蜜的粘度($\mu$)高,所以不易流动。粘度越大,扩散项越强,流体的运动就越“粘稠”。雷诺数小的流动(缓慢、粘稠)中扩散占主导。相反,Re数大的流动中,对流占压倒性优势,扩散则退居次要地位。
  • 压力项 $-\nabla p$:按下注射器的活塞,液体就会从针头有力地射出,对吧?为什么?因为活塞侧压力高,针头侧压力低——这个压力差产生了推动流体的力。大坝泄洪也是同样的原理。天气图上等压线密集的地方会怎样?没错,会刮强风。“有压力差的地方就会产生流动”——这就是纳维-斯托克斯方程压力项的物理意义。这里容易误解的点是:CFD中的“压力”通常指表压而非绝对压力。切换到可压缩分析时,如果结果突然变得奇怪,原因可能就是混淆了绝对压力/表压。
  • 源项 $S_\phi$:受热的空气会上升——为什么?因为比周围空气轻(密度低),所以被浮力推上去。这个浮力作为源项添加到方程中。此外,燃气灶的火焰产生化学反应热、工厂的电磁泵对金属熔液施加洛伦兹力……这些都是“从外部向流体注入能量或力”的作用,都用源项来表示。如果忘记源项会怎样?在自然对流分析中忘记加入浮力,流体就完全不动——就像冬天在房间里开了暖气,但暖空气却不往上走,得到一个物理上不可能的结果。
假设条件与适用限制
  • 连续介质假设:克努森数 Kn < 0.01(分子平均自由程 ≪ 特征长度)时成立
  • 牛顿流体假设:剪切应力与应变速率呈线性关系(非牛顿流体需要粘度模型)
  • 不可压缩假设(Ma < 0.3 时):将密度视为常数。马赫数0.3以上需考虑可压缩性效应
  • Boussinesq近似(自然对流):仅在浮力项中考虑密度变化,其他项使用恒定密度
  • 不适用的情形:稀薄气体(Kn > 0.1)、超音速/高超音速流动(需要捕捉激波)、自由表面流动(需要VOF/Level Set等方法)
量纲分析与单位制
变量SI单位注意事项·换算备忘
速度 $u$m/s从入口条件的体积流量换算时,注意截面积的单位
压力 $p$Pa区分表压和绝对压力。可压缩分析中使用绝对压力
密度 $\rho$kg/m³空气: 约1.225 kg/m³@20°C、水: 约998 kg/m³@20°C
粘性系数 $\mu$Pa·s注意与运动粘性系数 $\nu = \mu/\rho$ [m²/s] 混淆
雷诺数 $Re$无量纲$Re = \rho u L / \mu$。层流/湍流转换的判断指标
CFL数无量纲$CFL = u \Delta t / \Delta x$。直接关系到时间步长的稳定性

数值解法与实现

涡量-流函数法的实现

🧑‍🎓

实际用代码实现涡量-流函数法该怎么做呢?


🎓

算法的流程是这样的。每个时间步重复以下步骤。


1. 对涡量方程进行时间积分,求得 $\omega^{n+1}$

2. 求解Poisson方程 $\nabla^2 \psi^{n+1} = -\omega^{n+1}$,更新流函数

3. 通过 $u = \partial\psi/\partial y$、$v = -\partial\psi/\partial x$ 计算速度场

4. 更新壁面涡量,返回步骤1


🧑‍🎓

请告诉我有限差分法中具体的离散化方法。


🎓

在均匀网格间距 $h$ 的交错网格上,Poisson方程的五点差分格式为


$$ \frac{\psi_{i+1,j} + \psi_{i-1,j} + \psi_{i,j+1} + \psi_{i,j-1} - 4\psi_{i,j}}{h^2} = -\omega_{i,j} $$

速度的中心差分格式为


$$ u_{i,j} = \frac{\psi_{i,j+1} - \psi_{i,j-1}}{2h}, \quad v_{i,j} = -\frac{\psi_{i+1,j} - \psi_{i-1,j}}{2h} $$

🧑‍🎓

涡量方程的对流项怎么离散化呢?


🎓

如果用中心差分,当网格Reynolds数 $Re_h = |u|h/\nu$ 超过2时会产生振荡。我们来比较一下实用的选择方案。


格式精度数值扩散稳定性备注
中心差分2阶$Re_h < 2$可能振荡
1阶迎风1阶无条件涡会消失
QUICK3阶$Re_h < 8/3$平衡性好
Kawamura-Kuwahara3阶极小良好紧致差分
🧑‍🎓

QUICK看起来不错呢。


🎓

实际上,QUICK(对流运动学的二次迎风插值)在许多问题中平衡性都很好。不过它不能保证单调性,所以如果存在急剧的不连续,最好结合TVD(总变差减小)限制器。


Poisson方程的迭代解法

🧑‍🎓

每个时间步都要解Poisson方程,这会成为计算成本的瓶颈吧?


🎓

是的。我们来比较一下典型迭代法的收敛速度。对于 $N \times N$ 网格的情况。


相关主题

関連シミュレーター

この分野のインタラクティブシミュレーターで理論を体感しよう

シミュレーター一覧

関連する分野

この記事の評価
ご回答ありがとうございます!
参考に
なった
もっと
詳しく
誤りを
報告
参考になった
0
もっと詳しく
0
誤りを報告
0
Written by NovaSolver Contributors
Anonymous Engineers & AI — サイトマップ
解法迭代次数($O(\cdot)$)每次迭代运算量总计
Jacobi$O(N^2)$$O(N^2)$$O(N^4)$
Gauss-Seidel$O(N^2)$