## Contents

Preface xvii

Series Preface xxiii

PART ONE PLANE IDEAL AERODYNAMICS

1 Preliminary Notions 3

1.1 Aerodynamic Force and Moment 3

1.1.1 Motion of the Frame of Reference 3

1.1.2 Orientation of the System of Coordinates 4

1.1.3 Components of the Aerodynamic Force 4

1.1.4 Formulation of the Aerodynamic Problem 4

1.2 Aircraft Geometry 5

1.2.1 Wing Section Geometry 6

1.2.2 Wing Geometry 7

1.3 Velocity 8

1.4 Properties of Air 8

1.4.1 Equation of State: Compressibility and the Speed of Sound 8

1.4.2 Rheology: Viscosity 10

1.4.3 The International Standard Atmosphere 12

1.4.4 Computing Air Properties 12

1.5 Dimensional Theory 13

1.5.1 Alternative methods 16

1.5.2 Example: Using Octave to Solve a Linear System 16

1.6 Example: NACA Report No. 502 18

1.7 Exercises 19

1.8 Further Reading 22

References 22

2 Plane Ideal Flow 25

2.1 Material Properties: The Perfect Fluid 25

2.2 Conservation of Mass 26

2.2.1 Governing Equations: Conservation Laws 26

2.3 The Continuity Equation 26

2.4 Mechanics: The Euler Equations 27

2.4.1 Rate of Change of Momentum 27

2.4.2 Forces Acting on a Fluid Particle 28

2.4.3 The Euler Equations 29

2.4.4 Accounting for Conservative External Forces 29

2.5 Consequences of the Governing Equations 30

2.5.1 The Aerodynamic Force 30

2.5.2 Bernoulli’s Equation 33

2.5.3 Circulation, Vorticity, and Irrotational Flow 33

2.5.4 Plane Ideal Flows 35

2.6 The Complex Velocity 35

2.6.1 Review of Complex Variables 35

2.6.2 Analytic Functions and Plane Ideal Flow 38

2.6.3 Example: the Polar Angle Is Nowhere Analytic 40

2.7 The Complex Potential 41

2.8 Exercises 42

2.9 Further Reading 44

References 45

3 Circulation and Lift 47

3.1 Powers of z 47

3.1.1 Divergence and Vorticity in Polar Coordinates 48

3.1.2 Complex Potentials 48

3.1.3 Drawing Complex Velocity Fields with Octave 49

3.1.4 Example: k = 1, Corner Flow 50

3.1.5 Example: k = 0, Uniform Stream 51

3.1.6 Example: k = −1, Source 51

3.1.7 Example: k = −2, Doublet 52

3.2 Multiplication by a Complex Constant 53

3.2.1 Example: w = const., Uniform Stream with Arbitrary Direction 53

3.2.2 Example: w = i/z, Vortex 54

3.2.3 Example: Polar Components 54

3.3 Linear Combinations of Complex Velocities 54

3.3.1 Example: Circular Obstacle in a Stream 54

3.4 Transforming the Whole Velocity Field 56

3.4.1 Translating the Whole Velocity Field 56

3.4.2 Example: Doublet as the Sum of a Source and Sink 56

3.4.3 Rotating the Whole Velocity Field 56

3.5 Circulation and Outflow 57

3.5.1 Curve-integrals in Plane Ideal Flow 57

3.5.2 Example: Numerical Line-integrals for Circulation and Outflow 58

3.5.3 Closed Circuits 59

3.5.4 Example: Powers of z and Circles around the Origin 60

3.6 More on the Scalar Potential and Stream Function 61

3.6.1 The Scalar Potential and Irrotational Flow 61

3.6.2 The Stream Function and Divergence-free Flow 62

3.7 Lift 62

3.7.1 Blasius’s Theorem 62

3.7.2 The Kutta–Joukowsky Theorem 63

3.8 Exercises 64

3.9 Further Reading 65

References 66

4 Conformal Mapping 67

4.1 Composition of Analytic Functions 67

4.2 Mapping with Powers of ζ 68

