PDE 离散化的稳定性

计算科学 有限差分 稳定 离散化 数字 运算符拆分
2021-12-06 00:18:22

假设我想数值求解f(x,k)稳态条件下电子的一维玻尔兹曼方程,给出为:

(km)fx+Efk=ff0τ
其中所有其他符号表示常数值。

为了离散化方程,我定义了(x,k)网格和我确定真实空间和动量空间的坐标x[i]k[j], 分别。

(kj2m)[f(i+1,j)f(i1,j)]Δk+E2[f(i,j+1)f(i,j1)]Δx=f(i,j)f0(i,j)τΔxΔk
现在,上面的矩阵方程给出了一个左侧矩阵,该矩阵对于任意常数值都不稳定,并导致非常难看的振荡。

我看到很多人使用所谓的“交错网格”(由直接/伴随网格节点组成),或者使用各种分裂方法(偶/奇或正/负分裂)来解决这个问题。我对这些稳定方案的阅读越多,我对主要思想就越感到困惑。有人可以帮助我就基本思想及其在这种情况下的实施细节提供易于理解的解释或参考吗?

1个回答

在不同的应用中考虑了类比方程,例如右手边的静止平流方程。通过此视图查看您的方程,您应该尝试单边有限差分,而不是已知会产生振荡的中心差分。

例如,如果您的输入数据是这样的

km0,E0
那么你应该使用后向差异获得
(kjm)[f(i,j)f(i1,j)]Δk+E[f(i,j)f(i,j1)]Δx=f(i,j)f0(i,j)τΔxΔk

如果这些系数有不同的符号,请选择前向差分。我预计振荡会消失,否则其他数据可能会产生困难。

唯一的缺点是此答案中建议的“迎风”方法仅是一阶准确的,因此您可能需要使用精细网格才能获得满意的结果。如果这对您来说是个问题,您可以使用二阶精度的单边有限差分公式,请参阅例如 wikipedia。

PS 根据我的经验,当你有多个未知函数时使用交错网格,例如至少两个偏微分方程。