从速度或流函数场恢复压力

计算科学 流体动力学 边界条件 纳维斯托克斯
2021-12-24 05:47:59

我对不可压缩斯托克斯流体(Re << 1)的二维通道流动感兴趣,在 x 方向具有周期性边界条件,在 y 方向在壁处无滑移。我有现有的代码可以使用经过测试并正常工作的流函数公式来解决这个问题。数值实现的细节无关紧要,但作为参考,我在 y 方向使用有限差分,在 x 方向使用傅里叶方法。

在流函数公式中,压力是通过不可压缩条件消除的,但是偶尔检查它以获得一些洞察力是有用的。需要明确的是,这个压力是一个辅助场,模拟的准确性并不依赖于它。

我的问题是如何从流函数对象中恢复这种压力?我也有原始速度,以防它们更容易使用。这个一般问题似乎被称为压力泊松方程(PPE),但我在理解它时遇到了一些困难。

我的尝试

从斯托克斯方程开始(受到一些力f):

0=η2vp+f

取其发散,并应用不可压缩性,0=v, 我们发现:

2p=f,(1)

即,压力的泊松方程。

双周期

在双周期系统(即 x 和 y 中的周期)中,我们可以使用压力梯度受周期性 BC 影响的边界条件轻松计算压力(定义为常数):p(x,y)=p(x+L,y)等等。这可以很容易地在傅立叶空间中解决。

渠道流量

这是我不确定的地方——在周期性方向上,我知道边界条件,但在壁法线方向上,边界条件应该是什么尚不清楚。Ref中的方程 16 (不包括平流,并假设与时间无关的 BC)表明力和速度都必须出现在 BC 中:

np=n(f+η2v)

这似乎与Ref 2 Eq 1.9 一致(设置f=0) 其中 BC 写道:

p/n=nη2v

这是查找通道几何形状中压力的合适方法吗?(1) 上面?如果没有,是否有任何替代方法,可能直接涉及流函数?易于实施优于效率,因为这通常是一次性计算。

2个回答

因此,如果您想获得压力场,则有两种变体。

1)简单的一个

正如您已经解决了流函数方面的问题(ψ),你从流函数的定义中得到速度场:

vx=ψ/y,vy=ψ/x

然后使用动量方程可以得到压力梯度场,坐标形式:

p/x=η(2vx/x2+2vx/y2)+fx

p/y=η(2vy/x2+2vy/y2)+fy

由于您没有为压力设置任何边界条件(例如无穷大点的压力),因此压力场将不是唯一的。压力场将是唯一的,具有某些附加常数的准确性。了解网格中每个点的压力导数,您可以整合此方程并获得压力场。在积分之前,您应该在网格的某个特定点将压力设置为某个值。积分可以简单地通过公式完成:

pi+1,j=pi,j+gi,jΔxipi,j+1=pi,j+gi,jΔyj

2) 另一个

那么,您可以解决椭圆问题以找出压力场。正如您所提到的,压力方程是在对动量方程进行发散后获得的。对于您的几何图形,Neumann 边界条件如下:

px=η2vx/x2

x=0,x=L线。

您提供的答案是有效的,但是,如果您正在寻找一种针对您的问题的更简单的方法,那么您可以使用p/n=0在防滑、不流动的墙壁上。

我相信,这背后的理由是狄利克雷条件意味着速度是已知的,如果稳定,则意味着边界处不存在净力。查看垂直于壁的边界上的动量方程,您会看到所有力都为零(因为边界是运动的)。所以p/n=0是有效的 BC。