logo资料库

OpenFOAM研究博文集.pdf

第1页 / 共85页
第2页 / 共85页
第3页 / 共85页
第4页 / 共85页
第5页 / 共85页
第6页 / 共85页
第7页 / 共85页
第8页 / 共85页
资料共85页,剩余部分请下载后查看
“ OpenFOAM 研究”博文集 【第一集】 苏军伟 原著 田 超 编纂 2011 年 3 月
说明 本文档内容是根据 苏军伟 博士的 “ OpenFOAM 研究” 博客的博文 整理而成,版权归 苏军伟 博士所有,供国内 OpenFOAM fans 学习使 用,严禁用于商业用途。 OpenFOAM 研究网址: http://blog.sina.com.cn/openfoamresearch OpenFOAM 开源计算群: 34757558(国内最大,人数最多的在线 CFD 交流平台) 本博文可以作为初学者关于 OpenFOAM 的 Frequently Asked Questions (FAQ) 文件,用于解答学习 OpenFOAM 中的基础问题,请 new Foamers 详细阅读自己感兴趣的部分。文中不免有疏漏和错误, 恳请广大 Foamers 批评指正。 田 超 2011 年 3 月于北航 387210626(超人不会飞) 2
目录 说明 .................................................................................................................................................... 2 1. 如何做动画 ................................................................................................................................ 5 2. OpenFOAM 第 5 次 workshop ................................................................................................... 5 3. OpenFOAM 中不可压缩湍流大涡求解器 oodles 说明 ............................................................ 5 4. OpenFOAM 中的神奇方程定义方式的背后 ............................................................................. 8 5. OpenFOAM 中雷诺时均湍流求解器 turbFoam 使用 ............................................................... 9 6. pimple 算法简述 (2009-09-30 09:22:33) 转载 ........................................................................ 16 7. 粒子方法讨论版开版 ............................................................................................................... 18 8. 面向对象—我的一点理解 ....................................................................................................... 18 9. 如何搞多面体网格 ................................................................................................................... 19 OpenFOAM-1.6-ext 的安装过程探讨 ................................................................................. 20 10. 11. 多态实现及其子类父类数据传递的方式 ........................................................................... 23 OpenFOAM 与有限元程序包 deal.II 的无缝耦合方法 ....................................................... 24 12. 13. CAD->GAMBIT->CFD几何 .................................................................................................... 24 OpenFOAM 中非均匀初始场的设定 ................................................................................... 25 14. 15. OpenFOAM-1.6 中 sample 的使用 ....................................................................................... 28 16. 利用 pyFOAM 残差的输出 ................................................................................................... 31 17. 也来谈谈传值和传址 ........................................................................................................... 32 18. 从 pisoFoam 谈谈 OpenFOAM-1.6 湍流模型的结构变化 .................................................. 33 19. 非惯性旋转系统稳态求解器 simpleSRFFoam的使用 ....................................................... 34 20. linux 常用命令集 .................................................................................................................. 36 21. 一起看看 OpenFOAM- 1.6 中的 pisoFoam ........................................................................ 38 22. 一起看看 OpenFOAM- 1.6 中的 pisoFoam ........................................................................ 38 23. 深入解析 OpenFOAM 时间控制参数字典文件 controlDict ............................................... 39 24. OpenFOAM 中的智能指针 autoPtr ..................................................................................... 41 25. 如何实现同一用户下的 OpenFOAM 多版本编译 .............................................................. 42 26. 商业软件划分的网格向 OpenFOAM 转换应注意的问题 .................................................. 44 27. OpenFOAM 如何定义与时间有关的边界条件 ................................................................... 45 OpenFOAM 中 transportModel 与 viscosityModels 关系 ................................................... 46 28. 29. OpenFOAM 不可压缩流边界条件的设定之我见 ............................................................... 47 OpenFOAM 中气液双欧拉求解器 bubbleColumn 的使用 ................................................. 48 30. 31. OpenFOAM 不可压缩非牛顿流体层流求解器使用说明 ................................................... 50 32. OpenFOAM 中不可压缩稳态求解器 simpleFoam 的使用 ................................................. 51 33. 深入解析 OpenFOAM 离散格式参数字典文件 fvSchemes................................................ 53 34. 如何使得 OpenFOAM 的 solver 自动调节时间步长 .......................................................... 56 35. OpenFOAM 中不可压缩流大涡求解器 oodles 的使用 ...................................................... 60 36. OpenFOAM 中的不可压缩湍流流动求解器 turbFoam 的说明 ......................................... 64 37. 深入解析 icoFoam 下的顶盖驱动流 (cavity) ....................................................................... 68 3
38. 39. 40. 41. 42. 43. OpenFOAM 中的参数字典使用剖析 ................................................................................... 71 OpenFOAM>>solver>>incompressible>>icoFoam 的说明 ................................................... 72 OpenFOAM 安装详解 ........................................................................................................... 75 OpenFOAM>>solver>>basic>>scalarTransportFoam 的说明 ............................................... 77 OpenFOAM>>solver>>basic>>potentialFoam 的说明 ......................................................... 79 OpenFOAM>>solver>>basic>>laplacianFoam 的说明 .......................................................... 82 4
1. 如何做动画 前几天有网友问怎么将计算结果输出成动画,我想可以分以下几个步骤 1)计算结果 case 文件夹中,输入 paraFoam 打开后处理软件 paraview ,并作后处理作出你想 要的效果。 关于 paraview 怎么用?我以前在 QQ 爱好者群 2 中发过那个 guide,看看就行了, 不是很难。 2)作出想要的效果后,点击 file 菜单下的 save animation 按钮,将每一针都输出成图片。 3)将所有输出的图片能到 windows 中,用 img2ani 将所有的图片转成动画, 或者用 imageReady, 后面这个软件功能强大,但是占的内存超大,动不动就几 理方便多了就。 G,你的图片多了,用前面那个处 2. OpenFOAM 第 5 次 workshop 于 2010 年 6 月 21- 24 日在瑞典 chalmers 科技大学举行。 这次 workshop 的 slide 可以从下 面网址下载 http://web.student.chalmers.se/groups/ofw5/Program.htm 这次 workshop 的参加人数较多,涉及到很多领域。有兴趣的不妨去看看 ? 3. OpenFOAM 中不可压缩湍流大涡求解器 oodles 说明 (2009-05-06 05:47:58) 转载 标签: openfoam solver 教育 分类: OpenFOAM 求解器说明 本文谈谈 OpenFOAM 中不可压缩湍流流动大涡求解器 oodles,这也许和研究湍流的同志 们课题更紧密一些。闲言少叙。 OpenFOAM 中湍流模型架构相似,所以大涡求解器和 RAS求解器具有很大的相似之处, 本文在介绍 oodles 时候和 RAS求解器 turbFoam 进行比较。如果大家该求解器不熟悉请参看 本站博文“ OpenFOAM 中的不可压缩湍流流动求解器 ( 1)求解器位置: applications\solvers\incompressible\oodles ( 2)求解器文件夹结构 turbFoam 的说明”。 |-options |-files | - Make | | |-createFields.H |-oodles.C ( 3)求解器功能 任意不可压缩湍流流动,湍流模拟大涡模拟( LES) ( 4)文件说明 1.options // 编译选项,用于指定编译用到的头文件位置及其动态库 // 文件内容 #用到的头文件文件夹 EXE_INC = \ #大涡湍流模型头文件 -I$(LIB_SRC)/turbulenceModels/LES \ #大涡 delta 函数头文件 -I$(LIB_SRC)/turbulenceModels/LES/LESdeltas/lnInclude \ #传输模型头文件,牛顿流体或者非牛顿流体选择。 -I$(LIB_SRC)/transportModels \ #有限容积方法头文件 -I$(LIB_SRC)/finiteVolume/lnInclude #网格工具头文件 5
-I$(LIB_SRC)/meshTools/lnInclude \ #取样头文件,比如从场中取出模型符合一定条件的点 -I$(LIB_SRC)/sampling/lnInclude #用到的动态连接库 EXE_LIBS = \ #不可压缩雷诺时均模型库 -lincompressibleLESModels \ #不可压缩传输模型库(牛顿流体传输模型和非牛顿流体传输模型) -lincompressibleTransportModels \ #有限容积库 -lfiniteVolume \ #网格相关工具库 -lmeshTools 从上面的 options 可以看出, oodles 和 turbFoam 的编译选项仅仅差别在湍流模型的选择上。 // 用于指定当前要编译的文件,这里不包含头文件,都是 2.files // 文件内容 oodles.C // 编译后求解器的名字和存放位置 EXE = $(FOAM_APPBIN)/oodles // 主文件 *.C 文件。 3.createFields.H createFields.H 中 oodles 求解器和 turbFoam 几乎完全相同。 差别在湍流模型的创建上。 turbFoam 创建了 RAS模型。 autoPtr turbulence ( ); incompressible::RASModel::New(U, phi, laminarTransport) 而 oodles 创建了大涡模型 autoPtr turbulence ( ); incompressible::RASModel::New(U, phi, laminarTransport) autoPtr 后面会有专门博文介绍这个只能指针,当前你就看成普通指针吧。 createFields.H 其 他代码说明, 请参看本站博文 “ OpenFOAM 中的不可压缩湍流流动求解器 turbFoam 的说明”。 4.oodles.C // 有限容积离散相关文件 #include "fvCFD.H" // 单相传输模型。 #include "incompressible/singlePhaseTransportModel/singlePhaseTransportModel.H" // 牛顿非牛顿传输 #include "incompressible/transportModel/transportModel.H" // 大涡模型库 #include "incompressible/LESModel/LESModel.H" // 文件输入流 #include "IFstream.H" // 文件输出流 #include "OFstream.H" // 随机数发生器 #include "Random.H" 6
OpenFOAM 中的不可 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // 主程序入口 int main(int argc, char *argv[]) { // 设置根目录 #include "setRootCase.H" // 创建时间对象 runTime #include "createTime.H" // 创建网格 #include "createMeshNoClear.H" // 前面刚谈到的那个文件 #include "createFields.H" // 连续性误差 #include "initContinuityErrs.H" Info<< "\nStarting time loop\n" << endl; // 主流程和 turbFoam 大部分一样,不再累述。具体参看本站博文“ 压缩湍流流动求解器 turbFoam 的说明”,下面主要针对差异的地方说明。 for (runTime++; !runTime.end(); runTime++) { Info<< "Time = " << runTime.timeName() << nl << endl; #include "readPISOControls.H" #include "CourantNo.H" //turbFoam 的 correct 在后面,大涡在前面,我感觉无所谓了 // 就是时候在第一次动量预测的时候考虑湍流模型。 sgsModel->correct(); fvVectorMatrix UEqn ( fvm::ddt(U) + fvm::div(phi, U) // 亚格子模型,包括分子扩散项和亚格子应力项的偏分量。 + sgsModel->divDevBeff(U) ); // 如果动量预测,则求解动量方程。 if (momentumPredictor) { solve(UEqn == -fvc::grad(p)); } // --- PISO loop for (int corr=0; corr
分享到:
收藏