粗细网格界面处的通量?

计算科学 pde 有限差分 有限体积 自适应网格细化
2021-12-13 06:33:24

我正在尝试使用自适应网格细化来求解一维无粘性 Burger 方程。这是 PDE:

δUδt+δFδx=0
其中变量 U 的通量 F 定义为
F=U22

为了求解这个方程,我在点 i 周围定义了一个控制体积,那么我应该将原始方程写为:

Uin+1UinΔt+Fi+0.5nFi0.5nΔx=0
我将这些通量定义为(参考:http ://www.astro.uu.se/~bf/course/numhd_course_20100124.pdf ):

在此处输入图像描述

该方案适用于任何特定的网格。现在,当我使用 Berger 和 Collela ( http://www.sciencedirect.com/science/article/pii/0021999189900351 ) 提出的自适应网格细化方案时。我对如何计算粗细网格界面处的通量感到困惑,如下图所示:(细化因子为 4,号是细网格点。 在此处输入图像描述

在集成精细网格期间,我需要获取这些通量,因为这些通量用于校正粗网格点值以确保网格层次结构中的守恒。在这种情况下,我需要使用与细网格相关的这些通量来校正i-1i+1的值。由于它们是细网格的边界通量,而且边界值随着每个细网格时间步长而变化(与粗网格不同,因为粗网格边界值是分配给 PDE 的边界条件),我不知道如何评估他们。在每个精细的网格时间步之后,我知道所有四个点的u值。

1个回答

即使这些通量出现在细网格的边界,它们也不是边界通量。您需要做的是在细化边界处离散您的方程,同时考虑单元的不对称性。

如何精确计算通量也取决于时间步进方法。最简单的情况是在所有细化级别上使用单个时间步。如果您在不同级别上使用不同的时间步长,事情会更加复杂,因为您需要“预测”粗略的值。