本书以水利、海洋、工程力学、环境和气象等工程问题为背景,总结了作者长期以来从事流体力学数值计算方法的教学和研究工作,重点叙述了计算流体力学(CFD)的基础知识.本书所述所写均穿插实例,详细地分析比较了数值方法的优劣特性,具有很强的可读性,极易实施和推广应用.
全书尽可能从简单到复杂、从传统型差分格式到高精度的紧致型差分格式、从模型方程到不可压缩流体运动的微分方,层次结构清楚,既具有较强的理论性,又具备较好的实践性和可操作性. 最后,本书描述了求解不可压缩流体N-S 方程的常用数值模拟方法,尤其介绍了高精度、高分辨率的数值计算方法以及在天然河道流动中的实际应用.
样章试读
目录
- 目录
前言
第一篇基础篇
第 1章控制方程与差分基础知识 .............................................. 3
1.1控制方程 ............................................................... 3
1.1.1流体力学的基本方程 ............................................... 3
1.1.2一般偏微分方程的分类 ............................................ 16
1.1.3模型方程及其性质 ................................................ 21
1.2有限差分的基础知识 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.2.1构造有限差分方程的几种方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.2.2差分方程的收敛性、相容性和稳定性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.2.3差分方程的稳定性分析 ............................................ 39
参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
第 2章抛物型方程的差分方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.1一维抛物型方程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
2.1.1显式格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
2.1.2隐式格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53
2.1.3稳定性分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54
2.1.4其他差分格式 .................................................... 56
2.1.5算例验证与分析 .................................................. 61
2.2二维抛物型方程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64
2.2.1显式格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64
2.2.2隐式格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65
2.2.3交替方向隐式格式 ................................................ 65
2.2.4分步隐式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66
2.2.5近似因子法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66
2.2.6算例验证与分析 .................................................. 68
2.3三维抛物型方程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
2.3.1显式格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
2.3.2 ADI格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
2.3.3三步离散格式 .................................................... 74
参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
第 3章椭圆型方程的差分方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.1椭圆型方程 ........................................................... 76
3.1.1迭代法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.1.2松弛法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.1.3交替方向隐式迭代法 .............................................. 78
3.2算例验证与分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79
3.2.1解析解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.2.2不同迭代方法计算的数值解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
第 4章双曲型方程的差分方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.1线性双曲型方程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88
4.1.1显式格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88
4.1.2隐式格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93
4.1.3算例验证和分析 .................................................. 96
4.2非线性双曲型方程 ................................................... 106
4.2.1显式格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106
4.2.2隐式格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109
4.2.3算例验证与分析 ................................................. 111
4.3 TVD格式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123
4.3.1各种变异 TVD格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
4.3.2算例验证与分析 ................................................. 129
4.4其他格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136
参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
第 5章高精度的差分方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .141
5.1半离散化方程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
5.2线性对流扩散方程的高精度差分格式 ................................ 143
5.2.1传统型有限差分 ................................................. 144
5.2.2紧致型有限差分 ................................................. 145
5.3半离散化方程的行为分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
5.3.1傅里叶分析方法 ................................................. 153
5.3.2截断误差的分析方法 ............................................. 154
5.3.3数值解的群速度 ................................................. 156
5.4算例验证与分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158
5.4.1双曲型方程 ..................................................... 158
5.4.2抛物型方程 ..................................................... 163
5.5椭圆型方程的紧致型有限差分 ....................................... 165
5.5.1二维椭圆型方程 ................................................. 165
5.5.2三维椭圆型方程 ................................................. 167
5.5.3算例验证与分析 ................................................. 168
5.6非等间距的紧致型有限差分. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .170
5.6.1一阶偏导数 ..................................................... 170
5.6.2二阶偏导数 ..................................................... 173
参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
第 6章谱方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .176
6.1谱方法 ............................................................... 176
6.2伪谱方法或拟谱方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
6.3非线性问题的谱方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
6.4谱方法的误差分析 ................................................... 180
参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
第二篇专题篇
第 7章坐标变换与网格生成 ................................................ 185
7.1方程的一般变换. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185
7.2度量和雅可比行列式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
7.3代数网格生成方法 ................................................... 193
7.4贴体网格生成方法 ................................................... 197
7.5椭圆型方程的网格生成方法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .200
7.6梯形区域的网格生成方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
第 8章不可压缩流体运动控制方程的数值计算方法 ........................ 204
8.1笛卡儿坐标系下不可压缩流体运动控制方程的数值计算方法 ........ 205
8.1.1混合显 –隐的数值计算方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
8.1.2显式格式的数值计算方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
8.1.3经典算例验证与分析 ............................................. 242
8.2曲线坐标系下不可压缩流体运动控制方程的数值计算方法. . . . . . . . . . .249
8.2.1基本方程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .249
8.2.2计算方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .254
8.3谱方法的应用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
8.3.1扰动方程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .255
8.3.2伪谱方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .259
8.3.3 Malik方法 ..................................................... 260
8.3.4流动稳定性理论中的数值计算方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .264
参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
第 9章水动力学问题的数值计算方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
9.1一维水动力学 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
9.1.1基本方程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .271
9.1.2 Preissmann格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .271
9.1.3算例验证与分析 ................................................. 272
9.2二维水动力学 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
9.2.1沿水深平均的基本方程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
9.2.2曲线坐标系下二维水动力学方程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .279
9.2.3二维水动力学方程的 ADI格式 ................................... 280
9.2.4 k-ε方程的 ADI格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
9.2.5边界条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .286
9.3三维水动力学 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
9.3.1基本方程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .288
9.3.2高精度的差分格式 ............................................... 294
9.3.3算例验证与分析 ................................................. 306
9.3.4天然河流中的应用 ............................................... 309
参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312