4.2.1 Example: Square Mapping 68

4.2.2 Conforming Mapping by Contouring the Stream Function 69

4.2.3 Example: Two-thirds Power Mapping 69

4.2.4 Branch Cuts 70

4.2.5 Other Powers 71

4.3 Joukowsky’s Transformation 71

4.3.1 Unit Circle from a Straight Line Segment 71

4.3.2 Uniform Flow and Flow over a Circle 72

4.3.3 Thin Flat Plate at Nonzero Incidence 73

4.3.4 Flow over the Thin Flat Plate with Circulation 74

4.3.5 Joukowsky Aerofoils 75

4.4 Exercises 75

4.5 Further Reading 78

References 78

5 Flat Plate Aerodynamics 79

5.1 Plane Ideal Flow over a Thin Flat Plate 79

5.1.1 Stagnation Points 80

5.1.2 The Kutta–Joukowsky Condition 80

5.1.3 Lift on a Thin Flat Plate 81

5.1.4 Surface Speed Distribution 82

5.1.5 Pressure Distribution 83

5.1.6 Distribution of Circulation 84

5.1.7 Thin Flat Plate as Vortex Sheet 85

5.2 Application of Thin Aerofoil Theory to the Flat Plate 87

5.2.1 Thin Aerofoil Theory 87

5.2.2 Vortex Sheet along the Chord 87

5.2.3 Changing the Variable of Integration 88

5.2.4 Glauert’s Integral 88

5.2.5 The Kutta–Joukowsky Condition 89

5.2.6 Circulation and Lift 89

5.3 Aerodynamic Moment 89

5.3.1 Centre of Pressure and Aerodynamic Centre 90

5.4 Exercises 90

5.5 Further Reading 91

References 91

6 Thin Wing Sections 93

6.1 Thin Aerofoil Analysis 93

6.1.1 Vortex Sheet along the Camber Line 93

6.1.2 The Boundary Condition 93

6.1.3 Linearization 94

6.1.4 Glauert’s Transformation 95

6.1.5 Glauert’s Expansion 95

6.1.6 Fourier Cosine Decomposition of the Camber Line Slope 97

6.2 Thin Aerofoil Aerodynamics 98

6.2.1 Circulation and Lift 98

6.2.2 Pitching Moment about the Leading Edge 99

6.2.3 Aerodynamic Centre 100

6.2.4 Summary 101

6.3 Analytical Evaluation of Thin Aerofoil Integrals 101

6.3.1 Example: the NACA Four-digit Wing Sections 104

6.4 Numerical Thin Aerofoil Theory 105

6.5 Exercises 109

6.6 Further Reading 109

References 109

7 Lumped Vortex Elements 111

7.1 The Thin Flat Plate at Arbitrary Incidence, Again 111

7.1.1 Single Vortex 111

7.1.2 The Collocation Point 111

7.1.3 Lumped Vortex Model of the Thin Flat Plate 112

7.2 Using Two Lumped Vortices along the Chord 114

7.2.1 Postprocessing 116

7.3 Generalization to Multiple Lumped Vortex Panels 117

7.3.1 Postprocessing 117

7.4 General Considerations on Discrete Singularity Methods 117

7.5 Lumped Vortex Elements for Thin Aerofoils 119

7.5.1 Panel Chains for Camber Lines 119

7.5.2 Implementation in Octave 121

7.5.3 Comparison with Thin Aerofoil Theory 122

7.6 Disconnected Aerofoils 123

7.6.1 Other Applications 124

7.7 Exercises 125

7.8 Further Reading 125

References 126

8 Panel Methods for Plane Flow 127

8.1 Development of the CUSSSP Program 127

8.1.1 The Singularity Elements 127

8.1.2 Discretizing the Geometry 129

8.1.3 The Influence Matrix 131

8.1.4 The Right-hand Side 132

8.1.5 Solving the Linear System 134

8.1.6 Postprocessing 135

8.2 Exercises 137

8.2.1 Projects 138

8.3 Further Reading 139

References 139

