Burgers 的时空 Galerkin 改变对流速度

计算科学 有限元 离散化 抛物线pde 时空伽辽金
2021-12-25 10:32:32

tldr:应用于对流扩散问题的时空伽辽金方案能否对对流速度产生影响?

时间t(0,1)和空间变量ξ(0,1), 我正在考虑粘性 Burger 方程

(*)z˙+12ξ(z2)νξξz=0

具有粘度参数我在空间中的狄利克雷条件为零,作为初始条件,我使用阶跃函数,它在域的一半上是一个,在另一半上是零。νz(0)

通过空间中的有限元和时间上的龙格-库塔,我得到了预期的数值结果。

空间中的 FEM + 时间中的龙格-库塔

现在,如果我用时空 Galerkin 方案对方程进行离散化,我会得到一张图片,其中除了低维基础造成的伪影外,对流速度显然太快了。(前线过早到达边境)

具有 12*12 基函数的低秩时空 Galerkin

事实上,如果我将方程替换为因子,那么对流看起来是正确的。120.375()

具有 12*12 基函数的校正对流速度的低秩时空伽辽金

由于这个因子适用于所有类型的实验,即各种粘度参数和时空基的大小,我几乎可以肯定这不是我的代码中的错误。因此,我的问题是:是否存在关于瞬态对流扩散问题的时空离散化的已知问题,导致对流速度的这种修正?0.375ν

请注意,我在时间上也使用连续 Galerkin,因此没有将时空方案解释为空间离散化加时间步进。

编辑(第一次编辑): 这是时空 Galerkin 模拟的结果,以获得更精细的分辨率、与狄利克雷条件一致的平滑初始条件以及更短的时间框架以避免波的“冲突”在零狄利克雷条件下:

具有 20*18 基函数的全解和时空 Galerkin

和以前一样,在低阶时空 Galerkin 方法中(右),如果与 FEM/Runge-Kutta 解(左)相比,波速太高了。

编辑(和忏悔)我必须承认这实施中的错误。在@BillBarth 的回答之后,nutils 的 Joost我提供了一个关于高保真时空有限元的相同问题的基准模拟,我确信要自下而上地修改我的代码。无论如何,这就是在(空间,时间)时空伽辽金方案中具有低维(12、12)自由度的样子。

在此处输入图像描述

1个回答

在你的第三张照片中,仍然有很多虚假的振荡。您清楚地知道您的网格至少有 2 倍的分辨率不足。我猜测 (*) 的第二项中的 0.5 倍是外部强加的,您不应该随意更改它。每个时空 Galerkin 方法都等效于空间和时间的有限差分方案,具体取决于您选择的求积。我不知道你在这里做了什么求积,我也没有记住等价,但如果这不能解决辛的问题,你很可能会走得太快或太慢。

我建议细化网格,直到振荡首先停止,然后看看你是否获得了所需的波速。如果不是,您应该使用您正在使用的任何正交方法从时空 Galerkin 方法的一个时间步长(即一次测试函数)开始向后工作,并查看您拥有的 FDM。它可能不是辛的,并且可能会搞砸一切。