三阶 TVD 能否承认逆风一维平流方程的完美偏移?

计算科学 流体动力学 计算物理学 龙格库塔
2021-12-04 23:56:11

我最近在这里使用 eqn 3.3 编写了 1 阶段和 3 阶段最优 TVD-RK 显式方案

http://www.ams.org/journals/mcom/1998-67-221/S0025-5718-98-00913-2/

在方程 Ux+Uy=0 上,其中 x 和 y 是 U 速度微分的自变量。这是一个一维问题。使用迎风方案对空间进行离散化。

我运行它的目数为 100,并且声明的 CFL 常数为 1。我看到,随着 TVD-3 的解决方案进展到 t=1s,解决方案在值和形状上的分散速度非常快,而对于 TVD-1 它提供完美的转变。我的问题是——这应该发生吗?我认为将时间精度更改为 3 个阶段不一定会在很大程度上影响函数的形状/值。

如果我不是,那么我认为我不了解 TVD 的实现。我完全按照论文中的描述做了。除了我不确定我是否应该为每个阶段设置不同的 CFL,或者 CFL 是否应该乘以 (1/(2p+1)),其中 p 是多项式的阶。你们能帮帮我吗?

1个回答

是的,这是预期的行为。如果您将 CFL=1 插入大多数一阶方案,您会发现它们给出了精确的解决方案。如果你对大多数高阶方案做同样的事情,你会发现它们没有。

当然,这些方案的目的不是求解一维的线性标量平流方程。对于更复杂的情况(系统、多维、非线性),您不能对所有处的所有波都强制使用 1 的 CFL 数,因此上述事实无关紧要。如果您在 CFL 数明显小于 1 的情况下对平流方程运行两种格式,您会发现高阶格式更准确。