具有流入边界条件的隐式投影法

计算科学 流体动力学 投影
2021-12-24 08:22:58

我正在尝试使用一种隐式处理粘性效应的投影方法来模拟圆柱体周围的流动。我无法弄清楚边界条件应该是什么,特别是在流入和流出方面。

我认为我们可以考虑斯托克斯方程而不失一般性:

ut=Δup
u=0

如果我们及时显式离散化(忽略压力项),我们得到:

uunδ=Δun
这导致:
un+1=uδpn+1
取这个方程的散度产生压力泊松方程。边界条件可以通过点法线找到:
pn+1n=(uun+1)δn
在哪里un可以计算和un+1n作为边界条件给出。

现在,如果我们在时间上隐式离散,我们得到:

uunδ=Δu
这是扩散方程u, 并且需要边界条件u. 最明显的选择是设置u=un+1在边界上。但是,如果我们这样做,对于压力泊松方程,我们最终会得到pn=0无处不在(甚至在流入和流出)。这对我来说似乎不正确。

在这种情况下,压力泊松方程的正确边界条件应该是什么?

2个回答

tldr:重新制定投影并避免对压力的边界条件的需要。

我认为您误解了投影方案。在我所知道的所有公式中,从来没有真正计算过压力。

它更像是:

  1. 计算暂定速度u近似un+1
  2. 项目u在无散函数空间上得到un+1通过解决
    [I0][un+1ϕ]=[u0]

这里有一些说明:

  • 您可以计算u正如你所建议的(设置pn+1=0)。通常,人们宁愿使用压力梯度的猜测。
  • 在第 2 步中,计算实际速度,以便应用给定的边界条件。然而,
  • 功能ϕ不是压力,因此可能难以解释包括压力在内的边界条件(如 Navier 条件)。有一些方法可以关联ϕ承受压力;参见,例如 [1]。
  • 此外,2.中的系统可以带入您拥有的压力泊松方程中。但是以另一个空间差异为代价(采取差异)和额外需要边界条件。

如果你想真正计算压力,你可以使用关系ϕ(这通常足以猜测下一个压力梯度)或求解从您的实际方程导出的实际压力泊松方程,并且当您计算出速度时。关于正确的边界条件存在一些问题,但在 [2] 中也有一些很好的答案。

[1] 格雷修总理。关于粘性不可压缩流动的半隐式投影方法的理论及其通过有限元方法的实现,该方法还引入了几乎一致的质量矩阵。我:理论。诠释。J.数字。方法流体,11(5):587-620,1990。

[2] PM Gresho 和 RL Sani。不可压缩流动和有限元法。卷。2:等温层流。威利,奇切斯特,英国,2000。

最明显的选择是设置u=un+1在边界上。

如果您的速度由 Dirichlet BCs 描述,这是正确的,但是,如果您的速度 BCs 由 Neumann BCs 描述(例如,完全发展的流),您应该使用un=0. 在我看来,这就是您要寻找的东西。