M6机翼
M6是ONERA设计的一种机翼模型。该模型在跨声速条件下进行了一系列风洞试验。试验马赫数在之间,攻角区间为度,雷诺数Re(参考长度为平均气动弦长c)约为。尽管M6机翼几何外形简单,但是其涉及的跨声速流动却十分复杂,包含局部超音速流动、激波和边界层分离等。M6机翼具备三维可压缩流动的典型特征,因此被大量论文选为CFD代码的验证算例。本文以M6为测试算例,检验OpenFOAM V4在可压缩流场模拟方面的计算效率和计算精度。
![b7393be01a56bd07ecffb4cde795c75c.png](https://i-blog.csdnimg.cn/blog_migrate/26d702ec6f9804f6f46ad35287f60cad.jpeg)
图 1 M6机翼风洞试验模型
M6是一种无扭曲的后掠机翼,其基本翼型为ONERA D section对称翼型。M6机翼几何外形和参数见图2。试验时,在7个展向截面上布置了压力传感器,测得的压力数据可用于与计算结果进行对比。
![c2a9db8fc66ebb34b12990022613496e.png](https://i-blog.csdnimg.cn/blog_migrate/c906878fcf90b2b2f5735147f97a4bf3.jpeg)
![9a9e138387bc590e55570308bbb2b091.png](https://i-blog.csdnimg.cn/blog_migrate/5b1837bce540b19b0f0be41c5c56c462.jpeg)
图 2 M6机翼几何外形及参数
2.网格生成
![763c32db4898fb8fa6f9ec0fc2697b6c.png](https://i-blog.csdnimg.cn/blog_migrate/772abccde4910dec66dd35a46cf393cd.jpeg)
![69000139d94db1842480bd618df6a0ed.png](https://i-blog.csdnimg.cn/blog_migrate/060cfd1ff35c5e0e428ecde463a58525.jpeg)
图 3 M6机翼网格
本次计算采用NASA网站上公开发布的一种C型结构化网格。(https://www.grc.nasa.gov/www/wind/valid/m6wing/m6wing01/m6wing.x.fmt)网格包含在名为m6wing.x.fmt的PLOT3D网格文件(formatted, multi-zone, whole, three-dimensional)中。它由4个网格块组成,表1列出了各块网格的节点分布,总共316932个网格点。
表 网格分区及节点分布
![8b39de18b576391b3401fafd03fbe8e1.png](https://i-blog.csdnimg.cn/blog_migrate/a0db8a26d3e08bab42756b94b53ee1be.jpeg)
Zone2的J1表面覆盖机翼的下表面,Zone3的J1表面覆盖机翼的上表面。所有Zone的K1表面都在对称平面上, KMAX边界在它们包围翼尖时彼此耦合。Zone1的I1表面和Zone4的IMAX表面是出口边界。所有区域的JMAX表面都在远场边界上。图3显示了机翼表面和尖端的网格。网格围绕机翼表面聚集以解析边界层。
本次计算需要将plot3d格式网格,转换为OpenFOAM求解器能够读取的网格存储格式。我们采用Pointwise V18.1 R1软件进行格式转换。具体步骤如下:
(1)用文本编辑器(推荐采用notepad++)打开m6wing.x.fmt,将其中的逗号全部替换为空格,将文件保存为m6wing.x;
(2)打开Pointwise V18.1 R1软件,导入网格,具体操作见下图;
(3)将求解器设置为OpenFOAM,并设置边界条件;
(4)对网格进行缩放。
(5)输出结果。
3.OpenFOAM求解器参数设置
结合定常求解器rhoSimpleFoam和非定常求解器rhoCentralFoam计算M6机翼三维流场。首先,采用rhoSimpleFoam计算NS方程,获得流场初始解。然后,再用rhoCentralFoam计算URANS方程(采用SST湍流模型),待流场稳定后,即获得最终流场。
3.1 rhoSimpleFoam求解器设置
rhoSimpleFoam是OpenFOAM中一个基于压力的可压缩稳态求解器。所有OpenFOAM求解器设置都需要准备三种文件,分别是0文件,constant文件和system文件。0文件中包含流场中各物理量的初始值和边界条件。constant文件中包含网格信息和物性参数。system文件中包含求解器相关参数。
(1)0文件
0文件夹中需要准备p,T,U,alphat和nut五个文件。这五个文件的内容可参考OpenFOAM自带的相关案例。修改好的文件内容如下:
p文件如下所示。其中pOut为来流静压,远场采用freestreamPressure条件,对称面为symmetryPlane条件,壁面为zeroGradient条件。
/*--------------------------------*- C++ -*----------------------------------*
| ========= | |
| / F ield | OpenFOAM: The Open Source CFD Toolbox |
| / O peration | Version: v1806 |
| / A nd | Web: www.OpenFOAM.com |
| / M anipulation | |
*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
pOut 8.353085E+04;
dimensions [1 -1 -2 0 0 0 0];
internalField uniform $pOut;
boundaryField
{
farfield
{
type freestreamPressure;
freestreamValue uniform $pOut;
}
sym
{
type symmetryPlane;
}
wall
{
type zeroGradient;
}
#includeEtc "caseDicts/setConstraintTypes"
}
// ************************************************************************* //
T文件如下所示。其中Tinlet为来流静温,远场采用inletOutlet条件,对称面为symmetryPlane条件,壁面为zeroGradient条件。
/*--------------------------------*- C++ -*----------------------------------*
| ========= | |
| / F ield | OpenFOAM: The Open Source CFD Toolbox |
| / O peration | Version: v1806 |
| / A nd | Web: www.OpenFOAM.com |
| / M anipulation | |
*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Tinlet 2.629383E+02;
dimensions [0 0 0 1 0 0 0];
internalField uniform $Tinlet;
boundaryField
{
farfield
{
type inletOutlet;
inletValue uniform $Tinlet;
value $inletValue;
}
sym
{
type symmetryPlane;
}
wall
{
type zeroGradient;
}
#includeEtc "caseDicts/setConstraintTypes"
}
// ************************************************************************* //
U文件如下所示。其中Uinlet为来流速度矢量,远场采用freestream条件,对称面为symmetryPlane条件,壁面为noSlip条件。
/*--------------------------------*- C++ -*----------------------------------*
| ========= | |
| / F ield | OpenFOAM: The Open Source CFD Toolbox |
| / O peration | Version: v1806 |
| / A nd | Web: www.OpenFOAM.com |
| / M anipulation | |
*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Uinlet (2.724789E+02 1.456615E+01 0.000000E+00);
dimensions [0 1 -1 0 0 0 0];
internalField uniform $Uinlet;
boundaryField
{
farfield
{
type freestream;
freestreamValue uniform $Uinlet;
value uniform $Uinlet;
}
sym
{
type symmetryPlane;
}
wall
{
type