8.4 Conclusion to Part I: The Origin of Lift 139

PART TWO THREE-DIMENSIONAL IDEAL AERODYNAMICS

9 Finite Wings and Three-Dimensional Flow 143

9.1 Wings of Finite Span 143

9.1.1 Empirical Effect of Finite Span on Lift 143

9.1.2 Finite Wings and Three-dimensional Flow 143

9.2 Three-Dimensional Flow 145

9.2.1 Three-dimensional Cartesian Coordinate System 145

9.2.2 Three-dimensional Governing Equations 145

9.3 Vector Notation and Identities 145

9.3.1 Addition and Scalar Multiplication of Vectors 145

9.3.2 Products of Vectors 146

9.3.3 Vector Derivatives 147

9.3.4 Integral Theorems for Vector Derivatives 148

9.4 The Equations Governing Three-Dimensional Flow 149

9.4.1 Conservation of Mass and the Continuity Equation 149

9.4.2 Newton’s Law and Euler’s Equation 149

9.5 Circulation 150

9.5.1 Definition of Circulation in Three Dimensions 150

9.5.2 The Persistence of Circulation 151

9.5.3 Circulation and Vorticity 151

9.5.4 Rotational Form of Euler’s Equation 153

9.5.5 Steady Irrotational Motion 153

9.6 Exercises 154

9.7 Further Reading 155

References 155

10 Vorticity and Vortices 157

10.1 Streamlines, Stream Tubes, and Stream Filaments 157

10.1.1 Streamlines 157

10.1.2 Stream Tubes and Stream Filaments 158

10.2 Vortex Lines, Vortex Tubes, and Vortex Filaments 159

10.2.1 Strength of Vortex Tubes and Filaments 159

10.2.2 Kinematic Properties of Vortex Tubes 159

10.3 Helmholtz’s Theorems 159

10.3.1 ‘Vortex Tubes Move with the Flow’ 159

10.3.2 ‘The Strength of a Vortex Tube is Constant’ 160

10.4 Line Vortices 160

10.4.1 The Two-dimensional Vortex 160

10.4.2 Arbitrarily Oriented Rectilinear Vortex Filaments 160

10.5 Segmented Vortex Filaments 161

10.5.1 The Biot–Savart Law 161

10.5.2 Rectilinear Vortex Filaments 162

10.5.3 Finite Rectilinear Vortex Filaments 164

10.5.4 Infinite Straight Line Vortices 164

10.5.5 Semi-infinite Straight Line Vortex 164

10.5.6 Truncating Infinite Vortex Segments 165

10.5.7 Implementing Line Vortices in Octave 165

10.6 Exercises 166

10.7 Further Reading 167

References 167

11 Lifting Line Theory 169

11.1 Basic Assumptions of Lifting Line Theory 169

11.2 The Lifting Line, Horseshoe Vortices, and the Wake 169

11.2.1 Deductions from Vortex Theorems 169

11.2.2 Deductions from the Wing Pressure Distribution 170

11.2.3 The Lifting Line Model of Air Flow 170

11.2.4 Horseshoe Vortex 170

11.2.5 Continuous Trailing Vortex Sheet 171

11.2.6 The Form of the Wake 172

11.3 The Effect of Downwash 173

11.3.1 Effect on the Angle of Incidence: Induced Incidence 173

11.3.2 Effect on the Aerodynamic Force: Induced Drag 174

11.4 The Lifting Line Equation 174

11.4.1 Glauert’s Solution of the Lifting Line Equation 175

11.4.2 Wing Properties in Terms of Glauert’s Expansion 176

11.5 The Elliptic Lift Loading 178

11.5.1 Properties of the Elliptic Lift Loading 179

11.6 Lift–Incidence Relation 180

11.6.1 Linear Lift–Incidence Relation 181

11.7 Realizing the Elliptic Lift Loading 182

11.7.1 Corrections to the Elliptic Loading Approximation 182

11.8 Exercises 182

11.9 Further Reading 183

References 183

12 Nonelliptic Lift Loading 185

