圆柱绕流问题是流体力学中的经典问题。本案例利用Fluent研究圆柱绕流现象。 1 目标2 计算模型计算模型尺寸如图所示。 尺寸如表所示。 Name | Location | Dimension |
---|
Cylinder | D1 | 1m | inlet length | D2 | 10m = 10D | outlet length | D3 | 15m = 15D | width | D4 | 20m = 20D |
计算域中流体密度 1kg/m3,动力粘度为0.01 Pa.s,入口速度1 m/s。则雷诺数:
3 几何模型及网格按前述的几何参数建立几何模型。 边界分别为inlet、outlet、top、bottom、cylinder。 4 转换网格本案例依然使用icoFoam求解器。因此先从tutorial中拷贝一个icoFoam模板。我们这里用cavity当模板。 打开终端,输入命令: cp -r $FOAM_TUTORIALS/incompressible/icoFoam/cavity/cavity $FOAM_RUN
cd $FOAM_RUN
mv cavity cylinder
mv命令是给文件夹改名,我们这里将文件重命名为cylinder。 将前面生成的网格拷贝到$FOAM_RUN路径下,并将网格名称修改为cylinder.msh。 blueCFD下此路径为:D:\blueCFD-Core-2016\ofuser-of4\run\cylinder,我这里是将blueCFD安装在D盘根目录下了,如果是装在其他位置的话,需要做相应修改。
利用命令转换网格: cd $FOAM_RUN/cylinder
fluentMeshToFoam cylinder
转换成功出现如下图所示提示: 利用Tree命令查看此时cylinder文件夹下的组织形式为: ├── 0
│ ├── p
│ └── U
├── constant
│ ├── polyMesh
│ │ ├── boundary
│ │ ├── cellZones
│ │ ├── faces
│ │ ├── faceZones
│ │ ├── neighbour
│ │ ├── owner
│ │ ├── points
│ │ └── pointZones
│ └── transportProperties
├── cylinder.msh
└── system
├── blockMeshDict
├── controlDict
├── fvSchemes
└── fvSolution
4 directories, 16 files
利用命令查看boundary文件内容: nano constant/polyMesh/boundary
文件内容为: FoamFile
{
version 2.0;
format ascii; class polyBoundaryMesh;
location "constant/polyMesh";
object boundary;
} 6(
INLET
{
type patch;
nFaces 79;
startFace 22248;
}
OUTLET
{
type patch;
nFaces 79;
startFace 22327;
}
TOP
{
type wall;
inGroups 1(wall);
nFaces 139;
startFace 22406;
}
BOTTOM
{
type wall;
inGroups 1(wall);
nFaces 139;
startFace 22545;
}
CYLINDER
{
type wall;
inGroups 1(wall);
nFaces 28;
startFace 22684;
}
frontAndBackPlanes
{
type empty;
inGroups 1(empty);
nFaces 22480;
startFace 22712;
}
)
看到文件中除了我们自己命名的INLET、OUTLET、TOP、BOTTOM、CYLINDER外,还多出了一个frontAndBackPlanes,我们的网格是2D模型,而OF只能计算3D模型,因此自动给网格拉伸了一层厚度,多了个边界。后面要处理这个边界。
5 修改p文件和U文件修改p文件为: FoamFile
{
version 2.0;
format ascii; class volScalarField;
object p;
}
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0;
boundaryField
{
INLET
{
type zeroGradient;
} //出口压力为0//
OUTLET
{
type fixedValue;
value uniform 0;
}
TOP
{
type zeroGradient;
}
BOTTOM
{
type zeroGradient;
}
CYLINDER
{
type zeroGradient;
}
frontAndBack
{
type empty;
}
}
出口边界静压为0
修改U文件为以下内容。 FoamFile
{
version 2.0;
format ascii; class volVectorField;
object U;
}
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0 0 0);
boundaryField
{ //入口速度为1m/s//
INLET
{
type fixedValue;
value uniform (1 0 0);
}
OUTLET
{
type zeroGradient;
} //顶部和底部均为无滑移壁面//
TOP
{
type noSlip;
}
BOTTOM
{
type noSlip;
}
CYLINDER
{
type fixedValue;
value uniform (0 0 0);
} //侧面一定要设置为empty//
frontAndBack
{
type empty;
}
}
入口速度为1m/s。
6 修改transportProperties文件设置运动粘度0.01m2/s。 FoamFile
{
version 2.0;
format ascii; class dictionary;
location "constant";
object transportProperties;
} // * * * * * * * * * * * * * * * * // nu [0 2 -1 0 0 0 0] 0.01;
注意这里设置的是运动粘度,看量纲。
7 设置controlDict文件修改controlDict文件为: FoamFile
{
version 2.0;
format ascii; class dictionary;
location "system";
object controlDict;
} // * * * * * * * * * * * * // application icoFoam;
startFrom startTime;
startTime 0;
stopAt endTime; //设置计算100s endTime 100;
deltaT 0.005;
writeControl timeStep;
writeInterval 20;
purgeWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable true;
8 开始计算利用命令: cd $FOAM_RUN/cylinder
icoFoam
9 后处理利用命令启动paraview进行后处理。 paraFoam
速度分布如图所示。 腾讯传视频太慢了,这里就懒得传了。案例文件及动画链接:链接:http://pan.baidu.com/s/1nuS1uIX 密码:a2qp
|