涉及导数项的通量的 WENO 重构

计算科学 流体动力学 双曲-pde
2021-12-13 13:31:00

我有一组修改后的可压缩欧拉方程,我想使用 WENO 方法求解。问题是修改后的通量函数涉及导数和过滤项,我不确定如何在 WENO 方案中以一致的方式计算导数项。为简单起见,问题的关键方面可以用修改后的一维 Burgers 方程来说明

ut+(12u2+32α2(ux)2¯)x=0

其中上划线表示使用亥姆霍兹滤波器的滤波操作 f¯=gαf

gα(x)=12αe|x/α|

如果α在网格间距的尺度上,这个 PDE 在网格间距的尺度上产生近乎不连续的地方,所以我想使用 WENO 方法进行模拟。

我的问题:考虑到u在网格点,我应该如何计算ux在网格点,以便我可以以 WENO 方式重建通量函数,因为在网格点可能存在近乎不连续性u.

或者,重建会更容易/更明智吗uux在半网格点,然后根据这些重建值计算通量函数?如果是这样,我应该如何计算ux在半格点?

2个回答

警告: 我之前没有亲自实施过 WENO,所以对此持保留态度。

或者,重建会更容易/更明智吗uux在半网格点,然后根据这些重建值计算通量函数?

认为通常你想重建u第一的。WENO 的基本概念是选择最好的重构u给定一组节点值。那次重建给了你一个unique多项式。由于该多项式是唯一的(且非振荡的),因此您也具有唯一的值ux然后很容易直接从该多项式计算。在我看来,如果你试图独立地重建两者uux从节点值来看,有些东西会不一致。

这是我最终为 Burger 方程所做的。

在每个网格点:

  1. 计算所需阶数的 ENO 多项式u并使用这些来计算ux在网格点xj, 迎风基于当地特征速度u.
  2. 使用适当的平滑度度量(即Jiang and Shu, 2005 [PDF link]中的那些)来形成(WENO)加权近似ux
  3. 使用现在已知的值计算网格点处的通量函数uux
  4. 对半网格点处的通量进行原始函数的 WENO 重建。

到目前为止,这似乎运作良好。