问题描述
对于二维泊肃叶流动来说,驱动流动一般有两种方式,一种是体积力驱动,另一种是进出口压力差驱动。这里我们主要对对第二种方式进行说明。
周期性边界条件
对于channel flow等流动来说,在进口和出口出我们一般采取周期性边界条件,在OpenFOAM种有cyclic和cyclicAMI两个命令,其中cyclic要求进口和出口网格完全一致,而cyclicAMI则没有这个要求。
在这里,周期性边界条件的意义是进口和出口面上物理量完全一致,简单的来说,即出口流出的继续从入口流入,采用这种边界条件的意义主要是用来模拟无限长的通道。这样的话会产生一个问题,对于压力p来说,进口和出口完全一致的话,就没有压力差了,那我们如何用压力差进行驱动流体流动呢?
利用fixedJump命令设置压力差
事实上,fixedJump命令就是解决这个问题的,我们可以设置一个Jump量,使得入口处的压力等于出口处的压力加上一个常数,这样就可以产生压力差。其具体设置在0文件夹下的p文件中。
inlet
{
type fixedJump;
patchType cyclic;
jump uniform -0.001220377373900;
value $internalField;
}
outlet
{
type fixedJump;
patchType cyclic;
jump uniform 0;
value $internalField;
}
上面是一种设置方法,这里我们需要注意两点:
1、我们想要的结果是inlet处压力更大,因此需要设置一个Jump量,特别需要注意这里是负号。
2、对于出口处,我们的Jump量可以设置为0
验证
在paraview中打开已经算好的算例,只打开inlet面,并利用工具探测处inlet面上的p的上下界;如下图
p i n l e t m a x = 0.0245446 ; p i n l e t m i n = − 0.00250727 p_{inletmax} = 0.0245446;\quad p_{inletmin} = -0.00250727 pinletmax=0.0245446;pinletmin=−0.00250727
outlet面上p的上下界如下图
p o u t l e t m a x = 0.0233242 ; p o u t l e t m i n = − 0.00372764 p_{outletmax} = 0.0233242;\quad p_{outletmin} = -0.00372764 poutletmax=0.0233242;poutletmin=−0.00372764
可以计算出
Δ p i n l e t − o u t l e t m a x = 0.0245446 − 0.0233242 = 0.0012204 ; p o u t l e t m i n = − 0.00250727 + 0.00372764 = 0.00122037 \Delta p_{inlet -outlet max} = 0.0245446-0.0233242=0.0012204;\quad p_{outletmin} = -0.00250727+0.00372764 = 0.00122037 Δpinlet−outletmax=0.0245446−0.0233242=0.0012204;poutletmin=−0.00250727+0.00372764=0.00122037
可以看出,达到了我们想要的效果,进口壁出口处压力大一个定值,且正好等于我们设置的值。