1. Computational Fluid Dynamics: An Introduction.- 1.1 Advantages of Computational Fluid Dynamics.- 1.2 Typical Practical Problems.- 1.2.1 Complex Geometry, Simple Physics.- 1.2.2 Simpler Geometry, More Complex Physics.- 1.2.3 Simple Geometry, Complex Physics.- 1.3 Equation Structure.- 1.4 Overview of Computational Fluid Dynamics.- 1.5 Further Reading.- 2. Partial Differential Equations.- 2.1 Background.- 2.1.1 Nature of a Well-Posed Problem.- 2.1.2 Boundary and Initial Conditions.- 2.1.3 Classification by Characteristics.- 2.1.4 Systems of Equations.- 2.1.5 Classification by Fourier Analysis.- 2.2 Hyperbolic Partial Differential Equations.- 2.2.1 Interpretation by Characteristics.- 2.2.2 Interpretation on a Physical Basis.- 2.2.3 Appropriate Boundary (and Initial) Conditions.- 2.3 Parabolic Partial Differential Equations.- 2.3.1 Interpretation by Characteristics.- 2.3.2 Interpretation on a Physical Basis.- 2.3.3 Appropriate Boundary (and Initial) Conditions.- 2.4 Elliptic Partial Differential Equations.- 2.4.1 Interpretation by Characteristics.- 2.4.2 Interpretation on a Physical Basis.- 2.4.3 Appropriate Boundary Conditions.- 2.5 Traditional Solution Methods.- 2.5.1 The Method of Characteristics.- 2.5.2 Separation of Variables.- 2.5.3 Green's Function Method.- 2.6 Closure.- 2.7 Problems.- 3. Preliminary Computational Techniques.- 3.1 Discretisation.- 3.1.1 Converting Derivatives to Discrete Algebraic Expressions.- 3.1.2 Spatial Derivatives.- 3.1.3 Time Derivatives.- 3.2 Approximation to Derivatives.- 3.2.1 Taylor Series Expansion.- 3.2.2 General Technique.- 3.2.3 Three-point Asymmetric Formula for [?T/?x]jn.- 3.3 Accuracy of the Discretisation Process.- 3.3.1 Higher-Order vs Low-Order Formulae.- 3.4 Wave Representation.- 3.4.1 Significance of Grid Coarseness.- 3.4.2 Accuracy of Representing Waves.- 3.4.3 Accuracy of Higher-Order Formulae.- 3.5 Finite Difference Method.- 3.5.1 Conceptual Implementation.- 3.5.2 DIFF: Transient Heat Conduction (Diffusion) Problem.- 3.6 Closure.- 3.7 Problems.- 4. Theoretical Background.- 4.1 Convergence.- 4.1.1 Lax Equivalence Theorem.- 4.1.2 Numerical Convergence.- 4.2 Consistency.- 4.2.1 FTCS Scheme.- 4.2.2 Fully Implicit Scheme.- 4.3 Stability.- 4.3.1 Matrix Method: FTCS Scheme.- 4.3.2 Matrix Method: General Two-Level Scheme.- 4.3.3 Matrix Method: Derivative Boundary Conditions.- 4.3.4 Von Neumann Method: FTCS Scheme.- 4.3.5 Von Neumann Method: General Two-Level Scheme.- 4.4 Solution Accuracy.- 4.4.1 Richardson Extrapolation.- 4.5 Computational Efficiency.- 4.5.1 Operation Count Estimates.- 4.6 Closure.- 4.7 Problems.- 5. Weighted Residual Methods.- 5.1 General Formulation.- 5.1.1 Application to an Ordinary Differential Equation.- 5.2 Finite Volume Method.- 5.2.1 Equations with First Derivatives Only.- 5.2.2 Equations with Second Derivatives.- 5.2.3 FIVOL: Finite Volume Method Applied to Laplace's Equation.- 5.3 Finite Element Method and Interpolation.- 5.3.1 Linear Interpolation.- 5.3.2 Quadratic Interpolation.- 5.3.3 Two-Dimensional Interpolation.- 5.4 Finite Element Method and the Sturm-Liouville Equation.- 5.4.1 Detailed Formulation.- 5.4.2 STURM: Computation of the Sturm-Liouville Equation.- 5.5 Further Applications of the Finite Element Method.- 5.5.1 Diffusion Equation.- 5.5.2 DUCT: Viscous Flow in a Rectangular Duct.- 5.5.3 Distorted Computational Domains: Isoparametric Formulation.- 5.6 Spectral Method.- 5.6.1 Diffusion Equation.- 5.6.2 Neumann Boundary Conditions.- 5.6.3 Pseudospectral Method.- 5.7 Closure.- 5.8 Problems.- 6. Steady Problems.- 6.1 Nonlinear Steady Problems.- 6.1.1 Newton's Method.- 6.1.2 NEWTON: Flat-Plate Collector Temperature Analysis.- 6.1.3 NEWTBU: Two-Dimensional Steady Burgers' Equations.- 6.1.4 Quasi-Newton Method.- 6.2 Direct Methods for Linear Systems.- 6.2.1 FACT/SOLVE: Solution of Dense Systems.- 6.2.2 Tridiagonal Systems: Thomas Algorithm.- 6.2.3 BANFAC/BANSOL: Narrowly Banded Gauss Elimination.- 6.2.4 Generalised Thomas Algorithm.- 6.2.5 Block Tridiagonal Systems.- 6.2.6 Direct Poisson Solvers.- 6.3 Iterative Methods.- 6.3.1 General Structure.- 6.3.2 Duct Flow by Iterative Methods.- 6.3.3 Strongly Implicit Procedure.- 6.3.4 Acceleration Techniques.- 6.3.5 Multigrid Methods.- 6.4 Pseudotransient Method.- 6.4.1 Two-Dimensional, Steady Burgers' Equations.- 6.5 Strategies for Steady Problems.- 6.6 Closure.- 6.7 Problems.- 7. One-Dimensional Diffusion Equation.- 7.1 Explicit Methods.- 7.1.1 FTCS Scheme.- 7.1.2 Richardson and DuFort-Frankel Schemes.- 7.1.3 Three-Level Scheme.- 7.1.4 DIFEX: Numerical Results for Explicit Schemes.- 7.2 Implicit Methods.- 7.2.1 Fully Implicit Scheme.- 7.2.2 Crank-Nicolson Scheme.- 7.2.3 Generalised Three-Level Scheme.- 7.2.4 Higher-Order Schemes.- 7.2.5 DIFIM: Numerical Results for Implicit Schemes.- 7.3 Boundary and Initial Conditions.- 7.3.1 Neumann Boundary Conditions.- 7.3.2 Accuracy of Neumann Boundary Condition Implementation.- 7.3.3 Initial Conditions.- 7.4 Method of Lines.- 7.5 Closure.- 7.6 Problems.- 8. Multidimensional Diffusion Equation.- 8.1 Two-Dimensional Diffusion Equation.- 8.1.1 Explicit Methods.- 8.1.2 Implicit Method.- 8.2 Multidimensional Splitting Methods.- 8.2.1 ADI Method.- 8.2.2 Generalised Two-Level Scheme.- 8.2.3 Generalised Three-Level Scheme.- 8.3 Splitting Schemes and the Finite Element Method.- 8.3.1 Finite Element Splitting Constructions.- 8.3.2 TWDIF: Generalised Finite Difference/Finite Element Implementation.- 8.4 Neumann Boundary Conditions.- 8.4.1 Finite Difference Implementation.- 8.4.2 Finite Element Implementation.- 8.5 Method of Fractional Steps.- 8.6 Closure.- 8.7 Problems.- 9. Linear Convection-Dominated Problems.- 9.1 One-Dimensional Linear Convection Equation.- 9.1.1 FTCS Scheme.- 9.1.2 Upwind Differencing and the CFL Condition.- 9.1.3 Leapfrog and Lax-Wendroff Schemes.- 9.1.4 Crank-Nicolson Schemes.- 9.1.5 Linear Convection of a Truncated Sine Wave.- 9.2 Numerical Dissipation and Dispersion.- 9.2.1 Fourier Analysis.- 9.2.2 Modified Equation Approach.- 9.2.3 Further Discussion.- 9.3 Steady Convection-Diffusion Equation.- 9.3.1 Cell Reynolds Number Effects.- 9.3.2 Higher-Order Upwind Scheme.- 9.4 One-Dimensional Transport Equation.- 9.4.1 Explicit Schemes.- 9.4.2 Implicit Schemes.- 9.4.3 TRAN: Convection of a Temperature Front.- 9.5 Two-Dimensional Transport Equation.- 9.5.1 Split Formulations.- 9.5.2 THERM: Thermal Entry Problem.- 9.5.3 Cross-Stream Diffusion.- 9.6 Closure.- 9.7 Problems.- 10. Nonlinear Convection-Dominated Problems.- 10.1 One-Dimensional Burgers' Equation.- 10.1.1 Physical Behaviour.- 10.1.2 Explicit Schemes.- 10.1.3 Implicit Schemes.- 10.1.4 BURG: Numerical Comparison.- 10.1.5 Nonuniform Grid.- 10.2 Systems of Equations.- 10.3 Group Finite Element Method.- 10.3.1 One-Dimensional Group Formulation.- 10.3.2 Multidimensional Group Formulation.- 10.4 Two-Dimensional Burgers' Equation.- 10.4.1 Exact Solution.- 10.4.2 Split Schemes.- 10.4.3 TWBURG: Numerical Solution.- 10.5 Closure.- 10.6 Problems.- Appendix A.1 Empirical Determination of the Execution Time of Basic Operations.- A.2 Mass and Difference Operators.- References.