基于OpenFoam得机翼绕流仿真

基于OpenFoam得机翼绕流仿真

ID:39585186

大小:2.97 MB

页数:18页

时间:2019-07-06

基于OpenFoam得机翼绕流仿真_第1页
基于OpenFoam得机翼绕流仿真_第2页
基于OpenFoam得机翼绕流仿真_第3页
基于OpenFoam得机翼绕流仿真_第4页
基于OpenFoam得机翼绕流仿真_第5页
资源描述:

《基于OpenFoam得机翼绕流仿真》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、前言本文采取的是用gambit画网格,然后使用OpenFoam开源软件进行CFD计算,在这里开源软件的运用不仅可以帮助我们理解计算流体力学的理论知识,还可以让我们查看开源软件的源代码,学习编制CFD应用软件的经验,同时还能满足我们的个性化需求,我们甚至可以根据自己的需求编写自己的求解器。在这里简单的介绍下OpenFoam的文件结构,首先整个软件是开源的,首先是软件的功能通过求解器和工具实现,其结构如下:solvers即为求解器,utilities即为各个工具的文件夹,test为软件功能的测试文夹。接下来介绍求解器的文件结

2、构:appName.c为求解器的主文档(main()函数所在地),以及各个求解器需要调用的头文件,例如下文提到的Ueqn.H,Make文件夹是求解器的编译文件夹,由于OpenFoam是在linux系统中,OpenFoam采用的是UNIXmake程序来传递给编译器进行编译,make就提供了wmake程序脚本。接下来介绍case文件结构:System文件夹包含了求解过程的控制、离散格式、求解器的代数解法。Constant则包含网格信息、湍流条件、传输方程的参数。0文件夹则包含各个量的初始条件。一.题一:1.网格的绘制首先,在

3、这里叙述一下OpenFoam对网格的支持,OpenFoam支持大多数网格软件的格式,只用调用相应的转换工具即可生成需要的网格。例如本文使用的是gambit软件绘制的.neu文件,将网格文件放入相应的const文件夹中,在终端输入gambitToFoamxxx.neu,即可生成OpenFoam能够识别的网格文件。需要注意的是,生成的网格会根据在gambit中设置的边界条件生成一个boundary文件,但在转换的过程中可能出现问题,这时就需要自己手动的根据具体问题重新设置。本文的边界情况如下图:我们可以看到整个文件分为四部分

4、:inlet、outlet、wall以及frontAndBack。前三个很好理解,第三个是流场在Z方向的上下边界名字,这是因为在OpenFoam里只有三维模型,如果想运算二维模型的话,就需要将Z方向设的相对较小。现在我们可以检查网格的质量,在终端中输入checkMesh,可以在终端输出网格质量,网格质量如下图:可以发现网格质量良好,接下来在终端输入paraFoam,即可在GUI中看到网格了,其网格如下图:2.求解器设置二维机翼的来流参数为:翼型攻角10°,弦长为0.14m,海平面大气压和温度(或程序默认温度),来流速度5

5、5m/s。通过计算可以得出Re数为5.27e05,大于了5e05,所以采用湍流求解器,55m/s的速度又可将流体视作不可压缩流体。OpenFoam拥有众多编写好的求解器,通过查阅用户指南,可以找到一个求解器满足不可压缩、湍流的要求:simpleFoam,是基于simple算法求解。下图为simpleFoam的源代码核心部分:可以看到,在simple循环里,对U方程和P方程进行了求解,下图为pimpleFoam的源代码核心部分:可以看到,在进行U方程后插入了一个P方程的PISO修正循环,这里有一点细微的差别。本文采用sim

6、ple算法进行求解,接下来是对湍流特性以及求解算法的设定,在const文件夹中的turbulenceProperties文件中进行设置,其图如下:可以看到本文利用的是SpalartAllmaras模型,此模型适用于低雷诺数的情况。由于本题需要输出Cd、Cp、Cl的分布图,而OpenFoam没有在输出数据中计算这些数据,因此需要手动载入数据,在system文件夹中的controlDict文件中加入以下语句:functions{forceCoeffs{typeforceCoeffs;functionObjectLibs("l

7、ibforces.so");patches(wall);logtrue;rhorhoInf;rhoInf0.001;CofR(000);liftDir(010);dragDir(100);pitchAxis(001);magUInf55;lRef140;Aref28;writeControltimeStep;writeInterval1;}};另外需要在system文件夹中设置求解控制参数,我设置的时间是500s,每隔50s写入数据到相应的文件夹中,更多细节见附件。在OpenFoam中要想显示残差,需要借助Python和

8、Gnuplot工具接下来设置边界条件,边界条件在0文件夹中的nut、nutidla、P、U文件定义,我们找到S_A模型置用到了湍流黏度和分子运动黏度,nut和nutidla就分别定义了这二者的边界条件。具体见下表:PUnutnutidlainletfreestreamFreestreamFreestreamFrees

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。