这篇文章整理线性浅水方程里几个常用诊断量的定义:质量、能量、线性位涡和 enstrophy。
本文只说明这些量各自怎么定义,以及连续形式和离散形式之间怎样对应,不重复展开守恒条件本身。能量守恒的空间和时间结构见 线性浅水离散格式的能量守恒条件。
这里考虑的线性浅水方程是
∂tu+fu⊥+g∇h=0,
∂th+H∇⋅u=0.
其中 u 是速度,h 是自由面高度扰动。下面分别写出连续数学定义和常见的离散对应。
连续数学定义为
M(t)=∫Ωhdx.
若采用逐单元、逐积分点的积分方式,则对应的离散量可写成
Mh=K∑q∈K∑wq∣JK(q)∣hh(xq).
它表示把离散场 hh 在全区域上做数值积分。
连续数学定义取物理形式
E(t)=21∫Ω(H∣u∣2+gh2)dx.
如果只关心守恒而不关心系数,去掉前面的 1/2 也可以,因为它只差一个常数倍。
对应的离散定义为
Eh=K∑q∈K∑21wq∣JK(q)∣(H∣uh(xq)∣2+ghh(xq)2).
这正是连续物理能量的数值积分版本。
二维平面上,相对涡量通常定义为
ζ=∇⊥⋅u=∂xuy−∂yux.
对动量方程取 ∇⊥⋅,并与连续性方程联立,可得到讲义里使用的线性位涡
qlinear=ζ−Hfh.
当 f 为常数时,它满足
∂tqlinear=0.
因此对应的连续守恒量可定义为
Q(t)=∫Ωqlineardx=∫Ω(ζ−Hfh)dx.
在离散层面,常见做法不是直接对 uh 求点值 curl,而是先对每个单元 K 用 Stokes 公式计算边界环量
ΓK=∮∂Kuh⋅tds.
然后定义单元平均相对涡量
ζK=∣K∣ΓK.
若把单元平均高度扰动记作
hK=∣K∣1q∈K∑wq∣JK(q)∣hh(xq),
则单元平均线性位涡可写成
qlinear,K=ζK−HfhK.
于是全局离散线性位涡定义为
Qh=K∑∣K∣qlinear,K=K∑(ΓK−Hf∣K∣hK).
这里真正自然守恒的不是单独的相对涡量 ζ,而是和高度扰动耦合后的 qlinear。
若继续沿用线性位涡变量,那么更自然的 enstrophy 是线性位涡的平方积分。带 1/2 的形式是
Z(t)=21∫Ωqlinear2dx.
也常见不带 1/2 的形式
Z(t)=∫Ωqlinear2dx.
若采用不带 1/2 的版本,并把单元平均线性位涡记作 qlinear,K,则离散 enstrophy 定义为
Zh=K∑∣K∣qlinear,K2.
代入
qlinear,K=∣K∣ΓK−HfhK,
也可以写成
Zh=K∑∣K∣(∣K∣ΓK−HfhK)2.
因此 enstrophy 关注的不是单独的环量或高度,而是线性位涡这个耦合量的平方积分。
| 诊断量 | 连续数学定义 | 常见离散定义 |
|---|
| Mass | ∫Ωhdx | $\sum_K\sum_q w_q |
| Energy | $\frac12\int_\Omega (H | \bm |
| Linear PV | ∫Ω(ζ−Hfh)dx | $\sum_K |
| Enstrophy | ∫Ωqlinear2dx | $\sum_K |
需要特别注意两个约定:
- 能量和 enstrophy 是否乘 1/2,常常只是记号约定,不影响守恒判断。
- 在线性旋转浅水方程里,真正自然守恒的旋转量是 qlinear=ζ−Hfh,不是单独的 ζ。