描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787517094425
基于多年的使用与开发经验,从简单算例出发,便于熟悉OpenFOAM的使用流程。
阐述OpenFOAM的网格划分、数值算法、边界条件、湍流模型等,知识全面。
辅以编程实例,介绍OpenFOAM中的常见问题与使用技巧,从而全方位提升掌握程度。
OpenFOAM是一款优秀的开源CFD软件,国内外的用户群体近年来快速发展壮大。本书从简单算例出发,使读者熟悉OpenFOAM的使用流程,再进一步阐述OpenFOAM的网格划分、数值算法、边界条件、湍流模型等,同时辅以编程实例,使用户在掌握相关原理的基础上,了解二次开发方法,推进相关研究进程,*后介绍OpenFOAM中的常见问题与使用技巧,从而全方位提升读者的掌握程度。
本书共7章:OpenFOAM安装及简要介绍,初步认识OpenFOAM,OpenFOAM运算、离散及网格划分,OpenFOAM边界条件及程序解读,OpenFOAM湍流模型,OpenFOAM中的application,以及其他相关内容。
本书可作为高等院校动力工程及工程热物理、水利工程、航空航天等专业的教材或教学参考书,也可供从事CFD的技术人员自学参考。
第1章 OpenFOAM安装及简要介绍 1
1.1 基于“.deb”文件的安装 2
1.2 基于源文件的安装 2
1.3 OpenFOAM简介 7
第2章 初步认识OpenFOAM 9
2.1 搅拌器内流场模拟 11
2.1.1 算例描述及前处理 11
2.1.2 后处理 26
2.2 子弹周围空化流场模拟 31
2.2.1 算例描述及前处理 31
2.2.2 后处理 43
第3章 OpenFOAM运算、离散及网格划分 50
3.1 OpenFOAM中的张量运算 50
3.1.1 常用张量与运算 52
3.1.2 速度梯度张量的问题 54
3.2 OpenFOAM中的离散 55
3.2.1 计算域的离散 55
3.2.2 方程的空间离散 60
3.2.3 方程的时间离散 77
3.2.4 离散方程的求解 83
3.2.5 离散方程组的分离式解法 100
3.3 OpenFOAM中的网格划分 105
3.3.1 blockMesh 105
3.3.2 外部网格导入 115
第4章 OpenFOAM边界条件及程序解读 118
4.1 OpenFOAM中的边界及边界条件 118
4.1.1 边界类型 118
4.1.2 OpenFOAM中的set及其创建方式 119
4.1.3 创建cyclic及cyclicAMI边界 132
4.1.4 边界条件类型 140
4.2 边界条件程序解读 145
4.2.1 fixedValue边界条件程序解读 145
4.2.2 自定义边界条件实例—创建符合抛物线分布的速度边界 153
4.3 OpenFOAM中的壁面函数 162
4.3.1 壁面函数理论 162
4.3.2 nutWallFunction程序解读 164
4.3.3 νt壁面函数 169
4.3.4 k壁面函数 175
4.3.5 ε壁面函数 176
4.3.6 ω壁面函数 178
4.3.7 自定义壁面函数类型实例—三层壁面函数 178
第5章 OpenFOAM湍流模型 184
5.1 RANS模型 184
5.1.1 turbulenceModel 186
5.1.2 RASModel 192
5.1.3 标准k-ε模型程序解析 199
5.1.4 自定义RANS模型—标准k-ε模型的Kato-Launder修正 210
5.2 LES模型 214
5.2.1 LESModel 215
5.2.2 滤波方式 222
5.2.3 滤波尺度 226
5.2.4 Smagorinsky模型程序解析 229
5.2.5 自定义LES模型—动态
Smagorinsky模型 235
第6章 OpenFOAM中的application 241
6.1 求解器 241
6.1.1 适于不可压流动的simpleFoam程序解读 241
6.1.2 创建旋转槽道流求解器 248
6.2 工具 251
6.2.1 Lambda2程序解读 252
6.2.2 自定义后处理工具—计算亚格子湍动能生成率 254
第7章 其他 257
7.1 代码中函数的调用问题 257
7.1.1 官方网站的C source guide 257
7.1.2 安装本地C source guide 261
7.2 编译及运行常见问题 262
7.2.1 sigFpe 263
7.2.2 初始化顺序问题 263
7.2.3 类型与实际不一致的问题 264
7.2.4 找不到头文件的问题 265
7.3 使用Tecplot进行后处理 267
7.3.1 foamToTecplot360工具的安装 268
7.3.2 foamToTecplot360使用实例 268
参考文献 272
符号表 276
英文字母变量 276
希腊字母变量 279
下标 281
上标 281
缩略词表 282
得益于计算机技术突飞猛进的发展,CFD的应用已深入各领域,国内外不少企业与高校均开展了相关研究。以ANSYS CFX、Fluent以及Star CCM 等为首的一批商用CFD软件被广泛使用,其优势在于功能模块的高度集成化以及新手入门的低难度化,友好的GUI也使此类软件易于掌握。
然而,出于保密的考虑,开发商无法将商业软件的所有代码公开,以至于用户仅能针对其中的部分功能进行自主开发、编译,二次开发功能大打折扣,常常无法满足CFD研究与开发人员的需求。因此,开源的CFD程序成为科研院所及相关企业的。OpenFOAM作为一款优秀的开源CFD程序,由于其丰富的功能、良好的程序接口以及快速的版本更新,在全球范围内吸引了越来越多的用户,而基于OpenFOAM的研究与应用也日益增多。
OpenFOAM基于C 编写,面向对象的特点使其代码编写更为方便快捷。但由于其功能繁多,且目前关于该软件的资料极少,新手用户往往难以在浩如烟海的代码中获取有效的信息,从而导致学习使用过程困难重重。此外,OpenFOAM的可调参数极多,若无相关经验,往往容易导致计算溢出或程序编译失败,更增加了学习的困难程度。
为此,作者基于多年的使用与开发经验,从简单算例出发,使读者熟悉OpenFOAM的使用流程,再进一步阐述OpenFOAM的网格划分、数值算法、边界条件、湍流模型等,同时辅以编程实例,使用户在掌握相关原理的基础上,了解二次开发方法,推进相关研究进程,后介绍OpenFOAM中的常见问题与使用技巧,从而全方位提升读者的掌握程度。
本书分为7章:第1章介绍软件的安装及基本功能;第2章通过两个算例(搅拌器、子弹空化)介绍OpenFOAM的使用流程,包括前处理、计算与后处理;第3章介绍张量运算、离散的原理及相关数值格式与解法的使用方式,并实例介绍利用blockMesh进行网格划分的要点以及如何导入网格;第4章介绍边界与边界条件的类型,边界条件的程序解读以及各壁面函数的数学原理、使用方式,并实例分析如何自定义边界条件与壁面函数;第5章在分析湍流模型结构的基础上,基于源代码分析湍流模型(RANS与LES)的实现方式,并通过实例讲解如何自定义RANS与LES模型;第6章基于simpleFoam与Lambda2的程序,解读OpenFOAM中求解器与工具的实现方式,通过实例讲解如何自定义求解器与工具;第7章介绍查询代码的常用技巧,分析编程中常见的问题及解决方法,以及如何利用Tecplot进行后处理。
在本书的编写过程中,我们得到了国家自然科学基金(51909231、51806187)、扬州大学学科(流体动力与能源高效转化利用)建设经费、扬州大学科技创新培育基金以及中国水利水电出版社的支持,也得到了同事与朋友的帮助,在此对这些宝贵支持和帮助表示衷心的感谢。
本书得以出版,离不开父母的支持与默默奉献,在此致以诚挚的感谢。
限于作者的能力和水平,书中错误和缺点在所难免,恳请读者批评指正。
作 者
2020年9月
评论
还没有评论。