This textbook explores both the theoretical foundation of the Finite Volume Method (FVM) and its applications in Computational Fluid Dynamics (CFD). Readers will discover a thorough explanation of the FVM numerics and algorithms used for the simulation of incompressible and compressible fluid flows,
The Finite Volume Method in Computational Fluid Dynamics: an Advanced Introduction with OpenFOAMยฎ and Matlab
โ Scribed by Moukalled, F;Mangani, L;Darwish, M
- Publisher
- Springer International Publishing
- Year
- 2015;2016
- Tongue
- English
- Leaves
- 799
- Series
- Fluid mechanics and its applications 113
- Edition
- 1st ed. 2015
- Category
- Library
No coin nor oath required. For personal study only.
โฆ Synopsis
This textbook explores both the theoretical foundation of the Finite Volume Method (FVM) and its applications in Computational Fluid Dynamics (CFD). Readers will discover a thorough explanation of the FVM numerics and algorithms used for the simulation of incompressible and compressible fluid flows, along with a detailed examination of the components needed for the development of a collocated unstructured pressure-based CFD solver. Two particular CFD codes are explored. The first is uFVM, a three-dimensional unstructured pressure-based finite volume academic CFD code, implemented within Matlab. The second is OpenFOAM(r), an open source framework used in the development of a range of CFD programs for the simulation of industrial scale flow problems.
With over 220 figures, numerous examples and more than one hundred exercise on FVM numerics, programming, and applications, this textbook is suitable for use in an introductory course on the FVM, in an advanced course on numerics, and as a reference for CFD programmers and researchers.
"
โฆ Table of Contents
Preface......Page 6
Acknowledgments......Page 8
Contents......Page 9
About the Authors......Page 22
Part I Foundation......Page 23
1.1 What Is Computational Fluid Dynamics (CFD)......Page 24
1.2 What Is the Finite Volume Method......Page 25
1.3.1 Foundation......Page 26
1.3.2 Numerics......Page 27
1.3.3 Algorithms......Page 28
1.4 Closure......Page 29
2.1 Introduction......Page 30
2.2 Vectors and Vector Operations......Page 31
2.2.2 Vector Magnitude......Page 32
2.2.4 The Cross Product of Two Vectors......Page 33
2.2.5 The Scalar Triple Product......Page 35
2.2.6 Gradient of a Scalar and Directional Derivatives......Page 36
2.2.7 Operations on the Nabla Operator......Page 38
2.2.8 Additional Vector Operations......Page 40
2.3 Matrices and Matrix Operations......Page 41
2.3.1 Square Matrices......Page 42
2.3.3 The Determinant of a Square Matrix......Page 44
2.3.4 Eigenvectors and Eigenvalues......Page 47
2.3.5 A Symmetric Positive-Definite Matrix......Page 48
2.3.6 Additional Matrix Operations......Page 49
2.4 Tensors and Tensor Operations......Page 50
2.5.1 Gradient Theorem for Line Integrals......Page 53
2.5.2 Green's Theorem......Page 54
2.5.3 Stokes' Theorem......Page 55
2.5.4 Divergence Theorem......Page 56
2.5.5 Leibniz Integral Rule......Page 58
2.6 Closure......Page 59
2.7 Exercises......Page 60
References......Page 62
3.1 Introduction......Page 64
3.2 Classification of Fluid Flows......Page 65
3.3 Eulerian and Lagrangian Description of Conservation Laws......Page 66
3.3.1 Substantial Versus Local Derivative......Page 67
3.3.2 Reynolds Transport Theorem......Page 68
3.4 Conservation of Mass (Continuity Equation)......Page 69
3.5 Conservation of Linear Momentum......Page 71
3.5.1 Non-Conservative Form......Page 72
3.5.3 Surface Forces......Page 73
3.5.4.1 Gravitational Forces......Page 75
3.5.5 Stress Tensor and the Momentum Equation for Newtonian Fluids......Page 76
3.6 Conservation of Energy......Page 78
3.6.1 Conservation of Energy in Terms of Specific Internal Energy......Page 81
3.6.3 Conservation of Energy in Terms of Specific Total Enthalpy......Page 82
3.6.4 Conservation of Energy in Terms of Temperature......Page 83
3.7 General Conservation Equation......Page 86
3.8 Non-dimensionalization Procedure......Page 88
3.9.1 Reynolds Number......Page 93
3.9.3 Prandtl Number......Page 94
3.9.5 Schmidt Number......Page 96
3.9.7 Mach Number......Page 98
3.9.8 Eckert Number......Page 99
3.9.10 Weber Number......Page 100
3.11 Exercises......Page 101
References......Page 103
4.1 The Discretization Process......Page 105
4.1.1 Step I: Geometric and Physical Modeling......Page 107
4.1.2 Step II: Domain Discretization......Page 108
4.1.3 Mesh Topology......Page 110
4.1.4 Step III: Equation Discretization......Page 113
4.1.5 Step IV: Solution of the Discretized Equations......Page 118
4.1.5.2 Iterative Methods......Page 119
4.1.6 Other Types of Fields......Page 120
4.2 Closure......Page 121
5.1 Introduction......Page 122
5.2 The Semi-Discretized Equation......Page 123
5.2.1 Flux Integration Over Element Faces......Page 124
5.2.2 Source Term Volume Integration......Page 126
5.2.3 The Discrete Conservation Equation for One Integration Point......Page 127
5.2.4 Flux Linearization......Page 128
5.3.1 Value Specified (Dirichlet Boundary Condition)......Page 130
5.3.2 Flux Specified (Neumann Boundary Condition)......Page 131
5.4.1 Spatial Variation Approximation......Page 132
5.4.2 Mean Value Approximation......Page 133
5.5 Transient Semi-Discretized Equation......Page 136
5.6.1 Conservation......Page 137
5.6.3 Convergence......Page 138
5.6.7 Transportiveness......Page 139
5.6.8 Boundedness of the Interpolation Profile......Page 140
5.7 Variable Arrangement......Page 141
5.7.1 Vertex-Centered FVM......Page 142
5.7.2 Cell-Centered FVM......Page 143
5.8 Implicit Versus Explicit Numerical Methods......Page 145
5.9 The Mesh Support......Page 146
5.10.1 uFVM......Page 147
5.10.2 OpenFOAM......Page 148
5.12 Exercises......Page 152
References......Page 153
6.1 Domain Discretization......Page 155
6.2 The Finite Volume Mesh......Page 156
6.2.1 Mesh Support for Gradient Computation......Page 157
6.3.1 Topological Information......Page 160
6.3.2 Geometric Information......Page 162
6.3.3 Accessing the Element Field......Page 163
6.4 Unstructured Grids......Page 164
6.4.1 Topological Information (Connectivities)......Page 165
6.5 Geometric Quantities......Page 170
6.5.1 Element Types......Page 171
6.5.2 Computing Surface Area and Centroid of Faces......Page 172
6.5.2.1 Surface of a Triangle......Page 173
6.5.2.2 Volume and Centroid of Elements......Page 176
6.5.2.3 Face Weighting Factor......Page 177
6.6.1 uFVM......Page 180
6.6.2 OpenFOAM......Page 182
6.6.2.1 Area and Centroid of Faces......Page 183
6.6.2.2 Volume and Centroid of Elements......Page 185
References......Page 188
7.1.1 An OpenFOAM Test Case......Page 190
7.1.2 The polyMesh Folder......Page 192
7.1.3 The uFVM Mesh......Page 195
7.1.4.1 The Element Fields......Page 200
7.1.4.2 The Face Fields......Page 202
7.1.4.3 The Node Field......Page 203
7.1.5.1 Looping Over Elements......Page 204
7.1.6 Computing the Gauss Gradient......Page 205
7.2 OpenFOAM......Page 208
7.2.1 Fields and Memory......Page 214
7.2.2 InternalField Data......Page 216
7.2.4 lduAddressing......Page 217
7.2.5 Computing the Gradient......Page 219
7.3 Mesh Conversion Tools......Page 221
7.5 Exercises......Page 222
References......Page 224
Part II Discretization......Page 225
8.1 Two-Dimensional Diffusion in a Rectangular Domain......Page 226
8.2.1 The Zero Sum Rule......Page 231
8.3 Boundary Conditions......Page 232
8.3.1 Dirichlet Boundary Condition......Page 233
8.3.2 Von Neumann Boundary Condition......Page 235
8.3.3 Mixed Boundary Condition......Page 237
8.3.4 Symmetry Boundary Condition......Page 238
8.4 The Interface Diffusivity......Page 239
8.5 Non-Cartesian Orthogonal Grids......Page 254
8.6.1 Non-orthogonality......Page 256
8.6.2 Minimum Correction Approach......Page 257
8.6.4 Over-Relaxed Approach......Page 258
8.6.6 Gradient Computation......Page 259
8.6.7 Algebraic Equation for Non-orthogonal Meshes......Page 260
8.6.8.1 Dirichlet Boundary Condition......Page 267
8.6.8.3 Mixed Boundary Condition......Page 268
8.7 Skewness......Page 269
8.8 Anisotropic Diffusion......Page 270
8.9 Under-Relaxation of the Iterative Solution Process......Page 271
8.10.1 uFVM......Page 273
8.10.2 OpenFOAM......Page 275
8.12 Exercises......Page 280
References......Page 285
9.1 Computing Gradients in Cartesian Grids......Page 287
9.2 Green-Gauss Gradient......Page 289
9.3 Least-Square Gradient......Page 299
9.4 Interpolating Gradients to Faces......Page 303
9.5.1 uFVM......Page 304
9.5.2 OpenFOAM......Page 309
9.7 Exercises......Page 312
References......Page 316
10.1 Introduction......Page 317
10.2.1 Gauss Elimination......Page 319
10.2.2 Forward Elimination......Page 320
10.2.4 Backward Substitution......Page 321
10.2.6 LU Decomposition......Page 322
10.2.7 The Decomposition Step......Page 324
10.2.8 LU Decomposition Algorithm......Page 325
10.2.10 LU Decomposition and Gauss Elimination......Page 326
10.2.11 LU Decomposition Algorithm by Gauss Elimination......Page 327
10.2.12 Direct Methods for Banded Sparse Matrices......Page 329
10.2.13 TriDiagonal Matrix Algorithm (TDMA)......Page 330
10.2.14 PentaDiagonal Matrix Algorithm (PDMA)......Page 331
10.3 Iterative Methods......Page 333
10.3.1 Jacobi Method......Page 337
10.3.2 Gauss-Seidel Method......Page 339
10.3.3 Preconditioning and Iterative Methods......Page 341
10.3.5 Incomplete LU (ILU) Decomposition......Page 343
10.3.6 Incomplete LU Factorization with no Fill-in ILU(0)......Page 344
10.3.8 ILU Factorization Preconditioners......Page 345
10.3.9 Algorithm for the Calculation of {{\bf D}}^{*} in the DILU Method......Page 346
10.3.11 Gradient Methods for Solving Algebraic Systems......Page 347
10.3.12 The Method of Steepest Descent......Page 349
10.3.13 The Conjugate Gradient Method......Page 351
10.3.14 The Bi-conjugate Gradient Method (BiCG) and Preconditioned BICG......Page 354
10.4 The Multigrid Approach......Page 357
10.4.1 Element Agglomeration/Coarsening......Page 359
10.4.2 The Restriction Step and Coarse Level Coefficients......Page 360
10.4.4 Traversal Strategies and Algebraic Multigrid Cycles......Page 363
10.5.1 uFVM......Page 364
10.5.2 OpenFOAM......Page 365
10.7 Exercises......Page 372
References......Page 376
11.1 Introduction......Page 379
11.2.1 Analytical Solution......Page 380
11.2.2 Numerical Solution......Page 382
11.2.3 A Preliminary Derivation: The Central Difference (CD) Scheme......Page 383
11.2.4 The Upwind Scheme......Page 389
11.2.5 The Downwind Scheme......Page 393
11.3 Truncation Error: Numerical Diffusion and Anti-Diffusion......Page 394
11.3.1 The Upwind Scheme......Page 395
11.3.2 The Downwind Scheme......Page 396
11.3.3 The Central Difference (CD) Scheme......Page 397
11.4 Numerical Stability......Page 399
11.5 Higher Order Upwind Schemes......Page 402
11.5.1 Second Order Upwind Scheme......Page 403
11.5.3 The Discretized Equation......Page 404
11.5.4 Truncation Error......Page 405
11.5.6 The QUICK Scheme......Page 406
11.5.7 The Interpolation Profile......Page 407
11.5.9 Stability Analysis......Page 408
11.5.11 The Interpolation Profile......Page 409
11.5.12 The Discretized Equation......Page 410
11.5.14 Stability Analysis......Page 411
11.5.15 Comparison of the Various Schemes......Page 412
11.5.16 Functional Relationships for Uniform and Non-uniform Grids......Page 413
11.6 Steady Two Dimensional Advection......Page 414
11.6.1 Error Sources......Page 418
11.7 High Order Schemes on Unstructured Grids......Page 420
11.7.1 Reformulating HO Schemes in Terms of Gradients......Page 421
11.8 The Deferred Correction Approach......Page 423
11.9.1 uFVM......Page 425
11.9.2 OpenFOAM......Page 427
11.10 Closure......Page 435
11.11 Exercises......Page 436
References......Page 440
12.1 The Normalized Variable Formulation (NVF)......Page 442
12.2 The Convection Boundedness Criterion (CBC)......Page 449
12.3 High Resolution (HR) Schemes......Page 451
12.4 The TVD Framework......Page 456
12.5 The NVF-TVD Relation......Page 463
12.7 Deferred Correction for HR Schemes......Page 469
12.7.1 The Difficulty with the Direct Use of Nodal Values......Page 471
12.8 The DWF and NWF Methods......Page 472
12.8.1 The Downwind Weighing Factor (DWF) Method......Page 473
12.8.2 The Normalized Weighing Factor (NWF) Method......Page 476
12.8.2.1 The NWF Method in the Context of the TVD......Page 479
12.9 Boundary Conditions......Page 480
12.9.1 Inlet Boundary Condition......Page 481
12.9.2 Outlet Boundary Condition......Page 483
12.9.3 Wall Boundary Condition......Page 484
12.10.1 uFVM......Page 485
12.10.2 OpenFOAM......Page 488
12.12 Exercises......Page 496
References......Page 500
13.1 Introduction......Page 502
13.2.1 Forward Euler Scheme......Page 505
13.2.2 Stability of the Forward Euler Scheme......Page 507
13.2.2.1 Stability of a Transient-Advection Case......Page 508
13.2.2.2 Stability of a Transient-Diffusion Case......Page 509
13.2.2.3 Stability of a Transient-Convection-Diffusion Case......Page 510
13.2.3 Backward Euler Scheme......Page 511
13.2.4 Crank-Nicolson Scheme......Page 513
13.2.5 Implementation Details......Page 515
13.2.6 Adams-Moulton Scheme......Page 516
13.3 The Finite Volume Approach......Page 520
13.3.2 First Order Implicit Euler Scheme......Page 521
13.3.2.1 Numerical Diffusion......Page 522
13.3.3 First Order Explicit Euler Scheme......Page 523
13.3.3.1 Numerical Anti-Diffusion......Page 524
13.3.5 Crank-Nicholson (Central Difference Profile)......Page 525
13.3.5.1 Numerical Accuracy......Page 526
13.3.6 Second Order Upwind Euler (SOUE) Scheme......Page 527
13.3.7 Initial Condition for the FV Approach......Page 528
13.4.1.1 Crank-Nicolson Scheme......Page 532
13.4.2 Adams-Moulton (or SOUE) Scheme......Page 534
13.4.3 Non-Uniform Time Steps with the Finite Volume Approach......Page 535
13.4.4 Crank-Nicolson Scheme......Page 536
13.4.5 Adams-Moulton (or SOUE) Scheme......Page 537
13.5.1 uFVM......Page 538
13.5.2 OpenFOAM......Page 539
13.7 Exercises......Page 542
References......Page 546
14.1 Source Term Discretization......Page 547
14.2 Under-Relaxation of the Algebraic Equations......Page 550
14.2.1 Under-Relaxation Methods......Page 551
14.2.3.1 Patankar's Under-Relaxation......Page 552
14.2.3.2 E-Factor Relaxation......Page 553
14.3 Residual Form of the Equation......Page 556
14.3.1 Residual Form of Patankar's Under-Relaxation......Page 557
14.4.1 Residuals......Page 558
14.4.4 Root-Mean Square Residual......Page 559
14.4.5 Normalization of the Residual......Page 560
14.5.1.2 Under-Relaxation......Page 561
14.5.2.1 Source Term Linearization......Page 562
14.5.2.2 Under-Relaxation......Page 564
14.7 Exercises......Page 567
References......Page 569
Part III Algorithms......Page 570
15.1 The Main Difficulty......Page 571
15.2 A Preliminary Derivation......Page 573
15.2.1 Discretization of the Momentum Equation......Page 574
15.2.3 The Checkerboard Problem......Page 575
15.2.4 The Staggered Grid......Page 577
15.2.5 The Pressure Correction Equation......Page 579
15.2.6 The SIMPLE Algorithm on Staggered Grid......Page 582
15.2.7 Pressure Correction Equation in Two Dimensional Staggered Cartesian Grids......Page 588
15.2.8 Pressure Correction Equation in Three Dimensional Staggered Cartesian Grid......Page 591
15.3 Disadvantages of the Staggered Grid......Page 592
15.4 The Rhie-Chow Interpolation......Page 595
15.5.1 The Discretized Momentum Equation......Page 598
15.5.2 The Collocated Pressure Correction Equation......Page 602
15.5.3.2 Orthogonal Correction Approach......Page 606
15.5.4 The Collocated SIMPLE Algorithm......Page 607
15.6 Boundary Conditions......Page 612
15.6.1 Boundary Conditions for the Momentum Equation......Page 613
No-Slip Wall Boundary \left( {p_{b} = ?;\dot{m}{b} = 0;{{\bf v}}{b} = {{\bf v}}{wall} } \right)......Page 614
15.6.1.2 Inlet Boundary Conditions......Page 618
Specified Velocity \left( {p{b} = ?;\dot{m}{b} \,specified;{{\bf v}}{b} \,specified} \right)......Page 619
Specified Pressure and Velocity Direction cale89%{ \left( {p_{b}} = p_{specified} ;\;\right. \left.{\dot{m}{b} ?;{{\bf e}}{{{\bf v}}} \;specified;{{\bf v}}{b} ?} \right)......Page 620
15.6.1.3 Outlet Boundary Conditions......Page 621
Specified Static Pressure \left( {p{b} = p_{specified} ;\dot{m}{b} ?;{{\bf v}}{b} ?} \right)......Page 622
Specified Mass Flow Rate \left( {\dot{m}{b} = \dot{m}{specified} ;p_{b} ?{{\bf v}}{b} ?} \right)......Page 623
15.6.1.4 Symmetry Boundary Condition......Page 624
15.6.2 Boundary Conditions for the Pressure Correction Equation......Page 627
Specified Pressure and Velocity Direction cale90%{\left( {p{b}} = p_{specified} ;\right. cale90%{ \left.{\dot{m}{b} ?;\,{{\bf e}}{{{\bf v}}} \,specified;{{\bf v}}{b} ?} \right)......Page 628
Specified Total Pressure and Velocity Direction \left( {p{o,b}} = p_{o,specified} ;\right. \;\left.{\dot{m}{b} ?; {{\bf e}}{{{\bf v}}} \;specified;{{\bf v}}_{b} ?} \right)......Page 629
Fully Developed Outlet Flow......Page 630
15.7 The SIMPLE Family of Algorithms......Page 631
15.7.1 The SIMPLEC Algorithm......Page 633
15.7.2 The PRIME Algorithm......Page 634
15.7.3 The PISO Algorithm......Page 635
15.8 Optimum Under-Relaxation Factor Values for v and p^{\prime}......Page 638
15.9.1 Treatment of the Under-Relaxation Term......Page 640
15.9.2 Treatment of the Transient Term......Page 641
15.9.3 Treatment of the Body Force Term......Page 642
15.10.1 uFVM......Page 646
15.10.2.1 Pressure Correction SIMPLE Solvers......Page 648
15.12 Exercises......Page 659
References......Page 663
16.1 Historical......Page 665
16.2 Introduction......Page 666
16.3 The Conservation Equations......Page 667
16.4 Discretization of the Momentum Equation......Page 668
16.5 The Pressure Correction Equation......Page 669
16.6.1.1 The Specific Heat Term......Page 673
16.6.1.4 The Viscous Dissipation Term......Page 674
16.6.2 The Algebraic Form of the Energy Equation......Page 675
16.7 The Compressible SIMPLE Algorithm......Page 676
16.8 Boundary Conditions......Page 677
16.8.1.1 Subsonic Flow at Inlet......Page 679
16.8.1.2 Supersonic Flow at Inlet......Page 681
16.8.2.1 Subsonic Flow at Outlet......Page 682
16.9.1 uFVM......Page 683
16.9.2 OpenFOAM......Page 684
16.11 Exercises......Page 697
References......Page 699
Part IV Applications......Page 701
17.1 Turbulence Modeling......Page 702
17.2.2 Spatial Averaging......Page 705
17.2.5 Incompressible RANS Equations......Page 706
17.3 Boussinesq Hypothesis......Page 708
17.5.1 Standard k 2212 epsilon Model......Page 709
17.5.2 The k 2212 omega Model......Page 711
17.5.3 The Baseline (BSL) k 2212 omega Model......Page 713
17.5.4 The Shear Stress Transport (SST) k 2212 omega Model......Page 714
17.7 Discretization of the Turbulent Flow Equations......Page 716
17.7.2 The Discretized Form of the epsilon Equation......Page 717
17.7.3 The Discretized Form of the omega Equation......Page 718
17.8.1 Modeling Flow Near the Wall......Page 719
17.8.2 Standard Wall Functions......Page 720
17.8.3 Improved Wall Functions......Page 725
17.8.4 Scalable Wall Functions......Page 727
17.8.5 Wall Boundary Conditions for Low Reynolds Number Models......Page 728
17.8.6 Automatic Near-Wall Treatment......Page 729
17.8.7 Near-Wall Heat Transfer......Page 730
17.8.8 Other Boundary Conditions......Page 731
17.9 Calculating Normal Distance to the Wall......Page 732
17.10 Computational Pointers......Page 734
17.10.1 The k 2212 epsilon Model......Page 736
17.10.2 The SST k -- omega Model......Page 743
17.10.3 simpleFoamTurbulent......Page 747
17.12 Exercises......Page 749
References......Page 751
18.1 Boundary Conditions in OpenFOAM......Page 754
18.2 Boundary Condition Customization......Page 756
18.3 Development of a New BC: No Slip Wall Condition......Page 761
18.4 The No-Slip Boundary Condition in uFVM......Page 765
Reference......Page 768
19.2 The Ahmed Bluff Body......Page 769
19.3 Domain Discretization......Page 771
19.3.1 Initial and Boundary Conditions......Page 776
19.3.2 Systems Files......Page 778
19.3.3 Running the Solver......Page 781
References......Page 784
20 Closing Remarks......Page 785
Erratum to: The Finite Volume Methodin Computational Fluid Dynamics......Page 786
Appendix uFVM......Page 787
๐ SIMILAR VOLUMES
<p>This textbook explores both the theoretical foundation of the Finite Volume Method (FVM) and its applications in Computational Fluid Dynamics (CFD). Readers will discover a thorough explanation of the FVM numerics and algorithms used for the simulation of incompressible and compressible fluid flo
<p><p>This textbook explores both the theoretical foundation of the Finite Volume Method (FVM) and its applications in Computational Fluid Dynamics (CFD). Readers will discover a thorough explanation of the FVM numerics and algorithms used for the simulation of incompressible and compressible fluid
<p>This textbook explores both the theoretical foundation of the Finite Volume Method (FVM) and its applications in Computational Fluid Dynamics (CFD). Readers will discover a thorough explanation of the FVM numerics and algorithms used for the simulation of incompressible and compressible fluid flo
This established, leading textbook, is suitable for courses in CFD. The new edition covers new techniques and methods, as well as considerable expansion of the advanced topics and applications (from one to four chapters).<br /><br /><b></b><br /><br />This book presents the fundamentals of computati
This text aims to provide information for novice CFD users who, whilst developing CFD skills by using software, need a reader that covers the fundamentals of the fluid dynamics behind complex engineering flows and of the numerical solution algorithms on which CFD codes are based.