# THEORY OF LIFT INTRODUCTORY COMPUTATIONAL AERODYNAMICS IN MATLAB G. D. McBain

Pages 326
Views 346
Size 3.7 MiB

## 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
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
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
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
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
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.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
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
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
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.6 Exercises 154
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
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.6 Lift–Incidence Relation 180
11.6.1 Linear Lift–Incidence Relation 181
11.8 Exercises 182
References 183
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.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
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.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
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
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
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.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
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
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
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
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
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.