首页/文章/ 详情

OpenFOAM|验证09 同心管自然对流

精品
作者优秀平台推荐
详细信息
文章亮点
作者优秀
优秀教师/意见领袖/博士学历/特邀专家
平台推荐
内容稀缺
3年前浏览3403

本算例演示利用OpenFOAM求解计算同心管道内的层流自然对流,并对计算结果进行验证。

参考文献:T.H. Kuehn, R.J. Goldstein, “An Experimental Study of Natural Convection Heat Transfer in Concentric and Eccentric Horizontal Cylindrical Annuli”, Journal of Heat Transfer, Vol 100, pp. 635-640, 1978.

1 算例概述

案例几何如图所示。两个同心圆管,其中内管半径17.8 mm,温度373K,外管半径46.25 mm,温度327 K。

图片

两管道间的环形空间内介质粘度2.081e-5 kg/m-s,比热1008 J/kg-K,热传导系数0.02967 W/m-K,密度考虑为不可压缩理想气体。研究管道竖直轴线上速度分布(图中的Top与Bottom)

算例采用二维对称模型进行计算。

2 OpenFOAM设置

2.1 文件准备

本算例涉及到层流自然对流问题。计划使用buoyantSimpleFoam求解器进行计算。这里选择算例库中的buoyantCavity作为算例模板。

cp -r $FOAM_TUTORIALS/heatTransfer/buoyantSimpleFoam/buoyantCavity/ .
mv buoyantCavity VM09
cd VM09

考虑到本算例为层流流动,因此删除多余的文件,初始算例文件结构如下图所示。

2.2 网格文件

本算例网格采用ICEM CFD生成。

图片

  • 利用下面的命令转换计算网格
fluentMeshToFoam VM09.msh
  • 修改文件constant/polyMesh/boundaryTOP及BOTTOM边界条件类型为symmetry
FoamFile
{
   version     2.0;
   format      ascii;
   class       polyBoundaryMesh;
   location    "constant/polyMesh";
   object      boundary;
}
// * * * * * * *  * * * * * * * * * * * //

5
(
   TOP
   {
       type            symmetry;
       inGroups        List<word> 1(wall);
       nFaces          39;
       startFace       11049;
   }
   BOTTOM
   {
       type            symmetry;
       inGroups        List<word> 1(wall);
       nFaces          39;
       startFace       11088;
   }
   IN
   {
       type            wall;
       inGroups        List<word> 1(wall);
       nFaces          144;
       startFace       11127;
   }
   OUT
   {
       type            wall;
       inGroups        List<word> 1(wall);
       nFaces          144;
       startFace       11271;
   }
   frontAndBackPlanes
   {
       type            empty;
       inGroups        List<word> 1(empty);
       nFaces          11232;
       startFace       11415;
   }
)
  • 利用命令checkMesh检查网格

图片

2.3 指定材料属性与物理模型

这里需要定义重力加速度、设置材料属性及湍流模型。

1、g文件

g文件中定义重力加速度,这里定义重力加速度沿y轴负方向,其文件内容为:

FoamFile
{
   version     2.0;
   format      ascii;
   class       uniformDimensionedVectorField;
   location    "constant";
   object      g;
}
// * * * * * * * * * * * * * * * * * * //

dimensions      [0 1 -2 0 0 0 0];
value           (0 -9.81 0);

2、momentumTransport文件

本算例采用层流计算,在此文件中进行定义。文件内容如下所示。

FoamFile
{
   version     2.0;
   format      ascii;
   class       dictionary;
   object      RASProperties;
}
// * * * * * * * * * * * * * * * * * * * //

simulationType laminar;

3、pRef文件

此文件中指定参考密度。文件内容如下所示。

FoamFile
{
   version     2.0;
   format      ascii;
   class       uniformDimensionedScalarField;
   location    "constant";
   object      pRef;
}
// * * * * * * * * * * * * * * * * //
dimensions      [1 -1 -2 0 0 0 0];
value           1e5; //注意指定的是运动压力

4、thermophysicalProperties文件

此文件中指定材料介质的热物性。其中普朗特数:



文件内容如下所示。