12.1 Solving the Lifting Line Equation 185

12.1.1 The Sectional Lift–Incidence Relation 185

12.1.2 Linear Sectional Lift–Incidence Relation 185

12.1.3 Finite Approximation: Truncation and Collocation 185

12.1.4 Computer Implementation 187

12.1.5 Example: a Rectangular Wing 187

12.2 Numerical Convergence 188

12.3 Symmetric Spanwise Loading 189

12.3.1 Example: Exploiting Symmetry 191

12.4 Exercises 192

References 192

13 Lumped Horseshoe Elements 193

13.1 A Single Horseshoe Vortex 193

13.1.1 Induced Incidence of the Lumped Horseshoe Element 195

13.2 Multiple Horseshoes along the Span 195

13.2.1 A Finite-step Lifting Line in Octave 197

13.3 An Improved Discrete Horseshoe Model 200

13.4 Implementing Horseshoe Vortices in Octave 203

13.4.1 Example: Yawed Horseshoe Vortex Coefficients 205

13.5 Exercises 206

13.6 Further Reading 207

References 207

14 The Vortex Lattice Method 209

14.1 Meshing the Mean Lifting Surface of a Wing 209

14.1.1 Plotting the Mesh of a Mean Lifting Surface 210

14.2 A Vortex Lattice Method 212

14.2.1 The Vortex Lattice Equations 213

14.2.2 Unit Normals to the Vortex-lattice 215

14.2.3 Spanwise Symmetry 215

14.2.4 Postprocessing Vortex Lattice Methods 215

14.3 Examples of Vortex Lattice Calculations 216

14.3.1 Campbell’s Flat Swept Tapered Wing 216

14.3.2 Bertin’s Flat Swept Untapered Wing 218

14.3.3 Spanwise and Chordwise Refinement 219

14.4 Exercises 220

14.5 Further Reading 221

14.5.1 Three-dimensional Panel Methods 222

References 222

PART THREE NONIDEAL FLOW IN AERODYNAMICS

15 Viscous Flow 225

15.1 Cauchy’s First Law of Continuum Mechanics 225

15.2 Rheological Constitutive Equations 227

15.2.1 Perfect Fluid 227

15.2.2 Linearly Viscous Fluid 227

15.3 The Navier–Stokes Equations 228

15.4 The No-Slip Condition and the Viscous Boundary Layer 228

15.5 Unidirectional Flows 229

15.5.1 Plane Couette and Poiseuille Flows 229

15.6 A Suddenly Sliding Plate 230

15.6.1 Solution by Similarity Variable 230

15.6.2 The Diffusion of Vorticity 233

15.7 Exercises 234

15.8 Further Reading 234

References 235

16 Boundary Layer Equations 237

16.1 The Boundary Layer over a Flat Plate 237

16.1.1 Scales in the Conservation of Mass 237

16.1.2 Scales in the Streamwise Momentum Equation 238

16.1.3 The Reynolds Number 239

16.1.4 Pressure in the Boundary Layer 239

16.1.5 The Transverse Momentum Balance 239

16.1.6 The Boundary Layer Momentum Equation 240

16.1.7 Pressure and External Tangential Velocity 241

16.1.8 Application to Curved Surfaces 241

16.2 Momentum Integral Equation 241

16.3 Local Boundary Layer Parameters 243

16.3.1 The Displacement and Momentum Thicknesses 243

16.3.2 The Skin Friction Coefficient 243

16.3.3 Example: Three Boundary Layer Profiles 244

16.4 Exercises 248

16.5 Further Reading 249

References 249

17 Laminar Boundary Layers 251

17.1 Boundary Layer Profile Curvature 251

17.1.1 Pressure Gradient and Boundary Layer Thickness 252

17.2 Pohlhausen’s Quartic Profiles 252

17.3 Thwaites’s Method for Laminar Boundary Layers 254

17.3.1 F(λ) ≈ 0.45 − 6λ 255

17.3.2 Correlations for Shape Factor and Skin Friction 256

