主页 模型库 竞赛 学习中心 工具箱 论文库 前沿 建模空间 AI建模
学习中心 探索专题 微分方程与差分方程 偏微分方程入门

本页实验台

  1. 热传导方程
  2. 波动方程
  3. 对流扩散
  4. 稳定性与 CFL 条件
LAB 01

热传导方程

一根铁棒一头加热,看温度怎么被抹平;扩散系数一调,快慢立刻变

当前的最高温度—
总热量 / 初始总热量—
稳定性参数 r = D·Δt/Δx²—
热斑的有效宽度—
热传导方程做的事只有一件:把不平的地方抹平。公式 uₜ = D uₓₓ 的意思是"温度的变化率正比于它的二阶导数"——如果一个点比左右邻居的平均值低,它就升温;高,就降温。仅此而已,可这一条规则就足以让任何初始形状最终变成一条平线。时空图上看得最清楚:方波的两个直角边立刻被磨圆,然后整体越摊越平。注意边界条件带来的差别,这是 PDE 和 ODE 最不一样的地方。选"两端恒温 0":热量不断从两端漏走,总热量一路掉到 0,最后整根棒子变冷。选"两端绝热":热量一点也跑不掉,总热量严格守恒(读数第二行的两个数会一直相等),最终温度在各处相等,等于初始平均值。同一个方程,同一个初值,两种边界条件给出完全不同的结局。这就是为什么在 PDE 里,"边界条件是模型的一部分",不是附加说明。(现实对应:保温杯 vs 敞口杯;绝缘导线 vs 裸线;封闭系统 vs 开放系统。)最后看第三行读数 r。它一直保持在 0.2 附近,因为这里的时间步长是按 D 自动调的——下一页会告诉你如果不这么调会发生什么。
LAB 02

波动方程

同样的初始形状,热方程把它抹平,波方程把它劈成左右两半

波动方程的最大绝对值—
热传导方程的最大值—
波动的"能量" / 初始—
热传导的同一个量—
同一个初始形状,左右两张图的结局完全不同。差别只在一个字:热传导方程是 uₜ(一阶时间导数),波动方程是 uₜₜ(二阶)。左边:形状被越抹越平,峰值一路下降,最后趋于一条直线,信息彻底丢失。这是不可逆的——把时间倒过来算(D 取负),数值解立刻爆炸。右边:每个峰劈成向左和向右两个半高的波,各自匀速传播,撞到边界后反射回来,形状基本保持不变。这是可逆的:把时间倒过来,波会精确地走回去。读数里那两个"能量"指标把这件事量化了:波动方程的值在 1 附近晃(边界反射会有数值损耗),热传导的值一路掉向 0。为什么二阶时间导数就意味着可逆?因为 uₜₜ 在 t → −t 的变换下不变(负负得正),而 uₜ 会变号。物理定律的时间对称性,就写在方程里那个下标上。(牛顿第二定律、波动方程、薛定谔方程都是二阶或含虚数单位的一阶,都可逆;热传导方程、扩散方程、Navier–Stokes 的黏性项都是一阶,都不可逆——熵增出现在后面这一类里。)
LAB 03

对流扩散

污染团一边扩散一边被水流带走,Péclet 数决定谁说了算

Péclet 数 = v·L/D—
网格 Péclet 数 = v·Δx/D—
数值扩散 / 真实扩散—
污染团现在的宽度—
一团污染物被水流带着走,同时自己往外扩散。哪一个占上风,由 Péclet 数决定:Pe = 流速 × 特征长度 ÷ 扩散系数。Pe 很小时(把流速拖到最低),时空图上的斑几乎不动,只是慢慢摊开——扩散主导。Pe 很大时(流速拉满、扩散调小),斑沿着一条斜线整体平移,形状变化不大——对流主导。这个数在工程里到处都是:河流里的污染扩散、换热器里的传热、色谱柱里的分离、血管里的药物输运,第一步都是先算 Pe。但这一页真正要提醒的是第三行读数。这里的对流项用的是迎风差分,它稳定、不会震荡,代价是引入了一个额外的、假的扩散,大小是 v·Δx/2。把扩散系数调到很小(比如 0.002)、流速调到很大,你会看到"数值扩散 / 真实扩散"这个比值远大于 1——这意味着屏幕上看到的展宽,绝大部分是格式造成的,不是物理。这是计算流体力学里最经典的陷阱之一:结果看起来很光滑、很合理,实际上算的是另一个方程。判别法就是网格 Péclet 数:v·Δx/D 远大于 2 时,你的网格对这个物理问题来说太粗了。要么加密网格,要么换高阶格式,而不是相信眼睛。
LAB 04

稳定性与 CFL 条件

时间步长过了那条线,数值解当场炸给你看

当前的 r—
最后一步的最大绝对值—
结论—
单步放大因子 |1−4r|—
把 r 慢慢往上拖,在 0.5 那里会发生一件非常突然的事。r = 0.50:跑 400 步以后最大值是 0.083,一路衰减,完全正常。r = 0.51:跑 400 步以后是 0.47——已经开始往上走。r = 0.55:3.2×10²⁴。r = 0.70:1.0×10⁹⁵。没有过渡,没有"稍微不准",只有稳定和爆炸两种状态。这就是显式格式的 CFL 条件:r = D·Δt/Δx² ≤ 1/2。原因可以用两行算清楚。把误差写成一个空间上的正弦波 e^(ikx),代进差分格式,得到每一步的放大因子g = 1 − 4r·sin²(kΔx/2)。最坏的波(kΔx = π)给出 g = 1 − 4r。要求 |g| ≤ 1,就得到 r ≤ 1/2。读数最后一行给的就是这个 |1−4r|:它一旦超过 1,每一步都在放大,几十步就足以放大到天文数字。这个条件的实际含义常常被低估。它说的是 Δt 必须正比于 Δx²:把空间网格加密一倍,时间步长要缩小四倍,总计算量涨八倍。这就是为什么扩散类问题在高分辨率下会突然变得极贵,也是隐式格式(无条件稳定,但每步要解方程组)存在的全部理由。

这一页想说的

三个方程,三种性格:热传导抹平、波动传播、对流搬运,而它们的组合覆盖了绝大多数连续介质问题。这一页想留下的是三条实践性的东西:边界条件是模型的一部分,换一个结局就不同;一阶时间导数不可逆、二阶可逆,这条区别写在方程的下标里;显式格式的 Δt 必须正比于 Δx²,而迎风格式会偷偷加进一份假扩散。

接着看

← 返回模块 ← 返回探索专题