CH01 绪论框架

  • 本章目标
    1. 了解CFD发展、现状及地位
    2. 掌握CFD基本环节
    3. 思考CFD未来方向

§1.1 流体力学与计算流体力学的发展

流体力学发展四阶段

  1. 萌芽阶段(16世纪前)
    • 代表:阿基米德
  2. 独立学科基础(16世纪文艺复兴–18世纪中叶)
    • 代表:达芬奇、牛顿
  3. 两大方向形成(18世纪中叶–19世纪末)
    • 理论派:欧拉
    • 实验派:伯努利
  4. 飞速发展(19世纪末至今)
    • 推动力:航空航天、计算机

计算流体力学(CFD)发展三阶段

  1. 初创阶段(1920s–1960s)
    • Richardson (1922):首个天气数值模拟系统(有限差分法)
    • Courant-Friedrichs-Lewy (1928):稳定性分析奠基
    • 早期应用:Thom (1933) 圆柱绕流、Kawaguti (1953) NS方程求解
  2. 走向工程阶段(1970s–1990s)
    • Spalding团队:SIMPLE算法、湍流k-ε模型、PHOENICS软件
    • 标志性软件:Tempest (FLUENT原型)
    • 首部专著:Roache《Computational Fluid Dynamics》(1976)
  3. 大规模应用阶段(1990s至今)
    • 算法突破
      • 矢通量分裂 (Steger-Warming, Van Leer)
      • TVD格式 (Harten)、ENO/WENO格式 (Liu/Osher/Jiang-Shu)
      • NND格式 (张涵信)、AUSM格式 (Liou)
    • 商业软件兴起:FLUENT, CFX, OpenFOAM
    • 硬件发展:计算速度提升亿倍(E级计算),TOP500超算榜单

CFD发展特征总结

  • 依赖计算机硬件
  • 以工程应用为牵引
  • 多学科交叉的新兴学科

§1.2 计算流体力学的“WWW”

What is CFD?

  • 核心要素
    • 流体物理 + 数学控制方程(如NS方程)
    • 数值方法 → 离散形式
    • 几何模型 → 网格生成 → 计算程序 → 模拟结果

Why use CFD?

  • 理论流体力学局限:方程难求解,工业应用少
  • 实验流体力学局限:缩比效应、全尺寸试验难、环境模拟不完整
  • CFD优势:参数灵活控制、全尺寸模拟、成本低

Where is CFD used?

领域 应用案例
航空航天 飞行器气动设计(波音787风洞实验仅3次)、发动机燃烧模拟、旋翼流动模拟
航海舰船 船舶横风分析、潜艇噪声优化、螺旋桨效率提升
轨道交通 高铁减阻、隧道入口效应、横风干扰
汽车工业 F1赛车流场优化、量产车经济性设计、风噪分析
建筑环境 建筑群风载评估、室内通风模拟
天气预报 大气运动数值模拟(依赖气象观测初值)
能源化工 泵/换热器优化、风力涡轮机设计
生物医学 血液流动模拟(非牛顿流体)、病毒传播路径、仿生学研究(翅膀/鱼类游动)
体育竞技 高尔夫球轨迹、游泳阻力分析、自行车轮空气动力学

§1.3 计算流体力学建模

五大建模环节

  1. 几何模型
    • 工具:CAD/CAE软件(AutoCAD, ANSYS, Abaqus)
  2. 坐标系模型
    • 类型:笛卡尔、柱坐标、球坐标系(简化问题)
  3. 物理模型
    • 流动分类:无黏/有黏、层流/湍流、可压缩/不可压缩、内流/外流
  4. 控制方程
    • 核心方程:质量守恒、动量守恒、能量守恒方程
  5. 初边值条件
    • 初始条件:不影响最终结果,仅影响收敛速度
    • 边界条件:壁面(无滑移/自由滑移)、周期性、入口/出口、无反射边界

§1.4 数值计算方法

离散方法

方法 特点 代表
有限差分法(FDM) 简单成熟、易高精度;复杂网格适应性差 Richardson (1910), Thom (1933)
有限体积法(FVM) 控制体形状灵活、守恒性好;高阶精度复杂 Evans & Harlow (1957)
有限元法(FEM) 扩散问题精度高;流体求解慢,多用于固体力学 Courant (1943)
谱方法 高精度但计算成本高

网格技术

  • 类型
    • 结构网格(FDM常用)
    • 非结构/混合网格(FVM/FEM适用)
  • 网格变换:物理平面(x,y,z)(x,y,z) ↔ 计算平面(ξ,η,ζ)(\xi,\eta,\zeta)

求解器与后处理

  • 求解算法
    • 直接法(Gauss消去、LU分解)
    • 迭代法(Jacobi、Gauss-Seidel)
  • 后处理
    • 导出量计算(力/力矩/剪应力)
    • 可视化:等值线、矢量图、流线动画

可信度评估

  • 验证 (Verification):数值解准确性(代码/离散误差)
  • 确认 (Validation):模型物理正确性(与实验对比)

§1.5 CFD模拟的未来

  1. 多学科融合
    • 流体-固体/热/噪声/电磁耦合(如飞机气动弹性分析)
  2. 分区求解技术
    • 多软件协同(例:直升机模拟耦合SAMCart/FUN3D/OVERFLOW)
  3. 机器学习
    • 应用:湍流模型优化、气动数据建模、雷诺应力修正
  4. 云计算
    • 低成本按需计算(例:OpenFOAM 0.11元/核心时)
  5. 虚拟/增强现实
    • CFD+VR场景可视化(如STAR-COM+VR平台)
  6. 交互式仿真
    • 实时设计优化(如ANSYS Discovery Live)

CH02 流体力学控制方程及其分类

§2.1 计算流体力学控制方程

1. 流体力学基本方程

  • 三大物理定律
    • 质量守恒ρt+(ρU)=0\frac{\partial \rho}{\partial t} + \nabla \cdot (\rho \mathbf{U}) = 0
    • 动量守恒(牛顿第二定律):ρDUDt=ρfp+τ\rho \frac{D\mathbf{U}}{Dt} = \rho \mathbf{f} - \nabla p + \nabla \cdot \boldsymbol{\tau}
    • 能量守恒(热力学第一定律):Ett+[(Et+p)U]=ρfUq+(τU)\frac{\partial E_t}{\partial t} + \nabla \cdot [(E_t + p)\mathbf{U}] = \rho \mathbf{f} \cdot \mathbf{U} - \nabla \cdot \mathbf{q} + \nabla \cdot (\boldsymbol{\tau} \cdot \mathbf{U})

2. 流体描述方法

  • 欧拉法
    • 固定控制体,研究空间点物理量随时间变化。
    • 控制体形状不变,内部流体可变,与外界有质量/动量/能量交换。
  • 拉格朗日法
    • 跟踪流体微团,研究其物理量随时间变化。
    • 系统质量不变,形状可变,边界与外界有力/能量交换。

3. 控制方程的四种形式

形式 连续方程示例 特点
积分守恒形式 tVρdV+SρUdS=0\frac{\partial}{\partial t} \iiint_V \rho dV + \iint_S \rho \mathbf{U} \cdot d\mathbf{S} = 0 固定控制体,适用于有限体积法
微分守恒形式 ρt+(ρU)=0\frac{\partial \rho}{\partial t} + \nabla \cdot (\rho \mathbf{U}) = 0 空间无限小微元
积分非守恒形式 DDtVρdV=0\frac{D}{Dt} \iiint_V \rho dV = 0 随流体运动的有限控制体
微分非守恒形式 DρDt+ρU=0\frac{D\rho}{Dt} + \rho \nabla \cdot \mathbf{U} = 0 随流体运动的无限小微元

4. 物质导数

  • 定义DϕDt=ϕt+Uϕ\frac{D\phi}{Dt} = \frac{\partial \phi}{\partial t} + \mathbf{U} \cdot \nabla \phi
    • 物质导数:运动流体微团的物理量变化率。
    • 局部导数:固定空间点的物理量时间变化率。
    • 迁移导数:物理量随空间位置的变化率。

5. 流动分类与方程简化

