店铺推荐
【推荐语】
1.本书分两大部分:基础和应用,满足初学者和提升者的不同需求。

2.详细的使用说明和案例分析,为非计算机专业的工程技术人员和科研工作者提供一种使用OpenFOAM解决本领域多物理场计算问题的方法。

3.涵盖Linux系统的基本操作、C++语言的基本原理、ParaView后处理软件的使用方法、OpenFOAM程序组织结构,将具体物理场的数学模型转换为计算程序源代码。

4.书中附有大量源代码、操作截图、表格数据,易读易学。
【作者】
【内容】
工程技术中越来越依赖于多物理场的有效求解来理解所遇到实际问题的物理本质,OpenFOAM是工程和科学计算领域解决多物理场数值计算的有力工具。本书内容涵盖使用OpenFOAM必须掌握的基础知识和针对特定物理问题编制OpenFOAM求解器的应用实例,既能满足初学者的学习需求,又能供熟练使用OpenFOAM的人员用于提高OpenFOAM编程能力。全书共分为11章,前5章为基础部分,包括Linux操作系统基础、ParaView数据分析和可视化基础、OpenFOAM编程的C++基础、OpenFOAM编程基础和有限体积法基础;后6章为应用部分,包括编写OpenFOAM算例、编写OpenFOAM求解器、不可压缩流体流动求解器、多区域静磁场求解器、铁磁流体磁-流耦合流动求解器和纳米颗粒直接荷电过程多场耦合求解器。本书可作为高等院校机械工程、动力工程及工程热物理、航空航天等专业的研究生教材,也可以供从事计算多物理场研究和使用OpenFOAM的技术人员参考。
【目录】
第1章Linux操作系统基础001
1.1Linux操作系统简介001
1.2Shell及其基本操作002
1.3Linux文件系统结构及管理005
1.4gedit文档编辑011
第2章ParaView数据分析和可视化基础013
2.1ParaView图形用户界面组成013
2.2由数据源生成数据集和可视化014
2.3加载数据文件016
2.4ParaView数据模型018
2.5显示数据023
2.5.1创建视图023
2.5.2渲染视图(Render View)024
2.5.3图表视图(Chart View)028
2.5.4比较视图(Comparative View)033
2.6过滤数据(Filtering Data)034
2.6.1创建和修改过滤器034
2.6.2用于提取子数据集的过滤器036
2.6.3用于几何操作的过滤器039
2.6.4用于数据采集的过滤器040
2.6.5用于属性操作的过滤器044
2.7选择数据(SelectingData)046
2.7.1使用视图创建数据选择046
2.7.2使用FindData面板创建数据选择047
2.7.3提取和冻结数据选择049
2.8动画050
2.8.1动画视图(AnimationView)050
2.8.2为包含时间值的数据集创建动画051
2.8.3设置动画中的相机参数052
2.9保存结果053
2.9.1保存数据集053
2.9.2保存渲染结果054
2.9.3保存动画056
2.9.4保存状态056
2.9.5提取器(Extractors)057
2.10ParaView高级设置058
2.10.1颜色设置058
2.10.2多块数据检查器(MultiblockInspector)062
2.10.3注释063
2.10.4坐标轴设置063
2.10.5定制ParaView064
第3章OpenFOAM编程的C++基础067
3.1C++程序组成067
3.1.1C++程序的总体组成067
3.1.2C++语句068
3.1.3代码块072
3.1.4函数简介075
3.2C++支持的数据类型076
3.2.1基本数据类型077
3.2.2复合类型078
3.2.3数据的存储方式082
3.2.4名称空间082
3.3C++函数083
3.3.1处理数组的函数083
3.3.2处理字符串的函数084
3.3.3处理结构的函数084
3.3.4内联函数085
3.3.5使用引用变量作为函数形参085
3.3.6函数的默认参数087
3.3.7函数重载087
3.3.8函数模板088
3.4类和对象089
3.4.1类的定义和使用089
3.4.2对象数组093
3.4.3操作符重载093
3.4.4友元094
3.4.5类对象作为返回值时的返回种类095
3.4.6静态数据成员和静态成员函数096
3.4.7类的类型转换096
3.4.8指向对象的指针097
3.4.9类继承098
3.4.10类模板102
第4章OpenFOAM编程基础106
4.1OpenFOAM介绍106
4.1.1OpenFOAM简介及功能106
4.1.2OpenFOAM安装107
4.1.3OpenFOAM的目录结构110
4.2OpenFOAM中的张量运算113
4.2.1张量表示法114
4.2.2张量运算115
4.2.3二阶张量及其代数运算117
4.2.4常用矢量公式118
4.2.5张量运算在OpenFOAM中的表示119
4.2.6OpenFOAM中的基本张量类121
4.2.7OpenFOAM中的量纲和单位制127
4.3OpenFOAM的基本数据类型131
4.3.1简单数据类型131
4.3.2Tuple2135
4.3.3多项式方程135
4.3.4链表137
4.3.5HashTable139
4.3.6autoPtr140
4.3.7物理常数141
4.4编程中常用的OpenFOAM标准类142
4.4.1tmp142
4.4.2refCount143
4.4.3IOobject143
4.4.4dictionary144
4.4.5Time147
4.4.6argList148
4.4.7token149
4.5Foam名称空间151
4.5.1Foam名称空间中的函数151
4.5.2Foam名称空间中的变量153
4.5.3Foam名称空间中的别名154
4.6OpenFOAM中的物理场类156
4.6.1Field156
4.6.2FieldField158
4.6.3DimensionedField159
4.6.4GeometricField160
4.6.5Boundary166
4.6.6fvPatchField167
4.7OpenFOAM编程语句169
4.7.1简单语句169
4.7.2与字典操作相关的语句170
4.7.3输入输出172
第5章有限体积法基础173
5.1物理现象的数学描述173
5.1.1控制微分方程的物理含义173
5.1.2质量守恒方程174
5.1.3动量守恒方程175
5.1.4能量守恒方程175
5.1.5化学组分守恒方程177
5.2离散方法178
5.2.1偏微分方程数值求解的总体过程178
5.2.2有限体积法离散180
5.2.3以单元为中心的FVM182
5.2.4离散方法需满足的基本原则183
5.2.5有限体积网格184
5.3代数方程组求解188
5.3.1直接法188
5.3.2迭代法191
5.3.3求解代数方程的松弛技术199
5.3.4方程的残差200
5.4扩散项的离散202
5.4.1二维规则笛卡儿网格内部单元上的离散202
5.4.2二维规则笛卡儿网格边界单元上的离散203
5.4.3非均匀扩散系数的处理205
5.4.4非正交非结构化网格时的离散206
5.4.5非正交网格时的边界条件207
5.4.6网格偏斜时的离散208
5.4.7各向异性扩散208
5.4.8正交曲线坐标系中的离散209
5.5梯度计算210
5.5.1笛卡儿网格中的梯度计算210
5.5.2非结构化网格上的梯度计算——Green-Gauss梯度210
5.5.3非结构化网格上的梯度计算——最小二乘梯度212
5.5.4由单元质心上的梯度插值得到面的上梯度213
5.6对流项的离散213
5.6.1一维网格时的中心差分法213
5.6.2一维网格时的迎风格式214
5.6.3一维网格时的顺风格式215
5.6.4一维网格时的截断误差215
5.6.5数值稳定性216
5.6.6高阶迎风格式217
5.6.7二维稳态对流项的离散220
5.6.8非结构化网格时的高阶方法221
5.6.9迁延修正法222
5.7对流项离散的高精度格式222
5.7.1NVF222
5.7.2对流有界性准则224
5.7.3NVF框架下的HR格式225
5.7.4TVD框架及该框架下的HO和HR格式226
5.7.5非结构化网格中的HR格式230
5.7.6HR格式的迁延修正、DWF和NWF方法230
5.7.7对流边界条件232
5.8瞬态项的离散233
5.8.1有限差分法233
5.8.2有限体积法237
5.8.3非均匀时间步时的离散241
5.9源项的离散243
第6章编写OpenFOAM算例245
6.1OpenFOAM算例的基本目录结构245
6.2OpenFOAM算例文件的基本格式246
6.3划分网格248
6.3.1OpenFOAM中与网格有关的类249
6.3.2OpenFOAM中的网格描述252
6.3.3使用blockMesh划分网格256
6.4设置微分方程离散方法260
6.5设置代数方程求解方法和误差265
6.6求解过程控制269
6.6.1全局控制269
6.6.2时间和数据输入/输出控制270
6.7边界和边界条件272
6.7.1边界272
6.7.2OpenFOAM中与边界有关的类和函数274
6.7.3边界条件275
6.7.4OpenFOAM中边界和边界条件的关系280
6.8使用#codeStream的内联编程280
6.8.1使用#codeStream代码定义边界条件281
6.8.2使用#codeStream代码定义初始条件283
6.8.3使用#codeStream代码同时定义初始条件和边界条件284
6.9模型和物理特性286
6.9.1热物理模型286
6.9.2紊流模型290
6.9.3输运/黏度模型293
6.10后处理296
6.10.1后处理命令行296
6.10.2数据采样和监测302
6.11算例管理工具305
第7章编写OpenFOAM求解器308
7.1OpenFOAM求解器组成308
7.2编写OpenFOAM求解器时常用的标准头文件310
7.3定义描述物理场的变量和常量313
7.3.1定义常量313
7.3.2定义变量314
7.4方程离散317
7.4.1fvMatrix类模板317
7.4.2fvc和fvm名称空间318
7.4.3微分方程的表示319
7.5编写OpenFOAM求解器时常用的语句块321
7.5.1物理场典型操作语句321
7.5.2访问Time和fvMesh类对象的属性321
7.5.3访问GeometricField类对象的属性323
7.6求解器编译323
7.6.1使用wmake编译324
7.6.2使用wclean删除依赖列表326
7.6.3编译库326
7.6.4调试消息326
7.6.5将用户定义的库链接到应用程序327
7.7运行求解器327
7.7.1运行求解器的方法327
7.7.2并行运行应用程序329
7.8编写新求解器的一般方法333
7.9OpenFOAM中的常用标准求解器336
7.9.1基本CFD代码336
7.9.2不可压缩流动求解器337
7.9.3可压缩流动求解器338
7.9.4多相流338
7.9.5传热和浮力驱动流求解器338
7.9.6其他求解器340
7.10OpenFOAM中的标准实用程序341
第8章物理场计算实例——不可压缩流体流动求解器345
8.1动量方程的离散345
8.2压力修正方程348
8.3求解算法350
8.3.1SIMPLE和SIMPLEC算法350
8.3.2PISO算法357
8.3.3PIMPLE算法360
第9章物理场计算实例——多区域静磁场求解器361
9.1静磁场的控制方程361
9.2控制方程的有限体积离散362
9.3同一磁介质内单元间界面上的相对磁导率363
9.4不同磁介质间界面上的边界条件364
9.5基于多区域耦合方法的求解器编制367
9.5.1创建网格、场和不同种类的区域369
9.5.2控制方程的离散和求解369
9.5.3定义边界条件370
9.6求解器验证372
第10章物理场计算实例——铁磁流体磁-流耦合流动求解器375
10.1控制方程376
10.2方程离散和求解方法378
10.2.1磁场方程的离散和求解378
10.2.2动量方程的有限体积法离散和求解380
10.2.3磁化方程的有限体积法离散和求解384
10.2.4总体求解过程387
10.3求解器编制388
10.3.1求解器组成388
10.3.2建立参数和变量389
10.3.3控制方程的离散和求解390
10.3.4后处理——铁磁流体对壁面的平均剪切应力和铁磁流体内涡旋强度的计算391
10.3.5算例组成393
10.4求解器验证395
10.4.1无磁场作用时的铁磁流体平面Couette-Poiseuille流395
10.4.2铁磁流体平面Couette流在小剪切率时垂直于外磁场方向上的磁化强度396
10.4.3垂直于流动方向恒定磁场作用下的铁磁流体平面Couette-Poiseuille流397
第11章物理场计算实例—纳米颗粒直接荷电过程多场耦合求解器399
11.1控制方程402
11.1.1电晕放电过程402
11.1.2Fuchs扩散荷电模型403
11.1.3边界条件和初始条件406
11.2求解方法408
11.2.1区域离散和方程离散408
11.2.2求解过程411
11.2.3计算结合系数?的方法412
11.3求解器编制413
11.3.1求解器组成413
11.3.2建立参数和场量415
11.3.3控制方程的离散和求解416
11.3.4计算离子-颗粒结合系数417
11.3.5定义边界条件420
11.3.6算例组成422
11.4求解器验证423
11.4.1电场分布计算结果验证424
11.4.2离子-颗粒结合系数计算结果验证424
11.4.3荷电效率计算结果验证424
参考文献426
返回顶部