17.3.3 Example: Zero Pressure Gradient 256

17.3.4 Example: Laminar Separation from a Circular Cylinder 257

17.4 Exercises 260

17.5 Further Reading 261

References 262

18 Compressibility 263

18.1 Steady-State Conservation of Mass 263

18.2 Longitudinal Variation of Stream Tube Section 265

18.2.1 The Design of Supersonic Nozzles 266

18.3 Perfect Gas Thermodynamics 266

18.3.1 Thermal and Caloric Equations of State 266

18.3.2 The First Law of Thermodynamics 267

18.3.3 The Isochoric and Isobaric Specific Heat Coefficients 267

18.3.4 Isothermal and Adiabatic Processes 267

18.3.5 Adiabatic Expansion 268

18.3.6 The Speed of Sound and Temperature 269

18.3.7 The Speed of Sound and the Speed 269

18.3.8 Thermodynamic Characteristics of Air 270

18.3.9 Example: Stagnation Temperature 270

18.4 Exercises 270

18.5 Further Reading 271

References 271

19 Linearized Compressible Flow 273

19.1 The Nonlinearity of the Equation for the Potential 273

19.2 Small Disturbances to the Free-Stream 274

19.3 The Uniform Free-Stream 275

19.4 The Disturbance Potential 275

19.5 Prandtl–Glauert Transformation 276

19.5.1 Fundamental Linearized Compressible Flows 277

19.5.2 The Speed of Sound 278

19.6 Application of the Prandtl–Glauert Rule 279

19.6.1 Transforming the Geometry 279

19.6.2 Computing Aerodynamical Forces 280

19.6.3 The Prandlt–Glauert Rule in Two Dimensions 282

19.6.4 The Critical Mach Number 284

19.7 Sweep 284

19.8 Exercises 285

19.9 Further Reading 285

References 286

Appendix A Notes on Octave Programming 287

A.1 Introduction 287

A.2 Vectorization 287

A.2.1 Iterating Explicitly 288

A.2.2 Preallocating Memory 288

A.2.3 Vectorizing Function Calls 288

A.2.4 Many Functions Act Elementwise on Arrays 289

A.2.5 Functions Primarily Defined for Arrays 289

A.2.6 Elementwise Arithmetic with Single Numbers 289

A.2.7 Elementwise Arithmetic between Arrays 290

A.2.8 Vector and Matrix Multiplication 290

A.3 Generating Arrays 290

A.3.1 Creating Tables with bsxfun 290

A.4 Indexing 291

A.4.1 Indexing by Logical Masks 291

A.4.2 Indexing Numerically 291

A.5 Just-in-Time Compilation 291

A.6 Further Reading 292

References 292

Glossary 293

Nomenclature 305

Index 309

## Preface

I found while teaching the course in introductory aerodynamics at The University of Sydney

to third-year undergraduate aeronautical engineering students that I was frequently referring

to my shelf of classic texts (Glauert 1926; Lamb 1932; Prandtl and Tietjens 1957; Abbott

and von Doenhoff 1959; Batchelor 1967; Milne-Thomson 1973; Ashley and Landahl 1985;

Katz and Plotkin 2001; Moran 2003), to the extent and effect that the university’s Engineering

Library’s several copies of each of these were constantly out in use by some of the students

and therefore unavailable to the rest. Thus it was that I began to collect together a pr´ecis

of the relevant passages. This immediately necessitated a standardization of nomenclature,

which unconsciously evolved into an organization of the elements into something that began

to resemble a supporting theoretical framework for the course, something which had begun to

cohere. The lectures began to rely on this background, by relegating to it much of the rigour

and drudgery of detail in derivation so that they were more freed up to range over appeals to

intuition, evocative illustration, and imprecise image and analogy. This combined approachwas

found towork well. Naturally some students took quickly to the printed notes and only attended

the lectures to ask questions, which was a good course for them, as they were usually rapid

learners; but the majority used the printed notes more as had been originally intended: these

students continued to take the lectures as their main access to the subject, availing themselves