分类依据 类型 简化条件 控制方程特点
可压缩性 不可压流 DρDt=0\frac{D\rho}{Dt} = 0(密度恒定) V=0\nabla \cdot \mathbf{V} = 0,压力为约束变量
可压流 Ma=V/cMa = V/c(马赫数分类) 压力可推进求解,可能出现激波
黏性 无黏流(Euler方程) μ=0,k=0\mu = 0, k = 0(忽略黏性和热传导) Qt+Ex+Fy+Gz=0\frac{\partial \mathbf{Q}}{\partial t} + \frac{\partial \mathbf{E}}{\partial x} + \frac{\partial \mathbf{F}}{\partial y} + \frac{\partial \mathbf{G}}{\partial z} = 0
黏性流(N-S方程) 考虑黏性应力τij\tau_{ij} 和热传导qq 含黏性项Ev,Fv,Gv\mathbf{E_v}, \mathbf{F_v}, \mathbf{G_v}
时间依赖性 定常流 t=0\frac{\partial}{\partial t} = 0 时间导数为零
非定常流 物理量依赖时间 含时间导数项
流体类型 牛顿流体 应力-应变率线性(τ=μγ˙\tau = \mu \dot{\gamma} 本构关系简单
非牛顿流体 假塑性/胀流性/Bingham流体等(非线性本构) 需复杂本构模型
相态 单相流 单一流体相 标准控制方程
多相流 多相共存(液气/液固等) 需额外相分数方程(如αρg+(1α)ρf\alpha \rho_g + (1-\alpha)\rho_f

6. 典型流动的方程简化案例

  • 定常管道层流:忽略局部/对流加速度,保留压力梯度和黏性力 →0=p+μ2U0 = -\nabla p + \mu \nabla^2 \mathbf{U}
  • 突然启动平板流:忽略对流加速度/压力梯度,保留局部加速度和黏性力 →ut=ν2u\frac{\partial u}{\partial t} = \nu \nabla^2 u
  • 边界层流动:忽略局部加速度,保留对流加速度和黏性力 →UU=ν2U\mathbf{U} \cdot \nabla \mathbf{U} = \nu \nabla^2 \mathbf{U}
  • 无黏定常绕翼型流:忽略黏性力/局部加速度,保留压力梯度与对流加速度 →ρUU=p\rho \mathbf{U} \cdot \nabla \mathbf{U} = -\nabla p

§2.2 流体力学控制方程组的分类

1. 方程分类的意义

  • 适定性要求:解的存在性、唯一性、连续依赖性。
  • 影响域与依赖域:决定数值方法(如双曲型用迎风格式,椭圆型用中心差分)。
  • 边界条件提法:需匹配方程类型(如超声速流入口需指定全部参数)。

2. 偏微分方程分类

  • 二阶拟线性方程判别式Δ=a122a11a22\Delta = a_{12}^2 - a_{11} a_{22}
    -Δ>0\Delta > 0:双曲型(e.g. 超声速势流方程Ma>1Ma>1
    -Δ=0\Delta = 0:抛物型(e.g. 声速流动Ma=1Ma=1
    -Δ<0\Delta < 0:椭圆型(e.g. 亚声速势流方程Ma<1Ma<1

3. 一阶方程组分类

  • 特征值判据
    • 纯双曲型:所有特征值为互异实数(e.g. 一维非定常Euler方程,λ=u,u±a\lambda = u, u \pm a)。
    • 纯抛物型:所有特征值为重实根。
    • 纯椭圆型:所有特征值为复数。
    • 混合型(e.g. 定常可压流):
      -Ma<1Ma < 1:椭圆-抛物型
      -Ma>1Ma > 1:抛物-双曲型

4. 流体方程组类型汇总

方程类型 定常流 非定常流
可压N-S方程 椭圆-双曲型 抛物-双曲型
可压Euler方程 亚声速:椭圆-抛物型
超声速:抛物-双曲型
抛物-双曲型
不可压N-S方程 椭圆型 椭圆-抛物型
不可压Euler方程 椭圆-双曲型 椭圆-双曲型

5. 定解条件提法

  • 初始条件
    • 定常问题:影响收敛速度,不影响最终解。
    • 非定常问题:需给定全场初始参数。
  • 边界条件
    • 物理边界条件
      • 壁面:无滑移u=v=0u=v=0,等温T=TwallT=T_{\text{wall}},绝热Tn=0\frac{\partial T}{\partial n}=0
      • 入口:指定速度/压力(根据特征线指向域内数量)。
      • 出口:法向梯度为零un=0\frac{\partial u}{\partial n} = 0
    • 数值边界条件:补充物理条件不足(如外推法)。

§2.3 不同类型方程的特性与数值处理

1. 双曲型方程

  • 特性
    • 存在特征线,信息沿特征线有限速度传播。
    • 解可能间断(e.g. 激波)。
  • 数值方法
    • 特征线法:沿特征线积分相容方程。
    • 时间推进法:依赖区内步进求解(e.g. 一维Euler方程解耦为三个对流方程)。
  • 边界条件:入口特征线数量 = 需指定的物理条件数量。

2. 抛物型方程

  • 特性
    • 信息无限速度传播(指数衰减),依赖域为半无限区域。
    • 单向依赖性(e.g. 时间向前,空间双向)。
  • 数值方法:初始条件+边界条件,沿主方向推进求解(e.g. 非稳态热传导Tt=α2T\frac{\partial T}{\partial t} = \alpha \nabla^2 T)。

3. 椭圆型方程

  • 特性
    • 信息瞬时传遍全解域,无时间依赖。
    • 需封闭解域和全场边界条件。
  • 数值方法:全场联立求解(e.g. 定常不可压流压力方程)。

§2.4 模型方程及应用

典型模型方程

方程 形式 物理意义 数值研究用途
线性对流方程 ut+aux=0\frac{\partial u}{\partial t} + a \frac{\partial u}{\partial x} = 0 无耗散波动 格式稳定性、色散误差分析
扩散方程 ut=α2ux2\frac{\partial u}{\partial t} = \alpha \frac{\partial^2 u}{\partial x^2} 黏性/热传导主导 耗散误差分析
Burgers方程 ut+uux=α2ux2\frac{\partial u}{\partial t} + u \frac{\partial u}{\partial x} = \alpha \frac{\partial^2 u}{\partial x^2} 对流-扩散耦合 激波捕捉格式验证
Laplace方程 2ux2+2uy2=0\frac{\partial^2 u}{\partial x^2} + \frac{\partial^2 u}{\partial y^2} = 0 稳态场分布 椭圆型求解器验证
非线性单波方程 ut+a(u)ux=0\frac{\partial u}{\partial t} + a(u) \frac{\partial u}{\partial x} = 0 非线性波动(激波形成) 间断解处理验证

Burgers方程的特性

  • 物理意义:简化动量方程(含非线性对流和线性扩散)。
  • 数学性质:整体抛物型,兼具波动(特征线传播)和耗散特性。

核心图示总结

  1. 雷诺数效应(Page 35):圆柱绕流流态随ReRe 变化(Re=9.6Re=9.6 层流 →Re=104Re=10^4 湍流)。
  2. N-S方程四项平衡(Page 52):
    • 局部加速度(非定常)、对流加速度、压力梯度、黏性力的重要性分布。
  3. 特征线传播(Page 91, 93):双曲型方程信息沿特征线有限速度传播。
  4. 非牛顿流体分类(Page 40):应力-应变率曲线(牛顿流/假塑性/胀流性/Bingham流体)。

CH03 有限差分法基础

一、差分格式基础

  1. 离散化概念

    • 定义:用有限离散点/控制体上的表达式近似连续数学表达式
    • 核心术语:
      • 网格点(节点)
      • 空间步长(Δx)、时间步长(Δt)
      • 坐标系索引(如 ujnu_j^n 表示位置j、时间层n的值)
  2. 差商近似原理

    • 微商差分:取消极限过程,用差商代替偏导数
      • 一阶偏导:uxu(x0+Δx,y0)u(x0,y0)Δx\frac{\partial u}{\partial x} \approx \frac{u(x_0+\Delta x,y_0)-u(x_0,y_0)}{\Delta x}
    • Taylor展开分析:
      • u(x0+Δx)=u(x0)+Δxux+Δx22!2ux2+u(x_0+\Delta x) = u(x_0) + \Delta x \frac{\partial u}{\partial x} + \frac{\Delta x^2}{2!} \frac{\partial^2 u}{\partial x^2} + \cdots
      • 截断误差(T.E.):T.E.=12!2ux2Δx+T.E. = -\frac{1}{2!} \frac{\partial^2 u}{\partial x^2} \Delta x + \cdots
  3. 常用差分格式

    导数阶数 差分类型 公式 精度
    一阶导数 前向差分 uj+1ujΔx\frac{u_{j+1}-u_j}{\Delta x} O(Δx)O(\Delta x)
    后向差分 ujuj1Δx\frac{u_j-u_{j-1}}{\Delta x} O(Δx)O(\Delta x)
    中心差分 uj+1uj12Δx\frac{u_{j+1}-u_{j-1}}{2\Delta x} O(Δx2)O(\Delta x^2)
    二阶导数 中心差分 uj+12uj+uj1Δx2\frac{u_{j+1}-2u_j+u_{j-1}}{\Delta x^2} O(Δx2)O(\Delta x^2)
    混合导数 中心差分 ui+1,j+1ui+1,j1ui1,j+1+ui1,j14ΔxΔy\frac{u_{i+1,j+1}-u_{i+1,j-1}-u_{i-1,j+1}+u_{i-1,j-1}}{4\Delta x \Delta y} O(Δx2,Δy2)O(\Delta x^2, \Delta y^2)
    时间导数 前差/后差/中心差 ujn+1ujnΔt\frac{u^{n+1}_j-u^n_j}{\Delta t}, ujnujn1Δt\frac{u^n_j-u^{n-1}_j}{\Delta t}, ujn+1ujn12Δt\frac{u^{n+1}_j-u^{n-1}_j}{2\Delta t} 依格式而定
  4. 差分格式构造方法

    • 直接差分逼近法:基于Taylor展开
    • 待定系数法
      • 例:二阶精度三点前向差分:uxuj+2+4uj+13uj2Δx\frac{\partial u}{\partial x} \approx \frac{-u_{j+2} + 4u_{j+1} - 3u_j}{2\Delta x}
      • 四阶精度五点中心差分:uxuj+2+8uj+18uj1+uj212Δx\frac{\partial u}{\partial x} \approx \frac{-u_{j+2} + 8u_{j+1} - 8u_{j-1} + u_{j-2}}{12\Delta x}
    • 积分方法:结合控制体积分(见有限体积法)
  5. 时间-空间组合格式

    • 显式格式:逐点求解(如FTBS:ujn+1=ujnσ(ujnuj1n)u_j^{n+1} = u_j^n - \sigma(u_j^n - u_{j-1}^n)
    • 隐式格式:需联立求解方程组(如BTCS)
    • 常见组合:
      • FTCS(时间前差空间中心差)
      • FTBS(时间前差空间后差,迎风格式)

二、差分离散基本原则

  1. 相容性(Consistency)

    • 定义:当 Δt,Δx0\Delta t, \Delta x \to 0 时,差分方程截断误差 R0R \to 0
    • 分类:
      • 无条件相容:FTCS格式对扩散方程(R=O(Δt,Δx2)R = O(\Delta t, \Delta x^2)
      • 条件相容:Lax格式对对流方程(需 Δt/Δx\Delta t / \Delta x 固定)
  2. 稳定性(Stability)

    • 定义:计算误差随迭代有界(EnKE0\| \mathcal{E}^n \| \leq K \| \mathcal{E}^0 \|
    • 误差组成:
      • 离散误差(εD\varepsilon_D):差分精确解与PDE解析解之差
      • 舍入误差(εr\varepsilon_r):计算机字长限制
    • 分析方法:
      • Von Neumann法(Fourier级数)
      • 矩阵分析法(谱半径 ρ(G)1\rho(G) \leq 1
      • Hirt法
  3. 收敛性(Convergence)

    • 定义:当 Δt,Δx0\Delta t, \Delta x \to 0 时,数值解趋近解析解(ujnu(x,t)0\| u_j^n - u(x,t) \| \to 0
    • 收敛率:εD=O(Δtg+Δxp)\varepsilon_D = O(\Delta t^g + \Delta x^p)
  4. Lax等价定理

    • 核心:对适定线性初值问题,相容的差分格式收敛 ⇔ 稳定
    • 适用条件:
      • 初值问题(含周期性边界)
      • 问题适定(解存在、唯一、连续依赖初值)
      • 线性问题(非线性问题需特殊处理)

三、稳定性分析方法

  1. Von Neumann方法

    • 步骤
      1. 初始误差Fourier展开:εj0=βAβ0eiβxj\varepsilon_j^0 = \sum_\beta A_\beta^0 e^{i\beta x_j}
      2. 定义层间放大因子:G=εn+1/εnG = \varepsilon^{n+1} / \varepsilon^n
      3. 稳定性条件:$ |G| \leq 1 $(标量)或 ρ(G)1\rho(G) \leq 1(矩阵)
    • 应用案例
      • FTBS格式(对流方程):稳定条件 0<σ10 < \sigma \leq 1
      • Lax-Wendroff格式:稳定条件 σ1|\sigma| \leq 1
      • 隐式热传导格式:恒稳定($ |G| = \frac{1}{1+4r \sin^2(\beta h/2)} < 1 $)
  2. 多维问题稳定性

    • 例:二维扩散方程显式格式:
      αΔt(1Δx2+1Δy2)12 \alpha \Delta t \left( \frac{1}{\Delta x^2} + \frac{1}{\Delta y^2} \right) \leq \frac{1}{2}

四、有限体积法(FVM)

  1. 基本思想

    • 控制体积分:tVQdV+SFdS=0\frac{\partial}{\partial t} \iiint_V \mathbf{Q} dV + \iint_S \mathbf{F} \cdot d\mathbf{S} = 0
    • 对比有限差分法:
      特性 有限差分法(FDM) 有限体积法(FVM)
      基础 微分形式 积分形式
      守恒性 依赖格式 天然保证
      网格适应性 结构网格易高精度 非结构网格更灵活
      几何处理 需度量系数(易引几何守恒问题) 几何量与物理量独立计算
  2. 离散过程

    • 半离散:空间积分 → 常微分方程
      duˉjdt=fj+1/2fj1/2Δx \frac{d\bar{u}_j}{dt} = -\frac{f_{j+1/2} - f_{j-1/2}}{\Delta x}
    • 全离散:时空积分 → 代数方程
      • 重构(Reconstruction):由单元均值 $ \bar{u}_j $ 重构分布 $ u(x) $
        • 常数重构:$ u(x) = \bar{u}_j $(等价一阶迎风)
        • 线性重构:$ u(x) = \bar{u}_j + D_j (x - x_j) $(可提至二阶精度)
      • 演化(Evolution):解Riemann问题求通量 $ \hat{f}_{j+1/2} $
  3. 与FDM等价性

    • 一维均匀网格下:
      • 常数重构 → FTBS格式
      • 线性重构 + 中心差分 → Lax-Wendroff格式

五、关键案例与编程

  1. 污染物扩散问题

    • 控制方程:Ct=β2Cx2\frac{\partial C}{\partial t} = \beta \frac{\partial^2 C}{\partial x^2}
    • 边界条件:C(t,0)=20.0C(t,0)=20.0, Cx(t,10)=0.0\frac{\partial C}{\partial x}(t,10)=0.0
    • FTCS显式格式:
      Cjn+1=Cjn+βΔtΔx2(Cj+1n2Cjn+Cj1n) C_j^{n+1} = C_j^n + \frac{\beta \Delta t}{\Delta x^2} (C_{j+1}^n - 2C_j^n + C_{j-1}^n)
    • 稳定性条件:βΔt/Δx20.5\beta \Delta t / \Delta x^2 \leq 0.5
    • 编程实现:Fortran代码(见Page 34)
  2. 收敛性验证

    • 网格收敛实验:32×16512×25632\times16 \to 512\times256
    • 误差定义:
      ErrorL2=ϵi,j2Ji,jJi,j,ϵi,j=Si,jSexactSexact \text{Error}_{L_2} = \sqrt{ \frac{ \sum \epsilon_{i,j}^2 |J_{i,j}| }{ \sum |J_{i,j}| } }, \quad \epsilon_{i,j} = \frac{S_{i,j} - S^{\text{exact}}}{S^{\text{exact}}}
    • 结果:高阶格式(如WCNS-E5)收敛更快

CH04 一维抛物型与双曲型方程的数值方法

一、抛物型方程数值方法

§4.1 显格式

  1. 一般形式

    • 一维拟线性抛物型方程:
      a(x,t)ut=x[a(x,t)ux]+b(x,t)uxc(x,t)u a(x,t) \frac{\partial u}{\partial t} = \frac{\partial}{\partial x} \left[ a(x,t) \frac{\partial u}{\partial x} \right] + b(x,t) \frac{\partial u}{\partial x} - c(x,t)u

    • 算子形式:ut=L(x,t,D,D2)u\frac{\partial u}{\partial t} = L(x,t,D,D^2)u,其中D=/xD = \partial/\partial x

  2. Taylor展开法

    -ujn+1=exp(kL)ujnu_j^{n+1} = \exp(kL) u_j^nk=Δtk = \Delta th=Δxh = \Delta x

    • 中心差分算子:δxujn=uj+1/2nuj1/2n=2sinh(h2D)ujn\delta_x u_j^n = u_{j+1/2}^n - u_{j-1/2}^n = 2 \sinh\left(\frac{h}{2} D\right) u_j^n
    • 逆算子:D=2hsinh1(δx/2)D = \frac{2}{h} \sinh^{-1}(\delta_x / 2)
  3. 常系数方程(u/t=2u/x2\partial u/\partial t = \partial^2 u / \partial x^2

    • 显格式:ujn+1=ujn+rδx2ujnu_j^{n+1} = u_j^n + r \delta_x^2 u_j^nr=k/h2r = k/h^2

      • 截断误差:O(Δt,Δx2)O(\Delta t, \Delta x^2)
    • 高阶显格式(取前三项):
      ujn+1=12(25r+6r2)ujn+23r(23r)(uj+1nuj1n)r12(16r)(uj+2n+uj2n) u_j^{n+1} = \frac{1}{2}(2-5r+6r^2)u_j^n + \frac{2}{3}r(2-3r)(u_{j+1}^n - u_{j-1}^n) - \frac{r}{12}(1-6r)(u_{j+2}^n + u_{j-2}^n)

      • r=1/6r = 1/6 时精度更高。
  4. 自伴随方程(u/t=/x(a(x)u/x)\partial u/\partial t = \partial / \partial x (a(x) \partial u / \partial x)

    • 显格式:ujn+1=ujn+ar(uj+1n2ujn+uj1n)+aσ2(uj+1nuj1n)u_j^{n+1} = u_j^n + ar (u_{j+1}^n - 2u_j^n + u_{j-1}^n) + \frac{a' \sigma}{2} (u_{j+1}^n - u_{j-1}^n)

§4.2 隐格式

  1. 一般形式

    -exp(θkL)ujn+1=exp((1θ)kL)ujn\exp(-\theta k L) u_j^{n+1} = \exp((1-\theta)k L) u_j^n,其中:
    -θ=0\theta = 0:显格式;θ=1/2\theta = 1/2:Crank-Nicolson;θ=1\theta = 1:全隐格式。

  2. 典型格式

    • Crank-Nicolson格式
      (1+r)ujn+1r2(uj+1n+1+uj1n+1)=(1r)ujn+r2(uj+1n+uj1n) (1+r)u_j^{n+1} - \frac{r}{2}(u_{j+1}^{n+1} + u_{j-1}^{n+1}) = (1-r)u_j^n + \frac{r}{2}(u_{j+1}^n + u_{j-1}^n)

      • 精度:O(Δt2,Δx2)O(\Delta t^2, \Delta x^2),稳定性:无条件稳定(r>0r > 0)。
    • 全隐格式
      ujn+1=ujn+r(uj+1n+12ujn+1+uj1n+1) u_j^{n+1} = u_j^n + r(u_{j+1}^{n+1} - 2u_j^{n+1} + u_{j-1}^{n+1})

      • 精度:O(Δt,Δx2)O(\Delta t, \Delta x^2),无条件稳定。
    • Du Fort-Frankel格式(蛙跳)
      ujn+1ujn12Δt=1h2(uj+1nujn+1ujn1+uj1n) \frac{u_j^{n+1} - u_j^{n-1}}{2\Delta t} = \frac{1}{h^2} \left( u_{j+1}^n - u_j^{n+1} - u_j^{n-1} + u_{j-1}^n \right)

      • 稳定性:无条件稳定,但需ΔtΔx2\Delta t \sim \Delta x^2 保证相容性。
  3. 非线性方程处理

    • 隐式离散:ujn+1ujnΔt=1h2δx2[θ(uα)n+1+(1θ)(uα)n]\frac{u_j^{n+1} - u_j^n}{\Delta t} = \frac{1}{h^2} \delta_x^2 \left[ \theta (u^\alpha)^{n+1} + (1-\theta) (u^\alpha)^n \right]

    • 线性化:(uα)n+1(uα)n+α(uα1)nΔuj(u^\alpha)^{n+1} \approx (u^\alpha)^n + \alpha (u^{\alpha-1})^n \Delta u_j

    • 追赶法求解三对角方程组,需保证对角占优条件:
      βjηj+γj,β1γ1,βJ1ηJ1. \beta_j \geq \eta_j + \gamma_j, \quad \beta_1 \geq \gamma_1, \quad \beta_{J-1} \geq |\eta_{J-1}|.

  4. 案例:热传导问题

    • 方程:T/t=β2T/x2\partial T / \partial t = \beta \partial^2 T / \partial x^2

    • Crank-Nicolson离散:
      [2+2rr0rr0r2+2r]Tn+1=[22rr0rr0r22r]Tn+边界项 \begin{bmatrix} 2+2r & -r & 0 \\ -r & \ddots & -r \\ 0 & -r & 2+2r \end{bmatrix} \mathbf{T}^{n+1} = \begin{bmatrix} 2-2r & r & 0 \\ r & \ddots & r \\ 0 & r & 2-2r \end{bmatrix} \mathbf{T}^n + \text{边界项}


二、双曲型方程数值方法

§4.3 经典差分格式(u/t+au/x=0\partial u/\partial t + a \partial u/\partial x = 0

  1. 迎风格式

    • 一阶迎风:ujn+1=ujnσ(ujnuj1n)u_j^{n+1} = u_j^n - \sigma (u_j^n - u_{j-1}^n)a>0a > 0)。

      • 精度:O(Δt,Δx)O(\Delta t, \Delta x),CFL条件:σ=aΔt/Δx1\sigma = |a| \Delta t / \Delta x \leq 1
    • 二阶迎风(Beam-Warming):
      ujn+1=ujnσ(ujnuj1n)σ(1σ)2(ujn2uj1n+uj2n) u_j^{n+1} = u_j^n - \sigma (u_j^n - u_{j-1}^n) - \frac{\sigma(1-\sigma)}{2} (u_j^n - 2u_{j-1}^n + u_{j-2}^n)

      • 精度:O(Δt,Δx2)O(\Delta t, \Delta x^2),CFL条件:σ2\sigma \leq 2
  2. Lax格式

    -ujn+1=12(uj+1n+uj1n)σ2(uj+1nuj1n)u_j^{n+1} = \frac{1}{2} (u_{j+1}^n + u_{j-1}^n) - \frac{\sigma}{2} (u_{j+1}^n - u_{j-1}^n)

    • 精度:O(Δt,Δx2/Δt)O(\Delta t, \Delta x^2 / \Delta t),CFL条件:σ1\sigma \leq 1
  3. Lax-Wendroff格式

    • 构造:Taylor展开 + 微分方程替换2u/t2=a22u/x2\partial^2 u / \partial t^2 = a^2 \partial^2 u / \partial x^2
      ujn+1=ujnσ2(uj+1nuj1n)+σ22(uj+1n2ujn+uj1n) u_j^{n+1} = u_j^n - \frac{\sigma}{2} (u_{j+1}^n - u_{j-1}^n) + \frac{\sigma^2}{2} (u_{j+1}^n - 2u_j^n + u_{j-1}^n)

      • 精度:O(Δt2,Δx2)O(\Delta t^2, \Delta x^2),CFL条件:σ1\sigma \leq 1
  4. MacCormack格式

    • 预测步:uj=ujnσ(uj+1nujn)u_j^* = u_j^n - \sigma (u_{j+1}^n - u_j^n)
    • 校正步:uj=ujσ(ujuj1)u_j^{**} = u_j^* - \sigma (u_j^* - u_{j-1}^*)ujn+1=12(ujn+uj)u_j^{n+1} = \frac{1}{2} (u_j^n + u_j^{**})
      • 等价于Lax-Wendroff格式(线性方程),精度O(Δt2,Δx2)O(\Delta t^2, \Delta x^2)

§4.4 双曲型方程组(U/t+AU/x=0\partial U/\partial t + A \partial U/\partial x = 0

  1. 特征分析

    • 严格双曲型:AAmm 个互异实特征值λ1<<λm\lambda_1 < \cdots < \lambda_m
    • 特征变量:ω=LU\omega = L U,解耦为ωi/t+λiωi/x=0\partial \omega_i / \partial t + \lambda_i \partial \omega_i / \partial x = 0
  2. 格式构造

    • 特征迎风格式
      ωjn+1=ωjnα[λ+λ2(ωjnωj1n)+λλ2(ωj+1nωjn)] \omega_j^{n+1} = \omega_j^n - \alpha \left[ \frac{\lambda + |\lambda|}{2} (\omega_j^n - \omega_{j-1}^n) + \frac{\lambda - |\lambda|}{2} (\omega_{j+1}^n - \omega_j^n) \right]

    • Lax-Wendroff格式
      Ujn+1=Ujnα2(Fj+1nFj1n)+α22[Aj+1n(Fj+1nFjn)Aj1n(FjnFj1n)] U_j^{n+1} = U_j^n - \frac{\alpha}{2} (F_{j+1}^n - F_{j-1}^n) + \frac{\alpha^2}{2} \left[ A_{j+1}^n (F_{j+1}^n - F_j^n) - A_{j-1}^n (F_j^n - F_{j-1}^n) \right]

    • MacCormack格式

      • 预测:Uj=Ujnα(Fj+1nFjn)U_j^* = U_j^n - \alpha (F_{j+1}^n - F_j^n)
      • 校正:Uj=Ujα(FjFj1)U_j^{**} = U_j^* - \alpha (F_j^* - F_{j-1}^*)Ujn+1=12(Ujn+Uj)U_j^{n+1} = \frac{1}{2} (U_j^n + U_j^{**})
  3. 案例:准一维喷管流动

    • 守恒型方程组:
      (ρA)t+(ρAV)x=0,(ρVA)t+(ρV2A)x=Apx, \frac{\partial (\rho A)}{\partial t} + \frac{\partial (\rho A V)}{\partial x} = 0, \quad \frac{\partial (\rho V A)}{\partial t} + \frac{\partial (\rho V^2 A)}{\partial x} = -A \frac{\partial p}{\partial x}, \quad \cdots

    • MacCormack格式推进,边界条件:

      • 左边界:V1=2V2V3V_1 = 2V_2 - V_3P1=P0P_1 = P_0
      • 右边界:特征相容条件(超声速/亚声速)。

三、差分格式分析工具

§4.5 修正方程

  1. 定义与推导

    • 差分方程解析延拓得到的等效微分方程:
      ut+aux=n=2νnnuxn \frac{\partial u}{\partial t} + a \frac{\partial u}{\partial x} = \sum_{n=2}^{\infty} \nu_n \frac{\partial^n u}{\partial x^n}

    • 自循环消元法:用Taylor展开消去时间导数(避免使用原方程)。

  2. 应用

    • 稳定性分析:如FTFS格式修正方程含负耗散项(ν2<0\nu_2 < 0),导致不稳定。
    • 格式构造:如Lax-Wendroff格式通过添加a2Δt22u/x2-\frac{a^2 \Delta t}{2} \partial^2 u / \partial x^2 项抑制振荡。
    • 人工耗散:添加εδx2ujn\varepsilon \delta_x^2 u_j^n 项,调节ε\varepsilon 可得不同格式(ε=σ2/2\varepsilon = \sigma^2/2 即Lax-Wendroff)。

§4.6 耗散与色散性质

  1. 概念

    • 耗散:振幅衰减(正耗散)或增长(负耗散)。
    • 色散:相位误差导致波形畸变(超前/滞后)。
    • 来源:修正方程中偶阶项主导耗散,奇阶项主导色散。
  2. 定量分析

    • 放大因子GG

      -G<1|G| < 1:耗散;Arg(G)aβΔtArg(G) \neq -a \beta \Delta t:色散。

      • 相位误差:εp=ae(qF1)t\varepsilon_p = a_e (q_F - 1)tqF=aF/aeq_F = a_F / a_e
    • 典型格式特性

      格式 耗散性 色散性 CFL条件
      FTBS (迎风) σ<1\sigma < 1 0.5<σ<10.5<\sigma<1 σ1\sigma \leq 1
      CTCS (中心) 无耗散 σ<1\sigma < 1 σ1\sigma \leq 1
      Lax-Wendroff 弱耗散 σ<1\sigma < 1 σ1\sigma \leq 1
      Beam-Warming 弱耗散 0<σ<10<\sigma<1 σ2\sigma \leq 2
  3. 高分辨率格式示例

    • WENO格式:通过加权组合模板抑制振荡,网格加密可提升激波分辨率(见双马赫反射案例)。

四、特殊方程与数学基础

§4.7 Burgers方程(u/t+uu/x=ν2u/x2\partial u/\partial t + u \partial u/\partial x = \nu \partial^2 u/\partial x^2

  1. 物理意义

    • Navier-Stokes方程的简化模型(含非线性对流与粘性扩散)。
  2. 数值挑战

    • 网格雷诺数Re(Δx)=ρuΔx/μ2Re(\Delta x) = \rho u \Delta x / \mu \leq 2(避免振荡)。
    • FTCS格式需满足σ2r\sigma \leq 2r(即Re(Δx)2Re(\Delta x) \leq 2)。
  3. 耗散与色散平衡

    • 中心差分:Re(Δx)>2Re(\Delta x) > 2 时物理耗散不足,引发振荡。
    • 迎风差分:引入数值耗散抑制振荡,但可能掩盖物理粘性。

§4.8 双曲守恒律的弱解

  1. 间断解问题

    • 非线性方程(如u/t+uu/x=0\partial u/\partial t + u \partial u/\partial x = 0)特征线相交产生间断。
    • Rankine-Hugoniot条件:间断速度s=[f]/[u]s = [f] / [u]
  2. 弱解定义

    • 积分形式:Γ[udxf(u)dt]=0\int_\Gamma [u \, dx - f(u) \, dt] = 0(uwt+fwx)dxdt=0\iint (u w_t + f w_x) \, dx dt = 0wC0\forall w \in C_0^\infty)。
  3. 熵条件

    • Oleinik条件:对任意w(min(u+,u),max(u+,u))w \in (\min(u_+, u_-), \max(u_+, u_-)),满足
      f(u+)f(w)u+wsf(u)f(w)uw \frac{f(u_+) - f(w)}{u_+ - w} \leq s \leq \frac{f(u_-) - f(w)}{u_- - w}

    • 物理意义:激波需满足特征线汇聚(左特征速度 >ss > 右特征速度)。

  4. 案例:交通流模型

    • 方程:ρ/t+/x[ρumax(1ρ/ρmax)]=0\partial \rho / \partial t + \partial / \partial x [\rho u_{\max} (1 - \rho / \rho_{\max})] = 0
    • 激波解(拥堵形成):ρl<ρr\rho_l < \rho_rs=12umaxs = -\frac{1}{2} u_{\max}
    • 稀疏波解(拥堵解除):ρl>ρr\rho_l > \rho_r,连续解。

核心结论

  1. 格式选择准则
    • 抛物方程:隐式格式(无条件稳定,需求解矩阵)。
    • 双曲方程:迎风/Lax-Wendroff(抑制振荡),高阶格式(如WENO)用于激波捕捉。
  2. 稳定性与精度
    • CFL条件是必要非充分条件,修正方程揭示深层稳定性。
    • 耗散/色散分析是格式优化的理论基础。
  3. 工程应用
    • 网格雷诺数限制实际计算分辨率,人工耗散不可或缺。
    • 弱解与熵条件确保物理可信的间断解(激波、接触间断)。

CH05 可压缩流动的差分方法

一、可压缩流动特性与挑战

  1. 流动复杂性
    • 激波(Shock Wave):厚度约2.5×107m2.5 \times 10^{-7} \text{m},物理量剧变(熵增过程)。
    • 膨胀波(Expansion Wave):物理量连续变化,等熵过程。
    • 接触间断(Contact Discontinuity):压力、速度连续,密度不连续。
  2. 控制方程类型
    • 可压NS方程:定常(椭圆-双曲),非定常(抛物-双曲)。
    • 可压Euler方程:亚声速(椭圆-抛物),超声速(双曲-抛物)。
    • 关键性质:解域存在特征线;守恒型双曲方程存在弱解;差分格式要求高精度、低振荡。

二、Riemann问题(间断分解问题)

1. 定义与重要性

  • 初始条件:$ t=0$ 时,$ x<0$ 区(u1,ρ1,P1)(u_1, \rho_1, P_1),$ x>0$ 区(u2,ρ2,P2)(u_2, \rho_2, P_2)
  • 解的结构:分解为激波、接触间断、中心稀疏波(共5类解)。
  • 应用:CFD核心基础,高分辨率格式的基石(如Godunov格式)。

2. 解的类型(基于初值条件)

类型 结构 条件
激波-接触间断-激波 两激波夹接触间断 $ u_1 - u_2 \geq F(P_2)$
稀疏波-接触间断-激波 左稀疏波,右激波 $ F(P_2) > u_1 - u_2 \geq F(P_1)$
激波-接触间断-稀疏波 左激波,右稀疏波 对称于第二类
稀疏波-接触间断-稀疏波 两侧稀疏波 $ F(P_1) > u_1 - u_2 \geq F(0)$
稀疏波-真空-稀疏波 含真空区 $ u_1 - u_2 < F(0)$

3. 求解方法

  • 关键关系式
    • 激波:Rankine-Hugoniot(R-H)关系(质量、动量、能量守恒)。
    • 稀疏波:黎曼不变量沿特征线不变:$ u \pm \frac{2c}{\gamma-1} = \text{const}$。
  • 数值求解:迭代求解压力$ \overline{P}$ 和速度$ U$,再确定各区流动参数。

三、激波捕捉格式

1. 基本分类

方法 代表格式 特点
激波装配法 预先设定激波位置 精度高但复杂,适用于简单激波结构。
激波捕捉法 所有主流格式 无需预设激波,通过数值耗散自动捕捉。

2. 核心问题

  • 激波抹平(Smearing):激波跨越多个网格。
  • 数值振荡(Oscillation):激波前后非物理波动(色散误差导致)。

3. 改进方法

  • 人工粘性法:在激波区添加滤波项(如MacCormack格式+开关函数$ Q$)。

  • 混合格式法:上游用$ v_3>0$ 格式(如Beam-Warming),下游用$ v_3<0$ 格式(如Lax-Wendroff)。

  • 矢通量分裂(FVS)

    • Steger-Warming分裂:$ F = F^+ + F^-$(特征值分裂)。
    • van Leer分裂:基于马赫数分段定义(光滑性优于Steger-Warming)。
  • 通量差分分裂(FDS)

    • Roe格式:线性化Riemann解,通量公式:
      F^=12[F(UL)+F(UR)A~roe(URUL)] \hat{F} = \frac{1}{2} \left[ F(U_L) + F(U_R) - |\tilde{A}^{\text{roe}}| (U_R - U_L) \right]

      • Roe平均:密度加权平均($ \tilde{u}, \tilde{H}, \tilde{c}$)。
      • 熵修正:Harten修正避免非物理解(如激波失稳)。
  • 混合格式

    • AUSM/AUSM+:对流项与压力项分离处理,格式简洁高效。

四、高分辨率格式

1. Godunov格式

  • 思想:网格内物理量片状常数分布 → 求解局部Riemann问题 → 时间步进后网格平均。
  • 缺点:一阶精度,耗散大;需精确求解Riemann问题(计算量大)。

2. MUSCL格式(Monotonic Upstream Schemes)

  • 核心:高阶插值(线性/二次重构)提升精度。

  • 限制器函数:抑制振荡(如minmodvan LeerSuperbee)。
    uj+1/2L=uj+12ϕ(r)uj,r=uj+1uj u_{j+1/2}^L = u_j + \frac{1}{2} \phi(r) \nabla u_j, \quad r = \frac{\nabla u_{j+1}}{\nabla u_j}

  • 通量计算:结合Roe等近似Riemann求解器。

3. TVD格式(Total Variation Diminishing)

  • 思想:保证总变差$ TV(u^{n+1}) \leq TV(u^n)$(抑制振荡)。
  • 构造方法
    • Harten条件:系数约束($ D_{j+1/2} \geq 0, C_{j-1/2} \geq 0, D_{j+1/2} + C_{j-1/2} \leq 1$)。
    • 限制器设计:如 minmod(保守)、superbee(高分辨率)。
  • 推广:方程组需特征分解,多维问题逐维应用。

4. NND格式(无波动、无自由参数耗散格式)

  • 思想:激波上游用迎风差分,下游用中心差分(通过minmod函数自动切换)。

  • 通量构造
    fL,j+1/2=fj++12minmod(Δfj+1/2+,Δfj1/2+) f_{L,j+1/2} = f_j^+ + \frac{1}{2} \text{minmod}(\Delta f_{j+1/2}^+, \Delta f_{j-1/2}^+)


五、高精度格式进阶

1. ENO/WENO格式

  • ENO:自适应选择光滑模板($ k$阶多项式插值),本质无振荡。

  • WENO:加权组合多个模板,达到$ 2k-1$ 阶精度(如5阶WENO):
    f^j+1/2=k=0r1ωkqk(xj+1/2),ωk=αkαk,αk=Ck(ϵ+ISk)2 \hat{f}_{j+1/2} = \sum_{k=0}^{r-1} \omega_k q_k(x_{j+1/2}), \quad \omega_k = \frac{\alpha_k}{\sum \alpha_k}, \quad \alpha_k = \frac{C_k}{(\epsilon + IS_k)^2}

    • 光滑因子$ IS_k$:衡量模板光滑度。

2. 紧致格式(Compact Scheme)

  • 特点:用邻近点导数值构造高阶格式(模板窄,边界处理难)。
  • :Lele格式(隐式求解导数,高分辨率但计算复杂)。

六、关键算法对比

格式类型 代表 精度 计算量 适用场景
FVS Steger-Warming 高速流动
FDS Roe 激波分辨率要求高
混合 AUSM+ 广泛(不需熵修正)
TVD/MUSCL van Leer限制器 二阶+ 平衡精度与稳健性
高阶 WENO5 五阶 复杂流场(高精度需求)

七、应用示例

  1. Sod激波管问题:经典Riemann问题验证(激波、接触间断、稀疏波结构)。
  2. 前向台阶激波反射:对比格式性能(Roe分辨率高,AUSM+无熵修正但易现"毛刺")。
  3. 激波风洞:利用Riemann问题设计高超音速风洞(激波压缩+等熵膨胀)。

CH06 不可压缩流动

一、不可压缩流动基础

  1. 数学特性

    • 定常不可压NS方程:椭圆型方程(全域联立求解)
    • 非定常不可压NS方程:椭圆-抛物型方程
    • 关键性质
      • 信息向所有方向传播
      • 需封闭解域和完整边界条件
      • 压强$ p$ 为约束变量(非热力学参数),密度近似常数
  2. 直接求解困难

    • 压力-速度耦合导致奇偶失联(棋盘振荡)
    • 连续方程需严格满足V=0\nabla \cdot \mathbf{V} = 0
    • 压力需通过泊松方程隐式求解(计算量大)
    • 边界误差全场传播

二、数值方法分类

§6.2 人工压缩性方法

  • 核心思想:引入伪时间项,将不可压流视为虚拟可压缩流
    • 连续方程改造:pt+c2V=0\frac{\partial p}{\partial t} + c^2 \nabla \cdot \mathbf{V} = 0
      -c2c^2 为自由参数(影响收敛速度)
  • Chorin方法步骤
    1. 交错网格布置(pp 在整点,u,vu,v 在半网格)
    2. 显式求解动量方程得u,vu^*, v^*
    3. 更新压力pn+1p^{n+1}
    4. 迭代至pt0\frac{\partial p}{\partial t} \to 0(稳态解)
  • 局限:瞬态解无物理意义,仅适用于稳态问题

§6.3 投影法与MAC法

  • 投影法(分步求解):
    • 步骤
      1. 预测步:忽略压力项求解中间速度V\mathbf{V}^*
      2. 修正步:解泊松方程2pn+1=1ΔtV\nabla^2 p^{n+1} = \frac{1}{\Delta t} \nabla \cdot \mathbf{V}^*
      3. 投影Vn+1=VΔtpn+1\mathbf{V}^{n+1} = \mathbf{V}^* - \Delta t \nabla p^{n+1}
    • 特点:一阶时间精度,空间精度依赖离散格式
  • MAC法:投影法 + 交错网格 + 中心差分

§6.4 SIMPLE系列方法

  • 基本思想(压力修正法):
    • 分解变量:p=p+pp = p^* + p',V=V+V\mathbf{V} = \mathbf{V}^* + \mathbf{V}'
    • 通过压力修正pp' 驱动速度满足连续性
  • SIMPLE算法步骤
    1. 假设初始压力场pp^* 和速度场
    2. 求解动量方程得u,vu^*, v^*
    3. 解压力修正方程:api,j+bp邻点=(ρV)a p_{i,j}' + \sum b p_{\text{邻点}}' = -\nabla \cdot (\rho \mathbf{V}^*)
    4. 更新p,u,vp, u, v
    5. 亚松弛处理:p=p+αppp = p^* + \alpha_p p'αp0.1\alpha_p \approx 0.1
  • 改进算法
    • SIMPLEC:协调速度修正(收敛提速 20-30%)
    • SIMPLER:压力场独立更新(收敛提速 30-50%,计算量增 50%)

§6.5 预处理方法(补充)

  • 目的:解决低速流 (M0.1M \ll 0.1) 的刚性收敛问题
  • 核心:修改时间导数项矩阵Γ\Gamma,优化特征值条件数
    • 预处理后特征值:λ4,5=12(1+1R)u±\lambda_{4,5} = \frac{1}{2}(1 + \frac{1}{R})u \pm \sqrt{\cdots}
    • 使K(A)1K(A) \approx 1(原方法M=0.01M=0.01K(A)=101K(A)=101
  • 限制:仅适用于定常问题

三、关键技术与应用

  1. 网格技术

    • 交错网格:避免奇偶失联
      -pp(i,j)(i,j)uu(i+1/2,j)(i+1/2,j)vv(i,j+1/2)(i,j+1/2)
    • 压力梯度离散:中心差分(px)i,jpi+1,jpi1,j2Δx\left( \frac{\partial p}{\partial x} \right)_{i,j} \approx \frac{p_{i+1,j} - p_{i-1,j}}{2\Delta x}
  2. 边界条件

    • 需封闭解域 + 完整物理边界条件
    • 压力参考点设定(某点p=0p=0,减少舍入误差)
  3. 商业软件方法对比

    软件 压力基方法 离散格式
    FLUENT SIMPLE/SIMPLEC/PISO UD/TVD/QUICK
    Star-CD SIMPLE/SIMPISO/PISO UD/TVD/QUICK/CD
    CFX SIMPLE UD/TVD/QUICK/CD

四、示例问题

  • 库埃特流动(平板剪切流):
    • 几何:板间距D=0.01D=0.01,板长L=0.5L=0.5Re=63.6Re=63.6
    • 方法验证:人工压缩性法、SIMPLE、SIMPLER
    • 结论:
      • 定常问题结果与初值无关
      • 亚松弛因子αp\alpha_p 显著影响收敛速度

总结:不可压缩流动求解核心

方法 适用场景 优势 局限
人工压缩性法 稳态问题 简单易实现 瞬态解无物理意义
投影法/MAC法 非定常问题 物理意义清晰 时间精度低
SIMPLE系列 工业应用主流 可扩展至可压缩流 需亚松弛,收敛慢
预处理方法 低速可压流求解器 统一全速域求解 仅限定常问题

附:压力泊松方程来源
2p=t(V)(VV)+1Re2D[D2+2(uyvxuxvy)]\nabla^2 p = -\frac{\partial}{\partial t}(\nabla \cdot \mathbf{V}) - \nabla \cdot (\mathbf{V} \cdot \nabla \mathbf{V}) + \frac{1}{Re}\nabla^2 D - \left[ D^2 + 2\left( \frac{\partial u}{\partial y} \frac{\partial v}{\partial x} - \frac{\partial u}{\partial x} \frac{\partial v}{\partial y} \right) \right]
其中D=VD = \nabla \cdot \mathbf{V}

CH07 多维问题的差分方法

§7.1 多维问题差分格式特点

  1. 显式算法直接推广

    • 一维扩散方程
      • 格式:$ u_i^{n+1} = [1 + r \delta_{xx}]u_i^n r = \frac{\Delta t}{\Delta x^2}$
      • 增长因子:$ G = 1 - 4r \sin^2 \left( \frac{k \Delta x}{2} \right)$
      • 稳定性条件:$ r \leq \frac{1}{2}$
    • 二维/三维推广
      • 二维格式:$ u_{i,j}^{n+1} = [1 + r_x \delta_{xx} + r_y \delta_{yy}]u_{i,j}^n r_x = \frac{\Delta t}{\Delta x^2}, r_y = \frac{\Delta t}{\Delta y^2}$
      • 增长因子:$ G = 1 - 4r \left[ \sin^2 \left( \frac{k_1 \Delta x}{2} \right) + \sin^2 \left( \frac{k_2 \Delta y}{2} \right) \right]$
      • 稳定性条件(等步长):$ r \leq \frac{1}{4}$
      • 三维稳定性:$ r \leq \frac{1}{6} \Delta x = \Delta y = \Delta z$)
  2. 隐式算法直接推广

    • 一维 Crank-Nicolson 格式
      • 格式:$ u_j^{n+1} - \frac{r}{2} \delta_{xx} u_j^{n+1} = u_j^n + \frac{r}{2} \delta_{xx} u_j^n$
      • 无条件稳定。
    • 二维推广
      • 格式:包含$ x, y$ 方向的隐式差分项。
      • 问题:生成 五对角矩阵,直接求解困难(计算量大)。

§7.2 多维问题求解算法

  1. 算子分裂算法

    • 思路:将多维问题分解为多个一维问题分步求解。
    • 示例(二维扩散方程):
      • 第一步($ y$ 方向):$ \frac{\partial u}{\partial t} = \beta \frac{\partial^2 u}{\partial y^2}$(半时间步)
      • 第二步($ x$ 方向):$ \frac{\partial u}{\partial t} = \beta \frac{\partial^2 u}{\partial x^2}$(半时间步)
    • 稳定性:需满足单维稳定性条件($ r \leq \frac{1}{2}$)。
  2. 交替方向隐式格式(ADI)

    • P-R 格式(1955年提出):
      • 分两步交替隐式处理$ x$ 和$ y$ 方向。
      • 二维示例:
        • 第一步(隐式$ x,显式,显式 y):): u_{j,m}^{n+1/2} - u_{j,m}^n = \frac{\beta \Delta t}{2} \left( \delta_x^2 u_{j,m}^{n+1/2} + \delta_y^2 u_{j,m}^n \right)$
        • 第二步(显式$ x,隐式,隐式 y):): u_{j,m}^{n+1} - u_{j,m}^{n+1/2} = \frac{\beta \Delta t}{2} \left( \delta_x^2 u_{j,m}^{n+1/2} + \delta_y^2 u_{j,m}^{n+1} \right)$
      • 优点:无条件稳定,精度$ O(\Delta t^2, \Delta x^2)$。
    • 三维推广(Douglas-Brian 格式):
      • 分三步处理$ x, y, z$ 方向,但稳定性非无条件。
  3. 跳点算法

    • 思路:按网格点位置(奇偶性)交替更新解。
    • 二维示例:
      • 若$ n + j + k + 1$ 为偶数:显式更新
        $ \overline{u}{j,k}^{n+1} = u{j,k}^n + r_1 \delta_x^2 u_{j,k}^n + r_2 \delta_y^2 u_{j,k}^n$
      • 若$ n + j + k + 1$ 为奇数:隐式更新
        $ u_{j,k}^{n+1} = u_{j,k}^n + r_1 \delta_x^2 \overline{u}{j,k}^{n+1} + r_2 \delta_y^2 \overline{u}{j,k}^{n+1}$
    • 特点:二阶精度、无条件稳定。

§7.3 差分方程组的时间积分法

  1. Runge-Kutta 方法

    • 通用形式
      U(i)=k=0i1(αikU(k)+ΔtβikL(U(k))),Un+1=U(m) U^{(i)} = \sum_{k=0}^{i-1} \left( \alpha_{ik} U^{(k)} + \Delta t \beta_{ik} L(U^{(k)}) \right), \quad U^{n+1} = U^{(m)}

    • 常用阶数

      • 一阶(欧拉格式):$ U^{n+1} = U^n + \Delta t L(U^n)$
      • 二阶:
        $ U^{(1)} = U^n + \Delta t L(U^n)$
        $ U^{n+1} = \frac{1}{2} (U^n + U^{(1)}) + \frac{1}{2} \Delta t L(U^{(1)})$
      • 三阶(TVD 格式):
        $ U^{(1)} = U^n + \Delta t L(U^n)$
        $ U^{(2)} = U^n + \frac{1}{4} \Delta t L(U^n) + \frac{1}{4} \Delta t L(U^{(1)})$
        $ U^{n+1} = U^n + \frac{1}{6} \Delta t L(U^n) + \frac{1}{6} \Delta t L(U^{(1)}) + \frac{2}{3} \Delta t L(U^{(2)})$
  2. 近似因子分解法(AF 法)

    • 步骤
      1. 线性化通量(Beam-Warming):
        $ F^{n+1} \approx F^n + A^n \delta U^n G^{n+1} \approx G^n + B^n \delta U^n$
      2. 构造增量方程:
        $ [I + \theta \Delta t (D_x A^n + D_y B^n)] \delta U^n = -\Delta t (D_x F^n + D_y G^n)$
    • 特点:需迭代求解大型稀疏矩阵。

§7.4 差分方程组的数值解法

  1. 直接法

    • Gauss 消去法:计算量$ O(n^3/3)$,适合小规模问题。
    • LU 分解法
      • 分解$ A = LU,解,解 Ly = b Ux = y$。
      • 优点:可复用分解结果,保留矩阵稀疏性。
    • 追赶法:专用于三对角/五对角矩阵,计算量$ O(n)$.
  2. 迭代法

    • Jacobi 迭代
      $ x_i^{k+1} = \frac{1}{a_{ii}} \left( b_i - \sum_{j \neq i} a_{ij} x_j^k \right)$
    • Gauss-Seidel 迭代
      $ x_i^{k+1} = \frac{1}{a_{ii}} \left( b_i - \sum_{j<i} a_{ij} x_j^{k+1} - \sum_{j>i} a_{ij} x_j^k \right)$
    • 松弛迭代法:引入松弛因子$ \omega$ 加速收敛。
  3. LU-SGS 方法

    • 思想:矩阵分裂$ A \approx (D + L) D^{-1} (D + U)$。
    • 步骤:
      1. 解下三角系统:$ (D + L)y = b$
      2. 解上三角系统:$ (D + U)x = D y$
    • 优点:高效、稳定性好,广泛用于定常流动。
  4. 双时间步方法

    • 思路:在真实时间步内嵌套虚拟时间迭代。
    • 格式:
      $ \frac{U^{p+1} - U^p}{\Delta \tau} + \frac{3U^{p+1} - 4U^n + U^{n-1}}{2\Delta t} = L_{\Delta x}(U^{p+1})$
    • 应用:非定常流动的高效求解。
  5. 多重网格法

    • 原理:利用不同尺度网格消除不同频率误差分量。
    • 步骤
      1. 细网格迭代,计算残差。
      2. 残差限制到粗网格。
      3. 粗网格求解误差。
      4. 误差插值回细网格修正解。·
    • 迭代方式:V 型、W 型循环。
  6. 预处理法

    • 目的:解决刚性问题(如不可压流模拟中矩阵条件数大)。
    • 方法:调整方程条件数,加速收敛。

案例与关键结论

  1. 污染物扩散案例

    • 方程:$ \frac{\partial C}{\partial t} = \beta \left( \frac{\partial^2 C}{\partial x^2} + \frac{\partial^2 C}{\partial y^2} \right)$
    • 显式 FTCS 推广:时间步过大导致发散(需$ r \leq \frac{1}{4}$)。
  2. 重要结论

    • 显式格式:维数增加导致稳定性更严格(二维$ r \leq \frac{1}{4},三维,三维 r \leq \frac{1}{6}$)。
    • 隐式格式:直接推广生成高维稀疏矩阵,需专用算法(如 ADI、算子分裂)。
    • 高效方法:LU-SGS(定常流)、双时间步(非定常流)、多重网格(加速收敛)。

知识框架总结

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
graph LR
A[多维问题差分方法] --> B[格式特点]
A --> C[求解算法]
A --> D[时间积分法]
A --> E[方程组解法]

B --> B1[显式推广-稳定性更严]
B --> B2[隐式推广-矩阵求解难]

C --> C1[算子分裂]
C --> C2[ADI格式]
C --> C3[跳点算法]

D --> D1[Runge-Kutta]
D --> D2[近似因子分解]

E --> E1[直接法-Gauss/LU/追赶]
E --> E2[迭代法-Jacobi/GS]
E --> E3[LU-SGS]
E --> E4[双时间步]
E --> E5[多重网格]

以下是基于《第7章-多维问题的差分方法》讲义整理的适合出简答题、判断题和分析题的知识点,按题型分类归纳:


一、简答题知识点

  1. 显式格式的稳定性条件

    • 问题:为什么二维显式FTCS格式的稳定性条件($ r \leq 1/4)比一维()比一维( r \leq 1/2$)更严格?
    • 答案:维数增加导致增长因子中的正弦项叠加(如$ \sin^2(k_1 \Delta x/2) + \sin^2(k_2 \Delta y/2)$),误差放大更快。
  2. ADI方法的核心思想

    • 问题:交替方向隐式(ADI)格式如何解决二维隐式差分矩阵的求解困难?
    • 答案:将时间步拆分为两半,交替在xxyy 方向隐式求解(如第一步隐式xx 显式yy,第二步隐式yy 显式xx),转化为两个三对角方程组。
  3. 双时间步方法的原理

    • 问题:双时间步方法如何提高非定常流动的计算效率?
    • 答案:在真实时间层内嵌套虚拟时间迭代,用隐式格式(如LU-SGS)处理刚性项,允许大时间步长。
  4. 多重网格法的加速机理

    • 问题:多重网格法为什么能加速迭代收敛?
    • 答案:不同频率的误差分量在不同尺度网格上衰减速度不同(粗网格消除低频误差,细网格消除高频误差)。

二、判断题知识点

  1. 稳定性条件

    • 命题:三维显式FTCS格式的稳定性条件是$ r \leq 1/4$。
    • 答案:错误(正确应为$ r \leq 1/6$)。
  2. 隐式格式特性

    • 命题:二维Crank-Nicolson格式直接推广后无条件稳定,且易于求解。
    • 答案:错误(无条件稳定但生成五对角矩阵,直接求解困难)。
  3. 跳点算法

    • 命题:跳点算法通过奇偶网格交替更新,其稳定性与显式格式相同。
    • 答案:错误(跳点算法无条件稳定,显式格式有条件稳定)。
  4. LU-SGS方法

    • 命题:LU-SGS是一种显式时间推进方法。
    • 答案:错误(是隐式方法,通过矩阵分裂高效求解)。
  5. Runge-Kutta法

    • 命题:所有三阶Runge-Kutta格式均满足TVD性质。
    • 答案:错误(仅特定系数组合如TVD-RK3满足)。

三、分析题知识点

  1. 显式与隐式格式对比

    • 问题:分析显式和隐式格式在多维问题中的优缺点及适用场景。
    • 分析要点:
      • 显式:简单但Δt\Delta t 小(稳定性严),适合小规模问题。
      • 隐式:Δt\Delta t 大但求解复杂(需迭代/分裂),适合高维刚性系统。
  2. ADI格式的误差来源

    • 问题:从P-R格式的修正方程(Page 25)分析其截断误差阶数。
    • 分析要点:
      • 修正项含$ \frac{\beta^2 \Delta t^2}{4\Delta x^4} \delta_x^2 \delta_y^2,但整体仍为,但整体仍为 O(\Delta t^2, \Delta x^2)$。
  3. 多重网格的误差衰减

    • 问题:结合Fourier分析(Page 71-72),解释为何粗网格能加速低频误差衰减。
    • 分析要点:
      • 低频误差在细网格上衰减慢($ |G| \approx 1),在粗网格上转为高频(),在粗网格上转为高频( |G| \approx 0.33$),衰减更快。
  4. 算子分裂的精度损失

    • 问题:算子分裂算法为何可能降低精度?如何改进?
    • 分析要点:
      • 分裂误差源于非交换性算子(如$ L_x L_y \neq L_y L_x$);
      • 改进:采用Strang分裂(半步长对称分裂)。

四、综合应用题

案例:二维污染物扩散问题

  • 方程
    Ct=β(2Cx2+2Cy2),β=8.5×104m2/min \frac{\partial C}{\partial t} = \beta \left( \frac{\partial^2 C}{\partial x^2} + \frac{\partial^2 C}{\partial y^2} \right), \quad \beta = 8.5 \times 10^{-4} \text{m}^2/\text{min}

  • 边界条件

    • 排污口(左下角):$ C(t,0,0)=20.0$
    • 右/上边界:零梯度边界。

问题

  1. 若用显式FTCS计算,取$ \Delta x = \Delta y = 1 \text{m},求最大允许,求最大允许 \Delta t$。
  2. 计算结果发散(Page 6),分析原因。
  3. 提出两种改进算法并说明优势。

参考答案

  1. 稳定性条件
    r=βΔtΔx214    Δt14×8.5×104294.1min r = \beta \frac{\Delta t}{\Delta x^2} \leq \frac{1}{4} \implies \Delta t \leq \frac{1}{4 \times 8.5 \times 10^{-4}} \approx 294.1 \text{min}

  2. 发散原因:实际$ \Delta t$ 过大(如取1000步),违反$ r \leq 1/4$。

  3. 改进方案

    • ADI格式:无条件稳定,允许大$ \Delta t$;
    • 跳点算法:无条件稳定且易于并行。

CH08 数值网格生成技术

§8.1 网格技术概述

  1. 网格与CFD的关系
    • 网格生成占CFD总耗时的60%-80%,是影响计算精度和收敛性的关键因素。
    • 复杂外形网格生成是CFD推广的主要障碍。
  2. 网格分类
    • 结构网格
      • 数据按数组索引(i,j,k)存储,索引高效。
      • 优点:计算精度高、贴体性好;缺点:复杂外形生成困难。
      • 退化形式:二维三角形、三维五面体。
    • 非结构网格
      • 基本单元:二维三角形、三维四面体。
      • 优点:适应复杂外形、支持自适应加密;缺点:内存和计算开销大、数据结构复杂。
    • 混合网格
      • 结合结构与非结构网格优势(如金字塔形、三棱柱网格)。
  3. 流场计算对网格的要求
    • 结构网格:物理空间到计算空间的映射需一一对应;网格线接近流线;满足正交性。
    • 共同要求:网格变化连续;流动参数剧烈区域需加密网格。

§8.2 结构网格生成

  1. 贴体坐标系

    • 物面条件处理方便,控制方程通过坐标变换转化为规则区域求解。

    • 二维变换公式:
      t(UJ)+ξ(F~J)+η(G~J)=0 \frac{\partial}{\partial t} \left( \frac{U}{J} \right) + \frac{\partial}{\partial \xi} \left( \frac{\tilde{F}}{J} \right) + \frac{\partial}{\partial \eta} \left( \frac{\tilde{G}}{J} \right) = 0
      其中F~=Fξx+Gξy\tilde{F} = F \xi_x + G \xi_yG~=Fηx+Gηy\tilde{G} = F \eta_x + G \eta_yJJ 为雅可比行列式。

  2. 物理空间到计算空间的映射

    • 单连域:区域内任意封闭曲线可连续收缩至一点。
    • 多连域:采用"H型"或"C型"网格拓扑(如翼身组合体)。
  3. 生成方法

    • 代数生成法
      • 插值函数(Lagrange/Hermite/样条函数)快速生成,但网格质量难控制。
    • 椭圆型方程法
      • 控制方程:Axξξ2Bxξη+Cxηη=0A x_{\xi\xi} - 2B x_{\xi\eta} + C x_{\eta\eta} = 0(椭圆型)。
      • 通过源项P,QP, Q 控制网格疏密(如向特定ξ1\xi_1 加密)。
      • 优点:映射一一对应、光滑性好;缺点:计算量大。
    • 双曲型方程法
      • 正交条件:rξrη=0\vec{r}_\xi \cdot \vec{r}_\eta = 0,面积分布函数H(ξ,η)H(\xi,\eta)
      • 比椭圆法快1-2个量级,需沿方向推进求解。
  4. 多区技术

    • 拼接网格(Patched Grid):通量守恒性好,连接处理复杂。
    • 重叠网格(Overlapped Grid):适于多体相对运动,但通量守恒性难保证。

§8.3 非结构网格生成

  1. 基本方法

    • 用简单几何体(三角形/四面体)填充计算域。
  2. 核心算法

    • Delaunay方法
      • 准则:三角形外接圆内无其他节点。
      • 优点:网格质量高(最小角最大化)、效率高;缺点:三维可靠性低。
      • 关键步骤:Lawson算法(交换对角边)、Bowyer-Watson算法(插入新点)。
    • 推进波前法
      • 从边界阵面推进生成单元,优先选择质量最优(接近等边)的单元。
      • 优点:网格质量好;缺点:算法复杂度适中。
    • 有限叉树法
      • 二维/三维:四叉树/八叉树细分,再划分为三角形/四面体。
      • 优点:易自适应;缺点:边界网格质量差。
  3. 方法对比

    性能 Delaunay 有限叉树法 推进波前法
    计算效率 O(N5/4)O(N^{5/4}) O(NlogN)O(N \log N) O(NlogN)O(N \log N)
    网格质量 2D优,3D差 边界差 2D/3D均优
    自适应支持
    可靠性(3D)

§8.4 特殊网格方法

  1. 混合网格
    • 近壁面用结构网格,远场用笛卡尔网格(结合精度与效率)。
  2. 多区重叠网格
    • 不同区域用独立求解器(如机身用FUN3D非结构网格,旋翼用OVERFLOW结构网格)。
  3. 网格自适应技术
    • 基于流场梯度(如压力、马赫数)动态加密网格。
  4. 网格变形技术
    • 用于运动边界问题(如气动弹性分析)。

§8.5 网格生成软件

  1. 主流软件
    • Pointwise
      • 支持结构/非结构网格,操作流程:几何导入→生成Connector→Domain→Block→导出。
    • ICEM CFD
      • 优势:多区结构网格生成,文件类型:.tin(几何)、.blk(块拓扑)、.uns(网格)。
    • Hypermesh:侧重有限元前处理;Gambit:已被ICEM取代。
  2. 操作共性
    • 几何导入→网格尺寸设置→生成/优化网格→边界条件定义→导出求解器格式。

§8.6 几何守恒律(GCL)

  1. 核心问题
    • 动网格变换需满足:τ(QJ)=0\frac{\partial}{\partial \tau} \left( \frac{Q}{J} \right) = 0(无物理源项时保证解守恒)。
  2. 物理意义
    • 雅可比行列式J1J^{-1} 表示网格控制体积,度量系数对应有向面积。
  3. 重要性
    • 高精度格式需满足GCL以避免几何诱导误差(如涡输运、激波捕捉问题)。

关键结论

  • 网格选择:简单外形优选结构网格;复杂外形用非结构/混合网格。
  • 方法趋势:推进波前法(质量优)、Delaunay法(效率高)是主流。
  • 软件应用:Pointwise/ICEM支持工业级复杂网格生成。
  • 守恒律:GCL是动网格高精度计算的基础。