OpenFOAM——孔板流量计
本算例来自《ANSYS FLUENT技术基础与工程应用:流动传热与环境污染控制领域》
一个入口,入口速度为0.0176839m/s,一个出口边界,其余为壁面边界
流体的物性参数:
密度:1000kg/m3
动力黏度:0.001kg/(m·s)
运动黏度:0.000001m2/s
本算例采用kOmegaSST湍流模型进行计算,请注意第一层网格的高度。
首先进行建模操作,任何建模软件均可,本算例采用ICEM直接建模,生成网格,缩放网格,然后利用OpenFOAM下转化网格,划分完成的网格如下:
接下来转入OpenFOAM的操作:
首先新建一个文件夹,名字任取,用来作为算例文件夹,本算例中我将该文件夹命名为:flowmeter_3D
然后进入OpenFOAM的安装目录,将安装目录下的motorBike算例(我的目录为/opt/openfoam5/tutorials/incompressible/simpleFoam/motorBike)下的0文件夹、constant文件夹和system文件夹拷贝到flowmeter_3D文件夹下,然后将0.org文件夹重命名为0,删除该文件夹下的include文件夹
删除constant文件夹下的triSurface文件夹
在system目录下删除下面截图中的文件
然后我们将刚才我们生成的.msh网格拷贝到flowmeter_3D文件夹下。在算例文件夹下打开终端,由于是三维模型,我们输入fluent3DMeshToFoam命令(本算例也可以使用fluentMeshToFoam来实现网格转换):
我们打开constant文件夹下的transportproperties文件,内容修改如下:
接下来,修改turbulenceProperties文件的内容如下:
转入0文件夹
p文件当中的内容如下:
注意一下,此处的压力是运动压力,压力除以了密度
U文件当中的内容如下:
说明一下:
surfaceNormalFixedValue
基本格式为
边界名称
{
type surfaceNormalFixedValue;
refValue uniform 数值;
}
说明:
该边界类型指定垂直于边界流入流出计算域物理量的值,数值为整数时表示流出计算域,为负数时表示流入计算域
k文件当中的内容如下:
说明一下:
turbulentIntensityKineticEnergyInlet
基本格式:
边界名称
{
type turbulentIntensityKineticEnergyInlet;
intensity 数值;
value uniform 数值/$internalField;
}
说明:
可通过湍流强度来k的值,value关键字下可填写任意数值或$internalField(仅是将字符串拷贝到本地,等于内部场的值),仅起到占位的作用,并不对计算造成影响。很显然在壁面处,k应该为0。
omega文件当中的内容如下:
说明一下:
omegaWallFunction
基本格式:
边界名称
{
type omegaWallFunction;
value uniform 数值
}
说明:
该边界条件仅对壁面设置壁面函数,应用在kOmega或kOmegaSST湍流模型中,从而对方程进行求解。value关键字下可填写任意数值或$internalField(仅是将字符串拷贝到本地,等于内部场的值),仅起到占位的作用,并不对计算造成影响。
turbulentMixingLengthFrequencyInlet
基本格式:
边界名称
{
type turbulentMixingLengthFrequencyInlet;
mixingLength 数值;
value uniform 数值;
}
说明:
可通过混合长度来计算omega(ω)的值,value关键字下可填写任意数值或$internalField(仅是将字符串拷贝到本地,等于内部场的值),仅起到占位的作用,并不对计算造成影响。mixingLength为湍流尺度,其计算公式为:I=0.007L(其中I为mixingLength的值,L为特征尺寸)。
nut文件当中的内容如下:
接着我们设置system文件夹下的controlDict文件:
fvSchemes文件修改如下:
fvSolution文件修改如下:
为了加快计算速度,我们采用分块并行的计算方法,我们在system目录下新建decomposeParDict来分块,decomposeParDict中的内容为:
输入decomposePar进行分块
由于我安装了PyFoam来实时输出残差,所以在终端中输入pyFoamPlotRunner.py --clear --proc=16 simpleFoam开始计算
等到计算结束
中心切面云图
管道中流体的实际体积流量qv的计算式如下:
式中:
β——孔板流量计的直径比,本算例为0.5
△p’——为取样界面之间的压差,本算例取孔板上游100mm处和孔板下游50mm处界面的压差
ρ——流体密度
我们在ParaView当中分别取两个面的平均压力,操作如下:
首先paraFoam启动ParaView
然后我们首先截取孔板上游100mm的截面
然后我们重复上面的步骤去下游50mm截面处的平均压力
截面之间运动压力之差=0.00407066-(-0.00156585)
=0.00563651m2/s2
带入上面的计算公式可得流出系数:
ISO公式计算流出系数为C=0.6526
两者之间的误差为