一维分量欧拉 WENO 是否完全适用于冲击?

计算科学 有限差分
2021-11-30 03:53:51

我正在尝试对逐渐复杂的方程和系统实施有限差分 WENO 方法。目前,我在奇异标量方程(恒定平流和 Burgers)方面取得了成功,并试图推进到欧拉方程的一维系统。

我读过有两种方法可以将 WENO 应用于保护法系统:

1) 组件方式(通过将其应用于原始值(rho、rho*u、e))。他们说这种方法适用于简单的测试用例。

2)特征方面(通过通量雅可比等的特征向量进行适当分解)。据说这种方法对于更复杂的流程是必要的。

在尝试复杂的特征分解之前,我尝试实现更简单的组件化方法。到目前为止,它在具有接触不连续性的测试用例上运行良好(即只有密度变化,而压力和速度是恒定的) - 它使它们带有一些拖尾。但是,当我引入即使是微弱的冲击时,它也会在其前端附近产生越来越大的不稳定性,并且一段时间后计算就会崩溃。

它是该方法的正常行为,还是应该能够计算冲击(可能有一些振荡或大量涂抹等)?也许问题是我使用了 Lax-Friedrich 的非分裂通量函数?这是这个通量函数:

h(a,b)=12(f(a)+f(b)α(ba))
在哪里α=max|λ|是最大特征值。

1个回答

尽管 FD 公式已被用于非线性守恒定律 [1],但原则上,FV 公式是在不连续流动的情况下要走的路。

话虽如此,越来越不稳定的原因可能是:

  • 时间步长不正确。尝试减少 Courant 数并检查不稳定是否仍然存在。
  • 不正确的上风。超音速区域的特征场总是沿同一方向平流(即特征值u,u+aua有相同的符号,因为u>a)。但是,必须正确平流亚音速流的特征场。建议对非线性方程进行特征解耦(尤其是解中的不连续性)[2]。

您可以执行的检查:

  1. 关闭 WENO 机制并执行简单的一阶重建,保持其他一切不变。如果你仍然得到振荡,那么你需要重新审视你正在使用的通量函数。尝试 Roe 或分裂求解器。如果您实施 FV 公式,您有很多 Riemann 求解器选择。

  2. 尝试通过减小 Courant 数来减小时间步长。尝试使用 Courant 编号<0.3对于精度阶数大于的方程组3.

  3. 尝试实现 WENO 方法的有限体积形式。与 FD [2] 中的单元中心值不同,FV 公式的重建多项式是基于单元平均值得出的。

如果这些都不起作用,您可能必须执行特征解耦。有关更多讨论和详细信息,请参阅堆栈交换上的此答案。请注意,在 FV 公式的情况下,您必须将保守变量向量线性化以计算面的雅可比行列式(基于左侧和右侧单元格平均值)。之后,找出用于解耦缺点的特征向量矩阵。病媒。在模具的其余部分。

回答您的问题:

我找不到参考,其中将具有组件重构的 FD 公式用于冲击计算。因此,我并不确切知道回答第一个问题的答案。

例如,Lax Friedrich 通量函数比 Roe 更耗散。因此,您不太可能因此而出现振荡。但是,这可以通过实施其他一些方法很容易地排除。

一切顺利!

参考:

[1] 姜 G.-S. 和 Wu, C. (1999)。理想磁流体动力学方程的高阶 WENO 有限差分格式。计算物理学杂志,150(2),561-594。

[2] 舒,CW(1997)。双曲守恒定律的基本非振荡和加权基本非振荡方案。ICASE 报告,(97 - 65)