APPLIED COMPUTATIONAL FLUID DYNAMICS TECHNIQUES AN INTRODUCTION BASED ON FINITE ELEMENT METHODS Second Edition Rainald Löhner Center for Computational Fluid Dynamics, Department of Computational and Data Sciences, College of Sciences, George Mason University, Fairfax, Virginia, USA John Wiley & Sons, Ltd c
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
APPLIED COMPUTATIONAL FLUID DYNAMICS TECHNIQUES AN INTRODUCTION BASED ON FINITE ELEMENT METHODS
Second Edition
Rainald Löhner
Center for Computational Fluid Dynamics, Department of Computational and Data Sciences, College of Sciences, George Mason University, Fairfax, Virginia, USA
John Wiley & Sons, Ltd c
CONTENTS
FOREWORD TO THE SECOND EDITION xiv
ACKNOWLEDGEMENTS xvii
1 INTRODUCTION AND GENERAL CONSIDERATIONS 1 1.1 The CFD code 4 1.2 Porting research codes to an industrial context 5 1.3 Scope of the book 5
2 DATA STRUCTURES AND ALGORITHMS 7 2.1 Representation of a grid 7 2.2 Derived data structures for static data 9
2.2.1 Elements surrounding points - linked lists 9 2.2.2 Points surrounding points 10 2.2.3 Elements surrounding elements 12 2.2.4 Edges 14 2.2.5 External faces 14 2.2.6 Edges of an dement 16
2.3 Derived data structures for dynamic data 17 2.3.1 N-trees 18
2.4 Sorting and searching 19 2.4.1 Heap lists 19
2.5 Proximity in space 22 2.5.1 Bins 22 2.5.2 Binary trees 26 2.5.3 Quadtrees and octrees 28
2.6 Nearest-neighbours and graphs 30 2.7 Distance to surface 30
3 GRID GENERATION 35 3.1 Description of the domain to be gridded 37
3.2 Variation of dement size and shape 38 3.2.1 Internal measures of grid quality 39 3.2.2 Analytical functions ^ 39 3.2.3 Boxes ) 39
CONTENTS
3.2.4 Point/line/surface sources 39 3.2.5 Background grids 42 3.2.6 Element size attached to CAD data 43 3.2.7 Adaptive background grids 43 3.2.8 Surface gridding with adaptive background grids 45
3.3 Element type 46 3.4 Automatic grid generation methods 47 3.5 Other grid generation methods 49 3.6 The advancing front technique 51
3.6.1 Checking the intersection of faces 52 3.6.2 Data structures to minimize search overheads 56 3.6.3 Additional techniques to increase speed 56 3.6.4 Additional techniques to enhance reliability 58
3.7 Delaunay triangulation 59 3.7.1 Circumsphere calculations 61 3.7.2 Data structures to minimize search overheads 62 3.7.3 Boundary recovery 63 3.7.4 Additional techniques to increase speed 63 3.7.5 Additional techniques to enhance reliability and quality 64
3.8 Grid improvement 65 3.8.1 Removal of bad elements 66 3.8.2 Laplacian smoothing 67 3.8.3 Grid optimization 67 3.8.4 Selective mesh movement 67 3.8.5 Diagonal swapping 68
3.12.1 Design criteria for RANS gridders 77 3.12.2 Smoothing of surface normals 79 3.12.3 Point distribution along normals 81 3.12.4 Subdivision of prisms into tetrahedra 81 3.12.5 Element removal criteria 83
3.13 Filling space with points/arbitrary objects 90 3.13.1 The advancing front space-filling algorithm 90 3.13.2 Point/object placement stencils 91 3.13.3 Boundary consistency checks 93 3.13.4 Maximum compaction techniques 93 3.13.5 Arbitrary objects 96 3.13.6 Deposition patterns 96
3.14.5 Ahmed carbody 105 3.14.6 Track 105 3.14.7 PointcloudforF117 106 3.14.8 Hopper füled with beans/ellipsoids 107 3.14.9 Cube Med with spheres of different sizes 107
4 APPROXIMATION THEORY 109 4.1 The basic problem 109
4.2 Choice of trial functions 112 4.2.1 Constant trial functions in one dimension 112 4.2.2 Linear trial functions in one dimension 113 4.2.3 Quadratic trial functions in one dimension 114 4.2.4 Linear trial functions in two dimensions 115 4.2.5 Quadratic trial functions in two dimensions 117
4.3 General properties of shape functions 118 4.4 Weighted residual methods with local functions 118 4.5 Accuracy and effort 119 4.6 Grid estimates 121
5 APPROXIMATION OF OPERATORS 123 5.1 Taxonomy of methods 123
8.1.1 Equivalency with FVM 164 8.2 Lax-Wendroff(Taylor-Galerkin) 164
8.2.1 Expediting the RHS evaluation 165 8.2.2 Linear elements (triangles, tetrahedra) 166
8.3 Solving for the consistent mass matrix 167 8.4 Artificial viscosities 167 8.5 Boundary conditions 169 8.6 Viscous fluxes 172
9 FLUX-CORRECTED TRANSPORT SCHEMES 175 9.1 Algorithmic implementation 176
9.1.1 The limiting procedure 176 9.2 Steepening 178 9.3 FCT for Taylor-Galerkin schemes 179 9.4 Iterative limiting 179 9.5 Limiting for Systems of equations 180
9.5.1 Limiting any set of quantities 180 9.6 Examples 181
9.6.1 Shocktube 181 9.6.2 Shock diffraction over a wall 182
9.7 Summary 183
10 EDGE-BASED COMPRESSIBLE FLOW SOLVERS 187 10.1 The Laplacian Operator 188 10.2 First derivatives: first form 190 10.3 First derivatives: second form 191 10.4 Edge-based schemes for advection-dominated PDEs 193
11.2 The divergence Operator 203 11.3 Artificial compressibility 206 11.4 Temporal discretization: projection schemes 206 11.5 Temporal discretization: implicit schemes 208 11.6 Temporal discretization of higher order 209 11.7 Acceleration to the steady State 210
11.7.1 Local timestepping 210 11.7.2 Reduced pressure iterations 210 11.7.3 Substepping for the advection terms 211 11.7.4 Implicit treatment of the advection terms 211
14.4 Tutorial: h-refinement with tetrahedra 286 14.4.1 Algorithmic implementation 287
14.5 Examples 291 14.5.1 Convection between concentric cylinders 291 14.5.2 Shock-object interaction in two dimensions 294 14.5.3 Shock-object interaction in three dimensions 296 14.5.4 Shock-structure interaction 297 14.5.5 Object falling into supersonic free stream two dimensions 297
15 EFFICIENT USE OF COMPUTER HARDWARE 299 15.1 Reduction of cache-misses 300
15.1.1 Array access in loops 300 15.1.2 Point renumbering 301 15.1.3 Reordering of nodes within elements 306 15.1.4 Renumbering of edges according to points 306
CONTENTS xi
15.1.5 Some timings 308 15.1.6 Agglomeration techniques 309
15.4.1 Local agglomeration 330 15.4.2 Global agglomeration 331 15.4.3 Implementational issues 333
15.5 SIMD machines 334 15.6 MIMD machines 336
15.6.1 General considerations 337 15.6.2 Load balancing and domain Splitting 337 15.6.3 Parallel flow solvers 342
15.7 The effect ofMoore's law on parallel Computing 344 15.7.1 The life cycle of scientific Computing codes 346 15.7.2 Examples 348 15.7.3 The consequences ofMoore's law 349
16 SPACE-MARCHING AND DEACTIVATION 351 16.1 Space-marching 351
16.1.1 Masking of points and edges 352 16.1.2 Renumbering of points and edges 354 16.1.3 Grouping to avoid memory contention 355 16.1.4 Extrapolation of the Solution 356 16.1.5 Treatment of subsonic pockets 357 16.1.6 Measuring convergence 357 16.1.7 Application to transient problems 358 16.1.8 Macro-blocking 359 16.1.9 Examples for space-marching and blocking 360
16.2 Deactivation 365 16.2.1 Examples of dynamic deactivation 366
17 OVERLAPPING GRIDS 371 17.1 Interpolation criteria 372 17.2 External boundaries and domains 373 17.3 Interpolation: initialization 373 17.4 Treatment of domains that are partially outside 375 17.5 Removal of inactive regions 375 17.6 Incremental interpolation 377 17.7 Changes to the flow solver 377
18.3 Deactivation of interior regions 395 18.4 Extrapolation of the Solution 397 18.5 Adaptive mesh refinement 397 18.6 Load/flux transfer 398 18.7 Treatment of gaps or cracks 399 18.8 Direct link to particles 400 18.9 Examples 401
18.9.1 Sodshocktube 401 18.9.2 Shuttle ascend configuration 401 18.9.3 Blast interaction with a generic ship hüll 402 18.9.4 Generic weapon fragmentation 404 18.9.5 Flow past a sphere 405 18.9.6 Dispersion in an inner city 411 18.9.7 Complex endovascular devices 411 18.9.8 Flow past a VW Golf 5 411