2025–2026 学年第二学期
北京理工大学 空天科学与技术学院
任杰
John D. Anderson Computational Fluid
Dynamics: The Basics with Applications
McGraw-Hill, 1995
任玉新 陈海昕
计算流体力学基础 清华大学出版社,2006
张德良
计算流体力学教程 高等教育出版社,2010
蔡庆东
计算流体动力学
北京大学本科生研究生专业基础课讲义,2018
真正理解 CFD 的最好方式,是自己实现数值算法并运行计算 - John D. Anderson
两平行平板之间的粘性流体流动,其中:
\[ \frac{d^2 u}{dy^2}=0 \]
\[ -\frac{\mathrm{d}p}{\mathrm{d}z} +\mu \frac{1}{r}\frac{\mathrm{d}}{\mathrm{d}r} \left(r\frac{\mathrm{d}u}{\mathrm{d}r}\right)=0 \]
\[ u(y,t)=U\left[1-\operatorname{erf}\!\left(\frac{y}{2\sqrt{\nu t}}\right)\right] \]
这些精确解有什么共同特点?
👉几何简单、边界条件简单、方程被极度简化 (现实工程流体问题,基本没有解析解)
在现代科学与工程中,流体力学问题通常具有以下特点:
这些问题往往无法通过解析方法求解,因此需要借助计算方法进行研究。
计算流体力学(Computational Fluid Dynamics, CFD)是利用数值方法与计算机技术求解流体力学控制方程的一门学科。
其核心思想是通过数值离散的方法,将连续的偏微分方程转化为可在计算机上求解的代数方程组,从而获得流场中的速度、压力、温度等物理量分布。
在流体力学的发展过程中,主要形成了三种互补的研究方法:
理论分析(Theoretical Analysis)
通过数学方法对流动方程进行解析求解,从而揭示基本物理规律。
实验研究(Experimental Methods)
通过风洞、水槽等实验装置直接测量流动现象。
数值模拟(Computational Methods)
通过计算机求解流体控制方程,获得流动的详细信息。
传统上,理论与实验构成流体力学研究的两大支柱。然而随着计算机技术的发展,计算方法逐渐成为第三种重要研究手段。
因此,在现代工程实践中,流体问题通常通过 理论、实验与计算三者结合 的方式进行研究。
随着计算能力的迅速提升,CFD 已成为工程设计和科学研究中的重要工具。典型应用包括:
CFD 的一个重要优势是可以提供完整的流场信息,例如
实体形式(向量形式):
\[ \frac{\partial \rho}{\partial t}+\nabla\cdot(\rho\mathbf{u})=0 \]
笛卡尔坐标系分量形式(Einstein 求和约定):
\[\frac{\partial \rho}{\partial t}+\frac{\partial (\rho u_i)}{\partial x_i}=0\]
不可压缩流体(\(\rho=\text{const}\)):
\[ \frac{\partial u_i}{\partial x_i}=0 \]
什么是 Einstein 求和约定(Einstein Summation Convention)?
在指标记号中,如果某个指标在同一项中 重复出现两次,则默认对该指标在所有空间方向求和,而不必显式写出求和符号 \(\sum\)。
例1:在三维空间中
\[a_i b_i=\sum_{i=1}^{3}a_i b_i\]
例2:速度散度
\[\frac{\partial u_i}{\partial x_i}=\frac{\partial u}{\partial x}+\frac{\partial v}{\partial y}+\frac{\partial w}{\partial z}\]
\[ \frac{\partial (\rho \mathbf{u})}{\partial t} + \nabla \cdot (\rho \mathbf{u}\mathbf{u}) = -\nabla p + \nabla \cdot \boldsymbol{\tau} + \rho \mathbf{f} \]
笛卡尔坐标系分量形式为
\[\frac{\partial (\rho u_i)}{\partial t}+\frac{\partial (\rho u_i u_j)}{\partial x_j}=-\frac{\partial p}{\partial x_i}+\frac{\partial \tau_{ij}}{\partial x_j}+\rho f_i\]
对于牛顿流体,
\[\tau_{ij}=\mu\left(\frac{\partial u_i}{\partial x_j}+\frac{\partial u_j}{\partial x_i}\right)-\frac{2}{3}\mu\frac{\partial u_k}{\partial x_k}\delta_{ij}\]
\(\tau_{ij}\) 为粘性应力张量,其中 \(\delta_{ij}\) 为 Kronecker delta
为何会出现 \(2/3\) ?
各向同性牛顿流体中,黏性应力与速度梯度线性相关:
\[ \tau_{ij} = 2\mu S_{ij} + \lambda (\nabla \cdot \mathbf{u}) \delta_{ij} \]
其中
\[ S_{ij}=\frac{1}{2}\left(\frac{\partial u_i}{\partial x_j}+\frac{\partial u_j}{\partial x_i}\right) \]
关键要求:黏性应力不包含各向同性部分(由压力单独承担)
应力分解
\[ \sigma_{ij} = -p\delta_{ij} + \tau_{ij} \]
👉 单位张量 \(\delta_{ij}\) 是唯一各向同性二阶张量,其强度由“迹”决定
\[ \boldsymbol{\tau}=\begin{bmatrix} 2\mu\dfrac{\partial u}{\partial x}+\lambda\nabla\cdot\mathbf{u} & \mu\left(\dfrac{\partial u}{\partial y}+\dfrac{\partial v}{\partial x}\right) & \mu\left(\dfrac{\partial u}{\partial z}+\dfrac{\partial w}{\partial x}\right)\\[1.0em] \mu\left(\dfrac{\partial v}{\partial x}+\dfrac{\partial u}{\partial y}\right) & 2\mu\dfrac{\partial v}{\partial y}+\lambda\nabla\cdot\mathbf{u} & \mu\left(\dfrac{\partial v}{\partial z}+\dfrac{\partial w}{\partial y}\right)\\[1.0em] \mu\left(\dfrac{\partial w}{\partial x}+\dfrac{\partial u}{\partial z}\right) & \mu\left(\dfrac{\partial w}{\partial y}+\dfrac{\partial v}{\partial z}\right) & 2\mu\dfrac{\partial w}{\partial z}+\lambda\nabla\cdot\mathbf{u} \end{bmatrix} \]
其迹为: \[ \tau_{kk} = (2\mu + 3\lambda)(\nabla \cdot \mathbf{u}) \]
\[ \tau_{kk} = 0 \quad \Rightarrow \quad \lambda = -\frac{2}{3}\mu \]
\[ \frac{\partial (\rho E)}{\partial t} + \nabla \cdot \left[(\rho E + p)\mathbf{u}\right] = \nabla \cdot (\boldsymbol{\tau}\cdot\mathbf{u}) - \nabla \cdot \mathbf{q} + \rho \mathbf{f}\cdot\mathbf{u} \]
分量形式
\[ \frac{\partial (\rho E)}{\partial t}+\frac{\partial}{\partial x_j}\left[(\rho E+p)u_j\right]=\frac{\partial}{\partial x_j}\left(\tau_{ij}u_i\right)-\frac{\partial q_j}{\partial x_j}+\rho f_i u_i \]
其中
\[ E = e + \frac{1}{2}(u^2 + v^2 + w^2) \]
表示单位质量的总能量(total energy per unit mass)
在计算流体力学中,三大守恒律通常写成统一形式:
\[ \frac{\partial \mathbf{U}}{\partial t} + \nabla \cdot \mathbf{F} = \nabla \cdot \mathbf{F}_v + \mathbf{S} \]
对于三维可压缩流
\[ \mathbf{U}= \begin{bmatrix} \rho\\ \rho u_1\\ \rho u_2\\ \rho u_3\\ \rho E \end{bmatrix}, \qquad \mathbf{F}_j= \begin{bmatrix} \rho u_j\\ \rho u_1u_j+p\delta_{1j}\\ \rho u_2u_j+p\delta_{2j}\\ \rho u_3u_j+p\delta_{3j}\\ (\rho E+p)u_j \end{bmatrix}, \qquad \mathbf{F}_{v,j}= \begin{bmatrix} 0\\ \tau_{1j}\\ \tau_{2j}\\ \tau_{3j}\\ \tau_{ij}u_i-q_j \end{bmatrix}, \qquad \mathbf{S}= \begin{bmatrix} 0\\ \rho f_1\\ \rho f_2\\ \rho f_3\\ \rho f_i u_i \end{bmatrix} \]
其中
热流:\(q_j=-\kappa\frac{\partial T}{\partial x_j}\).
\((\nabla \cdot \mathbf{F})=\frac{\partial F_{k j}}{\partial x_j}\),\(k=1,\dots,5\)(方程编号),\(j=1,2,3\)(空间方向)
\[ \frac{\partial \mathbf{U}}{\partial t} + \nabla \cdot \mathbf{F} = \nabla \cdot \mathbf{F}_v + \mathbf{S} \]
该统一形式具有三个重要特点:
因此这是 现代CFD代码(OpenFOAM、SU2、Fluent等)普遍采用的基本方程形式。
✔ 前两步已经完成(物理建模 + 控制方程建立)
建立物理模型
写出控制方程(Navier–Stokes 方程等)
给定初始条件与边界条件
对方程进行数值离散
求解离散方程组
对计算结果进行分析与验证
\[ \frac{\partial \mathbf{U}}{\partial t}+\frac{\partial \mathbf{F}}{\partial x}+\frac{\partial \mathbf{G}}{\partial y}+\frac{\partial \mathbf{H}}{\partial z}= \mathbf{J} \]
\[ \mathbf{U}= \begin{bmatrix} \rho\\ \rho u\\ \rho v\\ \rho w\\ \rho\left(e+\frac{u^2 + v^2 + w^2}{2}\right) \end{bmatrix} \]
\[ \mathbf{F}= \begin{bmatrix} \rho u\\ \rho u^2 + p - \tau_{xx}\\ \rho uv - \tau_{xy}\\ \rho uw - \tau_{xz}\\ \rho u\left(e+\frac{V^2}{2}\right) + pu - q_x - u\tau_{xx} - v\tau_{xy} - w\tau_{xz} \end{bmatrix} \]
\[ \mathbf{G}= \begin{bmatrix} \rho v\\ \rho uv - \tau_{yx}\\ \rho v^2 + p - \tau_{yy}\\ \rho vw - \tau_{yz}\\ \rho v\left(e+\frac{V^2}{2}\right) + pv - q_y - u\tau_{yx} - v\tau_{yy} - w\tau_{yz} \end{bmatrix} \]
\[ \mathbf{H}= \begin{bmatrix} \rho w\\ \rho uw - \tau_{zx}\\ \rho vw - \tau_{zy}\\ \rho w^2 + p - \tau_{zz}\\ \rho w\left(e+\frac{V^2}{2}\right) + pw - q_z - u\tau_{zx} - v\tau_{zy} - w\tau_{zz} \end{bmatrix} \]
\[ \mathbf{J}= \begin{bmatrix} 0\\ \rho f_x\\ \rho f_y\\ \rho f_z\\ \rho(f_x u + f_y v + f_z w) + \dot{q} \end{bmatrix} \]
守恒变量: \[ \rho,\ \rho u,\ \rho v,\ \rho w,\ \rho E \]
特征变量: \[ u,\ v,\ w,\ p,\ e \]
👉 CFD:先求守恒变量,再还原物理量
👉 激波本质就是不连续面
以一维为例:
\[ \rho_1 u_1 = \rho_2 u_2 \]
\[ \rho_1 u_1^2 + p_1 = \rho_2 u_2^2 + p_2 \]
\[ \rho_1 u_1\left(e_1 + \frac{u_1^2}{2}\right) + p_1 u_1= \rho_2 u_2\left(e_2 + \frac{u_2^2}{2}\right) + p_2 u_2 \]
👉 本质上:
\[ F(U_1) = F(U_2) \]
✔ 即:通量在激波两侧相等(连续)
守恒形式积分后:
\[ \frac{d}{dx}F(U)=0 \quad \Rightarrow \quad F = \text{常数} \]
👉 类比:
Shock Capturing(激波捕捉)
Shock Fitting(激波装配)
无滑移条件: \[ u = v = w = 0 \]
温度条件: \[ T = T_w\]
或给定热流(Fourier定律): \[ \frac{\partial T}{\partial n} = -\frac{q_w}{k} \]
👉 压力、密度:由方程求解得到
👉 核心结论:
对于二阶偏微分方程(组) ,可以通过降阶的方法化为一阶拟线性方程组。
\[ a_1 \frac{\partial u}{\partial x} + b_1 \frac{\partial u}{\partial y}+ c_1 \frac{\partial v}{\partial x} + d_1 \frac{\partial v}{\partial y} = f_1 \]
\[ a_2 \frac{\partial u}{\partial x} + b_2 \frac{\partial u}{\partial y}+ c_2 \frac{\partial v}{\partial x} + d_2 \frac{\partial v}{\partial y} = f_2 \]
定义全微分:
\[ du = \frac{\partial u}{\partial x}dx + \frac{\partial u}{\partial y}dy \]
\[ dv = \frac{\partial v}{\partial x}dx + \frac{\partial v}{\partial y}dy \]
方程组 \[ a_1 \frac{\partial u}{\partial x} + b_1 \frac{\partial u}{\partial y}+ c_1 \frac{\partial v}{\partial x} + d_1 \frac{\partial v}{\partial y} = f_1 \]
\[ a_2 \frac{\partial u}{\partial x} + b_2 \frac{\partial u}{\partial y}+ c_2 \frac{\partial v}{\partial x} + d_2 \frac{\partial v}{\partial y} = f_2 \]
写为矩阵形式:
\[ \begin{bmatrix} a_1 & b_1 & c_1 & d_1 \\ a_2 & b_2 & c_2 & d_2 \\ dx & dy & 0 & 0 \\ 0 & 0 & dx & dy \end{bmatrix}\begin{bmatrix} \frac{\partial u}{\partial x} \\ \frac{\partial u}{\partial y} \\ \frac{\partial v}{\partial x} \\ \frac{\partial v}{\partial y} \end{bmatrix}=\begin{bmatrix} f_1 \\f_2 \\du \\dv \end{bmatrix} \]
\[ [A] =\begin{bmatrix} a_1 & b_1 & c_1 & d_1 \\ a_2 & b_2 & c_2 & d_2 \\ dx & dy & 0 & 0 \\ 0 & 0 & dx & dy \end{bmatrix} \]
将第一列替换为右端项:
\[ [B] = \begin{bmatrix} f_1 & b_1 & c_1 & d_1 \\ f_2 & b_2 & c_2 & d_2 \\ du & dy & 0 & 0 \\ dv & 0 & dx & dy \end{bmatrix} \]
则:
\[ \frac{\partial u}{\partial x} = \frac{|B|}{|A|} \]
对于线性方程组:
\[ A \mathbf{x} = \mathbf{b} \]
适用条件
例如二元方程组
\[ \begin{cases} a_{11} x + a_{12} y = b_1 \\ a_{21} x + a_{22} y = b_2 \end{cases} \]
系数行列式
\[ D = \begin{vmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{vmatrix} \]
分别替换列
👉 求 \(x\):把第1列换成右端列向量
\[ D_x = \begin{vmatrix} b_1 & a_{12} \\ b_2 & a_{22} \end{vmatrix} \]
👉 求 \(y\):把第2列换成右端列向量
\[ D_y = \begin{vmatrix} a_{11} & b_1 \\ a_{21} & b_2 \end{vmatrix} \]
直接得到解
\[ x = \frac{D_x}{D}, \quad y = \frac{D_y}{D} \]
优点
缺点
在点 \(P\):
👉 这些量正是矩阵中的变量 👉 不同方向(不同 \(dx, dy\)):

但是,有一个重要的例外!
如果选择某个方向,使:
\[ |A| = 0 \]
则:

👉 当:
\[ |A| = 0 \]
对应方向:特征方向(Characteristic direction)
对应曲线:特征线(Characteristic curve)
在特征线上:
👉 本质:PDE 在该方向上“退化”
为了得到特征方向和特征线,展开行列式:
\[ |A|=(a_1c_2 - a_2c_1)(dy)^2- (a_1d_2 - a_2d_1 + b_1c_2 - b_2c_1) dx\,dy+ (b_1d_2 - b_2d_1)(dx)^2 = 0 \]
令 \[ a = (a_1c_2 - a_2c_1), \quad b = - (a_1d_2 - a_2d_1 + b_1c_2 - b_2c_1), \quad c = (b_1d_2 - b_2d_1) \] 得到 \[ a \left(\frac{dy}{dx}\right)^2+ b \left(\frac{dy}{dx}\right)+ c = 0 \]
判别式:
\[ D = b^2 - 4ac \]
| 类型 | 数学特征 | 典型方程 | 物理/计算特征 |
|---|---|---|---|
| 双曲型 | 有两组实特征方向 | 波动方程、Euler方程 | 扰动沿特征线以有限速度传播,解与初始条件关系密切 |
| 抛物型 | 有一组实特征方向 | 热传导方程、边界层方程 | 具有“沿主方向推进”的特点 |
| 椭圆型 | 无实特征方向 | Laplace方程、Poisson方程 | 某点解受整个区域边界条件共同影响,体现全局耦合 |
对于一般二阶偏微分方程:
\[ a \frac{\partial^2 \phi}{\partial x^2}+ b \frac{\partial^2 \phi}{\partial x \partial y}+ c \frac{\partial^2 \phi}{\partial y^2}+ \text{(低阶项)} = 0 \]
\[ \Delta = b^2 - 4ac \]
方程组 \[ a_1 \frac{\partial u}{\partial x} + b_1 \frac{\partial u}{\partial y}+ c_1 \frac{\partial v}{\partial x} + d_1 \frac{\partial v}{\partial y} = f_1 \]
\[ a_2 \frac{\partial u}{\partial x} + b_2 \frac{\partial u}{\partial y}+ c_2 \frac{\partial v}{\partial x} + d_2 \frac{\partial v}{\partial y} = f_2 \]
为简化分析,令\(f_1=f_2=0\),写为向量形式:
\[ [K]\frac{\partial W}{\partial x} + [M]\frac{\partial W}{\partial y} = 0 \]
其中:
左乘 \([K]^{-1}\),令 \([N] = [K]^{-1}[M]\)
\[ \frac{\partial W}{\partial x} + [N]\frac{\partial W}{\partial y} = 0 \]
👉 方程类型由矩阵 \(N\) 的特征值决定
\[ |N - \lambda I| = 0 \]
(证明见 Whitham, Gerald Beresford. Linear and nonlinear waves. John Wiley & Sons, 2011.)
考虑一般形式的有两个自变量的拟线性方程,其分量形式为:
\[ b_{ij}\frac{\partial u_j}{\partial t}+ a_{ij}\frac{\partial u_j}{\partial x}= c_i, \quad \]
其中,\(t, x\) 可以是时间和空间变量,也可以是其他任意具有物理意义的自变量。
设 \((x,t)\) 平面上的曲线可表示为参数方程:
\[ \Gamma: \begin{cases} \displaystyle \frac{dx}{ds} = \lambda_x \\ \displaystyle \frac{dt}{ds} = \lambda_t \end{cases} \]
其中 \(s\) 为参数,\((\lambda_x,\lambda_t)\) 为曲线的切向量。只要 \(\lambda_x\) 和 \(\lambda_t\) 的比值一定,切线的方向就不会发生变化,曲线的形状也是确定的。
任意物理量 \(\phi\) 沿曲线 \(\Gamma\) 的方向导数为:
\[ \frac{d\phi}{ds}= \frac{\partial \phi}{\partial t}\frac{dt}{ds}+ \frac{\partial \phi}{\partial x}\frac{dx}{ds}= \lambda_t \frac{\partial \phi}{\partial t}+ \lambda_x \frac{\partial \phi}{\partial x} \]
如果对于方程
\[ b_{ij}\frac{\partial u_j}{\partial t}+ a_{ij}\frac{\partial u_j}{\partial x}= c_i, \quad \]
选择合适的曲线 \(\Gamma\),使得方程可以变换为仅包含沿 \(\Gamma\) 的方向导数,则该曲线称为:
特征线(characteristic curve)
对应的方程称为:
特征相容关系(characteristic compatibility equation)
\[ \frac{\partial u}{\partial t} + a \frac{\partial u}{\partial x} = 0 \]
沿 \(\Gamma\):
\[ \frac{du}{ds}= \lambda_t \frac{\partial u}{\partial t}+ \lambda_x \frac{\partial u}{\partial x} \]
当取:
\[ \lambda_t = 1,\quad \lambda_x = a \]
得到:
\[ \frac{du}{ds} = 0 \]
原方程退化为常微分方程,称为特征线上的特征相容关系
同时,
\[ \frac{dx}{dt} = \frac{\lambda_x}{\lambda_t} = a \]
称为特征线
沿特征线:
\[ u|_\Gamma = \text{const} \]
若初始条件为:
\[ u(x,0) = u_0(x) \]
我们可以导出 \(\frac{\partial u}{\partial t} + a \frac{\partial u}{\partial x} = 0\) 的解析解为
\[ u(x,t) = u_0(x - at) \]
🏷️ 若 \(a(x,t) = \text{const}\)
初始条件为:
\[ u(x,0) = \phi(x) \]
当 \(\phi(x)\) 为三角形分布,则: 在任意时刻 \(t\),解的幅值与形状保持不变,仅发生平移
🏷️ 若 \(a(x,t) \neq \text{const}\)
此时特征线发生弯曲,但:沿特征线传播过程中, 函数值仍保持不变
💻 代码演示 LinearTransport.m

\[ u_{tt} = a^2 u_{xx} \]
转化为一阶系统,引入变量:
\[ v = u_t, \quad w = u_x \]
则原方程可写为:
\[ \begin{cases} v_t = a^2 w_x \\ w_t = v_x \end{cases} \]
写成守恒形式:
\[ \mathbf{U}_t + A \mathbf{U}_x = 0 \]
\[ \mathbf{U}_t + A \mathbf{U}_x = 0 \]
其中:
\[ \mathbf{U} = \begin{bmatrix} v \\ w \end{bmatrix}, \qquad A = \begin{bmatrix} 0 & -a^2 \\ -1 & 0 \end{bmatrix} \]
求特征值:
\[ \det(A - \lambda I) = 0 \Longrightarrow \lambda^2 - a^2 = 0 \Longrightarrow \lambda_1 = a, \quad \lambda_2 = -a \]
👉 双曲型方程
考虑一维双曲型方程的一阶形式:
\[ \mathbf{U}_t + A \mathbf{U}_x = 0 \]
在 \(x\text{-}t\) 平面上取一条曲线 \(\Gamma\):
\[ \displaystyle \frac{dx}{ds} = \lambda_x, \quad \displaystyle \frac{dt}{ds} = \lambda_t, \quad \frac{dx}{dt} = \frac{\lambda_x}{\lambda_t} \]
沿该曲线的方向导数为(链式法则):
\[ \frac{d\mathbf{U}}{ds}=\frac{dt}{ds}\left(\mathbf{U}_t + \mathbf{U}_x\frac{dx}{dt}\right) \]
代入原方程
\[ \frac{d\mathbf{U}}{ds}=\frac{dt}{ds}\left(-A + \frac{dx}{dt} I\right)\mathbf{U}_x \]
特征线的意义:希望找到某条曲线,使得在这条曲线上,系统行为退化
设:
\[ \frac{dx}{dt} = \lambda \]
则有:
\[ \frac{d\mathbf{U}}{ds}=\frac{dt}{ds}(\lambda I - A)\mathbf{U}_x \]
若存在非零向量 \(\mathbf{r}\),满足:
\[ A \mathbf{r} = \lambda \mathbf{r} \]
则对于矩阵 \(A\), \(\lambda\) 为特征值,\(\mathbf{r}\) 为特征向量
投影到特征方向,定义标量:
\[ W = \mathbf{r}^T \mathbf{U} \]
沿曲线求导:
\[ \frac{dW}{ds}= \mathbf{r}^T \frac{d\mathbf{U}}{ds}= \mathbf{r}^T \frac{dt}{ds}(\lambda I - A)\mathbf{U}_x \]
利用:
\[ \mathbf{r}^T A = \lambda \mathbf{r}^T \]
得到:
\[ \frac{dW}{ds} = 0 \]
当且仅当:
\[ \frac{dx}{dt} = \lambda \]
时:
\[ u_{tt} = a^2 u_{xx} \]
根据矩阵 \(A\) 的特征值分析,得到两族特征线:
\[ \frac{dx}{dt} = \pm a \]
积分:
\[ x - at = C_1, \quad x + at = C_2 \]
\[ u_{tt} = a^2 u_{xx} \qquad 若给定初始条件:\begin{cases} u(x,0) = f(x) \\ u_t(x,0) = g(x) \end{cases} \]
解析解(达朗贝尔解)
\[ u(x,t) = \frac{1}{2} \left[f(x+at) + f(x-at)\right]+ \frac{1}{2a} \int_{x-at}^{x+at} g(\tau)\, d\tau \]
表示:
👉 波形保持不变,只是平移
| 特征分析 | 解析解 |
|---|---|
| 特征线 \(x-at\) | 右行波 \(f(x-at)\) |
| 特征线 \(x+at\) | 左行波 \(g(x+at)\) |
👉 本质关系: 解析解 = 沿特征线传播的不变量叠加
回顾:变上、下限积分求导公式
\[ F(x)=\int_{\alpha(x)}^{\beta(x)} h(\tau)\,d\tau, \]
则有
\[ \frac{d}{dx}F(x)= h\bigl(\beta(x)\bigr)\beta'(x)- h\bigl(\alpha(x)\bigr)\alpha'(x). \]
记
\[ I(x,t)=\int_{x-at}^{x+at} g(\tau)\,d\tau. \]
则对 \(t\) 求导时,
\[ \frac{\partial I}{\partial t}= g(x+at)\cdot a - g(x-at)\cdot(-a)= a\,g(x+at)+a\,g(x-at). \]
对 \(x\) 求导时,
\[ \frac{\partial I}{\partial x}= g(x+at)\cdot 1 - g(x-at)\cdot 1= g(x+at)-g(x-at). \]
解析解(达朗贝尔解)验证:
\[ u(x,t) = \frac{1}{2} \left[f(x+at) + f(x-at)\right]+ \frac{1}{2a} \int_{x-at}^{x+at} g(\tau)\, d\tau \]
\[ u_t(x,t)= \frac{a}{2}f'(x+at)-\frac{a}{2}f'(x-at) +\frac{1}{2}\left[g(x+at)+g(x-at)\right]. \]
\[ u_{tt}(x,t)= \frac{a^2}{2}f''(x+at)+\frac{a^2}{2}f''(x-at) +\frac{a}{2}g'(x+at)-\frac{a}{2}g'(x-at). \]
\[ u_x(x,t)=\frac{1}{2}f'(x+at)+\frac{1}{2}f'(x-at) +\frac{1}{2a}[g(x+at)-g(x-at)]. \]
\[ u_{xx}(x,t)= \frac{1}{2}f''(x+at)+\frac{1}{2}f''(x-at) +\frac{1}{2a}[g'(x+at)-g'(x-at)]. \]
于是 \(a^2u_{xx}(x,t)=u_{tt}\)
第一项
\[ \frac{1}{2}[f(x+at)+f(x-at)] \]
表示初始位移 \(f(x)\) 分裂成两个波:
第二项:表示初始速度 \(g(x)\) 对后续解的贡献,在依赖域和影响域内发挥作用。 \[ \frac{1}{2a}\int_{x-at}^{x+at}g(\tau)\,d\tau \]
💻 代码演示 Wave1D.m
假设你站在图中的点 \(P\),面向 \(x\) 正方向:
这些特征线的一个重要意义在于:
👉 区域 I 被称为点 \(P\) 的影响域(Region of Influence)
👉 区域 III 被称为点 \(P\) 的依赖域(Domain of Dependence)
现在将通过点 \(P\) 的两条特征线向后延伸,直到与 \(y\) 轴相交:
\[ \frac{\partial u}{\partial t}=\gamma \frac{\partial^2 u}{\partial x^2},\qquad \gamma>0. \]
引入新变量
\[ g=\frac{\partial u}{\partial x}. \]
得到一阶方程组
\[ \begin{cases} \dfrac{\partial u}{\partial x}-g=0,\\[1.0ex] \dfrac{\partial g}{\partial x}-\dfrac{1}{\gamma}\dfrac{\partial u}{\partial t}=0. \end{cases} \]
得到一阶方程组
\[ \begin{cases} \dfrac{\partial u}{\partial x}-g=0,\\[1.0ex] \dfrac{\partial g}{\partial x}-\dfrac{1}{\gamma}\dfrac{\partial u}{\partial t}=0. \end{cases} \]
把它写成矩阵形式:
\[ \frac{\partial}{\partial x}\begin{pmatrix}u\\g\end{pmatrix}+B\frac{\partial}{\partial t}\begin{pmatrix}u\\g\end{pmatrix}=\begin{pmatrix}g\\0\end{pmatrix}, \]
其中
\[ B= \begin{pmatrix} 0 & 0\\ -\dfrac{1}{\gamma} & 0 \end{pmatrix}. \]
对于上述一阶系统,其特征方程为
\[ \left|\lambda I-B\right|=0. \]
代入矩阵 \(B\):
\[ \lambda I-B=\begin{pmatrix} \lambda & 0\\[0.5ex] \dfrac{1}{\gamma} & \lambda \end{pmatrix} \Longrightarrow \left|\lambda I-B\right|=\begin{vmatrix} \lambda & 0\\[0.5ex] \dfrac{1}{\gamma} & \lambda \end{vmatrix}=\lambda^2. \]
故特征值为
\[ \lambda_1=\lambda_2=0 \Rightarrow {\text{原方程为抛物型方程}} \]
💻 代码演示 Heat1D.m
一维热传导方程的解析解
\[ \frac{\partial u}{\partial t}=\gamma \frac{\partial^2 u}{\partial x^2}, \qquad \gamma>0, \qquad -\infty<x<\infty,\ t>0 \]
其中初始条件为
\[ u(x,0)=u_0(x) \]
解析解:
\[ u(x,t)=\int_{-\infty}^{\infty} \frac{1}{\sqrt{4\pi \gamma t}} \exp\left(-\frac{(x-\xi)^2}{4\gamma t}\right) u_0(\xi)\,d\xi \]
\[ u(x,t)=\int_{-\infty}^{\infty} \frac{1}{\sqrt{4\pi \gamma t}} \exp\left(-\frac{(x-\xi)^2}{4\gamma t}\right) u_0(\xi)\,d\xi \]
该公式表明:
因此,热传导方程的依赖域和影响域是整个空间 \(x\),而不是有限区间。
若初始条件取为 Dirac 函数
\[ u(x,0)=\delta(x) \]
则解就是基本解本身:
\[ u(x,t)=\frac{1}{\sqrt{4\pi \gamma t}} \exp\left(-\frac{x^2}{4\gamma t}\right) \]
这表示热量从一点出发,随时间扩散成越来越宽、越来越平缓的高斯分布。
若初始条件为
\[ u(x,0)=\sin(kx) \]
则解析解为
\[ u(x,t)=e^{-\gamma k^2 t}\sin(kx) \]
这个解说明:
\[ e^{-\gamma k^2 t} \]
| 状态 | 微观结构 | 表面特性 |
|---|---|---|
| 瓷土 | 松散颗粒 + 孔隙 | 粗糙 |
| 烧结体 | 致密晶体结构 | 较平滑 |
| 上釉瓷器 | 玻璃态覆盖 | 非常光滑 |
瓷器之所以光滑,是因为在高温下经历了“熔融 + 流动 + 表面张力重排 + 冷却固化”的过程,本质上是材料在向“最低表面能状态”演化。
👉 这个过程可以类比:
👉 本质:
系统总是趋向更平滑、更均匀、更稳定的状态
对于二阶偏微分方程(组),可以通过降阶的方法,化为一阶拟线性方程组,再利用系数矩阵的特征值来判断方程性质。下面以二维 Laplace 方程为例说明。
\[ \frac{\partial^2 \Phi}{\partial x^2}+\frac{\partial^2 \Phi}{\partial y^2}=0. \]
令
\[ u=\frac{\partial \Phi}{\partial x}, \qquad v=\frac{\partial \Phi}{\partial y}. \]
则原方程可写为
\[ \begin{cases} \dfrac{\partial u}{\partial x}+\dfrac{\partial v}{\partial y}=0,\\[1.0ex] \dfrac{\partial v}{\partial x}-\dfrac{\partial u}{\partial y}=0. \end{cases} \]
令
\[ \mathbf{U}= \begin{pmatrix} u\\ v \end{pmatrix}, \qquad A= \begin{pmatrix} 0 & 1\\ -1 & 0 \end{pmatrix}. \]
则上述方程组可以写成矩阵形式
\[ \frac{\partial \mathbf{U}}{\partial x} + A\frac{\partial \mathbf{U}}{\partial y} =0. \]
现在考察矩阵 \(A\) 的特征值。由特征方程
\[ \det(A-\lambda I)=0 \]
可得
\[ \det\begin{pmatrix}-\lambda & 1\\-1 & -\lambda\end{pmatrix}=\lambda^2+1=0. \]
因此特征值为
\[ \lambda_{1,2}=\pm i. \]
根据特征值方法判定:特征值为复数,因此 Laplace 方程是 椭圆型方程。
💻 代码演示 Laplace.m
线性化后方程:
\[ (1 - M_\infty^2)\frac{\partial u'}{\partial x} + \frac{\partial v'}{\partial y} = 0 \]
\[ \frac{\partial u'}{\partial y} - \frac{\partial v'}{\partial x} = 0 \]
\[ [K] = \begin{bmatrix} 1 - M_\infty^2 & 0 \\ 0 & -1 \end{bmatrix}, \quad [M] = \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix} \]
\[ [N] = [K]^{-1}[M] =\begin{bmatrix}0 & \frac{1}{1 - M_\infty^2} \\-1 & 0\end{bmatrix} \]
\[ |[N] - \lambda [I]| = 0 \]
展开:
\[ \lambda^2 + \frac{1}{1 - M_\infty^2} = 0 \Rightarrow \lambda = \pm \frac{1}{\sqrt{M_\infty^2 - 1}} \]
① 写成矩阵形式
② 构造 \([N] = [K]^{-1}[M]\)
③ 求特征值
④ 判定类型
👉 结论:PDE 分类并非总是“纯类型”
\[ \frac{\partial \mathbf{U}}{\partial t}+\frac{\partial \mathbf{F}}{\partial x}=0. \]
其中守恒变量与通量分别为
\[ \mathbf{U}=\begin{pmatrix} \rho\\ \rho u\\ \rho E \end{pmatrix}, \qquad \mathbf{F}=\begin{pmatrix} \rho u\\ \rho u^2+p\\ (\rho E+p)u \end{pmatrix}. \]
由于通量 \(\mathbf{F}\) 是守恒变量 \(\mathbf{U}\) 的函数,即
\[ \mathbf{F}=\mathbf{F}(\mathbf{U}), \]
故由链式法则有
\[ \frac{\partial \mathbf{F}}{\partial x}=\frac{\partial \mathbf{F}}{\partial \mathbf{U}} \frac{\partial \mathbf{U}}{\partial x}. \]
记 Jacobi 矩阵
\[ A=\frac{\partial \mathbf{F}}{\partial \mathbf{U}}, \]
则 Euler 方程可写成拟线性形式
\[ \frac{\partial \mathbf{U}}{\partial t} + A\frac{\partial \mathbf{U}}{\partial x} =0. \]
这就是用特征值方法分析方程性质的标准出发点。
对理想气体状态方程,
\[ p=(\gamma-1)\left(\rho E-\frac{1}{2}\rho u^2\right), \]
可得到 Jacobi 矩阵
\[ A=\begin{pmatrix} 0 & 1 & 0\\[1ex] \dfrac{\gamma-3}{2}u^2 & (3-\gamma)u & \gamma-1\\[1ex] (\gamma-1)u^3-\gamma uE & \gamma E-\dfrac{3}{2}(\gamma-1)u^2 & \gamma u \end{pmatrix}. \]
特征值由特征方程
\[ |A-\lambda I|=0 \]
确定。
对上面的矩阵求解后,可以得到三个特征值:
\[ \lambda_1=u-a,\qquad \lambda_2=u,\qquad \lambda_3=u+a, \]
其中
\[ a=\sqrt{\frac{\gamma p}{\rho}} \]
为局部音速。
可以看到,一维 Euler 方程的三个特征值
\[ u-a,\qquad u,\qquad u+a \]
在物理上都是实数,只要
\[ \rho>0,\qquad p>0, \]
则音速 \(a\) 为实数,因此三个特征值都是实数。
并且在一般情形下,这三个特征值互不相同,因此矩阵 \(A\) 有三个线性无关特征向量。
这说明该方程组满足:
因此,一维 Euler 方程属于 双曲型方程组.
评注
这三个特征值分别对应三类扰动传播速度:
表示一个以相对流体速度 \(-a\) 传播的波,在固定坐标系中其传播速度为 \(u-a\) 对应左行声波。
表示与流体质点一起运动的扰动,传播速度就是流体本身速度 \(u\) 通常对应涡波或熵波。
表示一个以相对流体速度 \(+a\) 传播的波,在固定坐标系中其传播速度为 \(u+a\) 通常对应右行声波。
💻 代码演示 Euler_1D.m
以原始变量
\[ \mathbf W= \begin{pmatrix} \rho\\ u\\ v\\ p \end{pmatrix} \]
为未知量,二维非定常可压 Euler 方程可写成
\[ \frac{\partial \mathbf W}{\partial t} + A\frac{\partial \mathbf W}{\partial x} + B\frac{\partial \mathbf W}{\partial y} =0. \]
\[ \frac{\partial \mathbf W}{\partial t} + A\frac{\partial \mathbf W}{\partial x} + B\frac{\partial \mathbf W}{\partial y} =0. \]
其中
\[ A= \begin{pmatrix} u & \rho & 0 & 0\\ 0 & u & 0 & 1/\rho\\ 0 & 0 & u & 0\\ 0 & \gamma p & 0 & u \end{pmatrix}, \qquad B= \begin{pmatrix} v & 0 & \rho & 0\\ 0 & v & 0 & 0\\ 0 & 0 & v & 1/\rho\\ 0 & 0 & \gamma p & v \end{pmatrix}. \]
这里:
为了分析 \(x\) 与 \(t\) 这两个自变量对应的方程性质,把关于 \(y\) 的项移到右端,当作“源项”处理,则有
\[ \frac{\partial \mathbf W}{\partial t}+ A\frac{\partial \mathbf W}{\partial x}= -\,B\frac{\partial \mathbf W}{\partial y}. \]
此时只需考察矩阵 \(A\) 的特征值。
特征方程为
\[ |A-\lambda I|=0. \]
求解可得 4 个特征值
\[ \lambda_1=u-a,\qquad \lambda_2=u,\qquad \lambda_3=u,\qquad \lambda_4=u+a. \]
由于
\[ a=\sqrt{\frac{\gamma p}{\rho}} \]
在物理上是实数,因此上述四个特征值全为实数。
而且矩阵 \(A\) 具有 4 个线性无关特征向量,所以在 \(x\!-\!t\) 平面上,二维非定常 Euler 方程是
双曲型
其特征方向对应为
同理,把关于 \(x\) 的项移到右端,当作源项处理,则有
\[ \frac{\partial \mathbf W}{\partial t}+ B\frac{\partial \mathbf W}{\partial y}= -\,A\frac{\partial \mathbf W}{\partial x}. \]
这时只需考察矩阵 \(B\) 的特征值。特征方程为
\[ |B-\lambda I|=0. \]
求解可得
\[ \lambda_1=v-a,\qquad \lambda_2=v,\qquad \lambda_3=v,\qquad \lambda_4=v+a. \]
这些特征值同样都是实数,并且有完整特征向量组,因此在 \(y\!-\!t\) 平面上,二维非定常 Euler 方程也是双曲型
这说明二维非定常 Euler 方程在“时间—空间”平面中具有典型的传播型特征:
因此,它本质上描述的是波的传播问题,属于典型的双曲型方程组。
若略去时间导数项,就得到二维定常 Euler 方程
\[ A\frac{\partial \mathbf W}{\partial x} + B\frac{\partial \mathbf W}{\partial y} =0. \]
若 \(A\) 可逆,则可写成
\[ \frac{\partial \mathbf W}{\partial x} + C\frac{\partial \mathbf W}{\partial y} =0, \qquad C=A^{-1}B. \]
特征值满足
\[ |C-\lambda I|=0 \]
解得
\[ \lambda_{1,2}=\frac{v}{u},\qquad \lambda_{3,4}=\frac{uv\pm a\sqrt{u^2+v^2-a^2}}{u^2-a^2}. \]
\[ u^2+v^2>a^2 \quad\Longleftrightarrow\quad M>1 \]
\(\lambda_{3,4}\) 为实数,方程为双曲型;
\[ u^2+v^2<a^2 \quad\Longleftrightarrow\quad M<1 \]
\(\lambda_{3,4}\) 为共轭复数,方程为椭圆-双曲型;
\[ u^2+v^2=a^2 \quad\Longleftrightarrow\quad M=1 \]
出现重根,方程为抛物-双曲型。
因此,二维定常 Euler 方程是混合型方程。
👉 这一特点,给数值求解定常的 Euler 方程带来了很大困难,目前很少有人直接求解这种定常的 Euler 方程。
👉 不同类型 PDE:
定义:
✔ 示例:
如何把真实流动问题转化为可以计算的问题?
整体逻辑可以概括为三步:
\[ \frac{\partial \mathbf{U}}{\partial t} + \nabla \cdot \mathbf{F} = \nabla \cdot \mathbf{F}_v + \mathbf{S} \]
CFD的标准流程:
方程类型 = 信息传播方式
| 类型 | 特征值 | 特征线 | 物理意义 |
|---|---|---|---|
| 双曲型 | 实数 | 存在 | 波传播 |
| 抛物型 | 重根 | 单方向 | 扩散 |
| 椭圆型 | 复数 | 无 | 全局耦合 |
不应不同的数值方法和初边值条件!
针对基本方程
\[ \frac{\partial \mathbf{U}}{\partial t}+\frac{\partial \mathbf{F}}{\partial x}=0 \]
\[ \mathbf{U}= \begin{pmatrix} \rho\\ \rho u\\ \rho E \end{pmatrix}, \qquad \mathbf{F}= \begin{pmatrix} \rho u\\ \rho u^2+p\\ (\rho E+p)u \end{pmatrix} \]
\[ p=(\gamma-1)\left(\rho E-\frac{1}{2}\rho u^2\right) \]
通过推导并分析 Jacobi 矩阵 \(A\) 判断方程类型(椭圆 / 抛物 / 双曲)
\[ A=\frac{\partial \mathbf{F}}{\partial \mathbf{U}} \]
提交时间:4月27日(课代表收齐后统一提交)