University of Pretoria etd – Pattinson, J (2007) A Cut-cell, Agglomerated-Multigrid Accelerated, Cartesian Mesh Method for Compressible and Incompressible Flow John Pattinson Department of Mechanical and Aeronatical Engineering University of Pretoria Supervised by Prof. A.G. Malan and Prof. J.P. Meyer A thesis submitted for the degree of MEng August 2006 University of Pretoria etd – Pattinson, J (2007) Acknowledgements I would like to give recognition and thanks to Professor Arnaud G. Malan for his guidance and support as my primary supervisor. I would also like to thank my co-supervisor Prof. J.P. Meyer for his support. Further thanks must go to Dr. C. P. Crosby, for his foresight in being the original initiator of the work. Special recognition and thanks is also due to Angus Brown, Prevani Kistan, John O’Mahony and Jonathan Fouche at Denel for their interest and support. Finally I need to thank my mother for sorting out some of my hieroglyphics into readable text. This work was sponsored by Denel Aerospace Systems as well as the South African National Research Foundation (Grant number: 2053287) and THRIP (Grant number: 3257). i University of Pretoria etd – Pattinson, J (2007) Abstract This work details a multigrid-accelerated cut-cell Cartesian mesh methodology for the solution of a single partial differential equation set that describes incompressible as well as compressible flow. The latter includes sub-, trans- and supersonic flows. Cut-cell technology is developed which furnishes body-fitted meshes with an overlapping Cartesian mesh as starting point, and in a manner which is insensitive to surface definition inconsistencies. An edge-based vertex-centred finite volume method is employed for the purpose of spatial discretisation. Further, an alternative dual-mesh construction strategy is developed and the standard discretisation scheme suitably enhanced. Incompressibility is dealt with via a locally preconditioned artificial compressibility algorithm, and stabilisation is in all cases achieved with scalar-valued artificial dissipation. In transonic flows, shocks are captured via pressure switch-activated upwinding. The solution process is accelerated by the use of a full approximation scheme (FAS) multigrid method where coarse meshes are generated automatically via a volume agglomeration methodology. The developed modelling technology is validated by application to the solution of a number of benchmark problems. The standard discretisation as well as the alternative method are found to be equivalent in terms of both accuracy and computational cost. Finally, the multigrid implementation is shown to achieve decreases in CPU time of between a factor two to one order of magnitude. In the context of cut-cell Cartesian meshes, the above work has resulted in the following novel contributions: the development of an alternative vertex-centred discretisation method; the use of volume agglomerated multigrid solution technology and the use of a single equation set for both incompressible and compressible flows. ii University of Pretoria etd – Pattinson, J (2007) Contents Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii vi Nomenclature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii 1 Introduction 1.1 Background and Project Motivation . . . . . . . . . . . . . . . . . 1 1 1.2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Publication List . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 Journal Papers . . . . . . . . . . . . . . . . . . . . . . . . 2 4 4 1.3.2 1.3.3 Conference Papers . . . . . . . . . . . . . . . . . . . . . . Technical Reports . . . . . . . . . . . . . . . . . . . . . . . 4 5 1.4 Purpose of Study . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2 Problem Formulation 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7 2.2 Governing Equations . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Euler Equations . . . . . . . . . . . . . . . . . . . . . . . . 7 7 2.2.2 Constitutive Equations . . . . . . . . . . . . . . . . . . . . 2.2.3 Boundary Conditions . . . . . . . . . . . . . . . . . . . . . 2.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 11 13 3 Mesh Generation 14 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Cartesian Mesh Generation . . . . . . . . . . . . . . . . . . . . . 14 16 3.3 Redefinition of the Boundary 16 . . . . . . . . . . . . . . . . . . . . iii University of Pretoria etd – Pattinson, J (2007) CONTENTS 3.3.1 3.3.2 Cell Cutting Algorithm . . . . . . . . . . . . . . . . . . . . Cell Merging Operation . . . . . . . . . . . . . . . . . . . 17 19 3.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4 Spatial Discretisation 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 21 4.2 Finite Volume Discretisation of the Euler Equations . . . . . . . . 4.3 Dual Mesh Construction . . . . . . . . . . . . . . . . . . . . . . . 22 23 4.3.1 Standard Dual Mesh Construction . . . . . . . . . . . . . 4.3.2 Alternative Dual Mesh Construction . . . . . . . . . . . . 4.4 Discretisation of Convective Term . . . . . . . . . . . . . . . . . . 23 28 29 4.5 Stabilisation: Artificial Dissipation . . . . . . . . . . . . . . . . . 4.6 Semi-Discrete Equation . . . . . . . . . . . . . . . . . . . . . . . . 30 33 4.7 Boundary Conditions . . . . . . . . . . . . . . . . . . . . . . . . . 4.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 36 5 Temporal Discretisation and Solution Procedure 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Jacobi Iterative Scheme . . . . . . . . . . . . . . . . . . . . . . . 5.3 FAS Multigrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 5.3.2 37 37 39 40 Mesh Agglomeration Procedure . . . . . . . . . . . . . . . Implemented Agglomeration Strategy . . . . . . . . . . . . 41 42 5.4 Formulation of FAS Multigrid . . . . . . . . . . . . . . . . . . . . 5.4.1 The V-cycle . . . . . . . . . . . . . . . . . . . . . . . . . . 46 48 5.4.2 5.4.3 Restriction Operator . . . . . . . . . . . . . . . . . . . . . Prolongation Operator . . . . . . . . . . . . . . . . . . . . 49 49 5.4.4 Stabilisation . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 51 6 Results 6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 52 6.2 Incompressible Flow: Cylinder in cross flow . . . . . . . . . . . . . 6.3 Incompressible Flow: Van de Vooren Aerofoil . . . . . . . . . . . 54 58 6.4 Subsonic Compressible flow: NACA0012 . . . . . . . . . . . . . . 60 iv University of Pretoria etd – Pattinson, J (2007) CONTENTS 6.5 Transonic Compressible flow: NACA0012 . . . . . . . . . . . . . . 6.6 Supersonic Compressible flow: 10◦ Double Wedge . . . . . . . . . 64 66 6.7 Spatial Convergence of Artificial Dissipation . . . . . . . . . . . . 6.8 Results discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 69 6.9 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7 Conclusions and Future Work 7.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 72 7.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 A Verification and Validation of Code A.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2 Convergence Analysis . . . . . . . . . . . . . . . . . . . . . . . . . 75 75 75 B Preprocessor 79 B.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.2 Geometry Interpretation . . . . . . . . . . . . . . . . . . . . . . . 79 80 B.3 Mesh Data Structure Manipulations . . . . . . . . . . . . . . . . . B.4 Speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 83 C Extrapolation and Interpolation Procedures 85 References 93 v University of Pretoria etd – Pattinson, J (2007) List of Figures 3.1 Cartesian meshes used to test preprocessor . . . . . . . . . . . . . 18 3.2 The result of cell-cutting and cell-merging . . . . . . . . . . . . . 19 4.1 Standard and alternative dual-mesh constructions . . . . . . . . . 23 4.2 Schematic of the standard dual-mesh construction methodology in 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.3 Views of a 3D nodal dual-mesh volume . . . . . . . . . . . . . . . 4.4 An example of a skew face . . . . . . . . . . . . . . . . . . . . . . 25 26 4.5 Calculation of artificial dissipation term on the boundary . . . . . 4.6 Selection of points for boundary condition extrapolation . . . . . 33 35 5.1 Direct and indirect neighbours as identified via edge-connectivity. 44 5.2 The implemented course mesh generation strategy . . . . . . . . . 46 6.1 Cylinder incompressible flow test case - standard dual-mesh construction scheme meshes . . . . . . . . . . . . . . . . . . . . . . . 6.2 Cylinder incompressible flow test case - alternative dual-mesh con- 53 struction scheme meshes . . . . . . . . . . . . . . . . . . . . . . . 6.3 Cylinder incompressible test case - solution and convergence plots 54 55 6.4 Pressure contours of cylinder test case . . . . . . . . . . . . . . . 6.5 Van de Vooren test case - standard scheme meshes . . . . . . . . . 6.6 Van de Vooren test case - alternative scheme meshes . . . . . . . 56 57 58 6.7 Van de Vooren test case - solution and convergence plot. . . . . . 6.8 NACA0012 test cases - standard scheme meshes . . . . . . . . . . 59 60 6.9 NACA0012 test cases - alternative scheme meshes . . . . . . . . . 6.10 Compressible subsonic test case - solution and convergence plots . 61 62 vi University of Pretoria etd – Pattinson, J (2007) LIST OF FIGURES 6.11 Transonic test case - solution and convergence plot . . . . . . . . 6.12 Pressure contours of the NACA0012 transonic test case . . . . . . 62 63 6.13 Effect of choice of agglomeration strategy . . . . . . . . . . . . . . 6.14 Supersonic test case - standard scheme meshes . . . . . . . . . . . 63 64 6.15 Supersonic test case - alternative scheme meshes . . . . . . . . . . 6.16 Supersonic test case - solution and convergence plots . . . . . . . 65 65 6.17 Effect of boundary conditions on supersonic test case . . . . . . . 6.18 Mach number contours on supersonic test case . . . . . . . . . . . 6.19 Spatial convergence of artificial dissipation terms . . . . . . . . . 67 68 69 B.1 Face discrepancies in element-based data structure . . . . . . . . . B.2 Performance of the 2D preprocessor . . . . . . . . . . . . . . . . . 82 84 B.3 Performance of the 3D preprocessor . . . . . . . . . . . . . . . . . 84 vii University of Pretoria etd – Pattinson, J (2007) Nomenclature Roman Symbols A Coefficient matrix A Surface (m2 ) Ap Artificial compressibility pressure sensor a Least squares plane coefficient ar Artificial compressibility related parameter au Generalised artificial compressibility preconditioning coefficient B Boundary edge coefficient C Edge coefficient C Artificial dissipation approximation coefficient Cp Specific heat at constant pressure (J/kgK) Cv Specific heat at constant volume (J/kgK) CF L Courant-Friedrichs-Lewy number c Acoustic velocity (m/s) cτ Pseudo acoustic velocity D Stabilisation term viii University of Pretoria etd – Pattinson, J (2007) NOMENCLATURE d Distance between points (m) E Total specific energy (J/kg) e Error between values approximated on a coarse mesh and those restricted up from the finer mesh F Flux vector F Safety factor for GCI calculation f Characteristic parameter of solution e.g. lift fexact Estimate of exact solution at zero grid spacing G Riemann invariant GCI Grid Convergence Index H Total specific enthalpy (J/kg) I h is known as Grid transfer operator. Ih2h is known as restriction and I2h prolongation. Grid transfer occurs from subscript to superscript. L Characteristic / non-dimensional length (m) M Number of points used in a least squares approximation of a plane m Equation order n Unit normal vector P Function value at a point P Pressure switch p Order of convergence p Pressure (P a) Q Conservative variables vector ix University of Pretoria etd – Pattinson, J (2007) NOMENCLATURE RHS Right hand side of algebraic equation R Gas constant (J/kgK). Taken as 287 J/KgK for air r Grid refinement ratio r Ratio of the distance from node 0 on an edge to the intersection of the edge with its edge coefficient over the total length of the edge. rasym Asymptotic convergence ratio T Temperature (K) t Time (s) U∞ Free stream velocity (m/s) u The solution on a coarse mesh as restricted from the finer mesh u Velocity (m/s) V Computational volume (m3 ) V V-cycle operator v Approximate solution to problem v1 Number of relaxation sweeps on the downward traverse of the V-cycle v2 Number of relaxation sweeps on the upward traverse of the V-cycle W Density dependant conservative variables vector x∗ Centroid coordinate (m) x Position coordinates (m) Greek Symbols α Runge-Kutta weighting coefficient η Compressible / incompressible switch x University of Pretoria etd – Pattinson, J (2007) NOMENCLATURE ε2 Empirical constant used in shock capturing dissipation formulation ε4 Empirical constant used in JST dissipation formulation ε cτ Minimum pseudo acoustic velocity γ Ratio of a specific heats, Λ Dissipation scaling factor φ Exact solution to problem on the finest mesh ρ Density (kg/m3 ) τ Multigrid coarse grid correction or source term Υ Refers to an edge. Υmn refers to the edge connecting nodes m and n ∆χ Local measure of element / cell size (m) Cp . Cv Taken as 1.4 for air Superscripts B Boundary entity h Mesh spacing. 2h would refer to double mesh spacing or one level of coarsening from h. JST Jameson, Schmidt & Turkel [1] dissipation term sc Shock capturing term tet Tetrahedron ∗ Dimensional quantity Subscripts b Boundary entity e Extrapolated quantity (from the interior of the domain) ∞ Subscript denotes free-stream value xi University of Pretoria etd – Pattinson, J (2007) NOMENCLATURE i subscript index j subscript index m Node index n Node index Mathematical Operators δij Kronecker delta function: unity if i = j and zero if i 6= j |•| Euclidean norm of | • | (absolute value in case of scalar) ∇ Gradient operator ∆• Increment in • Notes on Notation In this thesis, both vector and index notation are used. Vectors and matrices are printed in bold. Where index notation is used, component subscripts appear as subscripts typically denoted by i, j and k. Einstein’s summation convention is implied in the case of index notation. xii University of Pretoria etd – Pattinson, J (2007) Chapter 1 Introduction 1.1 Background and Project Motivation Computational fluid dynamics (CFD) is a growing field which is focused on obtaining approximate solutions, via numerical means, to a set of equations that describe the motion of a fluid on a macroscopic or continuum level. The aforementioned numerical solution strategy has become essential for engineering related flow systems where analytical methods are not at present adequate. The use of these numerical techniques is impractical without the aid of a computer and as a result, it was only in the 1970’s that CFD came into its own as a field. Since then, with the massive advances in computer technology and advances in solution algorithms, CFD has become an important tool in the design of vehicles, buildings and other structures and devices that interact in some way with a fluid. At this time however, the accuracy of solutions to problems with complex flows is not, as a general rule, of sufficient quality to accurately quantify all flow features found in a field such as aeronautics. It does however hold great promise to describe the pressure field around arbitrary streamlined bodies in regions where flow break-away or separation is not present. This is of practical value when screening potential aerodynamic design concepts to obtain estimates of lift and the positions of certain shocks. The study group under which this work was completed, was approached by DENEL Aerospace systems to develop an in-house tool that could replace or supplement the analytical / empirical codes currently employed for concept phase 1 University of Pretoria etd – Pattinson, J (2007) 1.2 Overview screening. Typical aerodynamic systems of relevance are geometrically complex streamlined bodies which range from subsonic unmanned aerial vehicles (UAV’s) to supersonic missiles. The technology to be developed is a CFD code which is capable of quantifying physics such as out-of-boundary layer flows as well as body surface pressure distributions. This is to be done over complex geometries while being a precursor to more expensive and detailed CFD analyses which include viscous flow effects. 1.2 Overview As discussed in the previous section, the aim of this project is to design a CFD tool that can be used effectively in the concept phase of an aerodynamic design. The development of this tool starts with the selection of the governing equations. The equation set that is most accepted to describe the fluid flows under consideration is generally referred to as the Navier-Stokes equations1 . Ideally one would like to solve these equations directly but this is prohibitively expensive to do on complex aerodynamic geometries at the current time. The terms in the Navier-Stokes equations that require the most computational resources are the so called viscous terms. When these terms are omitted, the so-called Euler equations result. For globally attached flow at large Reynolds numbers, it has been shown that the Euler equations predict the out-of-boundary layer flows as well as body surface pressure distributions with reasonable accuracy [2]. As a consequence, in this work, these equations will be in essence solved. The classic form of the equations will be altered such that incompressible and compressible flow may be modelled with the same equation set. This is the focus of Chapter 2. Once the governing equations are chosen, it remains to solve them in an efficient and accurate manner. This solution process is the major focus of this work. There are many ways to solve the Euler equations over complex domains. Most methods begin by dividing the domain of interest into smaller non-overlapping volumes and solving for the equations on each volume. The aforementioned process is called mesh generation and is the subject of Chapter 3. In this work 1 Note that this is a misnomer, as the Navier-Stokes equations in reality refer to the momentum equations only. 2 University of Pretoria etd – Pattinson, J (2007) 1.2 Overview non-conforming cut-cell Cartesian meshes are used as they can be generated with great efficiency on complex geometries [3]. This is ideal for the concept design process, particularly where minor inconsistencies exist in CAD geometry surfaces (known as “dirty” geometries). In the case of the latter, it can take more time to generate the mesh, via body-fitted type mesh generation techniques, than to solve the actual flow problem [4]. Once the domain has been decomposed into small non-overlapping volumes, the Euler equations need to be “discretised” on each. This process involves transforming the analytical equations into weak form and generating approximate algebraic expressions which may be solved numerically. This process is the subject of Chapter 4. As the solver developed in this work is to be started from scratch, it was deemed an ideal opportunity to test alternative discretisation and stabilisation options. In this work therefore, the vertex-centred finite-volume technique is used whereas most investigators use the cell-centred discretisation. The former technique should be competitive with the latter scheme and it has not been extensively investigated in the context of Cartesian meshes. The vertex-centred discretisation requires the construction of a so called dual mesh. In this work, an alternative dual mesh construction is proposed in addition to the standard method. These algebraic equations are stabilised using the artificial dissipation scheme of Jameson et al. [1]. This scheme is also at present not popular in the context of Cartesian meshes. Following on from the spatial discretisation, the equations produced by the discretisation process have to be solved. In this work only the steady state solution to the Euler equations is sought. This is achieved through an iterative solution procedure in which the governing equation transient term is manipulated to render a Jacobi like process. Although this process is superbly memory efficient, many iterations are required in order to reach a converged solution. For this reason, in this work, solution acceleration is effected through the use of the multigrid procedure of Brandt [5] in its nonlinear form vis. Full Approximation Scheme (FAS) multigrid. This method requires the generation of successive coarse meshes for which the agglomerated grid coarsening strategy of Lallemand et al. [6] is employed. The description of the discretisation of the temporal term in 3 University of Pretoria etd – Pattinson, J (2007) 1.3 Publication List the Euler equations as well as the subsequent acceleration of the solution process using volume agglomerated multigrid is the subject of Chapter 5. The developed solver is then evaluated by applying it to a variety of test cases that encompass the entire flow range of interest, vis. from incompressible subsonic flow right through to compressible supersonic flow. The solutions obtained are compared to either analytical solutions or published results of others. Grid convergence studies are performed in all cases to ensure rigorous evaluation, while the speed-ups obtained through the use of the agglomerated Multigrid method are documented. The evaluation process is detailed in Chapter 6. The work done as well as the most important findings are documented in Chapter 7. Further, recommendations are also made for future work. 1.3 Publication List The publications forthcoming from the research follow1 : 1.3.1 Journal Papers • Pattinson, J., Malan, A.G. & Meyer, J.P. (2006). An agglomerated FAS multigrid accelerated cut-cell non-collocated Cartesian mesh method for incompressible and compressible flow. South African Journal of Science, Under review. • Pattinson, J., Malan, A.G. & Meyer, J.P. (2006). A cut-cell noncollocated Cartesian mesh method for compressible and incompressible flow. International Journal for Numerical Methods in Engineering, Under review. 1.3.2 Conference Papers • Malan, A.G., Pattinson, J. & Meyer, J.P. (2005). Modelling incompressible flow on cut-cell Cartesian meshes. 4th International Conference 1 The full text versions of these publications can be found in the CD attached to this thesis. 4 University of Pretoria etd – Pattinson, J (2007) 1.3 Publication List on Heat Transfer, Fluid Mechanics, and Thermodynamics, HEFAT2005, Cairo, Egypt. • Malan, A.G., Pattinson, J. & Meyer, J.P. (2006). An edge-based methodology for modelling incompressible flow on cut-cell non-collocated Cartesian meshes. 5th SA Conference on Computational and Applied Mechanics, SACAM06, Cape Town, South Africa. • Pattinson, J., Malan, A.G. & Meyer, J.P. (2006). An edge-based methodology for modelling compressible flow on cut-cell non-collocated Cartesian meshes. 5th SA Conference on Computational and Applied Mechanics, SACAM06, Cape Town, South Africa. 1.3.3 Technical Reports • Malan, A.G., Pattinson, J. & Meyer, J.P. (2004). Development of a fast non-conforming Cartesian mesh Euler solver for application to missile design: Preliminary literature survey: Discretization and solution strategy. for Denel Aerospace Systems (Pty) Ltd , Report number 0403, 1–18. • Malan, A.G., Pattinson, J. & Meyer, J.P. (2004). Development of a fast non-conforming Cartesian mesh Euler solver for application to missile design: Preliminary report on the discretization: Developed 2-D mesh-cutting and CFD capabilities. for Denel Aerospace Systems (Pty) Ltd , Report number 0405, 1–21. • Pattinson, J., Malan, A.G. & Meyer, J.P. (2005). Development of a fast non-conforming Cartesian mesh Euler solver for application to missile design: Multigrid solution acceleration: Developed solver technology. for Denel Aerospace Systems (Pty) Ltd , Report number 0503, 1–8. • Pattinson, J., Malan, A.G. & Meyer, J.P. (2005). Development of a fast non-conforming Cartesian mesh Euler solver for application to missile design: Multigrid solution acceleration: Mesh agglomeration technology. for Denel Aerospace Systems (Pty) Ltd , Report number 0504, 1–11. 5 University of Pretoria etd – Pattinson, J (2007) 1.4 Purpose of Study • Pattinson, J., Malan, A.G. & Meyer, J.P. (2005). Development of a fast non-conforming Cartesian mesh Euler solver for application to missile design - Multigrid solution acceleration: Further results. for Denel Aerospace Systems (Pty) Ltd , Report number 0506, 1–17. • Pattinson, J., Malan, A.G. & Meyer, J.P. (2006). Development of a fast non-conforming Cartesian mesh Euler solver for application to missile design: Developed 3D preprocessor. for Denel Aerospace Systems (Pty) Ltd , Report number 0602, 1–10. 1.4 Purpose of Study To summarise, the purpose of this study is to develop a CFD tool that can be used effectively in the concept phase of an aerodynamic design. To do this a solver for the compressible and incompressible Euler equations is to be developed in which alternative methods, not currently in widespread use in the context of Cartesian meshes, for discretisation and stabilisation are to be investigated. Further, the solver is to employ an explicit solution method accelerated with nonlinear multigrid and using volume agglomeration to generate the coarse meshes. 6 University of Pretoria etd – Pattinson, J (2007) Chapter 2 Problem Formulation 2.1 Introduction The aim of this project is to model, to engineering accuracy, the steady-state out-of-boundary layer flow patterns and pressures around complex geometries subject to sub-, trans- and supersonic flow conditions. To do this efficiently, current researchers [7, 8, 9, 10, 11, 12, 13] employ a subset of the Navier-Stokes equations: the time-dependent compressible Euler equations1 . The application of these equations to model both compressible and purely incompressible flow in a meaningful manner is the subject of this chapter. 2.2 2.2.1 Governing Equations Euler Equations The system of partial differential equations that describes the inviscid flow of an incompressible or compressible fluid, contains relations that enforce the principles of mass, momentum and energy conservation. The governing system of equations, with artificial compressibility implemented, may be written for a Cartesian coor1 Note that as per many others, the steady state solution of the Euler equations is obtained by solving the transient system of governing equations from a given initial condition. 7 University of Pretoria etd – Pattinson, J (2007) 2.2 Governing Equations dinate system in the following non-dimensional conservative form ∂W ∂Q ∂Fj =0 + ∂Q ∂t ∂xj (2.1) where ρ p ρuj ρu u + pδ1j u1 ρu1 j , F = 1 j , Q = W= ρu u + pδ u ρu 2j 2 j 2 2 η(ρE + p)uj ηT ρE (2.2) and t is time, ρ is the density; uj the velocity component in direction xj , E is the specific total energy (as given below), T is temperature, and p is the pressure. Further, δij refers to the Kronecker delta function while η switches compressible flow specific terms on and off as: η= ( 1 for Compressible Flow 0 for Incompressible Flow (2.3) In the case of incompressible flow, the above definition results in the isothermal form of the equations in which the energy equation plays no role. The artificial compressibility preconditioning matrix ∂W is defined as ∂Q ∂W = ∂Q 1 c2 au u 1 c2 au u 2 c2 E c2 0 0 0 ρ 0 0 0 0 ρ ρ 2 ρ 2 (2.4) ρCp where Cp denotes specific heat at constant pressure and au is the generalised artificial compressibility preconditioning coefficient. For compressible flow, au is 1 while for incompressible flow au is calculated in its localised form as proposed by Malan et al. [14] as au = 2(1 − Ap ) 8 (2.5) University of Pretoria etd – Pattinson, J (2007) 2.2 Governing Equations where Ap is a pressure sensor. In one dimension where p(x) is the pressure and xm is a point in space, the latter is defined as Ap = lim + x→xm where |∇p(xm ) − ∇p(x))| |∇p(xm )| + |∇p(x))| ∇p(xm ) = lim − x→xm (2.6) p(x) − p(xm ) x − xm (2.7) This definition results in au varying from 2 in smooth regions to nearly 0 in regions with high gradients. The acoustic velocity c is calculated as follows: c=η p γRT + (1 − η)cτ (2.8) where γ is the ratio of specific heats and R is the gas constant. Also, cτ is the pseudo-acoustic velocity as defined by Malan et al. [14]: cτ = where |u| = √ ε cτ |u| if |u| ≤ εcτ if |u| > εcτ (2.9) uj uj and εcτ is typically set to 10−5 Vmax with Vmax being the maximum velocity magnitude in the field. εcτ is defined in this manner to ensure that the pseudo-acoustic velocities do not go to zero at stagnation points. In all of the above equations, non-dimensional quantities are related to their dimensional counterparts (depicted with superscript ∗ ) through the following relations t= ∗ t∗ U ∞ L∗ ρ= uj = ρ∗ ρ∗∞ u∗j ∗ U∞ xj = p= x∗j L∗ p∗ ∗2 ρ∗∞ U∞ E= T = E∗ ∗2 U∞ T∗ ∗2 /C U∞ p (2.10) where t, L and T are respectively time, the characteristic length and temperature. Further, the subscript ∞ denotes free-stream conditions with U∞ being the freestream velocity. 9 University of Pretoria etd – Pattinson, J (2007) 2.2 Governing Equations 2.2.2 Constitutive Equations For the case of compressible flow, closure to the above formulation is obtained by assuming the gas to be ideal. The implication is that the following relations hold p∗ = ρ∗ RT ∗ (2.11) where R is the gas constant given by R = Cp − Cv where Cv is specific heat at constant volume. In this project it is assumed that the ratio of specific heats γ is constant. Thus γ= Cp Cv (2.12) which results in R = Cp (γ − 1) γ (2.13) The resulting gas law written in terms of non-dimensional variables follows p γ T γ−1 (2.14) T uj uj + γ 2 (2.15) ρ= Further, the specific total energy is given by E= where the first term on the right-hand-side embodies internal energy. The corresponding non-dimensional expression for total specific enthalpy is H= T p uj uj + + γ ρ 2 (2.16) Finally, the dimensional acoustic velocity is given by p γRT ∗ (2.17) p (γ − 1)T (2.18) c∗ = or in terms of non-dimensional relations c= 10 University of Pretoria etd – Pattinson, J (2007) 2.2 Governing Equations where c = c∗ /U∞ . The above description of the physical system is only valid for media which may be accurately described as a continuous medium, and is as a result not applicable to rarefied gas (low densities) such as would be the case at the outer bounds of the atmosphere. It is further assumed that heat transfer through radiation is negligible and that no chemical reactions take place in the gas. Finally, gravitational body-forces have been assumed negligible, which is a reasonable assumption in the case of convection dominated flows [15]. 2.2.3 Boundary Conditions For a unique solution to the Euler equations, appropriate boundary conditions are to be prescribed. These include the application of artificial boundary conditions to the outer boundary which represents a truncated version of the spatial domain. In the context of this work, two types of boundaries are encountered vis. solid walls and far-field boundaries. In the case of the latter, characteristic type boundary conditions are employed (this is to account for the truncation of the domain). The application of boundary conditions on the far-field of a domain depends on the local Mach number (or pseudo Mach number in the case of incompressible flow) and whether the flow is leaving or entering the domain. The four cases that are encountered in this work are as follows: supersonic inlet, supersonic outlet, incompressible as well as compressible subsonic in- and outlet conditions. At the supersonic inlet, free stream conditions are prescribed, while at the outflow all the flow variables are extrapolated from the interior of the domain via the method described in Section 4.7. At a subsonic inlet, three flow characteristics must enter the domain and one must leave, while at a subsonic outflow three characteristics must leave and one must enter the domain. To determine which characteristics must enter the domain and which must leave, an altered characteristic type analysis based on one-dimensional Riemann invariants [7] is used. The alteration is required to extend the method’s applicability to incompressible flow systems. The procedure is outlined next. Riemann invariants G, based on the free-stream and extrapolated values are calculated as: 11 University of Pretoria etd – Pattinson, J (2007) 2.2 Governing Equations 2c∞ γ−1 2ce = ue · n + γ−1 G∞ = u ∞ · n − Ge (2.19) (2.20) The subscript e denotes values determined from the extrapolated primitive variables (Section 4.7) and n denotes the boundary outward pointing normal unit vector. The sonic velocities for both compressible and incompressible flows are calculated as follows: p √ (γ − 1)T∞ + (1 − η) × max ( ar u∞ · u∞ , cτ ) p = η (γ − 1)Te + (1 − η)c∞ c∞ = η ce (2.21) (2.22) Note that the above sonic velocities in the incompressible case are calculated as shown in the interest of consistency with the artificial compressibility solution method. Further, in this work the artificial compressibility related parameter, ar , is set to 1.2. Finally, γ in Equation (2.20) is calculated as γ = γair η + c2∞ + 1 (η − 1) T∞ (2.23) where in the case of incompressible flow T∞ = 1.0. From the above, the sonic velocity at the boundary is now calculated as follows cb = 0.25η(γ − 1)(Ge − G∞ ) + (1 − η)c∞ (2.24) and the magnitude of the velocity normal to the boundary is found by un = 0.5(Ge + G∞ ) (2.25) Using the normal velocity the velocity at the in- and outflow boundaries are calculated as: ub = u∞ + (un − u∞ · n) · n and ub = ue + (un − ue · n) · n 12 (2.26) University of Pretoria etd – Pattinson, J (2007) 2.3 Conclusion respectively. The temperature at the in- and outflow boundaries follow from Tb = T ∞ c2b c2∞ and Tb = Te c2b c2e (2.27) respectively. Finally, the pressure at the boundary is determined by applying the ideal-gas constant-entropy relations at the inflow and outflow conditions respectively: pb = p ∞ Tb T∞ γ γ−1 and pb = pe Tb Te γ γ−1 (2.28) The above relations hold for both compressible and incompressible flow systems. At the surface of the aerodynamic object, a symmetry or slip boundary condition is employed. Here the component of the velocity normal to the boundary is set to zero i.e. u·n = 0 (2.29) while zero gradients in density and specific energy are applied as Neumann type boundary conditions: ∂ρ ∂E nj = nj = 0 ∂xj ∂xj (2.30) where the nomenclature is as previously defined. 2.3 Conclusion In this chapter the mathematical description of the physics being modelled is given. The governing equations are presented in a form appropriate for the solution of fully incompressible as well as fully compressible flows. The latter includes sub-, trans-, and supersonic systems. Closure to the aforementioned system is given by the definition of appropriate constitutive relations and boundary conditions. 13 University of Pretoria etd – Pattinson, J (2007) Chapter 3 Mesh Generation 3.1 Introduction The finite volume technique used in this work may be used to effectively solve systems of coupled non-linear partial differential equations over arbitrary spatial domains. It is however a prerequisite that the spatial domain be decomposed into a number of discrete non-overlapping regions. This process is commonly known as mesh-generation. A host of techniques have been devised by which to do this as summarised by Baker [16]. The requirements for CFD computations during the concept design phase poses strict limits on the choice of mesh generation technique. It is required that the overall time taken to generate the mesh be short, while being insensitive to surface definition inconsistencies and thus facilitate short total analysis times. The amount of user input in the mesh and geometry generation is the major factor in determining the speed at which these tasks are performed (which has been shown can take more time to generate the mesh than model the flow [4]). It is therefore required above all that the mesh be generated automatically and with speed around complex geometries with as little user input as possible. At present, this criterion leaves one with only two realistic choices of mesh generation strategy: • Unstructured triangular in 2D or tetrahedral meshes in 3D. 14 University of Pretoria etd – Pattinson, J (2007) 3.1 Introduction • Cartesian meshes consisting of mainly quadrilaterals in 2D and hexahedra in 3D. The unstructured meshes are generated by either the Delaunay triangulation or the advancing front method. They have been used extensively in solving problems of all types [17, 18, 19, 20]. Indeed most of the solution technologies used in this work were first conceived for use on this type of mesh. The main hindrance in generating such meshes is the need for a consistent or “clean” CAD geometry. The latter is essential for surface triangulation, and is often not naturally available during the initial phase of an aerodynamic design. As automatic tools to resolve inconsistencies in CAD geometry do not always work effectively, the desired water-tight geometry is only achieved by direct user intervention. The latter is a tedious and human resource intensive exercise. Cartesian meshes do not suffer from the requirement of a consistent CAD geometry to the same degree as unstructured body-fitted meshes. They can further be generated with great efficiency on complex geometries. This is demonstrated by Aftosmis et al. [3] who shows that the complexity of the method is O(N log N ) where N is the number of cells. Cartesian mesh generation is also known to be highly amenable to automation as has been reported by several authors [3, 10, 12, 21, 22] but do however have two main drawbacks, viz. the boundary of a Cartesian mesh is by definition a stair-step one1 , and the cells are refined as a rule in a two to one ratio. Related to the fixed refinement ratio is the formation of so called hanging nodes (also referred to as non-conforming nodes). These drawbacks can have unwanted accuracy implications if not appropriately dealt with. The choice between the above two competing mesh generation strategies depends entirely on the intended application. For the solution of the Euler equations, anisotropic meshes are not required and in addition the quality of a Cartesian mesh is theoretically superior to that of a tetrahedral mesh of the same grid resolution in all areas except at the boundary and where hanging nodes are present [23]. This superior quality over a large part of the domain significantly reduces the computational complexity as shown by Aftosmis et al. [3]. Berger 1 Also, and perhaps more commonly known as a Cartesian mesh with embedded geometry. 15 University of Pretoria etd – Pattinson, J (2007) 3.2 Cartesian Mesh Generation et al. [21] has shown that the higher mesh quality and local regularity can also improve the cache and parallel performance of the solver if written to take advantage of this feature. A further advantage of Cartesian mesh generation is the ease with which mesh refinement can be done. Adaptive mesh refinement is not implemented in this work but has been shown to work on these meshes by Popinet [24]. In the related area of moving body problems, Cartesian meshes have further been used with success by Yang et al. [25] and Murman et al. [10]. For these reasons it was decided that the Cartesian method is the superior option for the application under consideration. This chapter will cover aspects related to the generation and preparation of the mesh in anticipation of the chosen discretisation strategy. The focus will be on the processes pertaining to furnishing the cut-cell mesh using a stair-step Cartesian mesh as a starting point. 3.2 Cartesian Mesh Generation The focus of this work is not on the generation of Cartesian meshes and therefore commercial packages were used for this purpose. Harpoon [26] was the primary package employed, although Gambit [27] (from Fluent software) was also used in the early stages of the work. As both packages are unable to generate 2D Cartesian meshes, code was written to extracts the latter from a 3D mesh. Cartesian meshes contain geometric planes that run through the mesh without intersecting any elements. These planes are made up of faces of 3D elements and are therefore similar to a 2D Cartesian mesh. It is one of these planes that is used to create the 2D mesh. Note that the planes only occur naturally throughout the domain on meshes where no 3D cell cutting has been performed. This is why the latter feature, which is available in Harpoon, was not used for the 2D cases and it was opted to develop it. This is detailed next. 3.3 Redefinition of the Boundary Overlapping stair-step Cartesian meshes are not optimal for computational use as the accuracy of the solution on the boundary is compromised. They are thus 16 University of Pretoria etd – Pattinson, J (2007) 3.3 Redefinition of the Boundary altered to obtain a body conforming mesh. Two techniques are available for this. The technique used by most groups is the so called cut-cell approach (Murman et al. [11], Yang et al. [12], Aftosmis et al. [28], Coirier & Powell [8] and Ingram et al. [4]). Here, the cells that intersect the boundary are cut so that their boundary conforms to the local domain boundary. The other technique, as devised by Koh et al. [29], involves using a least squares mesh-less method to address the mesh boundary - geometry boundary interface. In this work the cut-cell approach was selected as the latter technique is not inherently conservative. Both 2- and 3D cases are considered. As noted previously, the mesh generator Harpoon is capable of furnishing a 3D cut-cell mesh which is why cut-cell technology only needed to be developed for 2D cases. 3.3.1 Cell Cutting Algorithm The code developed to effect the cell-cutting requires as input an overlapping Cartesian mesh together with a representation of the geometry (see Figure 3.1). Detail on the representation of the geometry and supported geometry file formats is provided in Appendix B.2. It is desired that this cell-cutting algorithm robustly and automatically furnish the solver with a mesh that conforms to the geometry supplied, while maintaining a tolerance to “dirty” geometries. The cell cutting algorithm commences by visiting all boundary nodes and checking the attached edges for an intersection with the geometry. If no intersection is found, the checked edges are deleted (as these are located inside the geometry) and the boundary redefined. If an intersection is found the edge is marked for cutting. The procedure is then repeated until all edges completely interior to the geometry have been deleted and all edges that intersect the boundary found (which is the case when at least one edge attached to each boundary node intersects the boundary). All boundary nodes are then deleted and the new boundary is defined by creating nodes at edge-geometry intersections and connecting these nodes with edges. It is important to note that the above algorithm only works in isolation on meshes that completely overlap the boundary. The generation of the 2D mesh from a 3D one sometimes results in meshes where this is not so i.e. containing 17 University of Pretoria etd – Pattinson, J (2007) 3.3 Redefinition of the Boundary Reversed search directions Non-overlapping mesh Mesh Boundary Figure 3.1: Examples of overlapping Cartesian mesh test-cases (with body geometry definition) employed for testing of the developed preprocessor (cell cutting and merging technology). “voids”. An example of this can be found in Figure 3.1 (bottom right). To address this, code has been written to find these voids and fill them with triangles or quadrilaterals. The above code has proven to be robust and generic in furnishing bodyconforming meshes. No information on the type of boundary element nor what type of intersection the element has with the boundary is required. The algorithm has also proven to be insensitive to “dirty” geometries because, for the redefinition of an element, the intersections of only two edges with the boundary is all that is required. The chances that either of these edges penetrate the geometry through 18 University of Pretoria etd – Pattinson, J (2007) 3.3 Redefinition of the Boundary a geometric inconsistency is small. Original cut-cell mesh Merged mesh Boundary Overlapping mesh PSfrag replacements PSfrag replacements Figure 3.2: Shown is an example (left) of an overlapping Cartesian mesh generated with the Harpoon software and (right) the mesh resulting after applying cellcutting (denoted “original cut-cell mesh”) and cell-merging. 3.3.2 Cell Merging Operation Pure cutting of the edges and filling of voids, as described above, may result in minuscule elements being created at the boundary. These elements are often many times smaller than adjacent elements, and can seriously impair the accuracy and stability of the solution scheme as well as result in long solution times. To deal with this, offending elements are merged into their neighbours. Cell-merging commences by performing a loop over all boundary elements. If an edge attached to a particular element is smaller than the largest edge of that specific element by more than a certain factor (in this work a factor of 2 was found to yield acceptable results for the cases tested), the edge is collapsed. Of the two nodes attached to the edge to be collapsed, the node that does not lie on the boundary is omitted. If both nodes lie on the boundary, then either is selected for deletion. Finally, a second loop is performed over the boundary elements and those that contain less than three nodes removed. An example of the resulting cell-merged mesh is shown together with the original overlapping mesh in Figure 3.2 (right). 19 University of Pretoria etd – Pattinson, J (2007) 3.4 Conclusion Note that the above algorithm does not, in most cases, explicitly collapse edges within the small elements themselves. This is as all the edges in these elements are often of similar lengths. Small elements are however destroyed from within their neighbours. This means that the programmer does not have to choose the neighbouring element in which to merge the small element. The aforementioned makes for a robust and generic cell-merging operation. Once again this algorithm does not require any information about the type of element to be merged or the type of element that borders it. In this, it is completely generic. 3.4 Conclusion This chapter was concerned with the chosen mesh generation method viz. cut-cell non-conforming Cartesian meshes. Technology developed to furnish 2D bodyconforming meshes from 3D ones was documented. In the following chapters the resulting Cartesian meshes will be employed for the purpose of the discretisation and solution of the system of governing equations previously detailed. 20 University of Pretoria etd – Pattinson, J (2007) Chapter 4 Spatial Discretisation 4.1 Introduction The coupled non-linear partial differential equation set, which describes the flow under consideration, is not at present solvable via analytical means over complex domains. Their solution by numerical means is a viable alternative, with the methods of weighted residuals being well suited. Two popular techniques are the finite volume methods and the finite element methods. The former is currently the most popular scheme when solving the Euler equations on unstructured grids. In particular, the cell centred finite volume method is used almost exclusively in the context of cut-cell Cartesian meshes [4, 7, 8, 9, 10, 12, 13, 21, 22, 23, 24, 28, 30, 31, 32, 33]. This is attributed in part due to the cell-centred method being applicable in an unaltered state to non-conforming meshes (i.e. meshes containing hanging nodes) [23]. The work of French [34] is, to the authors knowledge, the only previous application of the vertex-centred method to Cartesian grids. In this work, a vertex-centred edged based finite volume approach is employed, primarily to evaluate and promote such technology in the context of Cartesian meshes. This method is expected to be competitive with the cell centred variant as it offers similar accuracy vs. computational cost [14] while allowing Dirichlet boundary conditions to be enforced more directly (no extrapolation or ghost cell generation is required). It also works in an unaltered form at hanging nodes, but it is expected to reduce to first order accuracy here. For this reason, an alternative implementation is in addition investigated as part of this research. 21 University of Pretoria etd – Pattinson, J (2007) 4.2 Finite Volume Discretisation of the Euler Equations The vertex-centred edged based finite volume method constitutes a notionally second-order accurate (central difference) type method, which is known to exhibit a tendency for odd-even decoupling of the solution. To suppress this tendency, stabilisation has to be added. Stabilising such schemes without the loss of second order accuracy is a major concern in the field of computational fluid dynamics [35]. This has led to the development of various stabilising methods by researchers such as Beam & Warming [36], Jameson et al. [1] and MacCormack & Baldwin [37]. One such class of scheme is termed artificial viscosity or artificial dissipation, and involves the addition of a biharmonic operator to the system of equations in the regions devoid of discontinuities. A harmonic operator (first order accurate upwinding) is to be added in the vicinity of shocks in order to render a stable non-physical oscillation-free method [35]. Another class of method employed to suppress non-physical oscillations is the so called upwind schemes (Godunov type / Riemann solver). In the context of Euler flow on unstructured Cartesian meshes, these schemes are the most popular [4, 8, 11, 13, 21, 23, 28, 30, 33] and the artificial dissipation methods do not at present feature. Due to the latter, as well as to in addition evaluate its applicability to Cartesian meshes, the Jameson, Schmidt & Turkel [1] variant of artificial dissipation will be employed in this work. 4.2 Finite Volume Discretisation of the Euler Equations The governing equations presented in Chapter 2 (Equation (2.1)) may be written in non-dimensional integral form, on a three-dimensional Cartesian domain, by integration over an arbitrary volume V ∈ R3 enclosed by bounding surface A as: Z V ∂W ∂Q dV + ∂Q ∂t Z Fj nj dA = 0 (4.1) A The cell-centred and the vertex-centred finite-volume methods differ in the manner in which the finite volume is constructed on a mesh. In the case of the former, the cells generated during mesh generation constitute the finite volumes, in each of which a node is placed at its geometric centre. The vertex-centred 22 University of Pretoria etd – Pattinson, J (2007) 4.3 Dual Mesh Construction method differs in that computational nodes are placed at the vertexes, around which finite volumes are then constructed in order to furnish the so-called dual PSfrag replacementsmesh. PSfrag replacements Amn Amn o n Amn1 Υ mn Amn 2 m Amp Amp B Vm p ApmB o n Υmn Amn2 Amn1 m Amp A mp B p ApmB Vm Figure 4.1: Schematic of the standard median-dual-mesh construction methodology (left) and the alternative scheme (right). Solid lines represent the computational edges and filled circles depict the nodes. The hatched region denotes the finite volumes Vm (red) and Vo (blue). Note that both dual-mesh constructions are derived from exactly the same mesh. 4.3 Dual Mesh Construction As noted earlier, dual mesh construction is the process that produces the computational volumes employed by the vertex-centred scheme. In this work both the standard dual mesh construction of Vahdati et al. [38] as well as a new alternative method will be employed. The following sections describe each in detail. 4.3.1 Standard Dual Mesh Construction This procedure will be discussed with reference to Figures 4.1 (left) and Figure 4.2. In 2D, dual-mesh bounding surface facets (lines) are constructed by connecting 23 PSfrag replacements University of Pretoria etd – Pattinson, J (2007) 4.3 Dual Mesh Construction p Amn2 o Υmp V A A 2 t mpB rs1 st2 st1 1 Υst 3 A m u s 2 AmpB r 4 q 5 Vm Figure 4.2: Schematic of the standard dual-mesh construction methodology in 3D. Black lines denote the inactive edges, while thick red lines are the active edges. The hatched regions are dual volume bounding surface facets. edge centres (stars in Figures 4.1) with element centroids (open circles). These facets are then joined to form an enclosed volume around a node (filled circles) as shown schematically for a node o in the figure. The dual-mesh is constructed in 3D, by the definition of finite volume bounding facets formed by connecting edge centres (stars) with face-centroids (open circles) and element centroids (triangles in Figure 4.2). Two of the resulting facets for an edge s-t are shown in the figure as the blue hatched surfaces. Further, the completed 3D volume around node s is shown from various perspectives in Figure 4.3. The above construction made use of surface and volume centroids. It is clear from the respective figures that these calculations are to be made on arbitrarily 24 1 University of Pretoria etd – Pattinson, J (2007) 4.3 Dual Mesh Construction Figure 4.3: Two different views of the constructed dual-mesh volume for the node indicated by the black circle. The figures on the left do not show any hidden detail. shaped elements and faces. These calculations are now discussed. A face centroid (in 3D) or an element centroid (2D) refers the area weighted centroid of a 2D element or a 3D element face. In order to ensure generic applicability, these are calculated by a two step process. First an estimate of the centroid is obtained by performing the vector average of all the nodal coordinates xi on the face as: PN xi ∗ xest = i=1 (4.2) N where N is the number face vertexes. By connecting all face vertexes to x∗est , a series of non-overlapping triangles are formed. The centroid of the face is then calculated by performing the area weighted average of the centroids of these 25 University of Pretoria etd – Pattinson, J (2007) 4.3 Dual Mesh Construction triangles as: ∗ PN x = Pi=1 N x∗i Ai i=1 (4.3) Ai Here x∗ is the centroid of the face and x∗i denotes the centroid of triangle Ai . The latter is calculated simply by the averaged vector sum of the triangles coordinates (which gives the exact centroid). The above centroid calculation is valid for all convex faces and slightly concave ones. It is invalid however, if all the nodes of the face do not lie in a plane. These so-called “skew” faces are encountered in the 3D case as depicted in Figure 4.4. It was found that all such skew faces, generated by Harpoon, contain a maximum of four nodes while the “skewness” is limited to 40 degrees (user setting in Harpoon). The centroid of this face is therefore approximated by the mid-point of the line joining either of the opposing corners. To maintain the conservative nature of the discretisation scheme, the same set of opposite corners used to find the centroid must be used for this face whenever it is visited. Note that it is expected that skew faces containing exactly four nodes is not likely to be universal to Cartesian meshes, rather it is thought to be a product of the mesh generator and settings used in this work. Approx. x∗ Approx. x∗ PSfrag replacements Side view Vm Figure 4.4: An example of a skew face. The two possible positions of the approximate centroid are indicated. The calculation of element centroid in 3D (the volume centroid of an arbitrary 3D element), again involves a two step process. Firstly, an estimate of the centroid of the element is obtained by the sum of the nodal coordinates. The element is 26 University of Pretoria etd – Pattinson, J (2007) 4.3 Dual Mesh Construction then divided into tetrahedra by triangulating each face of the element and joining the resulting vertexes to the aforementioned centroid (two such tetrahedra are shown in Figure 4.2). The actual element centroid is then calculated as the volume weighted average of the centroids of the tetrahedra as: ∗ PN x = Pi=1 N x∗i Vtet i i=1 (4.4) Vtet i where xi is the centroid of the tetrahedron i (calculated from the average vector sum of the vertexes) and Vi is the volume of the latter. This is calculated as: Vtet i 1 x1 1 x21 = 3 6 x1 x4 1 x12 x22 x32 x42 x13 x23 x33 x43 1 1 1 1 (4.5) where xji refers to the coordinates of each node j in the tetrahedron. Now that the above geometric entities have been defined the construction of the dual mesh is continued. The volume associated with a node m is designated Vm and the bounding surfaces by Am and AmB . The latter denote internal (dual) and computational boundary surfaces respectively. To compute fluxes between nodes, the faces that make up the boundary surface of the control volume have to be expressed mathematically. This is effected in an edge based manner through the definition of so called edge coefficients. An edge coefficient is defined as the area of the bounding surface of a computational volume associated with a particular edge multiplied by the unit normal vector of that face. This is expressed for an edge between nodes m and n as Cmn = X nmnq Amnq (4.6) Amnq ∈Amn where Amnq refers to a facet of this surface and nmnq is the unit normal vector to Amnq (in this work the normal vector is chosen to point from the smaller to the larger node number). For the case shown in Figure 4.1, the edge coefficient 27 University of Pretoria etd – Pattinson, J (2007) 4.3 Dual Mesh Construction is formed from two surfaces q = 1 and q = 2. For the case shown in Figure 4.2, the edge coefficient for the edge s-t is formed from four facets of which the two corresponding to q = 1 and q = 2 are shown. The calculation on the boundary is similarly performed for an edge m-p: Bmp = X Bq nmp AmpBq (4.7) AmpB q ∈AmpB where B refers to a boundary edge coefficient and nmn Bq is the outward pointing normal vector to AmnBq . For the 2D case shown in the figure q is not required as the edge coefficient is made up of only one facet labelled AmpB . For the 3D case shown in the figure for edge m-p, q = [1, 2] as depicted. As Cmn = −Cnm , only one internal edge coefficient need be stored per edge. This is where edge-based schemes are considerably more efficient than element based methods. With respect to the boundary edge coefficient, two values are stored at a node to ensure general applicability with regards to the dimension of the problem (In 3D Bmp 6= Bpm ). The additional storage and computational cost is negligible as this is only needed for boundary edges. 4.3.2 Alternative Dual Mesh Construction It is evident from the previous section that, at hanging nodes, the standard procedure results in dual-mesh volumes with geometric centres which are considerably removed from the node. This has serious accuracy implications. In an attempt to circumvent this, an alternative scheme was developed wherein nodes are placed in the centroids of the mesh elements, and the elements then constitute the dual-mesh or finite volumes. This is shown schematically in Figure 4.1 (right). The edges are then constructed between these nodes. The boundary volume is however to be given special treatment. As opposed to previously, a node is not placed in the centroid of the element, but rather on the boundary. More specifically, it is placed at the centre of the boundary edge (of the element). This enables the boundary conditions to be applied as per the standard variant of the vertex-centred scheme. 28 University of Pretoria etd – Pattinson, J (2007) 4.4 Discretisation of Convective Term Having defined the dual mesh, edge coefficients are calculated as before. Equation (4.6) again applies to edge Υmn as does Equation (4.7) to edge Υmp . As in the standard scheme internal edge coefficients are stored once per edge as Cmn = −Cnm . This is not possible for the boundary edge coefficients as AmpB 6= ApmB even in 2D. On this account, two boundary edge coefficients need to be stored. This however results in no alteration to the above methodology. Importantly, the furnished dual-mesh fundamentally differs from that of the standard vertex-centred scheme in that volume bounding surfaces may no longer be assumed to intersect edges midway between nodes. In order to ensure spatial accuracy on the new dual-mesh, the standard edge-based vertex-centred discretisation scheme is to be accordingly generalised. This is detailed in Section 4.4. The scope of this work was limited to the application of this alternative scheme to 2D only. The method is however not limited to 2D, and is expected to be easily extensible to 3D. 4.4 Discretisation of Convective Term To benefit from the edge-based nature of the numerical procedure employed, the j convective term ∂F is discretised as ∂xj Z Am F ij nj dA ≈ X ij j F mn Cmn + Υmn ∩Vm X j Fmij Bmn (4.8) ΥB mn ∩Vm where Υmn denotes the edge connecting nodes m and n, and Fmn is the averaged flux along the edge. The standard method employed to calculate the latter [14, 38, 39, 40] is 1 ij (4.9) Fm + Fnij 2 On a finite difference mesh the above is thought of as formally second-order accurate, which is however not the case [41]. In the case of the standard dualij F mn = mesh construction methodology, this deficiency may be rectified by employing 29 University of Pretoria etd – Pattinson, J (2007) 4.5 Stabilisation: Artificial Dissipation the following relation: j Fmn ρmn uj mn ρmn u1mn uj + pmn δ1j mn = ρmn u2mn uj + pmn δ2j mn η(ρmn E mn + pmn )uj mn (4.10) where the over-line quantities are calculated for a scalar field φ as (φm + φn ) (4.11) 2 with φm and φn denoting the nodal (vertex) values. It is implicitly implied in Equation (4.11) that the dual mesh bounding surface at which the flux is being calculated midway between the nodes. In the case of φmn = the proposed new dual-mesh construction procedure this is not always the case, and Equation (4.11) is to be generalised as: φmn = (1 − rmn )φm + rmn φn (4.12) where qP N i rmn = qP N i (xmi − xAi )2 (xmi − xni (4.13) )2 Here xAi denotes the Cartesian co-ordinate i of the spatial position where the bounding surface of volume Vm , namely Am , intersects edge m − n. Further, δjj is the Kronecker delta. To ensure the overall computational efficiency of the numerical scheme, the above edge-based flux calculation procedure is employed in both forms shown viz. Equation (4.11) and (4.12). The latter, which is more costly to compute, is only used in the irregular parts of the cut-cell Cartesian mesh i.e. where rmn 6= 12 . 4.5 Stabilisation: Artificial Dissipation As noted in the introduction to this chapter, the equations will be stabilised without the loss of second-order accuracy by using the scalar valued dissipation 30 University of Pretoria etd – Pattinson, J (2007) 4.5 Stabilisation: Artificial Dissipation (JST) model developed by Jameson et al. [1]. This method, which does not yet feature in Cartesian mesh solvers, is suited to solving both compressible as well as incompressible flows via the proposed single equation methodology. Further, it has proven very effective when applied to complex flows [42] while offering a balance between accuracy and computational efficiency [43]. As per Sørensen et al. [40], artificial dissipation is implemented in conjunction with first-order accurate upwinding so as to avoid non-physical spurious oscillations across discontinuities in field variables i.e. across supersonic shocks. The resulting stabilising term to be added to the right-hand-side of the discretised governing equation is as follows JST Dm = ηDsc m + Dm (4.14) JST where Dsc denote the shock-capturing and artificial dissipation terms m and Dm respectively. The shock-capturing or upwinding term is detailed first. It may be calculated at each node via a scaled approximation of a Laplacian operator similar to Mavriplis [18]: Dsc m = X Υmn ∩Vm ε2 Λmn Pmn (Wn − Wm ) (4.15) where ε2 is an empirical constant, the value of which is to be determined for each problem through numerical experimentation (the objective is to use the smallest possible value to stabilise and eliminate spurious oscillations). Further, Λmn is the edge-based interpolated scaling factor and Pmn is the pressure switch. The former scaling factor is calculated in an edge-wise manner at each node as Λm = X Υmn ∩Vm |umn · Cmn | + cmn |Cmn | (4.16) where |Cmn | denotes the Euclidean norm of Cmn and c is the non-dimensional acoustic velocity. In the case of the standard edge-based finite volume method, all edge-averaged quantities (over-line) are calculated as the average of the two nodal values. For the new alternative dual-mesh construction strategy with associated proposed edge-based flux averaging procedure, the over-line quantities 31 University of Pretoria etd – Pattinson, J (2007) 4.5 Stabilisation: Artificial Dissipation are however to be calculated via Equation (4.12). This is in the interest of consistency. The pressure switch is tasked with sensing large pressure gradients, and scaling the above upwinding term accordingly. It is calculated in a similar way to Mavriplis [18] for an edge m − n as follows Pmn = max [|∆pm |, |∆pn |] where (4.17) P √ (pm − pn ) ∆pm = 12 PΥmn ∩Vm Υmn ∩Vm (pm + pn ) (4.18) The above term is large across a shock and tends to zero in smooth fields. The result is that the numerical scheme is reduced to first-order accuracy in the vicinity of shocks while the above upwinding term tends to zero away from shocks. In these regions the JST stabilisation term is employed to effect stability and ensure high resolution accuracy (notionally second-order accurate). The JST stabilising term is constructed on a cut-cell Cartesian grid through the use of a biharmonic operator as proposed by Mavriplis [18]. This involves conducting two loops over edges, where the first loop entails the construction of a harmonic operator. In the interest of computational efficiency, this is approximated for both compressible and incompressible flows as follows: 2 ∇ Wm ≈ (1 − η) X Υmn ∩Vm ∂W (Q − Qm ) + η ∂Q mn n X Υmn ∩Vm (Wn − Wm ) (4.19) where summation is performed over all edges connected to node m, and W and Q denote the dependent variable vectors. The preconditioned relation employed above for incompressible flow, is due to Malan et al. [14]. The biharmonic operator is constructed by essentially repeating the above procedure as follows JST Dm = X Υmn ∩Vm −max [0, (ε4 − ηε2 Pmn )] Λmn ∇2 Wn − ∇2 Wm where ε4 is an empirical constant to be determined similar to ε2 . 32 (4.20) University of Pretoria etd – Pattinson, J (2007) 4.6 Semi-Discrete Equation JST The calculation of Dm is known to be problematic on a boundary. The procedure used in this work to calculate this term is that proposed by Mavriplis [18]. The contribution from an internal edge mn (see Figure 4.5) in Equation (4.19), is approximated by replacing wn − wm with wn0 − wm . Here wn0 is the projec- tion of the value of wn on to the boundary edge. If a normal gradient of zero is assumed, it can be shown that the contribution from edge mn in Equation (4.19) is equal to C(wo − wm ), where C is a constant. Note that the assumption of a zero normal gradient here is consistent with the boundary condition applied at slip boundaries. The calculation of the biharmonic operator (Equation (4.20)) is unaffected. wn wo wm 0 wn Figure 4.5: Calculation of artificial dissipation term on the boundary 4.6 Semi-Discrete Equation The semi-discrete form of the governing equations (Equation (2.1)), that results from the vertex-centred discretisation process described above now follows: 33 University of Pretoria etd – Pattinson, J (2007) 4.7 Boundary Conditions ∂W ∂Q ≈ ∂Q ∂t X ij j F mn Cmn + +η Υmn ∩Vm X Υmn ∩Vm j Fmij Bmn ΥB mn ∩Vm Υmn ∩Vm X X ε2 Λmn Pmn (Wn − Wm ) + −max [0, (ε4 − ηε2 Pmn )] Λmn ∇2 Wn − ∇2 Wm (4.21) where the second and third terms on the right-hand-side are the convective part of the equations. The last two terms are the stabilisation terms. The discretisation of the temporal term on the left-hand-side is detailed in the next chapter. 4.7 Boundary Conditions This section details the numerical implementation of the characteristic boundary conditions described in Section 2.2.3. These characteristic far-field boundary conditions require that an extrapolation be made from the interior of the domain to the boundary. Unfortunately this is not as simple as it seems in the case of a supersonic outflow. Here it is necessary that no reflection of downstream boundary effects is propagated back into the domain. Two methods of extrapolation were investigated to ensure this viz. the method of linear least squares and the method of inverse distance weighting of Watson [44] (see Appendix C for a detailed explanation). Both of the aforementioned methods require a minimum of three non co-linear points in order to get a meaningful approximation. It has been found that the selection of these points is crucial to ensure minimum reflection. Figure 4.6 depicts a typical far field boundary on a Cartesian mesh. The algorithm to find the points to be used in the extrapolation proceeds as follows. Using stored local connectivity information around the boundary node of interest (coloured red in the figure), the nearest internal node is found. In the figure it is coloured blue. Again using local connectivity information all internal nodes attached to this node are found (shown in green). These nodes, together with the closest node, constitute the body of nodes from which information is extracted for the purposes of extrapolation. If the boundary is a subsonic outflow, all the 34 University of Pretoria etd – Pattinson, J (2007) 4.7 Boundary Conditions c b a PSfrag replacements Figure 4.6: Selection of points for boundary condition extrapolation. nodes are employed. To prevent reflection of the boundary information in the case of a supersonic outflow, only nodes that are upstream of the current node are used in the approximation. To identify upstream nodes for the supersonic case, the local velocity vector on the boundary node itself is used. As an example of this we consider node c in Figure 4.6. If the flow is parallel to the green arrow, then any node to the left of the constructed perpendicular line (green dashed line) may be used (of which there are three in this case). If however the local velocity at node c is in the direction indicated by the red arrow, one can see that only one of the identified nodes can be selected. As this solitary node is insufficient for extrapolation purposes, its local connectivity is queried to find more upstream nodes. These nodes are coloured pink. To alleviate difficulties in finding sufficient numbers of nodes in close proximity to the boundary node, downstream nodes that were less than 3◦ from the perpendicular (dashed) line were also used in this work. Note that boundary nodes are naturally never selected. Both of the two chosen extrapolation methods were tested in this work. The method of inverse distance weighting is computationally less expensive than the least squares method and was found to work better for all the test cases presented. 35 University of Pretoria etd – Pattinson, J (2007) 4.8 Conclusion It was thus used as the method of preference. 4.8 Conclusion In this section the procedure employed to discretise the governing equations on Cartesian meshes is presented. To summarise, the vertex-centred finite volume method is employed with two different definitions of the dual mesh viz. the standard method of Vahdati et al. [38] and a newly developed alternative. To account for the latter, the discretisation scheme is accordingly enhanced. A variant of the Jameson, Schmidt & Turkel [1] artificial dissipation scheme is used for stabilisation purposes. Finally, the implementation of the characteristic far-field boundary conditions is presented. In the following chapter, the procedure used to solve the resulting semi-discrete equation set is discussed. 36 University of Pretoria etd – Pattinson, J (2007) Chapter 5 Temporal Discretisation and Solution Procedure 5.1 Introduction The previous chapters described the set of spatially discretised governing equations used in this work. What remains is to discretise the temporal term ( ∂Q ∂t in Equation (2.1)), followed by the simultaneous solution of the resulting set of discrete equations. This is the subject of this chapter. The two main temporal discretisation strategies which may be employed for the work under consideration are explicit and implicit. Implicit methods can be loosely defined as those methods that may require matrix inversions to be performed, while explicit methods naturally do not [20]. The main advantage of the basic explicit method is that the memory cost is O(N ), where N denotes the number of unknowns to be solved for. The disadvantage is that there is a severe time-step size restriction (Courant-Friedrichs-Lewy number), which results in the need for a large number of time-steps (iterations) in order to reach the steadystate (converged) solution. The basic implicit method does not pose the same time-step restriction, but requires the setting up of a matrix, the storage cost of which may be O(N 2 ). Further, the computational cost of iterative matrixinverters is O(N 2 ). Due to the disadvantages of the basic explicit and implicit solution strategies, they are rarely used to model flow on unstructured Cartesian meshes. To cir- 37 University of Pretoria etd – Pattinson, J (2007) 5.1 Introduction cumvent the aforementioned disadvantages, more advanced methods have been developed, and a summary of these in the context of Cartesian meshes now follows. An implicit-time integration scheme currently in use on unstructured Cartesian meshes, which solves a matrix without storing it, is the so-called Lower-upper Symmetric Gauss-Seidel (LU-SGS) as implemented by Ogawa [22]. In the cited work this method is used in conjunction with a variant of the Full Approximation Storage (FAS) multigrid method in order to ensure acceptable computational cost (solution times) in addition to low storage. Another implicit method employed in recent relevant research is a block-lower-upper symmetric Gauss-Seidel method used by Wang & Chen [23] and Zhang & Wang [33]. The LU-SGS (BLU-SGS) method requires less memory than the fully implicit scheme, while involving a comparable amount of iterations. Finally, a semi-implicit method is used by Ham et al. [9]. This involves decomposing the system of discrete equations into a number of one-dimensional problems that can be solved directly by inverting a set of tridiagonal matrices. The majority of authors using Cartesian meshes use explicit schemes. These vary from multi-stage time-stepping (Coirier & Powell [8]), to employing RungeKutta relaxation in conjunction with FAS-multigrid solution acceleration (Aftosmis et al. [28] and Murman et al. [45]. The memory cost of these techniques is optimal (O(N )), while computational cost tends toward O(N ). The split type (functional step) method developed by Popinet [24] (developer of GERRIS), employs a pointrelaxation scheme (mathematically analogous to explicit time-stepping), which is again accelerated via FAS-multigrid. It is clear from the above that, in the context of unstructured Cartesian mesh based solvers, both implicit and explicit type temporal discretisation methods are currently in use. Implicit methods range from block-implicit to matrix-free LU-SGS used in conjunction with multigrid solution acceleration. The drawback of the aforementioned methods is that the memory cost still far exceeds that of explicit type schemes. Further, implicit methods require linearisation due to the non-linear nature of the system of PDEs being solved, which notably adds to computational cost. Explicit methods which are employed in conjunction with Runge-Kutta relaxation and FAS- multigrid, are on the other hand found to be 38 University of Pretoria etd – Pattinson, J (2007) 5.2 Jacobi Iterative Scheme very promising. The required memory and solution cost is exceptional while no linearisation is required. However, the cited explicit multigrid methods employ a complex unstructured Cartesian-mesh data structure with which to generate the course meshes. This data structure also limits the applicability of the solver to Cartesian meshes. Due to the above, a multigrid acclerated explicit temporal discretisation was selected for the work under consideration. This ensures optimal memory efficiency, such that large meshes, which may contain millions of elements, may be solved on a standard desktop personal computer. Next, Runge-Kutta timestepping is employed in conjunction with FAS-multigrid to effect fast solution times, which is again required when dealing with large meshes. Further, as the discretisation scheme discussed in Chapter 4 is generically applicable to any mesh type, it is undesirable and unnecessary to employ a Cartesian mesh specific data structure for multigrid accleration. Rather a more generic FAS agglomerated multigrid technique similar to that recently used by Sørensen et al. [40] (which was applied to hybrid unstructured body-fitted meshes) will be employed. 5.2 Jacobi Iterative Scheme As noted previously, an explicit multi-stage Runge-Kutta temporal discretisation is employed. This is to ensure the matrix free nature of the system and hence optimal memory efficiency. The solution is advanced from time t to t + ∆t via a four stage Runge-Kutta method designed for application to partial differential equations (Tannehill et al. [46]) as follows: Q0fm = Qtm Qkfm = Q0fm + αk ∂W ∂Q −1 k−1 ∆tk−1 (RHSm ) for k = 1 to 3 (5.1) Qtmfτ +∆tτ = Q4fm where the coefficients αk are taken as 0.11, 0.2766, 0.5 and 1 as per Lallemand et al. [6]. RHS constitutes all terms to the right of the equal sign in Equation (4.21). To save computational time, local time stepping is employed in 39 University of Pretoria etd – Pattinson, J (2007) 5.3 FAS Multigrid addition to the stabilising terms (upwinding and artificial dissipation) being calculated only at the first and third stages [41]. The maximum allowable time-step size is calculated at a node m such that stability is ensured as: ∆tτm = CF L ∆χm |um | + cm (5.2) where CF L is the Courant-Friedrichs-Lewy number (typically set to between 1.5 and 2) and ∆χm is a measure of the spatial cell / element size. The latter is calculated as ∆χm = s −1 1 ∆xj ∆xj (5.3) m where ∆xj is the smallest distance in the xj direction to an adjacent node. This time-step calculation procedure is similar to that used in finite difference electromagnetic wave propagation problems [47] and analogous to the effective element size used in explicit finite element computational fluid dynamics calculations (Zienkiewicz & Taylor [48]). The methodology may be implemented at a node m in an edge-based manner as follows m ∆t = min Υmn ∩ Vm CF L ∆χm |umn | + cmn (5.4) where the over-line quantities denote edge averaged quantities. 5.3 FAS Multigrid Multigrid is a solution acceleration algorithm that has the potential of reducing the number of floating point operations required to simultaneously solve an N × N system of equations, in a matrix free manner, from O(N 3 ) when the Jacobi iterative method is used (which is the current basic method discussed in the previous section), to O(N ). This implies a significant potential reduction in computational times. An explanation of the basic multigrid methodology is detailed by Brandt [5], and more recently by Briggs et al. [49] and Sørensen [20]. 40 University of Pretoria etd – Pattinson, J (2007) 5.3 FAS Multigrid The underlying concept is relatively simple. When using an iterative scheme like Jacobi or Gauss-Seidel, only high frequency errors are eliminated at each iteration. This is because the nodes are only strongly connected with their direct neighbours and it takes time for information to propagate through the mesh. In the multigrid procedure, successive levels of coarse grids1 are generated and information is passed between these grids allowing information to pass between nodes that are far apart from each other relatively quickly. This means that low frequency errors are eliminated more rapidly which enhances the overall solution scheme convergence rate. There are a number of different types of non-linear multigrid. They essentially differ in the method used to generate the coarse grids. Algebraic multigrid uses a mathematical operator that gives the effect of the coarse grids. The geometric multigrid methods use the actual geometry and generate new meshes for each coarse mesh level. Agglomerated multigrid methods are a mix between the aformentioned two methods. Here, coarse meshes are generated by agglomerating computational cells followed by the appropriate redefinition of volumes and edge coefficients. In this work, the agglomerated multigrid method was selected as it is possible to automate the agglomeration process and it is generally applicable to any type of mesh. 5.3.1 Mesh Agglomeration Procedure The strategy employed to generate the agglomerated or coarse mesh levels depends on the type of mesh that is used. Structured finite-difference type meshes lead very naturally to coarsening viz. by simply removing major grid lines. Complex unstructured meshes need to be dealt with in a more sophisticated geometric manner. Cut-cell Cartesian meshes fall somewhere in between. These grids contain structured type regions but also decidedly unstructured areas. Examples of the latter are boundaries and areas where hanging nodes are present. The approaches prevalent in the literature when dealing with cut-cell unstructured Cartesian meshes is essentially of the structured type [9, 28, 50]. This 1 Note that the term “coarse grids” will be used to refer to both the geometric multigrid form and its matrix-based algebraic multigrid equivalent. 41 University of Pretoria etd – Pattinson, J (2007) 5.3 FAS Multigrid method makes use of the hierarchical nature of unstructured Cartesian meshes. There is an obvious parent-child relationship in these meshes in which a parent cell can consist of up to four children (conversely, four small quadrilateral elements can be viewed as constituting one large quadrilateral element). The agglomeration strategy involves identifying children cells and agglomerating them into their parent cell. The child cells may be identified via either a tree based data structure (such as that used in the generation of the mesh) or by an unstructured approach using space filling curves (as per Aftosmis et al. [28]). Examples of agglomeration strategies using a tree based data structure can be found in the work of Charlton [50] and Ham et al. [9]. An alternative coarse mesh generation strategy, which currently does not feature in the context of cut-cell unstructured Cartesian meshes, is the completely unstructured type. This approach does not rely on the structured nature of the mesh at all, and is therefore in principle, applicable to any type of mesh. The method hinges on employing the local connectivity of the mesh, whereby nodes that surround a so called super-node are agglomerated into one another. This scheme has been successfully applied to body-conforming unstructured-hybrid meshes in two and three dimensions by a number of researchers viz. Lallemand et al. [6], Sørensen [20], Hannemann [51], Mavriplis & Venkatakrishnan [52]. Due to its generic applicability, it not requiring a specific data structure, as well as it being novel in the context of Cartesian meshes, the unstructured mesh agglomeration method will be used in this work. 5.3.2 Implemented Agglomeration Strategy The selected agglomeration procedure (Hannemann [51]) commences by selecting a so called super-node from the fine cut-cell mesh. A super-node is selected according to one of the following four user-selected strategies: • The “simple” strategy. This is the most simple of the strategies, where in any instance, the first possible node is selected. With this strategy the first super node would be the first node in the node table. 42 University of Pretoria etd – Pattinson, J (2007) 5.3 FAS Multigrid • The “closest node” strategy. In this strategy the selected node will always be the one in the list that is closest to a user defined spatial point. • The “furtherest node” strategy. The chosen node will always be the furtherest node from a user specified spatial point. • The “finite difference” strategy. In this strategy a node numbering scheme is assumed such that the resulting coarse mesh would still be a finite difference mesh if the fine mesh was one. It was developed for debugging purposes but has been found to work on the Cartesian meshes under consideration. Once a super-node has been found, its neighbours are fused into it (by means of combining dual mesh volumes) in the following manner: First a loop is performed over all the attached edges to identify the so called direct neighbours (see Figure 5.1). The direct neighbours that have not already been fused with a super-node, are fused to the super-node being dealt with. If there are four or less direct neighbours attached to a specific super-node, a loop is in addition performed over the edges attached to all non-fused direct neighbours, and indirect neighbours identified. An indirect neighbour is a node that is connected to two direct neighbours of a specific current super-node, as depicted in Figure 5.1. Identified indirect neighbour-nodes are then fused to the super-node if they have not already been fused. Note that indirect neighbours are only fused if there are already direct neighbours in the fused set. Once the above procedure has been completed for a specific super-node, a front of nodes is defined. This consists of all direct neighbours of the nodes that have just been fused to the super-node under consideration, with the added criteria that they have not already been fused to a super-node. From this front, a new super-node is chosen according to the following criteria (listed in order of descending preference): 1. It is a boundary node on a corner in the domain e.g. trailing edge or corner of the mesh. 2. It is a boundary node on the geometry. 3. It is a far-field boundary node 43 University of Pretoria etd – Pattinson, J (2007) 5.3 FAS Multigrid 4. The node is chosen using one of the user selected strategies described previously In the case where a specific super-node does not contain a front (all its neighbours have already been fused), the node table is traversed and a super-node selected based on the user-selected strategy. This procedure continues until all nodes in a specific mesh are either super-nodes or have been fused to one. Edges Current Node Direct neighbour Indirect neighbour Figure 5.1: Direct and indirect neighbours as identified via edge-connectivity. Once the above procedure has been completed, a loop is performed over all super-nodes and those that are not agglomerated to at least one other node are merged to a neighbouring super-node. This ensures that there is not an overly large disparity between adjacent volume sizes in the new mesh. On completion of the above procedure, coarse mesh edges are constructed by connecting adjacent super-nodes. Adjacent super-nodes are defined as nodes that share an agglomerated super volume boundary. These shared volume boundaries are identified by finding fine mesh edges that join nodes which are fused into neighbouring super-node groups. The portion of the agglomerated or coarse mesh volume bounding surface between two neighbouring super-nodes is mathematically expressed as the sum of the edge coefficients of the overlapping fine 44 University of Pretoria etd – Pattinson, J (2007) 5.3 FAS Multigrid mesh edges. This can be expressed in mathematical form for the edge coefficient associated with the coarse mesh edge, Υ2h mn between super-nodes m and n as X C2h mn = Chmn (5.5) 2h Υh mn ∩Amn where Υhmn refers to the fine mesh edges that overlap the boundary between the super-node volumes denoted A2h mn . Edge coefficients of fine mesh edges that do not overlap coarse mesh boundaries do not form part of the new mesh and are ignored. Boundary edge coefficients, which express the boundary of the domain, are never ignored and all are added to their respective coarse mesh edges1 The above edge coefficient calculations apply to both discretisation schemes. In the case of the alternative scheme, it remains to define the ratio rmn (Equation 4.13) on the coarse meshes. This is approximated using the following relation: 2h rmn = P 2h 2h Υmn ∩Vm P h rmn |Chmn | 2h Υ2h mn ∩Vm |Chmn | (5.6) where h and 2h refer to fine and coarse mesh entities respectively. An example of the agglomeration process on a simple Cartesian type grid is depicted in Figure 5.2. Shown in the top left figure is the red node that has been selected as a super-node. Its direct and indirect neighbours which will be fused into it are coloured green. In the background of this, the dual mesh is indicated with the red dashed lines. Some of the volumes have been greyed out to help identify them. In the top right figure the nodal front is constructed around the fused nodes (coloured blue). In the bottom left figure the new agglomerated coarse volumes are depicted. Here the fine mesh edges are divided into two groups viz. the dashed edges which do not cross the new volume boundaries, and the solid edges that do. Remember that only the edges that cross over coarse mesh volume boundaries contribute their edge coefficients to the new coarse edge coefficients. The final figure (bottom right) depicts the agglomerated (coarse) dual-mesh shown. 1 Note that to determine which edges these are, it is required that one determine to which side of the super-node the fine mesh edge lies and to which adjacent super-node it is closest to. 45 University of Pretoria etd – Pattinson, J (2007) 5.4 Formulation of FAS Multigrid Having completed the agglomeration exercise, a check is performed on the new coarse mesh to ensure its integrity. This involves the summing of edge coefficients around super-nodes. These should sum to zero and this sum gives a good indication of whether there are holes in the mesh or edges that are missing. The above algorithm has been successfully implemented and is completely automatic and robust. It can, in principle, be applied to any conceivable mesh as it operates only on the data structure of the fine mesh. Super nodes Un-fused fine mesh nodes Fused fine mesh nodes Nodal front Fine mesh edges Dual mesh Coarse mesh edges Contributing fine mesh edges Non-contributing fine mesh edges Figure 5.2: The implemented course mesh generation strategy. 5.4 Formulation of FAS Multigrid A description of the FAS Multigrid method can be found in Briggs et al. [49]. Only the final result as applied in this work is presented here. The discretised 46 University of Pretoria etd – Pattinson, J (2007) 5.4 Formulation of FAS Multigrid Euler equations to be solved (see Section 2.2) can be written in the following non-linear algebraic form: Ah (φ) = 0 (5.7) where φ is the solution to the problem on the finest grid represented by the superscript h , and A is the coefficient matrix. When an iterative solution method is used, the above expression can be written as Ah (v) ≈ 0 (5.8) where v denotes the latest approximation to φ. The multigrid solution process commences by performing a number of iterations or relaxation sweeps (employing the multi-stage Runge-Kutta (RK) method as detailed in Section 5.2) on the finest mesh. An improved approximate solution v is thus obtained. Next an altered form of the above discrete equation is solved on a coarser grid. The discrete equation solved for on the next coarser grid reads as A2h (v2h ) = τh2h (5.9) where the superscript 2h denotes the next coarser grid’s values and expressions and the coarse grid correction term (also referred to as the source term). τh2h is calculated as: τ 2h = A2h (Ih2h vh ) − Ih2h Ah (vh ) (5.10) Here Ih2h represents the so-called restriction operator which is defined in Section 5.4.2. To aid in the discussion later and to prevent confusion, Ih2h vh is from this point forward, referred to as u2h . Equation (5.9) is relaxed on the coarse grids to give a new approximation to v 2h (an approximate solution to the altered algebraic equation on the course mesh). Following on from the above, Equation (5.9) is set-up and solved for on all generated coarse meshes. Note that boundary conditions are not applied on coarse grids explicitly. 47 University of Pretoria etd – Pattinson, J (2007) 5.4 Formulation of FAS Multigrid After having traversed all meshes (from finest to coarsest), the error calculated on each course mesh is passed back (formally known as prolongation) down to the next finer grid. On a generic coarse grid this error is calculated as: i i i e2 h = v 2 h − u 2 h (5.11) from which the flow solution on the next finer mesh is updated as follows: v2 i−1 h where I22i h 5.4.1 i−1 h = v2 i−1 h i−1 i + I22i h h e2 h (5.12) is the prolongation operator that will be defined in Section 5.4.3. The V-cycle The solution process outlined above in which meshes are traversed from fine to coarse and then back to fine is known as a V-cycle. This method is similar to work done in the field by other researchers [6, 19, 20, 53]. The V-cycle has been implemented in this work in the recursive form outlined by Briggs et al. [49]. In a concise form the recursive V-cycle can be represented by: v2 i−1 h ← V2 i−1 h (v2 i−1 h , τ2 i−1 h ) i−1 (5.13) i−1 which implies that given the approximations v 2 h and τ 2 h the V-cycle function i−1 denoted V will return a new approximation v 2 h to the current mesh level. The V-cycle function V 2 i−1 h is defined as: 1. Iterate (relax) A2 i−1 grid τ 2 h = 0 i−1 h (v2 i−1 h ) = τ2 i−1 h , v1 times. Note that on the finest 2. If 2i−1 h represents the coarsest grid then go to step 3. Else i 2 h • Calculate I22i−1 hA i i i−1 h (v2 2 h • Compute A2 h (I22i−1 hv i−1 h i−1 h i 2 h ) and I22i−1 hv i−1 h ) on the next coarse grid. i i i 2 h • Calculate the correction source term τ 2 h = A2 h (I22i−1 hv i−1 i−1 i 2 h h (v2 h ) I22i−1 hA 48 i−1 h )− University of Pretoria etd – Pattinson, J (2007) 5.4 Formulation of FAS Multigrid i i 2 h • Set as an initial approximation on the coarse grid v 2 h = I22i−1 hv i i i−1 h i i • Evaluate this function again on the next mesh v 2 h ← V 2 h (v2 h , τ 2 h ) i i i • Compute the error e2 h = v2 h − u2 h • Update v2 3. Iterate A2 i−1 h i−1 h = v2 (v) = τ 2 i−1 h i−1 h i−1 i + I22i h h e2 h , v2 times. where v1 and v2 denote the number of relaxation sweeps performed on a mesh. Note that this definition of V is recursive because the function V is called from within itself (part of step 2). The optimal choice of v1 and v2 in the procedure has been found to be flow regime dependent, i.e. sub-, trans- or supersonic. Typical values used for v1 and v2 in this work range from as little as v1 = v2 = 1 on supersonic cases to, v1 = v2 = 10 for subsonic cases. The values used for each of the test cases is presented with the results (Chapter 6). 5.4.2 Restriction Operator i h The restriction operator I22i−1 h on the interior nodes of an agglomerated coarse mesh is computed as a volume weighted interpolation. The restriction of v 2 is computed as follows: 2i h = ih 2i−1 h I22i−1 hv = Pn p=0 vp2 i−1 h Vp2 i−1 h i−1 h (5.14) V 2i h where n refers to the total number of fine mesh volumes fused into the coarse mesh u i volume V 2 h . The restriction of the A2 5.4.3 i−1 h (v2 i−1 h ) term is performed similarly. Prolongation Operator i−1 h The prolongation operator I22i h presents a challenge on unstructured agglomer- ated grids. This is as there is no obvious way in which to pass the errors between meshes in an accurate and efficient manner. To guarantee efficient convergence rates, the order of accuracy of the prolongation and restriction operators should satisfy the following relation [54]: mr + m p > m 49 (5.15) University of Pretoria etd – Pattinson, J (2007) 5.4 Formulation of FAS Multigrid where mr and mp are defined as the highest degree plus one of the polynomials that can be exactly interpolated by the restriction and prolongation operators respectively. Further m is the order of the partial differential equation to be solved, which for the Euler equations is one. As the order of restriction operator defined in the previous section is one, mr equals 2 and the relation is satisfied with a prolongation operator of order zero. The order zero prolongation operator can be written as vp2 i−1 h i = v2 h (5.16) for any p. This implies that the value on the coarse mesh node is applied to all the fine mesh nodes (that make up that coarse mesh node). In this work it was found that this operator was not sufficient and that improvements in convergence could be realised if a higher order accurate prolongation operator was employed. As a result, two different higher order operators were tested. These are the inverse distance weighting operator of Watson [44] and the linear least squares method as documented by Blazek [53]. After experimentation, the linear least squares operator was found to result in superior multigrid performance and was subsequently employed for all the cases presented in this report. Note that the least squares method is presented in Appendix C. 5.4.4 Stabilisation The stabilisation terms, described in Section 4.5, form part of the coefficient matrix A in the FAS Multigrid scheme. As the final solution on the fine mesh is not influenced by the solution on the coarser meshes, first order accurate schemes are sufficient here [53]. Therefore, on coarse meshes first order accurate stabilisation can be employed with the higher order stabilisation only used on the finest mesh. This tactic has been employed with success previously by Mavriplis & Venkatakrishnan [19] and Lallemand et al. [6]. In this work, it was found that it was only necessary to use this on the compressible cases. 50 University of Pretoria etd – Pattinson, J (2007) 5.5 Conclusion 5.5 Conclusion In this chapter methods are presented by which to solve the discrete equations derived in the previous chapter. As the basic Jacobi method is slow to converge, a FAS multigrid method is employed. This method uses coarse grids generated by volume agglomeration. In the following chapter the developed modelling technology will be evaluated in terms of accuracy and computational cost. 51 University of Pretoria etd – Pattinson, J (2007) Chapter 6 Results 6.1 Introduction The preceding chapters detailed the mathematical development of a Cartesian mesh-based solver for the efficient modelling of inviscid incompressible and compressible flow. It now remains to evaluate the developed technology in terms of accuracy and computational cost. For this purpose, the solver was applied to a number of benchmark test cases from the literature, which span the entire scope of flow regimes. These are: incompressible flow over a cylinder and a Van de Vooren aerofoil at an angle of attack; sub- and transonic flow over a NACA0012 aerofoil at an angle of attack; and a double wedge under supersonic flow conditions. The results obtained using the solver are compared to the analytical solutions (where they exist) or the solutions of others. For the purposes of evaluation, the following comparisons are made: • The predicted flow via both the standard and alternative schemes are compared to that of a benchmark solution. • The improvement in CPU time obtained from multigrid is assessed for each discretisation method. • The two discretisation methods are compared in terms of accuracy, as well as computational cost. 52 University of Pretoria etd – Pattinson, J (2007) 6.1 Introduction In the interest of a rigorous investigation, a mesh convergence study was performed for each test casereplacements using the grid convergence index (GCI) method of PSfrag replacements PSfrag Roache [55] (this procedure detailed CP U time [minutes] CP Uis time [minutes]in Appendix A). The GCI error bound obtained is quoted in all casesL2along with the ratio that indicates whether, in L2 (Residual) (Residual) each case, asymptotic convergence hasgrid been achieved. Further, actual CPU times std. single are quoted where computationalstd.performance is documented. The analyses were std. multigrid multigrid std. single grid performed on a PC with 3GHzalt. CPU singleand grid 2GB of 400MHz DDR RAM. alt. single grid alt. single grid alt. single grid std. single grid std. single grid std.& alt. multigrid std.& alt. multigrid alt. multigrid alt. multigrid top PSfrag replacements top PSfrag replacements bottom CP U time [minutes] bottom CP U time [minutes] std. scheme L2 (Residual) std. scheme L2 (Residual) scheme std. alt. single grid scheme std. alt. single grid analytical std. multigrid analytical std. multigrid Cp alt. single grid Cp alt. single grid alt. single grid Coord alt. single grid std. single grid std. single grid std.& alt. multigrid std.& alt. multigrid alt. multigrid alt. multigrid top top bottom bottom std. scheme std. scheme alt. scheme alt. scheme analytical analytical Cp Cp Coord Coord Coord Figure 6.1: Cylinder incompressible flow test case - standard dual-mesh construction scheme: The fine mesh (top left) and corresponding first, second and fourth coarse dual meshes. 53 CP U time [minutes] L2 (Residual) std. single grid std. multigrid CP U time [minutes] University of PLre2 (Residual) toria etd – Pattinson, J (2007) std. single grid std. multigrid 6.2 Incompressible Flow: Cylinder in cross flow alt. single grid alt. single grid alt. single grid alt. single grid std. single grid std. single grid std.& alt. multigrid std.& alt. multigrid alt. multigrid alt. multigrid top PSfrag replacements top PSfrag replacements bottom CP U time [minutes] bottom CP U time [minutes] std. scheme L2 (Residual) std. scheme L2 (Residual) scheme std. alt. single grid scheme std. alt. single grid analytical std. multigrid analytical std. multigrid Cp alt. single grid Cp alt. single grid alt. single grid Coord alt. single grid std. single grid std. single grid std.& alt. multigrid std.& alt. multigrid alt. multigrid alt. multigrid top top bottom bottom std. scheme std. scheme alt. scheme alt. scheme analytical analytical Cp Cp Coord Coord Coord Figure 6.2: Cylinder incompressible flow test case - alternative dual-mesh construction scheme: The fine mesh (top left) and corresponding first, second and fourth coarse dual meshes. 6.2 Incompressible Flow: Cylinder in cross flow The incompressible cross flow over a cylinder case poses a severe test for numerical schemes, as no natural physical dissipation effects are present [56]. Further, the problem contains two stagnation points while the analytical solution exists for validation purposes. The chosen case therefore provides a strict test for both the spatial discretisation accuracy as well as stabilisation aspects of a numerical scheme. 54 alt. multigrid University of Pretoria etd – Pattinson, J (2007) top bottom 6.2 Incompressible Flow: Cylinder in cross flow std. scheme PSfrag replacements alt. scheme analytical 3.5 Cp 3 std. u1 [m/s] std. u2 [m/s] std. p [P a] alt. u1 [m/s] alt. u2 [m/s] alt. p [P a] std. single grid Coord 2.5 std. multigrid 2 p [P a] / u [m/s] alt. single grid 1.5 1 0.5 alt. multigrid 0 top -0.5 bottom -1 std. scheme Single grid 2 1 0 alt. scheme M ultigrid 6 5 4 3 θ [rad] 0.1 analytical Cp Coord 0.01 p [P a] / u [m/s] std. u1 [m/s] std. u2 [m/s] std. p [P a] L2 (Residual) θ [rad] 0.001 alt. single grid std. single grid 0.0001 alt. u1 [m/s] alt. u2 [m/s] 1e-05 alt. p [P a] std.& alt. multigrid Single grid 0 M ultigrid 50 100 150 200 250 300 350 CP U time [minutes] Figure 6.3: Cylinder incompressible test case: Cylinder surface pressures and velocities (top) where the lines denote the analytical solution and symbols are the calculated counterparts via the standard (std.) and alternative (alt.) schemes; and convergence plots (bottom). In the figure, θ is the angular position on the cylinder measured from the leading stagnation point in a clockwise direction. 55 top University of Pretoria etd – Pattinson, J (2007) bottom std. scheme 6.2 Incompressible Flow: Cylinder in cross flow alt. scheme analytical Cp Coord θ [rad] p [P a] / u [m/s] std. u1 [m/s] std. u2 [m/s] std. p [P a] alt. u1 [m/s] alt. u2 [m/s] alt. p [P a] Single grid M ultigrid Figure 6.4: Pressure contours of cylinder test case. The computational domain extends 10 diameters away from the cylinder. At the far-field boundaries characteristic boundary conditions (Section 2.2.3) are applied while at the cylinder surface, slip conditions are employed. Various meshes were generated for the purpose of the grid convergence study. A close-up view of the finest meshes employed are depicted in Figures 6.1 and 6.2 (top left). These meshes contained 27, 070 and 25, 886 computational nodes (cells) for the standard and alternative schemes respectively. The finest three meshes produced results which gave asymptotic convergence ratios of 1.033 and 1.06 for the standard and alternative discretisation methods respectively. These results indicate that for both discretisation schemes asymptotic convergence has indeed been achieved. The finest mesh produced a solution with a GCI error bound of 0.95% for the standard scheme, and 1.15% in the case of the alternative method (the error bounds are calculated by comparing the analytical and predicted pressures on the surface of the cylinder). Five and four multigrid coarse meshes were employed for the standard and alternative schemes respectively (depicted in Figures 6.1 and 6.2). The closest node agglomeration strategy was used in the generation of these meshes. The node-based coarsening ratios achieved were between 3.6 and 4.5 for all successive 56 bottom CP U time [minutes] std. scheme L2 (Residual) alt. scheme std. single grid analytical std. multigrid bottom CP U time [minutes] University of PLre2 (Residual) torischeme a etd – Pattinson, J (2007) std. alt. scheme std. single grid analytical 6.2 Incompressible Flow: Cylinder in cross flow std. multigrid Cp alt. single grid Cp alt. single grid Coord alt. single grid Coord alt. single grid θ [rad] std. single grid p [P a] / u [m/s] θ [rad] std. single grid p [P a] / u [m/s] std.& alt. multigrid std.& alt. multigrid std. u1 [m/s] alt. multigrid std. u1 [m/s] alt. multigrid std. u2 [m/s] top std. u2 [m/s] top std. p [P a] bottom std. p [P a] bottom alt. u1 [m/s] std. scheme alt. u1 [m/s] std. scheme alt. u2 [m/s] alt. scheme alt. u2 [m/s] alt. scheme alt. p [P a] analytical alt. p [P a] analytical Single grid Cp Single grid Cp M ultigrid M ultigrid θ [rad] θ [rad] p [P a] / u [m/s] p [P a] / u [m/s] std. u1 [m/s] std. u1 [m/s] std. u2 [m/s] std. u2 [m/s] std. p [P a] std. p [P a] alt. u1 [m/s] alt. u1 [m/s] alt. u2 [m/s] alt. u2 [m/s] alt. p [P a] alt. p [P a] Single grid Single grid M ultigrid M ultigrid Coord Coord Figure 6.5: Van de Vooren test case - standard scheme: The fine mesh (top left) and corresponding first, second and third coarse dual meshes. levels of mesh coarsening. The number of relaxation iterations in the up- and downward sweeps of the V-cycle (v1 and v2 from Equation 5.13) were set to 10 and 15 respectively. The solution obtained and convergence plots are presented in Figure 6.3, with pressure contours plotted in Figure 6.4. As shown, both alternative and standard schemes resulted in similar solutions and at comparable multigrid computational cost. The speed-up achieved via multigrid for the standard scheme was 12, and 6 for the alternative. Note however, that although there is a reasonable disparity in speed-ups between the two schemes, the accelerated CPU times are almost 57 bottom CP U time [minutes] bottom CP U time [minutes] University of PLre2 (Residual) torischeme a etd – Pattinson, J (2007) std. std. scheme L2 (Residual) alt. scheme std. single grid alt. scheme std. single grid analytical 6.3 Incompressible Flow: Van de Vooren Aerofoil std. multigrid analytical std. multigrid Cp alt. single grid Cp alt. single grid Coord alt. single grid Coord alt. single grid θ [rad] θ [rad] std. single grid std. single grid p [P a] / u [m/s] p [P a] / u [m/s] std.& alt. multigrid std.& alt. multigrid std. u1 [m/s] alt. multigrid std. u1 [m/s] alt. multigrid std. u2 [m/s] top std. u2 [m/s] top std. p [P a] bottom std. p [P a] bottom alt. u1 [m/s] std. scheme alt. u1 [m/s] std. scheme alt. u2 [m/s] alt. scheme alt. u2 [m/s] alt. scheme alt. p [P a] analytical alt. p [P a] analytical Single grid Cp Single grid Cp M ultigrid M ultigrid θ [rad] θ [rad] p [P a] / u [m/s] p [P a] / u [m/s] std. u1 [m/s] std. u1 [m/s] std. u2 [m/s] std. u2 [m/s] std. p [P a] std. p [P a] alt. u1 [m/s] alt. u1 [m/s] alt. u2 [m/s] alt. u2 [m/s] alt. p [P a] alt. p [P a] Single grid Single grid M ultigrid M ultigrid Coord Coord Figure 6.6: Van de Vooren test case - alternative scheme: The fine mesh (top left) and corresponding first, second and third coarse dual meshes. identical. 6.3 Incompressible Flow: Van de Vooren Aerofoil The second numerical example involves the incompressible flow over a Van de Vooren aerofoil with 15% thickness at 2◦ angle of attack. Once again this problem is purely convective and contains two stagnation points. An analytical solu- 58 alt. scheme University of Pretoria etd – Pattinson, J (2007) analytical Cp 6.3 Incompressible Flow: Van de Vooren Aerofoil Coord θ [rad] θ [rad] 1 p [P a] / u [m/s] p [P a] / u [m/s] 0.1 0.8 std. u1 [m/s] std. u1 [m/s] 0.6 std. u2 [m/s] std. p [P a] 0.2 std. p [P a] alt. u1 [m/s] L2 (Residual) 0.4 Cp std. u2 [m/s] 0 alt. u1 [m/s] -0.2 alt. u2 [m/s] -0.4 alt. p [P a] -0.6 0.001 alt. single grid std. single grid 1e-04 alt. u2 [m/s] alt. p [P a] analytical std. scheme alt. schemeSingle grid -0.8 Single grid -1 0 M ultigrid 0.01 0.2 0.4 Coord 0.6 0.8 1e-05 std.& alt. multigrid 1e-06 0 1 M ultigrid 10 20 30 40 50 60 70 CP U time [minutes] Figure 6.7: Van de Vooren test case - Solution (left) and convergence plot (right). Here std. and alt. denote the standard and alternative discretisation schemes respectively. tion to this problem is also available. Similar to the previous test-case, slip type boundary conditions were applied at the surface of the aerofoil while characteristic conditions were prescribed at the outer boundary (15 chord lengths from the profile). The computational meshes employed for the standard and alternative dual-mesh construction strategies together with each set of multigrid agglomerated meshes, in the vicinity of the aerofoil, are shown in Figures 6.5 and 6.6 respectively. The fine meshes in each case contain 15, 420 and 14, 748 computational points. For the multigrid run, three coarse meshes, generated with the finite difference strategy, were used throughout. Node based coarsening ratios of between 3.8 and 4.6 were achieved. The V-cycle relaxation settings v1 and v2 were both set to 10. Figure 6.7 compares the aerofoil surface pressure coefficients predicted via the various scheme variants to the analytical solution. From the convergence plot in the figure it is clear that the alternative method only marginally out-performs the standard form in terms of computational cost. Multigrid speed-ups of 35.46 and 30.49 are obtained for the standard and alternative cases respectively. The GCI error bound, based on the error between the computed and analytical solutions, is 0.22% for the standard case and 0.36% for the alternative case. Asymptotic convergence ratios of 0.996 and 1.11 were achieved for both cases respectively. 59 bottom CP U time [minutes] std. scheme L2 (Residual) alt. scheme std. single grid analytical std. multigrid bottom CP U time [minutes] University of PLre2 (Residual) torischeme a etd – Pattinson, J (2007) std. alt. scheme std. single grid analytical 6.4 Subsonic Compressible flow: NACA0012 std. multigrid Cp alt. single grid Cp alt. single grid Coord alt. single grid Coord alt. single grid θ [rad] std. single grid p [P a] / u [m/s] θ [rad] std. single grid p [P a] / u [m/s] std.& alt. multigrid std.& alt. multigrid std. u1 [m/s] alt. multigrid std. u1 [m/s] alt. multigrid std. u2 [m/s] top std. u2 [m/s] top std. p [P a] bottom std. p [P a] bottom alt. u1 [m/s] std. scheme alt. u1 [m/s] std. scheme alt. u2 [m/s] alt. scheme alt. u2 [m/s] alt. scheme alt. p [P a] analytical alt. p [P a] analytical Single grid Cp Single grid Cp M ultigrid M ultigrid θ [rad] θ [rad] p [P a] / u [m/s] p [P a] / u [m/s] std. u1 [m/s] std. u1 [m/s] std. u2 [m/s] std. u2 [m/s] std. p [P a] std. p [P a] alt. u1 [m/s] alt. u1 [m/s] alt. u2 [m/s] alt. u2 [m/s] alt. p [P a] alt. p [P a] Single grid Single grid M ultigrid M ultigrid Coord Coord Figure 6.8: NACA0012 test cases - standard scheme: The fine mesh (top left) and corresponding first, second and fourth coarse dual meshes. 6.4 Subsonic Compressible flow: NACA0012 The first compressible test case presented here involves subsonic flow over a NACA0012 aerofoil at M = 0.63 and 1◦ angle of attack. The cut-cell meshes in the vicinity of the aerofoil resulting from the standard dual-mesh construction scheme and accompanying agglomerated coarse meshes (closest node agglomeration strategy) are depicted in Figure 6.8. A similar plot, Figure 6.9, shows that resulting from the new dual-mesh construction scheme. Four coarse meshes were used for this problem, with resulting coarsening ratios of between 4.0 and 4.8 60 bottom CP U time [minutes] std. scheme L2 (Residual) alt. scheme std. single grid analytical std. multigrid bottom CP U time [minutes] University of PLre2 (Residual) torischeme a etd – Pattinson, J (2007) std. alt. scheme std. single grid analytical 6.4 Subsonic Compressible flow: NACA0012 std. multigrid Cp alt. single grid Cp alt. single grid Coord alt. single grid Coord alt. single grid θ [rad] std. single grid p [P a] / u [m/s] θ [rad] std. single grid p [P a] / u [m/s] std.& alt. multigrid std.& alt. multigrid std. u1 [m/s] alt. multigrid std. u1 [m/s] alt. multigrid std. u2 [m/s] top std. u2 [m/s] top std. p [P a] bottom std. p [P a] bottom alt. u1 [m/s] std. scheme alt. u1 [m/s] std. scheme alt. u2 [m/s] alt. scheme alt. u2 [m/s] alt. scheme alt. p [P a] analytical alt. p [P a] analytical Single grid Cp Single grid Cp M ultigrid M ultigrid θ [rad] θ [rad] p [P a] / u [m/s] p [P a] / u [m/s] std. u1 [m/s] std. u1 [m/s] std. u2 [m/s] std. u2 [m/s] std. p [P a] std. p [P a] alt. u1 [m/s] alt. u1 [m/s] alt. u2 [m/s] alt. u2 [m/s] alt. p [P a] alt. p [P a] Single grid Single grid M ultigrid M ultigrid Coord Coord Figure 6.9: NACA0012 test cases - alternative scheme: The fine mesh (top left) and corresponding first, second and fourth coarse dual meshes. for both schemes. The meshes extend 15 chord lengths away from the aerofoil surface. In the case of the standard dual-mesh construction strategy, the computational mesh contains 12, 819 nodes, while the developed dual-mesh strategy results in 12, 160 nodes. Figure 6.10 compares the solution of Sørensen [20] to the predicted pressure coefficient on the surface of the aerofoil. For this test case, the standard and newly developed finite volume methodologies once again resulted in similar solutions, and at comparable computational cost. The GCI error bound, based on the computed lift coefficient, is 0.41% for the standard scheme, and 0.39% for the 61 alt. scheme UnivPSfrag ersity oreplacements f Pretoria etd – Pattinson, J (2007) PSfrag replacements analytical analytical CP U time [minutes] Cp 6.4 Subsonic Compressible flow: NACA0012 L2 (Residual) Coord std. single grid θ [rad] 0.8 p [Pstd. a] /multigrid u [m/s] 10 std. u1 [m/s] 1 0.6 alt. single grid std. u1 [m/s] 0.4 0.2 std. single grid std. p [P a] 0 Cp alt. single grid std. u2 [m/s] std.& alt. multigrid alt. u1 [m/s] 0.1 std. single grid std. p [P a] 0.01 alt. u1 [m/s] 0.001 alt. multigrid alt. u2 [m/s] 1e-04 -0.2 -0.4 alt. multigrid alt. u2 [m/s] alt. single grid std. u2 [m/s] L2 (Residual) p θ [rad] [Pstd. a] /multigrid u [m/s] -0.6 alt. p [Ptop a] -0.8 alt. p [P a] top bottom std. scheme bottom alt. schemeSingle grid -1 Single grid -1.2 0 0.2 M ultigrid 0.4 0.6 Coord 0.8 std. single grid alt. single grid 1e-05 std.& alt. multigrid 1e-06 0 1 std. scheme M ultigrid 5 10 15 20 25 30 35 CP U time [minutes] alt. scheme analytical analytical θ [rad] θ [rad] Figure 6.10: Solution (left) and convergence plot (right) for the subsonic test Cp case. Here std. and alt denote the standard and alternative discretization schemes Coord respectively. p [P a] / u [m/s] 1.5 p [P a] / u [m/s] 1 std. u1 [m/s] 1 std. u1 [m/s] 0.1 0.5 Cp std. p [P a] std. u2 [m/s] L2 (Residual) std. u2 [m/s] 0.01 std.& alt. multigrid 0.001 alt. single grid std. p [P a] 0 alt. u1 [m/s] alt. u1 [m/s] alt. u2 [m/s] -0.5 alt. u2 [m/s] 1e-04 alt. p [P a] -1 alt. p [P a] 1e-05 top bottom std. scheme alt. schemeSingle grid Single grid -1.5 0 M ultigrid 0.2 0.4 Coord 0.6 0.8 std. single grid 1e-06 0 1 M ultigrid 2 4 6 8 10 12 14 CP U time [minutes] Figure 6.11: Solution (left) and convergence plot (right) for the transonic test case. Here std. and alt. denote the standard and alternative discretisation schemes respectively. alternative method. Asymptotic convergence was achieved as indicated by GCI ratios of 1.001 and 1.02 for the standard and alternative schemes respectively. In terms of multigrid performance, the number of relaxation iterations in the up- and downward sweeps of the V-cycle found to produce best performance was 10 in both directions. The improvement in computational time achieved using multigrid, based on a drop in residual of 6 orders of magnitude, are circa 19 times 62 alt. multigrid top University of Pretoria etd – Pattinson, J (2007) bottom PSfrag replacements std. scheme CP U time [minutes] alt. scheme L2 (Residual) analytical std. single grid Cp std. multigrid Coord alt. single grid θ [rad] alt. single grid p 6.4 Subsonic Compressible flow: NACA0012 [P a] / u [m/s] std. single grid std. u1 [m/s] std.& alt. multigrid std. u2 [m/s] alt. multigrid std. p [P a] top alt. u1 [m/s] bottom alt. u2 [m/s] std. scheme alt. p [P a] alt. scheme Single grid analytical M ultigrid Cp Figure 6.12: Pressure contours of the NACA0012 transonic test case. Coord θ [rad] p [P a] / u [m/s] std. u1 [m/s] 0.1 Simple Closest Node Furtherest Node Finite Difference std. u2 [m/s] std. p [P a] 0.01 alt. u1 [m/s] alt. p [P a] Single grid M ultigrid L2 (Residual) alt. u2 [m/s] 0.001 1e-04 1e-05 1e-06 0 2 6 4 8 10 CP U time [minutes] Figure 6.13: The effect of the choice of agglomeration strategy the NACA0012 transonic test case. 63 analytical std. single grid Cp std.& alt. multigrid Coord alt. multigrid θ [rad] analytical std. single grid University of Pretoria eCtpd – Pattinson, J (2007) std.& alt. multigrid Coord alt. multigrid 6.5 Transonic Compressible flow: NACA0012 θ [rad] top top p [P a] / u [m/s] p [P a] / u [m/s] bottom bottom std. u1 [m/s] std. scheme std. u1 [m/s] std. scheme std. u2 [m/s] alt. scheme std. u2 [m/s] alt. scheme std. p [P a] analytical std. p [P a] analytical alt. u1 [m/s] Cp alt. u1 [m/s] Cp alt. u2 [m/s] alt. u2 [m/s] alt. p [P a] alt. p [P a] Single grid Single grid Coord θ [rad] Coord θ [rad] p [P a] / u [m/s] p [P a] / u [m/s] M ultigrid std. u1 [m/s] M ultigrid std. u1 [m/s] std. u2 [m/s] std. u2 [m/s] std. p [P a] std. p [P a] alt. u1 [m/s] alt. u1 [m/s] alt. u2 [m/s] alt. u2 [m/s] alt. p [P a] alt. p [P a] Single grid Single grid M ultigrid M ultigrid Figure 6.14: Supersonic test case - standard discretisation scheme: The fine and coarse dual meshes. better than the Jacobi scheme for both discretisation schemes. 6.5 Transonic Compressible flow: NACA0012 The second compressible example is concerned with the transonic flow over a NACA0012 aerofoil at M = 0.8 and 1.25◦ angle of attack. The same computational meshes used for the previous test case are once again employed (Figures 6.8 and 6.9). The solutions obtained are compared to the benchmark solution in Figure 6.11. The GCI error bound for the standard scheme is 0.737%, and for the alternative scheme 0.835%. Asymptotic convergence was once again obtained as indicated by calculated ratios of 0.999 for both cases. Once again these values are based on the computed lift coefficient. The aforementioned is an indication of the equivalence in accuracy between the two schemes employed. As further shown in the figure, similar computational costs and multigrid speed-ups were 64 analytical std. single grid analytical std. single grid University of Pretoria eCtpd – Pattinson, J (2007) Cp std.& alt. multigrid std.& alt. multigrid Coord Coord alt. multigrid alt. multigrid 6.5 Transonic Compressible flow: NACA0012 θ [rad] θ [rad] top top p [P a] / u [m/s] p [P a] / u [m/s] bottom bottom std. u1 [m/s] std. scheme std. u1 [m/s] std. scheme PSfrag replacements std. u2 [m/s] PSfrag replacements std. u2 [m/s] alt. scheme alt. scheme std. p [P a] CP U time [minutes] analytical std. p [P a] analytical u1 [m/s] L2 alt. (Residual) Cp alt. u1 [m/s] Cp u2 [m/s] std.alt. single grid alt. u2 [m/s] alt. p [P a] std. multigrid p [P a] std. alt. multigrid Singlegrid grid alt. single Single grid Coord Coord θ [rad] θ [rad] p [P a] / u [m/s] p [P a] / u [m/s] M ultigrid alt. single grid std. u1 [m/s] M ultigrid alt. single grid std. u1 [m/s] std. single grid std. u2 [m/s] std. single grid std. u2 [m/s] std.& alt. multigrid std. p [P a] std. p [P a] alt. multigrid alt. u1 [m/s] alt. u1 [m/s] top alt. u2 [m/s] top alt. u2 [m/s] bottom alt. p [P a] bottom alt. p [P a] Single grid std. scheme Single grid M ultigrid alt. scheme M ultigrid analytical Cp Figure 6.15: Supersonic test case - alternative discretisation scheme: The fine Coord and coarse dual meshes. θ [rad] θ [rad] p [P a] / u [m/s] 0.35 std. u1 [m/s] 0.3 p [P a] / u [m/s] analytical std. scheme alt. scheme std. u1 [m/s] 0.01 std. single grid 0.001 1e-04 0.25 Cp std. p [P a] std. u2 [m/s] L2 (Residual) std. u2 [m/s] 0.2 1e-06 alt. u1 [m/s] alt. u1 [m/s] alt. u2 [m/s] 1e-05 std. p [P a] 0.15 1e-07 alt. u2 [m/s] alt. single grid 1e-08 alt. p [P a] alt. p [P a] 0.1 std.& alt. multigrid 1e-09 Single grid Single grid 1e-10 0.05 0 M ultigrid 0.2 0.4 0.6 0.8 Coord 1 1.2 1.4 1.6 0 1.8 M ultigrid 0.5 1 1.5 2 2.5 3 3.5 4 CP U time [minutes] Figure 6.16: Supersonic test case: Solution (left) and convergence plots (right). achieved. The latter was circa 3 in CPU time for a drop in residual of 6 orders of magnitude. In this case, the number of relaxation iterations was set to 4 on both up- and downward sweeps. A contour plot of the predicted non-dimensional 65 University of Pretoria etd – Pattinson, J (2007) 6.6 Supersonic Compressible flow: 10◦ Double Wedge pressure around the aerofoil is presented in Figure 6.12. The shocks on both upper and lower surfaces of the aerofoil are clearly visible. Finally, as the transonic test case contains subsonic regimes as well as shocks, (being representative of a range of flow regimes) it was selected to evaluate the various coarsening strategies. The CPU times resulting from each are depicted in Figure 6.13. What is clear from the figure is that all but the “furtherest node” option resulted in similar CPU times. The latter was inferior to the others, which is expected due to it generating coarse meshes which are least representative of the fine mesh. 6.6 Supersonic Compressible flow: 10◦ Double Wedge For the supersonic flow test case, the 10◦ double-wedge benchmark problem at M = 2.0 was modelled. The angle of attack for this problem is 0◦ and supersonic in- and outflow boundary conditions were employed to allow shocks to cross the computational domain boundaries. The fine mesh for the standard and new dual-mesh construction schemes is shown together with a selection of their agglomerated coarse meshes in Figures 6.14 and 6.15. The fine mesh on the standard scheme contains 16, 237 nodes and the alternative scheme, 15, 770 nodes. The finite difference agglomeration scheme was used to generate the coarse meshes. Node-based coarsening ratios of between 3.7 and 4.3 were achieved and a single relaxation sweep on each leg of the V-cycle was found to yield best convergence. The solution is compared to the analytical solution in Figure 6.16. The GCI error bound for the standard scheme is 1.333% and the alternative scheme 1.264%, with GCI convergence ratios of 1.022 and 0.998 for the standard and alternative schemes respectively. These results are based on the error between the analytical and computed solutions. As per the previous test cases, the two discretisation schemes resulted in comparably accurate solutions and comparable computational cost and multigrid speed-ups. Finally, this test case further provides a strict test for the far-field boundary conditions. This is as strong supersonic shocks cross this boundary. The calcu- 66 alt. multigrid top bottom University of Pretoria etd – Pattinson, J (2007) 6.7 Spatial Convergence of Artificial Dissipation std. scheme alt. scheme analytical Cp Coord θ [rad] p [P a] / u [m/s] std. u1 [m/s] std. u2 [m/s] std. p [P a] alt. u1 [m/s] alt. u2 [m/s] alt. p [P a] Single grid M ultigrid Figure 6.17: Mach number contours of the supersonic test case indicating the success of the non reflecting boundary conditions. lated Mach number contours over the domain are presented in Figures 6.17 and 6.18. As shown, the shock clearly crosses the far field boundaries indicating the efficiency of the boundary modelling technology. 6.7 Spatial Convergence of Artificial Dissipation The stabilisation scheme used in this work is not popular in the context of Cartesian meshes, which is thought to be due to the scheme being better suited to meshes with less dramatic mesh stretching ratios i.e. not a factor 2 or more. Although overall asymptotic convergence is achieved in the test cases presented, it is therefore of interest to quantify the influence of the artificial dissipation terms. Of interest here is firstly, if the dissipation terms are showing asymptotic convergence behaviour (these terms should tend towards zero), and secondly the relative magnitude of these terms as compared to the discretised spatial (convective) term. It is proposed to obtain a measure of this by comparing the spatial and the dissipation’s contribution to the converged residual, to one another. 67 top bottom University of Pretoria etd – Pattinson, J (2007) std. scheme 6.7 Spatial Convergence of Artificial Dissipation alt. scheme analytical Cp Coord θ [rad] p [P a] / u [m/s] std. u1 [m/s] std. u2 [m/s] std. p [P a] alt. u1 [m/s] alt. u2 [m/s] alt. p [P a] Single grid M ultigrid Figure 6.18: Mach number contours on supersonic test case. For the purpose of this exercise, the subsonic case is considered as it does not contain any shock regions. This is so that the artificial dissipation can be assessed without the influence of the shock capturing (first order accurate) term. The Euclidean norm of the spatial contribution towards the residual as well as that of the dissipation terms, for various meshes, is shown in Figure 6.19. It can be seen from the figure that in the case of the standard scheme, the dissipation over the finest three meshes shows asymptotic like convergence to the same extent as the spatial terms. Further, the dissipation is always considerably smaller than the spatial terms. However, in the case of the alternative scheme, the aforementioned convergence is not evident, which is to the detriment of solution accuracy. This is thought to be due to the off-centre face positions (with regard to placing on the edges) being accounted for in the discretisation of the convective term, but not when calculating dissipation. This is the case as artificial dissipation does not naturally lend itself to account for off-centre face positions (apart from affecting the dissipation scaling parameter Λ (Equation 4.16)). It may therefore be advantageous to employ a high-resolution upwinding flux limiter in conjunction with the alternative discretisation method (that does explicitly account for off-centre face positions). 68 analytical University of Pretoria etd – Pattinson, J (2007) Cp Coord 6.8 Results discussion θ [rad] p [P a] / u [m/s] std. u1 [m/s] std. u2 [m/s] std. p [P a] alt. u1 [m/s] 0.01 alt. u2 [m/s] Single grid L2 alt. p [P a] M ultigrid |RHS − D| std. |D| std. |RHS − D| alt. |D| alt. 0.001 0.001 Characteristic Length Figure 6.19: Spatial convergence of artificial dissipation terms on the NACA0012 subsonic test case. 6.8 Results discussion Table 6.1 summarises all the numerical results presented in this chapter. In the first column, the number of nodes that the fine meshes contain is listed. Looking first at solution accuracy, the GCI error bound for all cases is less than 2% and there is little difference between the standard and alternative schemes. The ratio that indicates asymptotic convergence, denoted rasym , is again in all instances comparably close to one. At this point a comment on the GCI process is necessary. The definition of the characteristic length parameter used for the evaluation of the GCI error bound and asymptotic convergence on a Cartesian mesh, is not obvious. In this work three definitions were investigated as described 1/D 1 1 in Appendix A viz. r = N ;r= E and where r is the smallest uncut edge in N2 E2 the mesh (not on a cut cell). Unfortunately, it was found that the GCI process is very sensitive to which definition is employed. It was found that the smallest edge length parameter resulted in GCI error bounds which appeared the most consistent with the actual error trend (difference between predicted and actual 69 University of Pretoria etd – Pattinson, J (2007) 6.9 Conclusions solution) and it was therefore selected for the purposes of the study. Other concerns about this process stem from the ideal requirement of a refinement ratio of circa 2. This is not always achievable with the meshes under consideration due to limitations in generating very fine meshes (memory cost) and accuracy concerns with very coarse meshes. It is important to note however that despite the aforementioned limitations, consistent convergence data is obtained from this study and that the GCI process does serve as an indicator of spatial convergence. In terms of multigrid, near optimal average node coarsening ratios (rcoarse ) were achieved for all cases. The multigrid speed-ups in CPU time range between a factor 2 and one order of magnitude. The speed up is seen to be flow regime dependent with the best performance achieved when no shocks are present. This may be alleviated by applying more advanced relaxation operators[20]. Unfortunately, a comparison of the multigrid performance to others was not possible in a quantitative sense, as little 2D multigrid accelerated results on Cartesian grids have been published. A result found in the literature, that is qualitatively comparable, is the 5 times speed-up achieved by Aftosmis et al. [28] on a 3D ONERA M6 wing transonic case. This is of similar order to that found in this work. Finally, in the interest of completeness the CPU/time per node is given in the last column. This value is based on the time taken for the multigrid accelerated solution process to reach a residual of 1 × 10−6 (drop in residual of circa 5 orders). As opposed to multigrid speedup the worst performing case was that of the incompressible flow over a cylinder. This may be a flow / mesh related effect, but further investigation is in order. 6.9 Conclusions The modelling technology presented in this work has been validated by application to incompressible and compressible sub-, trans- and supersonic flow problems. It is demonstrated that the new dual-mesh construction strategy with enhanced discretisation scheme, offers the same accuracy as the standard scheme. Both methodologies were found to have similar computational cost and convergence characteristics. Achieved multigrid speed-ups ranged from one order of magnitude for subsonic flow, to a factor 2 for the supersonic case. 70 University of Pretoria etd – Pattinson, J (2007) 6.9 Conclusions Test Case Finest GCI rasym rcoarse mesh size Multigrid CPU-time/Node speed-up (sec/node) (nodes) Incompressible Cylinder std. Cylinder alt. Van de Vooren aerofoil std. Van de Vooren aerofoil alt. 27, 070 25, 886 15, 420 14, 748 0.95% 1.15% 0.22% 0.36% 1.033 1.06 0.996 1.11 3.81 3.87 3.87 3.89 11.8 6.0 35.46 30.49 0.059 0.081 0.0033 0.0047 12, 819 12, 160 12, 819 12, 160 16, 237 15, 770 0.41% 0.39% 0.74% 0.84% 1.333% 1.264% 1.001 1.02 0.999 0.999 1.022 0.998 3.92 3.87 3.92 3.87 4.11 4.05 12.21 14.04 3.08 2.94 1.35 1.23 0.0127 0.0105 0.0168 0.0204 0.0053 0.0058 Compressible NACA0012 subsonic std. NACA0012 subsonic alt. NACA0012 transonic std. NACA0012 transonic alt. Double wedge supersonic std. Double wedge supersonic alt. Table 6.1: Summary of results. Here rasym refers to the ratio that indicates asymptotic convergence and rcoarse refers to the average node based coarsening ratio between coarse grid levels. 71 University of Pretoria etd – Pattinson, J (2007) Chapter 7 Conclusions and Future Work 7.1 Conclusions The aim of this project was to develop an in-house CFD tool that could be used effectively in the concept phase of an aerodynamic design. This tool solves the Euler equations for compressible and incompressible flows through the use of a single equation set. These equations are bounded though the application of characteristic far-field boundary conditions that have been extended in their application to incompressible problems. Non-conforming cut-cell Cartesian meshes are employed for numerical solution purposes. These meshes can be generated with great efficiency on complex geometries and have a high tolerance for so-called “dirty” geometries. Commercial mesh generators are employed to generate these meshes but are limited to generating 3D meshes only. Thus code was developed to extract a 2D mesh from a 3D one. Related to this was the development of a cell cutting algorithm to furnish a body conforming mesh using an overlapping grid (that results from the aforementioned extraction) as input. This algorithm was developed such that it retains the innate tolerance for “dirty” geometries in Cartesian meshes. As the CFD tool developed in this work was started from scratch, alternative techniques, which are not at present popular in the context of cut cell Cartesian meshes, were investigated. The foremost of these are the single equation set used to model both incompressible (via artificial compressibility) and compressible flow and the use of the vertex-centred finite volume discretisation strategy. This 72 University of Pretoria etd – Pattinson, J (2007) 7.1 Conclusions strategy operates in an unaltered form in the cut cell and hanging node regions of the mesh and should prove competitive with the cell centred scheme prevalent in the context of cut cell Cartesian meshes. As the accuracy of the scheme in the region of hanging nodes was expected to be reduced to first order, an alternative dual mesh construction strategy was developed and the discretisation suitably enhanced. The scope of this study was limited to applying this alternative strategy to 2D problems only, but it is expected that it will easily extend to 3D. To prevent the odd-even decoupling of the solution known to occur with this type of discretisation, the Jameson, Schmidt & Turkel [1] artificial dissipation scheme, which is novel in the context of Cartesian meshes, was employed. Explicit multi-stage Runge-Kutta temporal discretisation is employed to obtain the steady-state solution to the discretised governing equations. This is coupled with FAS multigrid to accelerate convergence. The coarse grids used in the multigrid process were generated through a generic volume agglomeration technique. This method of generating the coarse grids is novel in the context of Cartesian meshes. The developed modelling technology was evaluated by applying it to suitable test cases that cover the entire flow range of interest. The accuracy of the scheme is evaluated by comparing the predicted flows to published or analytical solutions. The multigrid solution acceleration strategy employed in this work has been shown to provide reductions in the CPU time needed for a converged solution of between circa two and twenty. It is also noted that the standard and alternative dual mesh construction strategies provide similar results with similar convergence characteristics. In an attempt to provide a scientific validation process, a grid convergence study, based on the calculation of the GCI error bound, was performed for all test cases. Overall asymptotic grid convergence was obtained throughout, with error bounds of less than 2% for all cases. To further evaluate the method and to test the influence of the dissipation scheme, a study was performed on the grid related convergence of the latter. It was found that although the dissipation was behaving appropriately when employed together with the standard dual mesh construction, it was not in the case of the alternative scheme. This is suspected to be due to the dissipation scheme not naturally 73 University of Pretoria etd – Pattinson, J (2007) 7.2 Future Work lending itself to account for off-centre face positions that occur with the alternative construction. It is believed that this should be further investigated by the application of a more compact stabilisation method. 7.2 Future Work The scope of this study was limited to the solution of the 2D Euler equations. A 3D preprocessor, to implement the standard vertex-centred discretisation strategy, was developed but the alternative form was not implemented. The following are recommended extensions of this work: • First and foremost, is the extension of the solver to 3D as well as the implementation of the alternative discretisation scheme into the 3D preprocessor. • As discussed the artificial dissipation does not work well together with the alternative dual mesh construction scheme. It is recommended that a more modern stabilisation scheme be implemented and the alternative dual mesh construction re-evaluated. Here it is important that the stabilisation scheme selected be capable of taking into account the off-centre face positions in the dual mesh. • In this work, grid independent solutions were obtained by brute force i.e. generating a mesh, obtaining a solution and then refining the mesh manually where necessary. This method is not practical in the context of a concept screening tool and a more elegant solution could be obtained by the implementation of a grid adaption routine. 74 University of Pretoria etd – Pattinson, J (2007) Appendix A Verification and Validation of Code A.1 Introduction In this work the results of the code are verified using the techniques presented by Slater [57] in his tutorial. This tutorial follows published AIAA Guidelines [58]. It should be noted here that there is no set standard for the verification and validation of CFD software. Indeed there is, according to Slater [57], “professional disagreement” on the exact procedures for this. A.2 Convergence Analysis Two types of convergence are assessed in this study. The first, iterative convergence, is a concerned with how much a solution changes per iteration. The second, spatial or grid convergence, deals with how much a solution changes when the grid is refined. An iterative convergence study for each test case can be found the relevant sections in Chapter 6. Here, solutions in which the Euclidean norm 75 University of Pretoria etd – Pattinson, J (2007) A.2 Convergence Analysis of the residual (all terms on the right hand side of Equation 4.21) drops below 1e − 6 are said to have converged. The procedure for verifying spatial grid convergence is based on the calculation of three parameters that indicate if grid convergence has been achieved. These parameters are; fexact an estimate of the solution at zero grid spacing, the socalled Grid Convergence Index (GCI) which is an estimated error bound for the spatially converged solution, and rasym which indicates if asymptotic convergence is achieved. These parameters are calculated from the results of three successively refined meshes, differentiated by the definition of a characteristic length. No standards exist for determining the characteristic length of a Cartesian mesh and in this work three different characteristic lengths are defined. The first is the physical length of the one side of the smallest Cartesian cell in the mesh i.e. not a cut-cell. A further characteristic length based on the total number of nodes is defined as per the tutorial as N1 1/D (A.1) N2 where r is the grid refinement ratio, N the total number of nodes from a mesh r= and D is the mesh dimension. Note that N1 > N2 . The final parameter used is based on the number of edges in the mesh and is defined as simply E1 (A.2) E2 where E is the number of edges in the mesh. Similar to the above convention, E1 > E2 . All three characteristic lengths are used in the following stages and the results are compared. To obtain accurate results it is desired that the charr= acteristic lengths of successive grids vary by a ratio of 2 or as close as possible to this. In other words if a grid has a spacing of h then the finer grid would have a spacing of approximately h2 . All three of the parameters to be calculated depend on an estimate of the order of convergence of the scheme. To find this value, denoted p, it is instructive to look at the error in any numerical method. The error e is defined as the 76 University of Pretoria etd – Pattinson, J (2007) A.2 Convergence Analysis difference between the actual solution φ and the estimated solution v and can be written as e = φ − v = Chp + Higher order terms (A.3) where C is a constant. This can further be rewritten as a function of a characteristic parameter of the solution, such as lift, denoted f from here on, E = fexact − f h = Chp + Higher order terms (A.4) There are three unknowns in this equation and thus it can be solved with the solutions of three successively refined grids. To this end the above equation is rewritten in the following form. f 4h − f 2h 1 − rp =0 − 1 f 2h − f h rp −1 (A.5) This equation is solved for p using the bisection method [59]. It has been previously stated that the discretisation used in the work is notionally second order accurate. This means that, in this work, p ≈ 2. Given the value of p the first of the three parameters, fexact can be calculated. This parameter, an estimation of the exact solution of a numerical problem at zero grid spacing, is calculated using a Richardson extrapolation as suggested by Roache [55]: f h − f 2h (A.6) rp − 1 The second parameter, the GCI, is now calculated, for each pair of meshes as: fexact = f h + GCI0 = Fs ∗ 2h h f −f fh 4h 2h f −f f 2h GCI1 = Fs ∗ p (A.7) rp − 1 r −1 where Fs is a factor of safety. In this work the value of 1.25 was used. Using this information the third parameter can now be calculated, rasym = GCI1 2p GCI0 77 (A.8) University of Pretoria etd – Pattinson, J (2007) A.2 Convergence Analysis This convergence parameter provides information on whether asymptotic convergence has been achieved. Asymptotic convergence is said to have been achieved when it is evident that further levels of refinement will not change the value of p. This is indicated by the value of rasym which will tend to one, once asymptotic convergence has been achieved. 78 University of Pretoria etd – Pattinson, J (2007) Appendix B Preprocessor B.1 Introduction The major parts of the preprocessing phase of a run are covered in Chapter 3. In this section a brief description of how the preprocessor interprets the geometry for the cell-cutting algorithm will be given. Further, the method employed to change the element based data structure of the mesh from the mesh generator to the edge based data structure used in the solver is discussed. The preprocessor and the preprocessing phase of any run is responsible for taking the mesh generated by a mesh generator and delivering it in a form suitable for the solver i.e. to perform all computations on the mesh that do not change per iteration in the solver. This phase includes the extraction of a 2D mesh from a 3D mesh, cell-cutting, marking boundaries for the application of boundary conditions and applying the discretisation strategy. This phase is to be performed on meshes that may contain, in 3D, hexahedron (brick), tetrahedron, prism (wedge) and pyramid type elements and in 2D trianglar and quadrilateral type elements. Further these meshes will contain hanging nodes. The preprocessor should also be fast and exhibit O(N ) complexity, where N is the number of nodes and should be able to interpret the chosen mesh generators file format (Gambit neutral file format). 79 University of Pretoria etd – Pattinson, J (2007) B.2 Geometry Interpretation B.2 Geometry Interpretation A multitude of geometry definitions are available. These range from very simple systems such as STL (which is just a surface triangulation), to complex NURBS format such as STEP. There also are a number of propriety formats available, with an associated licence fee. Aftosmis [60] uses a surface triangulation approximation of the CAD geometry. This triangulated geometry is then interpreted by the preprocessor. Charlton [50] uses a parametric representation of the geometry. In this work it was decided that the geometry be interpreted by the following existing geometry protocols STL (used by Harpoon), STEP and IGES. OpenCASCADE [61] open source C++ libraries were employed for this purpose as it contains all the necessary file readers and geometry functions. B.3 Mesh Data Structure Manipulations In this work the preprocessor was separated into two separate codes for the 2D and 3D cases respectively. This is not strictly necessary but it was found that many of the algorithms used in the 2D work did not simply scale to 3D. This is particularly noticeable in the algorithms used to change the element-based data structure into an edge-based one. A mesh generated using a typical mesh generator consists of a numbered node table containing node coordinates and an element table consisting of node numbers that make up individual elements. Other information such as boundary nodes is communicated differently in the various formats but typically a list of two dimensional boundary elements is stored. This is the case with the Gambit generic mesh file format that the chosen mesh generator [26] is capable of generating. This is what is referred to as the element based format. The construction of the edgebased vertex-centred dual-mesh requires the addition of, among other things, an edge table to this existing format. The mesh from the mesh generator is made up of four very specific 3D element types and two, 2D element types. Boundaries between elements are not explicitly defined and it is possible for elements of different types to lie next to one another. 80 University of Pretoria etd – Pattinson, J (2007) B.3 Mesh Data Structure Manipulations This results in both duplicate edges as well as overlapping faces. As the latter two are mathematically unacceptable entities, they are removed by the preprocessor. A graphical view of some of these discrepancies encountered in the various meshes is presented in Figure B.1. This process will now be described. To aid the discussion of the removal of these discrepancies it is necessary to first mention the data structure of both 2 and 3D elements. It is obvious that in removing these inconsistencies one can no longer retain the specific element types used by the mesh generator and that a more generic format must be developed. The format chosen in this work requires that three data-tables be constructed for each element. The three tables are: • A list of nodes. A numbered list of nodes that form the element. • A face table. This contains a list of all faces in the element in terms of local node number as defined by the above list. • An edge table. This table lists all the edges in the element, once again in terms of local node numbers. All elements contain these tables but in the case where an element is of a standard type, it is unnecessary to store the face table and edge table more than once for the whole mesh. In 2D and for the 2D boundary element table in the 3D case the face and edge tables are redundant. Instead nodes are stored in the element’s node list consecutively such that each node is connected with an edge to its neighbours in the table. The procedure for removing these discrepancies is divided into two phases, detection and removal. In the 2D case the only discrepancies that occur are those surrounding hanging nodes. To detect hanging nodes in this case a table of all elements in which a node appears is created. As hanging nodes only occur in Cartesian mesh regions one can correctly assume that an interior hanging node is only surrounded by two neighbouring elements1 . On the boundary any existing hanging nodes are detected because they are those boundary nodes that occur in only one element. 1 Note. This step is performed after the splitting of the 3D mesh into a 2D mesh and before the cell-cutting occurs. 81 University of Pretoria etd – Pattinson, J (2007) B.3 Mesh Data Structure Manipulations PSfrag replacements CP U time [minutes] L2 (Residual) std. single grid std. multigrid alt. single grid alt. single grid std. single grid std.& alt. multigrid alt. multigrid top bottom std. scheme alt. scheme analytical Cp Coord θ [rad] p [P a] / u [m/s] std. u1 [m/s] std. u2 [m/s] std. p [P a] alt. u1 [m/s] alt. u2 [m/s] alt. p [P a] Single grid M ultigrid Figure B.1: Face discrepancies in element-based data structure. In this figure adjacent elements have been moved apart to reveal the adjacent element faces (coloured). It is then evident that the edges on the blue face on the left are not duplicated exactly on the right. This implies duplicate edges and is corrected by splitting up the blue face on the left to reflect the coloured faces. 82 University of Pretoria etd – Pattinson, J (2007) B.4 Speed The discrepancies caused by internal hanging nodes are removed by finding the missing neighbouring element and adding the hanging node to its node table. To reduce searching in the mesh, these elements are found using the node-element table. In 3D the procedure is different as mesh discrepancies are caused by mismatched faces as opposed to mismatched edges. These mismatches are not only caused by hanging nodes but also by different elements types neighbouring each other. An algorithm based on numbers of elements connected to a node is bound to fail as there is no clear-cut criterion here. Instead discrepancies in the mesh are detected by checking if every face in every element has a neighbouring face in another element1 . Should a face not match any of its neighbouring faces, that face is then marked. A search is then conducted of all unmatched faces to find faces that should be combined. These will be faces that are co-planar with- and completely contained within another unmatched face. If one is looking for neighbours of a small face that lie within a large face, this condition will not be met. This is however, of no concern as the link will be made from the larger face. Once the mismatched faces have been found, they are described consistently in the large element by adding faces to that elements face table. As this process then invalidates other faces the procedure is performed again to fix those faces. It has been found that only two loops are necessary to fix any mesh although this is not assumed in the program and this procedure will be repeated until no further inconsistencies have been found. This procedure has been found to be robust and capable of redefining all inconsistent faces encountered to date. Having removed all these discrepancies an edge table is built for the dual mesh construction. B.4 Speed To compliment the speed of mesh generation and solution process it is important to make the preprocessing step as fast as possible. In this work we seek to ensure 1 Note that this holds even on the boundary as all boundary faces are duplicated in a 2D boundary element table. Thus each boundary element should match with the corresponding face in its neighbouring 3D element. 83 std. single grid Cp University of Pretoria etd – Pattinson, J (2007) std. multigrid Coord B.4 Speed alt. single grid θ [rad] alt. single grid p [P a] / u [m/s] the computational cost of preprocessing a mesh varies linearly with the number std. single grid std. u1 [m/s] of nodes in the mesh. That this has been obtained is clear from Figure B.2 for std.& alt. multigrid the 2Dstd. preprocessor and Figure B.3 for the 3D preprocessor. u2 [m/s] alt. multigrid std. p [P a] 55 top 50 alt. u1 [m/s] 45 bottom alt. u2 [m/s] alt. p [P a] alt. scheme Single grid 40 Time (sec) std. scheme 35 30 25 analytical M ultigrid 20 Cp 15 Coord 10 10000 15000 20000 30000 25000 35000 40000 45000 50000 Nodes θ [rad] Figure Performance of the 2D preprocessor in terms of time on three p [P a]B.2: / u [m/s] NACA0012 test cases. std. u1 [m/s] std. u2 [m/s] 1100 std. p [P a] 1000 alt. u1 [m/s] 900 800 alt. p [P a] Single grid Time (sec) alt. u2 [m/s] 700 600 500 400 300 M ultigrid 200 100 0 0 100000 200000 300000 400000 500000 600000 700000 800000 900000 1e+06 Nodes Figure B.3: Performance of the 3D preprocessor in terms of time on three NACA0012 test cases. 84 University of Pretoria etd – Pattinson, J (2007) Appendix C Extrapolation and Interpolation Procedures For the application of the characteristic boundary conditions and the prolongation operators extrapolation and interpolation operators are needed. Two such operators have been employed. These are the method of linear least squares and the method of inverse distance weighting of Watson [44]. The method of linear least squares attempts to generate a planar approximation to the values at the selected points. This plane is then used to provide an approximation to the value at a particular point of interest . To determine the coefficients of the plane P(x0 , x1 ) = a0 + a1 x0 + a2 x1 the following equation must be solved, PM PM PM Pi M x0i x1i a0 i=1 i=1 i=1 P P PM 2 PM M x1i Pi = M x1i a1 x i=1 x0i x1i Pi=1 Pi=1 PMi=1 1i P M M M 2 a2 i=1 x0i Pi i=1 x0i i=1 x0i x1i i=1 x0i (C.1) where x0 and x1 are the coordinate directions, P refers to the value of interest at each selected point. M is the total number of selected points. A direct Gausselimination solver [59] was coded to solve this equation. 85 University of Pretoria etd – Pattinson, J (2007) The method of inverse distance weighting computes a weighted average of all selected points to provide an estimate of the value at a point of interest. The following equation is used Pboundary = where di = PM i=1 (xboundary PM Pi i=1 di PM 1 i=1 di (C.2) − xi )2 i.e. the shortest distance between the each of the selected nodes and the current boundary node. 86 University of Pretoria etd – Pattinson, J (2007) References [1] Jameson A., Schmidt W. & Turkel E. (1981). Numerical simulation of the Euler equations by finite volume methods using Runge-Kutta timestepping schemes. In AIAA paper 81-1259, AIAA 5th Computational Fluid Dynamics Conference. xi, 3, 22, 31, 36, 73 [2] White F.M. (2006). Viscous Fluid Flow . McGraw-Hill International Editions, Singapore, 3rd edn. 2 [3] Aftosmis M.J., Berger M.J. & Melton J.E. (1998). Robust and efficient Cartesian mesh generation for component-based geometry. AIAA Journal , 36, 952–960. 3, 15 [4] Ingram D.M., Causon D.M. & Mingham C.G. (2003). Developments in Cartesian cut cell methods. Mathematics and Computers in Simulation, 61, 561–572. 3, 14, 17, 21, 22 [5] Brandt A. (1977). Multi-level adaptive solutions to boundary value problems. Mathematics and Computation, 21, 333–390. 3, 40 [6] Lallemand M.H., Steve H. & Dervieux A. (1992). Unstructured mulitgridding by volume agglomeration: Current status. Computers and Fluids, 21, 397–433. 3, 39, 42, 48, 50 [7] Clarke D.K., Salas M.D. & Hassan H.A. (1986). Euler calculations for multi-element airfoils using Cartesian grids. AIAA Journal , 24, 353–358. 7, 11, 21 87 University of Pretoria etd – Pattinson, J (2007) REFERENCES [8] Coirier W.J. & Powell K.G. (1995). An accuracy assessment of Cartesian-mesh approaches for the Euler equations. Journal of Computational Physics, 117, 121–131. 7, 17, 21, 22, 38 [9] Ham F.E., Lien F.S. & Strong A.B. (2002). A Cartesian grid method with transient anisotropic adaptation. Journal of Computational Physics, 179, 469–494. 7, 21, 38, 41, 42 [10] Murman S.M., Aftosmis M.J. & Berger M.J. (2002). Numerical simulation of rolling-airframes using a multi-level Cartesian method. In AIAA, vol. Paper 2002-2798, St. Louis. 7, 15, 16, 21 [11] Murman S.M., Aftosmis M.J. & Berger M.J. (2003). Simulations of 6-DOF motion with a Cartesian method. In AIAA, vol. Paper 2003-1246, Reno. 7, 17, 22 [12] Yang G., Causon M., Ingram D.M., Saunders R. & Batten P. (1997). A Cartesian cut cell method for compressible flows part A: Static body problems. The Aeronautical Journal , 101, 47–56. 7, 15, 17, 21 [13] Yang G., Causon D.M. & Ingram D.M. (1999). Cartesian cut-cell method for axisymmetric separating body flows. AIAA Journal , 37, 905– 911. 7, 21, 22 [14] Malan A.G., Lewis R.W. & Nithiarasu P. (2002). An improved unsteady, unstructured, artificial compressibility, finite volume scheme for viscous incompressible flows: Part I. Theory and implementation. International Journal for Numerical Methods in Engineering, 54, 695–714. 8, 9, 21, 29, 32 [15] Prandtl L. (1904). Über flüssigkeitsbewegung bei sehr kleiner reibung. In Proc. Third Int. Math. Cong., Heidelberg. 11 [16] Baker T.J. (2003). Three decades of meshing; a retrospective view. In AIAA Computational Fluid Dynamics Conference, vol. Paper 2003-3563, Orlando, Florida. 14 88 University of Pretoria etd – Pattinson, J (2007) REFERENCES [17] Jameson A. & Mavriplis D. (1986). Finite volume solution of the twodimensional Euler equations on a regular trianguler mesh. AIAA Journal , 24, 611–618. 15 [18] Mavriplis D.J. (1990). Accurate multigrid solution of the Euler equations on unstructured and adaptive meshes. AIAA Journal , 28, 213–221. 15, 31, 32, 33 [19] Mavriplis D.J. & Venkatakrishnan V. (1995). Agglomeration multigrid for two-dimensional viscous flows. Computers and fluids, 24, 553–570. 15, 48, 50 [20] Sørensen K.A. (2002). A Multigrid Acceleration Procedure for the Solution of Compressible Fluid Flows on Unstructured Hybrid Meshes. Doctor of Philosophy Thesis submitted to the University of Wales Swansea, Swansea. 15, 37, 40, 42, 48, 61, 70 [21] Berger M., Aftosmis M. & Adomavicius G. (2000). Parallel multigrid Cartesian meshes with complex geometry. In Proc. Parallel CFD Conference, Holland. 15, 16, 21, 22 [22] Ogawa T. (1999). Development of a flow solver using the adaptive Cartesian mesh algorithm for wind environment assessment. Journal of Wind Engineering and Industrial Aerodynamics, 81, 377–389. 15, 21, 38 [23] Wang Z.J. & Chen R.F. (2002). Anisotropic solution-adaptive Cartesian grid method for turbulent flow simulation. AIAA Journal , 1969–1978. 15, 21, 22, 38 [24] Popinet S. (2003). Gerris: A tree-based adaptive solver for the incompressible Euler equations in complex geometries. Journal of Computational Physics, 190, 572–600. 16, 21, 38 [25] Yang G., Causon M., Ingram D.M., Saunders R. & Batten P. (1997). A Cartesian cut cell method for compressible flows part B: Moving body problems. The Aeronautical Journal , 101, 57–65. 16 89 University of Pretoria etd – Pattinson, J (2007) REFERENCES [26] Harpoon (2005). CEI, http://www.ceintl.com/products/harpoon.html, version 1.4.0 a 2 edn. 16, 80 [27] Gambit (2004). Fluent Inc., http://www.fluent.com/software/gambit/index.htm, version 2.1 edn. 16 [28] Aftosmis M.J., Berger M.J. & Adomavicius G. (2000). A parallel multilevel method for adaptively refined Cartesian grids with embedded boundaries. In AIAA, vol. Paper 2000-0808, Reno. 17, 21, 22, 38, 41, 42, 70 [29] Koh E.P.C., Tsai H.M. & Liu F. (2005). Euler solution using cartesian grid with a gridless least-squares boundary treatment. AIAA Journal , 43, 246–255. 17 [30] Causon D.M., Ingram D.M., Mingham C.G., Yang G. & Pearson R.V. (2000). Calculation of shallow water flows using a Cartesian cut cell approach. Advances in Water Resources, 23, 545–562. 21, 22 [31] Tucker P.G. & Pan Z. (2000). A Cartesian cut cell method for incompressible viscous flow. Applied Mathematical Modelling, 24, 591–606. 21 [32] Ye T., Mittal R., Udaykumar H.S. & Shyy W. (1999). An accurate Cartesian grid method for viscous incompressible flows with complex immersed boundaries. Journal of Computational Physics, 156, 209–240. 21 [33] Zhang L.P. & Wang Z.J. (2004). A block LU-SGS implicit dual timestepping algorithm for hybrid dynamic meshes. Computers & Fluids, 33, 891–916. 21, 22, 38 [34] French A. (2004). Solution of the euler equations on cartesian grids. Applied Numerical Mathematics, 49, 367–379. 21 [35] Hirsch C. (1990). Numerical Computation of Internal and External Flows, Computational Methods for Inviscid and Viscous Flows, vol. 2. Wiley. 22 [36] Beam R.M. & Warming R.F. (1976). An implicit finite difference algorithm for hyperbolic systems in conservation law form - Application to 90 University of Pretoria etd – Pattinson, J (2007) REFERENCES Eulerian gas-dynamics equations. Journal of Computational Physics, 22, 87–110. 22 [37] MacCormack R.W. & Baldwin B.S. (1975). A numerical method for solving the Navier-Stokes equations with application to shock-boundary layer interactions. In AIAA paper 1-75 . 22 [38] Vahdati M., Morgan K., Peraire J. & Hassan O. (1989). A cellvertex upwind unstructured grid solution procedure for high-speed compressible viscous flow. In International Conference on Hypersonic Aerodynamics, 12.1–12.22, Royal Aeronautical Society, London. 23, 29, 36 [39] Crumpton P.I., Moinier P. & Giles M.B. (1997). An unstructured algorithm for high Reynolds number flows on highly stretched meshes. Numerical Methods in Laminar and Turbulent Flow (ed. C. Taylor and J. T. Cross), 561–572. 29 [40] Sørensen K.A., Hassan O., Morgan K. & Weatherill N.P. (2002). Agglomerated multigrid on hybrid unstructured meshes for compressible flow. International Journal for Numerical Methods in Fluids, 40, 593–603. 29, 31, 39 [41] Malan A.G. (2002). Investigation into the Continuum Thermodynamic Modeling of Investment Casting Shell-Mould Drying. Ph.D. thesis, University of Wales Swansea. 29, 40 [42] Swanson R.C. & Turkel E. (1992). On central-difference and upwind schemes. Journal of Computational Physics, 101, 297–306. 31 [43] Lin F.B. & Sotiropoulos F. (1997). Assessment of artificial dissipation models for three-dimensional incompressible flow solutions. Journal of Fluids Engineering, 119, 331–340. 31 [44] Watson D.F. (1992). Contouring, A guide to the analysis and Display of Spatial Data. Pergamon Press, New York. 34, 50, 85 91 University of Pretoria etd – Pattinson, J (2007) REFERENCES [45] Murman S.M., Aftosmis M.J. & Berger M.J. (2003). Implicit approaches for moving boundaries in a 3-D Cartesian method. In AIAA, vol. Paper 2003-1119, Reno. 38 [46] Tannehill J.C., Anderson D.A. & Pletcher R.H. (1997). Computational Fluid Mechanics and Heat Transfer . Taylor & Francis, Washington, 2nd edn. 39 [47] Taflove A. & Brodwin M.E. (1975). Electromagnetic scattering problems. IEEE Transactions on Microwave Theory and Techniques, 23, 623. 40 [48] Zienkiewicz O.C. & Taylor R.L. (2000). The Finite Element Method: Volume 3 - Fluid Dynamics. Butterworth-Heinemann, Oxford, 5th edn. 40 [49] Briggs W.L., Henson V.E. & McCormick S.F. (2000). A Multigrid Tutorial . Society for Applied and Industrial Mathematics, Philadelphia, 2nd edn. 40, 46, 48 [50] Charlton E.F. (1997). An Octree Solution to Conservation-laws over Arbitrary Regions (OSCAR) with Applications to Aircraft Aerodynamics. Doctor of Philosophy Thesis submitted to the University of Michigan, Michigan. 41, 42, 80 [51] Hannemann V. (2001). Structured multigrid agglomeration on a data structure for unstructured meshes. In Numerical Methods for Fluid Dynamics VII , 329–337, Oxford. 42 [52] Mavriplis D.J. & Venkatakrishnan V. (1996). A 3D agglomeration multigrid solver for the Reynolds-averaged Navier-Stokes equations on unstructured meshes. International Journal for Numerical Methods in Fluids, 23, 527–544. 42 [53] Blazek J. (2001). Computational Fluid Dynamics: Principles and Applications. Elsevier Science, Oxford, 1st edn. 48, 50 92 University of Pretoria etd – Pattinson, J (2007) REFERENCES [54] Wesseling P. (1992). An Introduction to Multigrid Methods. John Wiley and Sons. 49 [55] Roache P. (1998). Verification and Validation in Computational Science and Engineering. Hermosa Publishers, New Mexico. 53, 77 [56] Belov A., Martinelli L. & Jameson A. (1995). A new implicit algorithm with multigrid for unsteady incompressible flow calculations. In AIAA Paper , vol. 95-0049. 54 [57] Slater J.W. (2005). Tutorial on CFD Verification and Validation. NPARC Alliance, http://www.grc.nasa.gov/WWW/wind/valid/tutorial/ tutorial.html. 75 [58] AIAA (1998). Guide for the verification and validation of computational fluid dynamics simulations. Tech. Rep. AIAA G-077-1998, AIAA. 75 [59] Burden R. & Faires J. (2001). Numerical Analysis. Brooks/Cole, seventh edn. 77, 85 [60] Aftosmis M.J. (1997). Solution adaptive Cartesian grid methods for aerodynamic flows with complex geometries. In 28th Computational fluid Dynamics, vol. Lecture Series 1997-02, von Karman Institute for Fluid Dynamics. 80 [61] OpenCASCADE (2005). http://www.opencascade.org/, version 5.2 edn. 80 93

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement