本书主要就守恒律方程的数值方法从理论到算法实现进行详细介绍,内容由浅入深。针对算法的实施及应用,以严格的数学理论为基础,围绕核心计算技术,进行深入分析和讨论。从守恒律方程的介绍开始,逐步介绍了相应的数值技术,并进行了探讨。就经典的计算方法而言,作者以小部分内容涵盖了有限差分和有限体积,用主要的篇幅介绍高精度计算方法。针对高阶计算方法,书中介绍了针对守恒律方程的高阶时间积分方法及空间离散格式,例如:Runge-Kutta方法、高阶限制器、ENO格式、间断Galerkin方法及谱方法。同时,从理论分析角度,就高阶方法所面临的挑战进行了讨论。本书附带教学及自学Matlab及C++代码,为理解和应用相应的算法提供了基础。
更多科学出版社服务,请扫码获取。
1. 1999.09-2003.07 西安交通大学数学系,学士
2. 2003.09-2006.02 西安交通大学数学系,硕士
3. 2006.02-2009.12 西安交通大学动力工程与工程热物理,博士1. 2024.01-至今:问境智能联合研究中心,主任,特聘教授
2. 2018.12-至今:伦敦帝国理工学院,航空系研究员 (PI)
3. 2018.09-至今:上海交通大学,副教授
4. 2012.10-2018.10:伦敦帝国理工学院,航空系及数学系,副研究员/研究员 (PI)
5. 2017.02-2018.08:英国诺丁汉大学,工程系,访问研究院
6. 2010.03-2012.05:巴黎第六大学,力学系与达朗贝尔研究院,博士后计算数学1. 主持上海市海外高层次人才项目--"千人计划"(本书依托项目)
2. 主持国家自然科学基金"湍流结构的生成演化与作用机理"重大研究计划培育项"涡扇发动机中湍流特性及宽频噪生产生机理的数值研究"(项目编号:91852106,伦敦帝国理工荣誉研究;Journal of Hydrodynamics 副主编;中国空气动力学会计算空气动力学专业委员会委员;中国空气动力学会智能空气动力学专业组委员。
目录
中文版序言
Preface to the Chinese Edition
译者序言
原书序言
MATLAB脚本
第1章 介绍
1.1 面临的挑战 3
1.2 守恒律的历史 8
1.3 连续介质力学中的伟大方程 10
1.3.1 线性方程 10
1.3.2 非线性方程 13
1.4 测试案例及软件 14
1.4.1 一维问题 14
1.4.2 二维问题 19
1.5 待解法和发现的问题 21
1.6 读者及阅读建议 23
参考文献 23
第2章 标量守恒律方程
2.1 弱解 29
2.2 熵条件与解 32
2.3 熵函数 38
参考文献 45
第3章 守恒律系统
3.1 线性系统 47
3.2 黎曼问题 52
3.3 熵条件与熵函数 58
参考文献 63
第4章 从连续到离散
4.1 守恒与守恒形式 66
4.2 单调性和熵条件 70
参考文献 83
第5章 有限差分法 84
5.1 线性问题 85
5.1.1 一致性、稳定性和收敛性 88
5.1.2 非光滑问题 95
5.2 非线性问题 97
5.3 有限差分法的运用 99
5.3.1 边界条件 100
5.3.2 线性波动方程 101
5.3.3 伯格斯方程 103
5.3.4 麦克斯韦方程组 107
5.3.5 欧拉方程 111
参考文献 118
第6章 有限体积法 120
6.1 戈杜诺夫法 120
6.2 近似黎曼求解器 125
6.2.1 Roe通量 125
6.2.2 Engquist-Osher通量 131
6.2.3 Harten-Lax-van Leer (HLL)通量 132
6.3 中心格式 134
6.4 有限体积方法的运用 136
6.4.1 欧拉方程 136
参考文献 143
第7章 多维问题 145
7.1 二维单调格式的运用 147
7.1.1 伯格斯方程 147
7.1.2 非凸问题 150
7.1.3 欧拉方程 153
参考文献 162
第8章 高阶精度及其挑战 164
8.1 优点 164
8.1.1 相位误差分析 169
8.2 缺点 173
8.2.1 总变差稳定性 173
8.2.2 熵稳定性 185
8.3 严重缺点 200
8.3.1 吉布斯现象 202
8.3.2 是否重要 207
8.3.3 如果重要,可以做什么 211
参考文献 219
第9章 强稳定性保持的时间积分 222
9.1 龙格-库塔法 225
9.1.1 显式强稳定性保持(SSP)龙格-库塔格式 227
9.1.2 隐式SSP龙格-库塔格式 230
9.1.3 阶次障碍 232
9.2 多步法 237
参考文献 238
第10章 基于限制器的高阶精度方法 240
10.1 通量限制格式 241
10.1.1 通量校正传输(FCT)格式 241
10.1.2 TVD-稳定的高阶格式 243
10.1.3 正格式 250
10.1.4 通量限制格式的运用 254
10.2 斜率限制格式 266
10.2.1 守恒律方程的单调上游中心格式(MUSCL) 266
10.2.2 基于拉格朗日重构的多项式方法 271
10.2.3 斜率限制格式的运用 275
10.3 中心格式 283
10.3.1 中心格式的运用 289
10.4 拓展到多维问题 298
10.4.1 伯格斯方程 298
10.4.2 非凸标量方程 306
10.4.3 欧拉方程 308
参考文献 315
第11章 本质无振荡格式 319
11.1 插值与重构 319
11.2 ENO方法 326
11.2.1 守恒律方程的 ENO 法 329
11.2.2 一些理论 331
11.2.3 ENO方法的运用 335
11.3 WENO方法 353
11.3.1 WENO的变种 359
11.3.2 良平衡格式 364
11.3.3 更多理论 368
11.3.4 WENO方法的运用 370
11.4 处理非均匀网格 378
11.5 从一维拓展 380
11.5.1 非笛卡儿边界上的插叙 382
11.5.2 标量方程 383
11.6 欧拉方程 386
参考文献 392
第12章 间断伽辽金方法 396
12.1 基本概念 402
12.1.1 局部近似 405
12.1.2 关键性质 417
12.1.3 误差估计 423
12.1.4 相位误差分析 427
12.2 非光滑问题 430
12.2.1 隐藏精度的研究 432
12.2.2 滤波 440
12.2.3 非线性耗散 449
12.2.4 斜率限制器 464
12.2.5 基于WENO的限制器 473
12.2.6 极值保持限制器 479
12.3 相关公式 483
12.3.1 谱惩罚方法 485
12.3.2 谱有限体积格式 487
12.3.3 谱差分格式 488
12.3.4 通量重构格式 491
12.4 扩展到多维问题 495
12.5 间断伽辽金方法的运用 499
12.5.1 线性波动方程 500
12.5.2 伯格斯方程 506
12.5.3 麦克斯韦方程 510
12.5.4 欧拉方程 513
参考文献 523
第13章 谱方法 533
13.1 傅里叶模式和节点 534
13.1.1 连续傅里叶展开 534
13.1.2 离散傅里叶展开 540
13.2 傅里叶谱方法 545
13.2.1 傅里叶-伽辽金方法 545
13.2.2 傅里叶配置法 548
13.3 非线性问题 553
13.3.1 斜对称形式 553
13.3.2 黏性消去法 556
13.4 后处理技术 562
13.4.1 滤波 562
13.4.2 傅里叶-帕德重构 568
13.4.3 克服吉布斯现象 574
13.5 谱方法的运用 585
13.5.1 伯格斯方程 585
13.5.2 麦克斯韦方程 589
13.5.3 欧拉方程 592
参考文献 596
索引 601
11.2.3 ENO方法的运用 335
11.3 WENO方法 353
11.3.1 WENO的变种 359
11.3.2 良平衡格式 364
11.3.3 更多理论 368
11.3.4 WENO方法的运用 370
11.4 处理非均匀网格 378
11.5 从一维拓展 380
11.5.1 非笛卡儿边界上的插叙 382
11.5.2 标量方程 383
11.6 欧拉方程 386
参考文献 392
第12章 间断伽辽金方法 396
12.1 基本概念 402
12.1.1 局部近似 405
12.1.2 关键性质 417
12.1.3 误差估计 423
12.1.4 相位误差分析 427
12.2 非光滑问题 430
12.2.1 隐藏精度的研究 432
12.2.2 滤波 440
12.2.3 非线性耗散 449
12.2.4 斜率限制器 464
12.2.5 基于WENO的限制器 473
12.2.6 极值保持限制器 479
12.3 相关公式 483
12.3.1 谱惩罚方法 485
12.3.2 谱有限体积格式 487
12.3.3 谱差分格式 488
12.3.4 通量重构格式 491
12.4 扩展到多维问题 495
12.5 间断伽辽金方法的运用 499
12.5.1 线性波动方程 500
12.5.2 伯格斯方程 506
12.5.3 麦克斯韦方程 510
12.5.4 欧拉方程 513
参考文献 523
第13章 谱方法 533
13.1 傅里叶模式和节点 534
13.1.1 连续傅里叶展开 534
13.1.2 离散傅里叶展开 540
13.2 傅里叶谱方法 545
13.2.1 傅里叶-伽辽金方法 545
13.2.2 傅里叶配置法 548
13.3 非线性问题 553
13.3.1 斜对称形式 553
13.3.2 黏性消去法 556
13.4 后处理技术 562
13.4.1 滤波 562
13.4.2 傅里叶-帕德重构 568
13.4.3 克服吉布斯现象 574
13.5 谱方法的运用 585
13.5.1 伯格斯方程 585
13.5.2 麦克斯韦方程 589
13.5.3 欧拉方程 592
参考文献 596
索引 601
11.2.3 ENO方法的运用 335
11.3 WENO方法 353
11.3.1 WENO的变种 359
11.3.2 良平衡格式 364
11.3.3 更多理论 368
11.3.4 WENO方法的运用 370
11.4 处理非均匀网格 378
11.5 从一维拓展 380
11.5.1 非笛卡儿边界上的插叙 382
11.5.2 标量方程 383
11.6 欧拉方程 386
参考文献 392
第12章 间断伽辽金方法 396
12.1 基本概念 402
12.1.1 局部近似 405
12.1.2 关键性质 417
12.1.3 误差估计 423
12.1.4 相位误差分析 427
12.2 非光滑问题 430
12.2.1 隐藏精度的研究 432
12.2.2 滤波 440
12.2.3 非线性耗散 449
12.2.4 斜率限制器 464
12.2.5 基于WENO的限制器 473
12.2.6 极值保持限制器 479
12.3 相关公式 483
12.3.1 谱惩罚方法 485
12.3.2 谱有限体积格式 487
12.3.3 谱差分格式 488
12.3.4 通量重构格式 491
12.4 扩展到多维问题 495
12.5 间断伽辽金方法的运用 499
12.5.1 线性波动方程 500
12.5.2 伯格斯方程 506
12.5.3 麦克斯韦方程 510
5.1 extend.m 100
5.2 LinwaveMDriver1D.m 101
5.3 LinwaveM1D.m 101
5.4 LinwaveMrhs1D.m 102
5.5 LinwaveLF.m 102
5.6 LinwaveLW.m 103
5.7 BurgersMDriver1D.m 104
5.8 BurgersM1D.m 105
5.9 BurgersMrhs1D.m 105
5.10 BurgersLF.m 106
5.11 BurgersLW.m 106
5.12 BurgersRoe.m 106
5.13 MaxwellMDriver1D.m 107
5.14 CavityExact.m 108
5.15 MaxwellM1D.m 108
5.16 MaxwellMrhs1D.m 109
5.17 MaxwellLF.m 109
5.18 MaxwellLW.m 110
5.19 EulerMDriver1D.m 111
5.20 EulerM1D.m 112
5.21 EulerMrhs1D.m 113
5.22 EulerLF.m 113
5.23 EulerLLF.m 114
5.24 EulerLW.m 114
6.1 Chebtau2p.m 130
6.2 Chebeps.m 130
6.3 EulerRoe.m 137
6.4 EulerHLL.m 138
6.5 EulerHLLC.m 140
7.1 BurgersMDriver2D.m 147
7.2 BurgersM2D.m 148
7.3 BurgersMrhs2D.m 148
7.4 KPPMDriver2D.m 150
7.5 KPPM2D.m 150
7.6 KPPMrhs2D.m 151
7.7 KPPxLF.m 151
7.8 KPPyLF.m 152
7.9 EulerMDriver2D.m 153
7.10 EulerM2D.m 154
7.11 EulerMrhs2D.m 154
7.12 EulerLF2Dx.m 155
7.13 EulerLF2Dy.m 156
7.14 EulerHLL2Dx.m 157
7.15 EulerHLL2Dy.m 158
7.16 IsentropicVortex2D.m 159
8.1 FilterFD.m 213
10.1 minmod.m 242
10.2 FluxLimit.m 254
10.3 LinwaveFLrhs1D.m 255
10.4 BurgersFLrhs1D.m 258
10.5 EulerFLrhs1D.m 260
10.6 EulerFLcharrhs1D.m 263
10.7 EulerChar.m 265
10.8 maxmod.m 270
10.9 minmodTVB.m 271
10.10 SlopeLimit.m 275
10.11 LinwaveSLrhs1D.m 276
10.12 BurgersSLrhs1D.m 279
10.13 EulerSL1D.m 280
10.14 EulerSLrhs1D.m 281
10.15 extendstag.m 289
10.16 LinwaveCrhs1D.m 290
10.17 BurgersFlux.m 292
10.18 BurgersJac.m 292
10.19 BurgersCrhs1D.m 293
10.20 EulerCrhs1D.m 294
10.21 EulerFlux.m 296
10.22 EulerJac.m 297
10.23 BurgersFLrhs2D.m 298
10.24 BurgersSLrhs2D.m 300
10.25 BurgersCrhs2D.m 302
10.26 BurgersFlux2Dx.m 305
10.27 BurgersFlux2Dy 305
10.28 BurgersJac2Dx.m 305
10.29 BurgersJac2Dy.m 306
10.30 KPPFlux2Dx.m 306
10.31 KPPFlux2Dy.m 307
10.32 KPPJac2Dx.m 307
10.33 KPPJac2Dy.m 307
10.34 EulerSL2D.m 309
10.35 EulerSLrhs2D.m 309
10.36 EulerFlux2Dx.m 312
10.37 EulerFlux2Dy.m 312
10.38 EulerJac2Dx.m 313
10.39 EulerJac2Dy.m 314
11.1 ReconstructWeights.m 324
11.2 LinearWeights.m 325
11.3 ddnewton.m 328
11.4 ENO.m 335
11.5 LegendreGQ.m 336
11.6 BurgersENODriver1D.m 337
11.7 BurgersENO1D.m 338
11.8 BurgersENOrhs1D.m 339
11.9 MaxwellENODriver1D.m 341
11.10 MaxwellENO1D.m 341
11.11 MaxwellENOrhs1D.m 342
11.12 MaxwellUpwind.m 345
11.13 EulerENODriver1D.m 347
11.14 EulerENO1D.m 348
11.15 EulerENOrhs1D.m 349
11.16 lagrangeweights.m 355
11.17 Qcalc.m 357
11.18 betarcalc.m 357
11.19 WENO.m 371
11.20 MaxwellWENO1D.m 372
11.21 EulerWENOcharrhs1D.m 375
11.22 KPPWENOrhs2D.m 384
11.23 EulerWENODriver2D.m 386
11.24 EulerWENO2D.m 387
11.25 EulerWENOrhs2D.m 388
12.1 LegendreP.m 406
12.2 LegendreGL.m 412
12.3 VandermondeDG.m 413
12.4 GradLegendreP.m 415
12.5 GradVandermondeDG.m 415
12.6 DmatrixDG.m 415
12.7 FilterDG.m 444
12.8 HeatDGrhs1D.m 454
12.9 HeatFlux.m 455
12.10 Nonvisc1.m 456
12.11 Nonvisc2.m 458
12.12 Entvisc.m 460
12.13 SlopeLimitCSDG.m 467
12.14 SlopeLimitBSBDG.m 469
12.15 MomentLimitDG.m 470
12.16 WENOlimitDG.m 474
12.17 WENODGWeights.m 477
12.18 extprelimitDG.m 482
12.19 extendDG.m 499
12.20 LinwaveDGDriver1D.m 501
12.21 LinwaveDG1D.m 501
12.22 LinwaveDGrhs1D.m 503
12.23 BurgersDGDriver1D.m 506
12.24 BurgersDG1D.m 507
12.25 BurgersDGrhs1D.m 508
12.26 MaxwellDGDriver1D.m 510
12.27 MaxwellDG1D.m 511
12.28 MaxwellDGrhs1D.m 512
12.29 EulerDGDriver1D.m 514
12.30 EulerDG1D.m 515
12.31 EulerDGrhs1D.m 516
12.32 EulerQtoRDG.m 518
12.33 EulerRtoQDG.m 519
13.1 Fourierdx.m 538
13.2 FourierD.m 542
13.3 Fourier-VanishHypVisc.m 560
13.4 FourierF.m 567
13.5 FourierPade.m 570
13.6 SingularFourierPade.m 571
13.7 GegenbauerP.m 578
13.8 GegenbauerRecon.m 580
13.9 GegenbauerGQ.m 583
13.10 GegenbauerPade.m 584
13.11 BurgersSpecDriver1D.m 586
13.12 BurgersSpec1D.m 586
13.13 BurgersSpeechs1D.m 587
13.14 MaxwellSpecDriver1D.m 590
13.15 MaxwellSpec1D.m 590
13.16 MaxwellSpecDriver1D.m 591
13.17 EulerSpecDriver1D.m 593
13.18 EulerSpec1D.m 594
13.19 EulerSpeechs1D.m 596