of the carefully typeset equations to avoid having to squint at and transcribe so many squiggles

and Greek letters on the blackboard.

As the years went by, the course increasingly made use of the proliferation of excellent

computing facilities. Since all students had ready access to what were, despite really being

only off-the-shelf desktop machines, more powerful digital computers than Abbott and von

Doenhoff (1959) could have dreamed of, and since very good interactive software environments

for matrix computation had become freely available, it was natural to exploit this. Other

introductory textbooks had appeared discussing computational methods (generally in FORTRAN)

as successors to the classical approaches (in some cases at the expense of the latter),

but the initial approach at Sydney was more first to use computers to speed up those more

laborious numerical parts of aerodynamics as already practised and only then, with the time

thus saved, to begin to assay such extensions of the old methods as had only become feasible

with automatic matrix computation. Then, following this path, it became apparent that the new

and old methods had more in common than had been thought. To take a single example, the

complex velocity, despite the ultimate simplicity of plane ideal flow in this form, had been

dropped from the textbooks of the 1980s, but modern computer languages work as easily with

complex variables as real. The concision of the complex-variable panel method presented in

Chapter 8 is testament to this. It should be noted that the neglect of the one-to-one analogy

between the Cauchy–Riemann equations and the equations of continuity and irrotationality to

make way for monolithic FORTRAN programs was not universal, having retained its rightful

central place in the French language textbooks (Darrozes and Franc¸ois 1982; Bousquet 1990;

Paraschivoiu 1998).

This history is getting very close to giving an idea of this book: an introductory synthesis

of theoretical aerodynamics, in a classical spirit, but done as perhaps classical aerodynamics

might have been had modern matrix computation techniques and systems been available.

Thus, a few words on what this book is and isn’t: it is not a compendium of results, but an

introduction to methods and methodologies; and it is not the script to a course of lectures, but

an accompanying almost self-contained reference.

It does make many references to the literature, but this is rarely to delegate detail or derivation

but more partly out of respect to the authors that went before and moreover out of the firm belief

that no twenty-first-century aerodynamicist reading Glauert (1926), Milne-Thomson (1973),

the nine chapters of Abbott and von Doenhoff (1959) or anything written by Ludwig Prandtl

will be wasting their time—if not amidst the flurry of the third year of an undergraduate degree,

subsequently. That is, there is rarely any need to follow any of these pointers, rather the reader

is invited to at their later leisure.

An exception to this policy of referencing applies to experimental evidence adduced either in

validation of the theoretical models presented or to circumscribe their limits. These references

do invoke authoritative results from outside. This book is avowedly theoretical, but aerodynamics

is neither primarily theoretical nor primarily experimental, it is engineering and requires

both theoretical and experimental wings to bear it aloft. At Sydney, a coextensive course on

practical experimental aerodynamical measurement in wind tunnels was given simultaneously

with the theoretical course from which this text arose.

While numerous quantitative results for lift, pitching moment, and skin-friction coefficients

and similar quantities will be found throughout, these are only incidental: a numerical method

necessarily results in numerical output, and comparison with these forms one of the easiest

ways of verifying the correctness of an implementation or subsequent modification. Some

of the results might have indicative value, but all are derived from models simple enough to

fit into an introductory course; judgement on when models are applicable can only follow

validation of these results, necessarily involving rigorous comparison with experiment, and

very often depending on the details of the particular physical application. Where remarks of

some generality on the limits of applicability of the methods discussed can be made, they are,

but validation remains unfortunately and notoriously difficult to teach from a textbook; though

an exhortation as to its paramount importance in computational aerodynamics is not out of

place here—a modeller’s every second thought should be of validation.

And, as noted above, while it is as discursive as an introduction should be and a compendium

should not be, it is very far from being the transcript of a lecture course. It was and is envisaged

as accompanying a lecture course, either as delivered simultaneously, or perhaps following,

even years after, a remembered course, when a trained and practising engineer realizes that

there are aspects of the theoretical underpinnings that aren’t as well understood as they might

