1. 连续方程
考虑二维守恒型方程:
∂tρ+∇⋅(ρu)=S
其中:
u=(ux,uy)
展开散度项:
∇⋅(ρu)=∂x(ρux)+∂y(ρuy)
所以方程可写为:
∂tρ+∂x(ρux)+∂y(ρuy)=S
进一步展开通量项:
∂x(ρux)=ux∂xρ+ρ∂xux
∂y(ρuy)=uy∂yρ+ρ∂yuy
因此:
∂tρ+ux∂xρ+uy∂yρ+ρ(∂xux+∂yuy)=S
即:
∂tρ+u⋅∇ρ+ρ∇⋅u=S
沿流线方向的物质导数为:
DtDρ=∂tρ+u⋅∇ρ
所以有:
DtDρ=S−ρ∇⋅u
2. 通量记号
令:
F=ρux,G=ρuy
则二维守恒型方程写成:
∂tρ+∂xF+∂yG=S
在网格点 (i,j) 和时间层 n 上,记:
Fi,jn=(ρux)i,jn
Gi,jn=(ρuy)i,jn
3. 中心差分格式
对空间导数使用中心差分:
∂xF≈2ΔxFi+1,jn−Fi−1,jn
∂yG≈2ΔyGi,j+1n−Gi,j−1n
时间方向使用显式 Euler 格式:
Δtρi,jn+1−ρi,jn+2ΔxFi+1,jn−Fi−1,jn+2ΔyGi,j+1n−Gi,j−1n=Si,jn
因此:
ρi,jn+1=ρi,jn−Δt[2ΔxFi+1,jn−Fi−1,jn+2ΔyGi,j+1n−Gi,j−1n]+ΔtSi,jn
这里选择中心差分而不是迎风差分,看似是脱离了实际场景,实则是为了约掉后面三角放缩的倍数2。
4. 有界性假设
设:
∣ρi,jn∣≤Rn
∣ux,i,jn∣≤Vx
∣uy,i,jn∣≤Vy
∣Si,jn∣≤S0
其中:
Rn=∥ρn∥∞=i,jmax∣ρi,jn∣
由通量定义:
Fi,jn=(ρux)i,jn
所以:
∣Fi,jn∣=∣ρi,jnux,i,jn∣≤RnVx
同理:
∣Gi,jn∣=∣ρi,jnuy,i,jn∣≤RnVy
5. 中心差分项的放缩
先看 x 方向:
2ΔxFi+1,jn−Fi−1,jn≤2Δx∣Fi+1,jn∣+∣Fi−1,jn∣
由于:
∣Fi+1,jn∣≤RnVx
∣Fi−1,jn∣≤RnVx
所以:
2ΔxFi+1,jn−Fi−1,jn≤2Δx2RnVx=ΔxRnVx
同理,y 方向有:
2ΔyGi,j+1n−Gi,j−1n≤ΔyRnVy
所以中心差分下的空间项整体满足:
2ΔxFi+1,jn−Fi−1,jn+2ΔyGi,j+1n−Gi,j−1n≤Rn(ΔxVx+ΔyVy)
6. 对 ρi,jn+1 做放缩
由差分格式:
ρi,jn+1=ρi,jn−Δt[2ΔxFi+1,jn−Fi−1,jn+2ΔyGi,j+1n−Gi,j−1n]+ΔtSi,jn
取绝对值并使用三角不等式:
∣ρi,jn+1∣≤∣ρi,jn∣+Δt2ΔxFi+1,jn−Fi−1,jn+2ΔyGi,j+1n−Gi,j−1n+Δt∣Si,jn∣
代入前面的有界性估计:
∣ρi,jn+1∣≤Rn+ΔtRn(ΔxVx+ΔyVy)+ΔtS0
即:
∣ρi,jn+1∣≤Rn[1+Δt(ΔxVx+ΔyVy)]+ΔtS0
由于左边对任意 (i,j) 成立,所以取最大值得:
Rn+1≤Rn[1+Δt(ΔxVx+ΔyVy)]+ΔtS0
7. 记号简化
令:
a=ΔxVx+ΔyVy
则递推不等式变为:
Rn+1≤(1+aΔt)Rn+ΔtS0
这就是后续使用离散 Gronwall 不等式的基本形式。
8. 递推展开
由:
Rn+1≤(1+aΔt)Rn+ΔtS0
可得:
R1≤(1+aΔt)R0+ΔtS0
R2≤(1+aΔt)R1+ΔtS0
代入 R1:
R2≤(1+aΔt)2R0+ΔtS0(1+aΔt)+ΔtS0
继续递推,得到:
Rn≤(1+aΔt)nR0+ΔtS0k=0∑n−1(1+aΔt)k
利用等比数列求和:
k=0∑n−1(1+aΔt)k=aΔt(1+aΔt)n−1
所以:
Rn≤(1+aΔt)nR0+aS0[(1+aΔt)n−1]
整理得:
Rn≤(1+aΔt)n(R0+aS0)−aS0
进一步放松:
Rn≤(1+aΔt)n(R0+aS0)
9. 指数上界
令:
tn=nΔt
由于:
1+x≤ex
所以:
(1+aΔt)n≤eanΔt=eatn
因此:
Rn≤eatn(R0+aS0)−aS0
进一步放松为:
Rn≤eatn(R0+aS0)
10. 如何严格压出 1.5R0
由前面递推估计可得:
Rn≤eatn(R0+aS0)−aS0
即:
Rn≤eatnR0+(eatn−1)aS0.
注意,如果只假设:
eatn≤23,
那么只能推出:
Rn≤23R0+21aS0,
因此一般不能推出:
Rn≤23R0.
要严格得到 1.5R0,必须对源项额外施加小量假设,并且不能把指数因子直接用满到 23。
例如,取中间收紧条件:
eaT≤45,
等价地,只要假设:
aT≤ln45.
于是对任意 0≤tn≤T,有:
eatn≤45,eatn−1≤41.
因此:
Rn≤45R0+41aS0.
若进一步假设源项满足:
aS0≤R0,
则:
Rn≤45R0+41R0=23R0.
所以,在有源项的情况下,严格结论应写为:
Rn≤1.5R0
成立的充分条件是:
aT≤ln45,aS0≤R0.
其中:
a=ΔxVx+ΔyVy.