OpenFOAM是一款优秀的开源CFD软件。经过多年迭代优化,该软件在航空航天、汽车、化工和能源等行业得到了广泛应用,该软件用户规模仍在快速增长。针对当前OpenFOAM学习、使用过程中的实际问题与需求,本书深挖该软件学习痛点与难点,建立了系统学习OpenFOAM的技巧与策略,并在教学中实现了理论与实践相结合。本书系统总结了OpenFOAM软件的基本结构及使用方法,主要具有三大特点:一是对OpenFOAM应用场景进行了充分说明,并对该软件设计框架进行了全面、详细的介绍;二是针对OpenFOAM特有的软件特性,通过实例介绍了OpenFOAM编程的基础与进阶技巧,为软件的使用、个性化拓展提供了重要基础;三是从实际问题模型出发,详细阐述了OpenFOAM算例模型构建方法,实现了有效科学仿真计算,可操作性强。
更多科学出版社服务,请扫码获取。
2008.1-2009.4 西北工业大学航天学院 航空宇航推进理论与工程专业 博士
2007.1-2008.1 教育部首批中法博士生学院 法国约瑟夫.傅立叶大学(格勒诺布尔一大) 航空航天推进系统专业 中法联合培养博士生
2004.9-2007.1 西北工业大学航天学院 航空宇航推进理论与工程专业 提前攻博
2002.9-2005.5 西北工业大学航天学院 航空宇航推进理论与工程专业 硕士
1998.9-2002.7 西北工业大学航天学院 飞行器动力工程专业 学士2023.10至今 大连理工大学力学与航空航天学院 党委书记
2023.10至今 大连理工大学力学与航空航天学院 教授
2018.8-2023.10 大连理工大学航空航天学院 院长
2017.12-2023.10 大连理工大学航空航天学院 教授
2019.11至今 工业装备结构分析国家重点实验室(工业装备结构分析优化与CAE软件全国重点实验室) 副主任
2023.10至今 大连市微纳卫星与先进推进技术重点实验室 主任
2012.12-2017.12 大连理工大学航空航天学院 副教授
2009.4-2012.12 大连理工大学航空航天学院 讲师航空宇航系统工程与智能化设计、空间推进仿真软件开发与实验、人工智能与计算流体力学、微纳卫星总体设计、OpenFOAM前沿算法植入,等。主持各类科研项目50余项,中国航天科工集团第六研究院特聘高级专家、中国宇航学会电推进专业委员会委员等。(1)担任辽宁省首颗独立自主研制卫星——12U立方星“大连1号-连理卫星”总设计师,该卫星搭乘天舟六号货运飞船,由长征七号遥七运载火箭成功发射入轨,在轨待机253天后,由天舟六号货运飞船撤离中国空间站组合体并于独立飞行期间成功释放,圆满完成在轨各项科研任务。荣获2023年辽宁青年五四奖章集体。
(2)带领团队自主研发了技术领先的高性能电推进智能仿真平台,汇聚了多种先进CFD算法,为降低电推进设计成本、缩短研发周期提供了有力支撑。入选甘肃省“飞天学者”特聘计划讲座教授、辽宁省“百千万人才工程”、教育部首批中法博士生学院。担任四川大学客座教授、北华航天工业学院兼职教授,曾担任河北科技大学兼职教授。
(3)1998年由石家庄二中推免保送到西北工业大学,1998至2009年在西北工业大学航天学院先后获得学士、硕士及博士学位,2007年在法国约瑟夫.傅立叶大学留学,为中法联合培养博士。2009年4月至今在大连理工大学工作,曾担任大连理工大学航空航天学院院长、研究生院招生办副主任和校友工作处副处长。
(4)主要研究1. 2022.10至今 担任河北省微小型航天器技术重点实验室学术委员会委员
2. 2022.7-2025.7 入选第四批甘肃省“飞天学者”特聘计划讲座教授
3. 2022.6至今 担任兰州交通大学兼职硕士研究生导师
4. 2022.5至今 担任河北省微纳卫星协同创新中心共建单位负责人
5. 2021.10-2024.10 担任四川大学客座教授
6. 2021.6至今 担任北华航天工业学院兼职教授
7. 2021.4至今 担任北华航天工业学院兼职硕士研究生导师
8. 2021.3至今 担任河北省跨气水介质飞行器重点实验室学术委员会委员
9. 2019.4-2024.4 担任中国科学院航天催化材料国防重点实验室学术委员会委员
10. 2018.10-2023.10 担任河北科技大学讲座教授
11. 2016.6至今 担任中国航天科工集团第六研究院特聘高级专家
12. 2019.10 担任交通运输部行业重点科技项目评审专家
13. 2016.9 担任工信部国防科工局项目评审专家
14. 2021.1至今 担任《宇航学报》期刊第六届编
目录
第1章 偏微分方程及OpenFOAM基本结构 1
1.1 张量与基本算符 1
1.1.1 张量 1
1.1.2 基本算符 1
1.1.3 基本算符常见应用 2
1.1.4 时间导数 3
1.2 偏微分方程 4
1.2.1 质量守恒方程 4
1.2.2 动量守恒方程 5
1.3 通用输运方程 7
1.3.1 偏微分方程分类 7
1.3.2 边界条件简介 8
1.4 OpenFOAM基本结构 8
1.4.1 OpenFOAM软件基本结构 8
1.4.2 OpenFOAM求解器基本结构 10
1.4.3 OpenFOAM算例文件基本结构 10
第2章 OpenFOAM编程基础 12
2.1 OpenFOAM求解器基本结构及编译过程 12
2.1.1 OpenFOAM求解器的基本组成 13
2.1.2 OpenFOAM求解器编译实例 13
2.1.3 CMake编译OpenFOAM求解器 17
2.2 基本输入输出 21
2.2.1 项目基本结构及测试文件 22
2.2.2 基本输入 24
2.2.3 基本输出 26
2.3 程序参数 28
2.3.1 C++中main函数参数 28
2.3.2 OpenFOAM中程序参数 29
2.4 网格基本结构与网格信息提取 35
2.4.1 OpenFOAM几何模型及边界组成 35
2.4.2 OpenFOAM多面体网格数据结构 36
2.4.3 OpenFOAM网格信息读取 40
2.5 基本物理场操作 47
2.5.1 基本物理场读取 47
2.5.2 基本物理场运算 51
2.5.3 CMake编译文件 54
第3章 OpenFOAM编程进阶 56
3.1 并行计算 56
3.1.1 OpenFOAM并行基本方法 57
3.1.2 OpenFOAM并行计算实例 60
3.2 自定义类 63
3.2.1 C++基本类 64
3.2.2 基于OpenFOAM的派生类 67
3.2.3 CMake编译 69
3.3 自定义库 70
3.3.1 库的定义与编辑 71
3.3.2 程序功能实现 74
3.4 网格生成 78
3.4.1 网格生成源程序 79
3.4.2 程序编译及运行结果 83
3.5 自定义插值格式 84
3.5.1 求解器文件设置 84
3.5.2 算例文件相关设置及测试结果 87
3.6 粒子追踪 94
3.6.1 粒子追踪源文件 94
3.6.2 算例文件相关设置 97
第4章 边界条件 103
4.1 边界类型 103
4.2 固定梯度边界 104
4.2.1 算例模型 104
4.2.2 算例模型设置 105
4.2.3 算例运行及仿真结果 109
4.3 周期性边界 110
4.3.1 算例模型 110
4.3.2 算例模型设置 110
4.3.3 算例运行及仿真结果 117
4.4 可变边界条件 119
4.4.1 稳态可变边界 119
4.4.2 瞬态可变边界 123
4.5 自定义边界 127
4.5.1 自定义边界文件编辑 128
4.5.2 算例模型编辑及仿真结果 133
第5章 OpenFOAM算例构建及运行 135
5.1 顶盖驱动流 135
5.1.1 前处理 136
5.1.2 网格查看 142
5.1.3 运行算例 143
5.1.4 后处理 143
5.1.5 操作优化 149
5.2 圆柱扰流 152
5.2.1 前处理 153
5.2.2 运行算例 169
5.2.3 后处理 170
5.3 多种材料热传导 170
5.3.1 网格划分 171
5.3.2 初始条件 173
5.3.3 区域分割 175
5.3.4 物理属性 178
5.3.5 求解器设置 179
5.3.6 算例运行及仿真结果 181
5.4 气泡在水中的运动 182
5.4.1 算例模型设置 183
5.4.2 算例运行及仿真结果 191
第6章 OpenFOAM求解器设计与算例构建 193
6.1 简单输运方程 193
6.1.1 求解器头文件与源文件 194
6.1.2 算例模型相关设置 196
6.1.3 仿真结果 201
6.2 带源项的扩散方程 201
6.2.1 热传导求解器各文件 202
6.2.2 算例文件相关设置及测试结果 203
6.3 带源项的扩散方程2 207
6.3.1 改进的热传导求解器各文件设置 208
6.3.2 全局热源模型设置及测试结果 210
6.3.3 任意位置热源算例设置及测试结果 214
6.4 波动方程 219
6.4.1 求解器文件设置 220
6.4.2 算例文件设置及测试结果 222
6.5 通用输运方程 227
6.5.1 通用输运方程求解器各文件设置 227
6.5.2 通用输运方程正确性算例验证 230
6.5.3 非稳态扩散算例设置及仿真结果 235
6.5.4 非稳态对流算例设置及仿真结果 240
6.5.5 非稳态对流扩散算例设置及仿真结果 241
6.6 不可压缩N?S方程求解器 242
6.6.1 控制方程与离散格式 242
6.6.2 SIMPLE算法简介 245
6.6.3 PISO算法简介 247
6.6.4 SIMPLE算法求解器及算例结构 248
6.6.5 SIMPLE算法求解器各文件设置 249
6.6.6 算例文件相关设置及相关测试结果 252
6.7 离散类求解器 257
6.7.1 离散类方法概述 257
6.7.2 离散类方法与连续介质方法的比较 257
6.7.3 离散类方法在OpenFOAM中的实现 258
6.7.4 particleFoam求解器 258
6.7.5 dsmcFoam求解器 260
6.7.6 算例文件相关设置及测试结果 261
参考文献 269