be, or that they are curious to see how to set about implementing some simple aerodynamical

models in the now so readily available interactive matrix computation systems.

Neither does it pretend to teach the design of lifting surfaces. Kuethe and Chow (1998)

gave their book Foundations of Aerodynamics the subtitle ‘Bases of Aerodynamic Design’,

whichwas perhaps reasonable, but more and more design involves conflicting requirements and

becomes multidisciplinary and specific to domains that are difficult to foresee at this remove.

Given the number of constraints almost any practical project is subject to, it is almost always

the case that the designer is pushed onto the corners of limits rather than having the luxury of

optimizing within an open subset of the parameter space. This often means operating further

from ideal conditions and involving secondary effects, which cannot be adequately treated in

an introduction. Another aspect to the application of the theory of lift to design problems is that

the ideas originally conceived for wings of aircraft have applications far beyond them, from

the blades of wind turbines to Dyson’s Air MultiplierTMfans, and it seems unfair to favour one

area of application with coverage at the expense of the rest, including of course those not yet

thought of.

One of the organizing principles of this book is the combination, for each of the fundamental

problems addressed, of

1. the historical development of the subject, including the first successful model,

2. the classical formulation,

3. the simplest possible model that can reproduce the essential physics, and

4. a modern (interactive, scripted, matrix-based) computational model.

Actually in most instances this is a recombination, since the subsequent approaches grew up

amidst a knowledge of the history and are by no means such independent alternatives as one

might think from some presentations of the subject. We would argue that even if no-one were

ever to use Glauert’s expansion for the lifting line theory again, for example (though we expect

this eventuality remains a good few years off yet), learning it is of more use than merely as an

aid to understanding the aerodynamical literature of the twentieth century; on contemporary

reinspection, it also turns out to be an example of an orthogonal collocation technique for

solving the integral equation, and so in fact when we increase the accuracy of our modern

panel methods not merely by spatial refinement but also increase of order, we see that the old

and the new are related after all. Our hope is that this uncovering of forgotten relationships will

serve to demythologize both the sometimes seemingly arcane old ways and more importantly

the contemporary computational methods which can too easily be, and which too often are,

trusted blindly as black boxes while a knowledge of the classical foundations of the theory is

deemed a luxury.

However, such an organizing principle, which might be suitable for a comprehensive treatise

of the type that our subject is perhaps overdue in its current state of development—which one

hesitates to call maturity but possibly emergence from infancy—is here always subjugated to

the pedagogical imperative. This is a textbook and a broad introduction, and in many cases is

much more selective than comprehensive.

It does differ from other introductions though. An endeavour has been made to take each

element of the theory that has been presented far enough to enable the student to actually

use it to compute some quantity of practical engineering interest, even if the methods thus

arrived at are either not exactly in the same form as would be used in practice or if they are

only expected to be applied here to somewhat simplified cases. This has been preferred to

passive descriptions of, say finite-volume Euler or Reynolds-averaged Navier–Stokes solvers,

which while undeniably important in contemporary practical aerodynamics certainly cannot

be implemented in an undergraduate course. We firmly believe that engineers understand

best by doing, and are persuaded therefore that better users of the state-of-the-art codes will

ultimately be bred from students conversant with the mechanics of some small programs

than from those whose first introduction to computational aerodynamics is by way of a

black box.

As to the interdependence of the sections of the book, the core consists of the plane ideal

theory of lift in Chapters 2–6, optionally extended by Chapters 7 and 8 on discrete singularity

methods. This core is then modified to take into account three factors: three-dimensionality

(Chapters 9–14), viscosity (Chapters 15–17), and compressibility (Chapters 18–19). Although

in practice these departures from ideality do interact, here in this introduction only first-order

corrections are attempted and so these any of these three modules can be taken in any order

after the core. The chapters of each should be taken in sequence but within each, the later

chapters may be omitted. Chapters 13 and 14 on three-dimensional discrete vortex methods

presuppose mastery of the two-dimensional methods in Chapters 7 and 8.

A note on the included computer programs