FoamFile
{
   version     2.0;
   format      ascii;
   class       dictionary;
   location    "constant";
   object      thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * //

thermoType
{
   type            heRhoThermo;
   mixture         pureMixture;              // 固定组分
   transport       const;                    // 粘度为常数
   thermo          hConst;                    // 比热与显焓为常数
   equationOfState perfectGas;             // 采用理想气体状态方程
   specie          specie;                    // 后面采用分子量定义
   energy          sensibleEnthalpy;        // 采用显焓计算能量方程
}

mixture
{
   specie
   {
       molWeight       28.96;         //分子量
   }
   thermodynamics
   {
       Cp              1008;        //等压比热容[J/(kmol.K)]
       Hf              0;             //生成焓[J/kmol]
   }
   transport
   {
       mu              2.081e-05;        //粘度
       Pr              0.7067;           //普朗特数
   }
}

2.4 指定边界条件与初始条件

1、p文件

p文件内容如下所示。

FoamFile
{
   version     2.0;
   format      ascii;
   class       volScalarField;
   location    "0";
   object      p;
}
// * * * * * * * * * * * * * * * * * * * * //

dimensions      [1 -1 -2 0 0 0 0];
internalField   uniform 1e5;

boundaryField
{
   TOP
   {
       type            symmetry;
   }
   BOTTOM
   {
       type            symmetry;
   }
   IN
   {
       type            zeroGradient;
   }
   OUT
   {
       type            zeroGradient;
   }
   frontAndBackPlanes
   {
       type            empty;
   }
}

2、p_rgh文件

p_rgh文件内容如下所示。

FoamFile
{
   version     2.0;
   format      ascii;
   class       volScalarField;
   location    "0";
   object      p_rgh;
}
// * * * * * * * * * * * * * * * * * //
dimensions      [1 -1 -2 0 0 0 0];
internalField   uniform 0;

boundaryField
{

   TOP
   {
       type            symmetry;
   }
   BOTTOM
   {
       type            symmetry;
   }
   IN
   {
       type            fixedFluxPressure;
       value           $internalField;
   }
   OUT
   {
       type            fixedFluxPressure;
       value           $internalField;
   }
   frontAndBackPlanes
   {
       type            empty;
   }
}

3、T文件

内壁面温度373 K,外壁面温度327K。

FoamFile
{
   version     2.0;
   format      ascii;
   class       volScalarField;
   location    "0";
   object      T;
}
// * * * * * * * * * * * * * * * * * * //

dimensions      [0 0 0 1 0 0 0];

internalField   uniform 350;

boundaryField
{
   TOP
   {
       type            symmetry;
   }
   BOTTOM
   {
       type            symmetry;
   }
   IN
   {
       type            fixedValue;
       value           uniform 373;
   }
   OUT
   {
       type            fixedValue;
       value           uniform 327
   }
   frontAndBackPlanes
   {
       type            empty;
   }
}

4、U文件

U文件内容如下所示。

FoamFile
{
   version     2.0;
   format      ascii;
   class       volVectorField;
   location    "0";
   object      U;
}
// * * * * * * * * * * * * * * * * //
dimensions      [0 1 -1 0 0 0 0];
internalField   uniform (0 0 0);

boundaryField
{
   "(TOP|BOTTOM)"
   {
       type            symmetry;
   }
   "(IN|OUT)"
   {
       type            noSlip;
   }

   frontAndBackPlanes
   {
       type            empty;
   }
}

2.5 求解控制

修改controlDict文件,如下所示。

FoamFile
{
   version     2.0;
   format      ascii;
   class       dictionary;
   object      controlDict;
}
// * * * * * * * * * * * * * * * * //

application     buoyantSimpleFoam;
startFrom       startTime;
startTime       0;
stopAt          endTime;
endTime         5000;        //迭代次数3000
deltaT          1;
writeControl    timeStep;
writeInterval   50;
purgeWrite      3;
writeFormat     ascii;
writePrecision  6;
writeCompression off;
timeFormat      general;
timePrecision   6;
runTimeModifiable true;

2.6 求解计算

采用pyFoamPlotRunner进行计算。注意事先安装好PyFoam

pyFoamPlotRunner.py --clear buoyantSimpleFoam

计算残差曲线如下图所示。

图片

3 结果验证

  • 温度分布

图片

  • 速度分布

图片

  • 对称面TOP上温度分布

图片

  • 对称面BOTTOM上温度分布

图片

  • 将对称面TOP上的温度值与实验值进行比较
set xlabel "y(m)"
set ylabel "Temperature(K)"
set grid
set key right
plot "top.txt" u 1:2 w line lw 3 t "numeric","VMFL009_top.xy" u 1:2 w point pt 7 t "exp"

与实验值的比较结果如下图所示。

图片

  • 将对称面BOTTOM上的温度值与实验值比较
set xlabel "y(m)"
set ylabel "Temperature(K)"
set grid
set key left
plot "bottom.txt" u 1:2 w line lw 3 t "numeric","VMFL009_bot.xy" u 1:2 w point pt 7 t "exp"

与实验值比较结果如下图所示。

图片

---------------------------------------------------------------------------------------------

版权声明:

原创文章,来源CFD之道,本文已经授权,欢迎分享,如需转载请联系作者。


科普仿真体系代码&命令求解技术网格处理流体基础OpenFOAM
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2020-12-24
最近编辑:3年前
CFD之道
博士 | 教师 探讨CFD职场生活,闲谈CFD里外
获赞 2568粉丝 11328文章 737课程 27
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