求解二维欧拉方程是否需要进行特征分解?

计算科学 有限体积
2021-12-24 16:22:36

最近,我正在尝试使用 FV-WENO 重建来解决 2D Euler 方程。对于平滑的初始问题,组件方式的 WENO 重建效果很好。我的问题是,如果我想解决双马赫反射问题,我需要做特征分解吗?似乎在 2D 中进行特征分解不像在 1D 中那样容易。

4个回答

当您说“特征分解”时,我认为它是指找到欧拉通量雅可比行列式的特征值和特征向量。这在近似黎曼求解器(例如 Roe 求解器)中是必需的。

然而,有几个黎曼求解器并不明确需要通量雅可比行列式的特征分解。其中包括 Van Leer 的通量矢量分裂、AUSM 系列方案和其他几个方案。例如,这里简要描述了一些 1D 版本: http: //chimeracfd.com/programming/gryphon/fluxmain.html如果您使用良好的限制器,许多较新的通量矢量分裂方案(例如 AUSM+)可以很好地解决冲击等问题。由于您使用的是WENO,所以应该没问题。您可能需要稍微调整一下 WENO 参数。

对于 2D 和 3D 问题,黎曼求解器本身几乎没有任何区别。本质上,一维黎曼求解器是在垂直于两个单元之间的面的方向上应用的。例如,如果一维方案需要左单元马赫数ML=uL/cL, 2D 方案需​​要左单元面-法线马赫数MnL=uLn/cL在哪里n是计算通量的面的法线。质量通量,而不是fmass=ρu, 变成fmass=ρun, 等等。

您可以使用任何常见的黎曼求解器(Roe、HLLC 等)来执行此操作,而不仅仅是前面提到的那些。例如,请参阅https://web.stanford.edu/group/frg/course_work/AA214B/CA-AA214B-Ch7.pdf中的最后一部分它们也在一些书中有所描述,例如 J. Blazek,“计算流体动力学:原理和应用”。

通过特征分解,您将获得更好的结果。这为您的方案带来了逆风特性,这对于双曲线问题来说是最关键的。

如果您使用基于黎曼求解器的逆风通量,则该方案中已经内置了逆风。所以对守恒变量做 WENO 可能没问题。但是如果你使用像 Lax-Friedrich 这样的中心通量,那么最好对特征变量进行 WENO 重构。

WENO 是一种限制器,它试图强制执行一些最大原则或单调性条件。守恒变量没有最大值原理,但特征变量有,至少在局部线性化意义上。因此,如果您不介意额外费用,我建议您始终将 WENO 应用于特征变量。或者至少在您的代码中有两个选项,因此您可以同时尝试两个选项,看看哪一个最适合您的问题。

通常,Riemann 求解器或近似 Riemann 求解器用于求解需要冲击捕获的测试用例,例如这个。它是特征变量上风向非线性方程的延伸,所以我认为这就是特征分解的意思。

二维黎曼问题确实比一维问题复杂得多。例如,请参阅有关多维黎曼求解器的本课程。

然而,对于许多应用程序,单元角处的二维效应被忽略,仅解决沿边缘的一维黎曼问题。这个近似值可能足以解决您的测试用例。

不,它并不总是必要的。所谓的中心方案(如https://en.wikipedia.org/wiki/MUSCL_scheme#Kurganov_and_Tadmor_central_scheme)不使用黎曼求解器。他们搜索的关键字是黎曼求解器免费方案。