A note should be made here on the programs developed and presented in the text. These are

not intended to be production programs! They stand in relation to such as the chalkings on a

classroom blackboard stand to the real analysis or design calculations of a working engineer:

introduced intermediate quantities are not always defined, physical units of measurement are

omitted, side-cases are ignored, and checks are entirely absent. These snippets are purely

offered as educational illustrations of some of the key methods of computational aerodynamics.

To that end, they are necessarily clear and brief rather than robust, general, or even efficient.

No effort has been put into such essential aspects of software engineering as modularity, data

encapsulation and abstraction, input validation, exception handling, unit testing, integration

testing, or even documentation beyond the surrounding discussion in the text which they serve.

They do do what they are supposed to, with the inputs given, but very close behind that primary

goal of basic functionality have been brevity and clarity, since it is believed that these virtues

will best facilitate the conveying of the essential ideas embodied.

To write real aerodynamical computer programs— i.e. those to be saved and used at a later

date, perhaps by other than their author, perhaps by users who will not read let alone analyse

the source code, and perhaps even for some definite practical end—one requires not just an

understanding of the physics, which is what this book was written to provide an introduction

to, but also good grounding in numerical analysis and software engineering. The former is

touched on here, as there is often some true analogy between the refinement of a numerical

approximation and its closer approach to the underlying physics, but the latter is completely

neglected as sadly out of scope. Those who hope to write computer programs which will be

relied upon (this being perhaps the most significant criterion of merit) must not necessarily

themselves master The Art of Computer Programming (Knuth 1968, 1969, 1973, 2011) but at

least gain an appreciation of software engineering and most often also engage and collaborate

with those with more skills in that area. Real programs today, and this will be even more the

case in the future, are, as aircraft have been for many decades, composite machines of many

subassemblies and subsystems created and put together by many people at different times and

separate locations; even the little programs here provide a simple example of this last point in

that whereas those listed by Kuethe and Chow (1998), Katz and Plotkin (2001), and Moran

(2003) all contained the complete code for solving systems of linear equations, here we are

able to avail ourselves of the standard operations provided for this. Whereas William Henson

Preface xxi

and John Stringfellow might have constructed just about all of their Model of 1848 by hand

or at least in their own workshops (Davy 1931), only hobbyists would consider doing this for

any aircraft today.

Foremost, we trust that the little snippets served here will be more easily digested than the

slabs of FORTRAN to be found in the previous generation of textbooks on aerodynamics. They

might serve as points of departure or suggestions, or, without harm, left as mere illustrations of

discussions of physics. Those continuing into research into computational aerodynamics will

not be served far past their first steps with these training programs, but the hope is that having

learned to read, use, and modify these, it will be found easier to use and adapt real programs

and to craft the next generation of them.

### Acknowledgements

My first debt is to my teachers, in particular the late Dr Jonathan Harris. I am also very grateful

to Professors Douglass Auld and Steven Armfield for first inviting me to give the introductory

aerodynamical course at Sydney, and then allowing me such scope in adapting the curriculum

to make use of contemporary computational systems.

This book was developed by the author entirely using free software, that is, not so much

software distributed free of charge, but software distributed along with its source code under

licences such as the Free Software Foundation’s General Public Licence. The programs used,

besides GNU Octave, include LATEX, GNU Emacs, GNU Make, Asymptote, and matplotlib.

The author is deeply appreciative of the skill and time that their several authors, distributed

around the world, have put into them, and equally appreciative of the power and elegance of

these programs, which now form a most useful part of the common intellectual patrimony of

the aeronautical engineering profession.

My last debt is to my readers, beyond the students of aerodynamics at Sydney such as

Sujee Mampitiyarachchi, David Wilson, Christopher Chapman, and Thomas Chubb. Here I

can only thank the earliest of these, Jo˜ao Henriques, Andreas Puhl, and Pierre-Yves Lagr´ee,

for bringing errors, inconsistencies, ambiguities, and obfuscations to my attention—I have

endeavoured to fix these and more, but apologize for the multitude that undoubtedly remain.