线法中多维平流的横向分量

计算科学 有限差分 流体动力学 有限体积 线法
2021-12-14 18:53:08

所以我从一些人那里继承了一个代码来解决特定系统的对流-扩散-反应方程。原始代码首先在 1D 中实现,在笛卡尔坐标中运行良好。但是,现在我试图在 2d 中实现它,我遇到了一些问题。

方程是:

ut+(vuDu)=f

其中是进化的原始变量,是扩散系数,是源+汇。uDf

通过线的方法将空间离散化与时间离散化,将时间与 Runge-Kutta 4 阶方案集成,并使用笛卡尔坐标离散化,将模型从 1D -> 2D 扩展变得相对简单,因为空间分量是相加的. 然而,问题是我正在求解的方程的真正解往往有点球对称(但不完全),但网格是笛卡尔的,所以解决方案倾向于在笛卡尔网格中显示网格方向错误,即解决方案看起来有点“方形”,而不是看起来像“圆形”。解决此网格方向错误的 CPU 代价高昂的解决方案是使网格更精细,但这会导致计算变得非常缓慢。

我能够通过将拉普拉斯算子离散为 9 点模板而不是原始的 5 点模板来解决对流-扩散-反应方程的扩散部分的 2D 网格方向误差,获得后一个 5 点模板通过简单地添加 x 和 y 分量的一维拉普拉斯离散。9 点模板将空间“横向”组件添加到离散化中。然而,平流部分仍然存在一些非常糟糕的网格方向问题。

我想知道是否有类似于 2D 平流问题的“9 点模板”。也许是一个以某种方式考虑“横向”跨项空间分量的模板。我知道拐角运输逆风(CTU)具有横向分量:

Qijn+1=QijnuΔtΔx[QijnQi1jn]vΔtΔy[QijnQij1n]+uv2Δt2ΔxΔy[(QijnQij1n)+(Qi1jnQi1j1n)+(QijnQi1jn)+(Qij1nQi1j1n)]

但是我不确定它是否可以与 MOL 和 Runge-Kutta 4 阶一起使用,因为它明确取决于时间,例如,而用于 MOL 的单元离散化方案似乎只取决于空间分量,因此时间可以单独集成。但是我可能错了,CTU 可能是完全合适的。我真的很感激这里的一些指导,因为我是菜鸟!Δt

1个回答

您可以使用模板进行多维最小二乘拟合,这将考虑横向分量。我以前在有限体积中看到过这种情况,[Weller et al. 2009, Weller & Shahrokhi 2014] 给出了在非结构化二维网格上使用迎风偏置模板的详细信息,但相同的技术可以直接应用于均匀笛卡尔网格。

我已经看到这种技术与通量形式的平流一起使用会产生稳定的结果,但我自己对平流形式的测试表明这种方案不稳定,可能是由于Godunov 定理

参考

  • [韦勒等人。2009] Voronoi、Delaunay 和块结构网格细化,用于求解球体上的浅水方程。每月天气回顾, 137, 4208-4224, dx.doi.org/10.1175/2009MWR2917.1
  • [Weller & Shahrokhi 2014] 对声波和重力波进行隐式处理的完全可压缩欧拉方程的解中的地形上的无卷曲压力梯度。每月天气回顾, 142, 4439-4457, dx.doi.org/10.1175/MWR-D-14-00054.1