| Preface | p. vii |
| Approximating Functions, Derivatives and Integrals | |
| Spectral Approximation | p. 3 |
| Preamble: Series Solution of PDEs | p. 3 |
| The Fourier Basis Functions and Fourier Series | p. 4 |
| Series Truncation | p. 6 |
| Modal vs. Nodal Approximation | p. 11 |
| Discrete Orthogonality and Quadrature | p. 11 |
| Fourier Interpolation | p. 14 |
| Direct Computation of the Fourier Interpolation | p. 17 |
| Error of the Fourier Interpolation | p. 19 |
| The Derivative of the Fourier Interpolant | p. 21 |
| Polynomial Basis Functions | p. 23 |
| The Legendre Polynomials | p. 24 |
| The Chebyshev Polynomials | p. 25 |
| Polynomial Series | p. 26 |
| Polynomial Series Truncation | p. 28 |
| Derivatives of Truncated Series | p. 30 |
| Polynomial Quadrature | p. 31 |
| Orthogonal Polynomial Interpolation | p. 35 |
| Algorithms for Periodic Functions | p. 39 |
| How to Compute the Discrete Fourier Transform | p. 39 |
| Fourier Transforms of Complex Sequences | p. 40 |
| Fourier Transforms of Real Sequences | p. 43 |
| The Fourier Transform in Two Space Variables | p. 48 |
| The Real Fourier Transform | p. 50 |
| How to Evaluate the Fourier Interpolation Derivative by FFT | p. 53 |
| How to Compute Derivatives by Matrix Multiplication | p. 54 |
| Algorithms for Non-Periodic Functions | p. 59 |
| How to Compute the Legendre and Chebyshev Polynomials | p. 59 |
| How to Compute the Gauss Quadrature Nodes and Weights | p. 62 |
| Legendre Gauss Quadrature | p. 62 |
| Legendre Gauss-Lobatto Quadrature | p. 64 |
| Chebyshev Gauss Quadratures | p. 67 |
| How to Evaluate Chebyshev Interpolants via the FFT | p. 67 |
| The Fast Cheyshev Transform | p. 68 |
| How to Evaluate Polynomial Interpolants in Lagrange Form | p. 73 |
| How to Evaluate Polynomial Derivatives | p. 78 |
| Direct Evaluation of the Derivative | p. 79 |
| Evaluation of Derivatives by Matrix Multiplication | p. 81 |
| Even-Odd Decomposition | p. 82 |
| Evaluation by Transform Methods | p. 84 |
| Performance of Various Polynomial Derivative Algorithms | p. 84 |
| Approximating Solutions of PDEs | |
| Survey of Spectral Approximations | p. 91 |
| The Fourier Collocation Method | p. 94 |
| How to Implement the Fourier Collocation Method | p. 96 |
| Benchmark Solution | p. 99 |
| The Fourier Galerkin Method | p. 101 |
| How to Implement the Fourier Galerkin Method | p. 103 |
| Benchmark Solution | p. 106 |
| Nonlinear and Product Terms | p. 107 |
| The Galerkin Approximation | p. 107 |
| How to Compute the Convolution Sum | p. 109 |
| The Collocation Approximation | p. 112 |
| Polynomial Collocation Methods | p. 115 |
| Approximation of the Diffusion Equation | p. 115 |
| How to Implement the Methods | p. 117 |
| Benchmark Solution | p. 119 |
| Approximation of Scalar Advection | p. 120 |
| The Legendre Galerkin Method | p. 123 |
| How to Implement the Method | p. 127 |
| The Nodal Continuous Galerkin Method | p. 129 |
| How to Implement the Method | p. 133 |
| Benchmark Solution | p. 134 |
| The Nodal Discontinuous Galerkin Method | p. 134 |
| How to Implement the Method | p. 138 |
| Benchmark Solution | p. 143 |
| Summary and Some Broad Generalizations | p. 144 |
| Spectral Approximation on the Square | p. 149 |
| Approximation of Functions in Multiple Space Dimensions | p. 149 |
| Potential Problems on the Square | p. 151 |
| The Collocation Approximation | p. 152 |
| The Nodal Galerkin Approximation | p. 173 |
| Approximation of Time Dependent Advection-Diffusion | p. 188 |
| The Collocation Approximation | p. 188 |
| The Nodal Galerkin Approximation | p. 189 |
| Time Integration | p. 191 |
| How to Implement the Approximations | p. 193 |
| Benchmark Solution: Advection and Diffusion of a Spot in a Uniform Flow | p. 200 |
| Approximation of Wave Propagation Problems | p. 202 |
| The Nodal Discontinuous Galerkin Approximation | p. 204 |
| How to Implement the Nodal Discontinuous Galerkin Approximation | p. 212 |
| Benchmark Solution: Plane Wave Propagation | p. 216 |
| Benchmark Solution: Propagation of a Circular Sound Wave | p. 217 |
| Transformation Methods from Square to Non-Square Geometries | p. 223 |
| Mappings and Coordinate Transformations | p. 223 |
| Mapping a Straight Sided Quadrilateral | p. 224 |
| How to Approximate Curved Boundaries | p. 225 |
| How to Map the Reference Square to a Curved-Sided Quadrilateral | p. 229 |
| Transformation of Equations under Mappings | p. 231 |
| Two-Dimensional Forms | p. 238 |
| How to Approximate the Metric Terms | p. 240 |
| How to Compute the Metric Terms | p. 242 |
| Spectral Methods in Non-Square Geometries | p. 247 |
| Steady Potentials in a Quadrilateral Domain | p. 247 |
| The Collocation Approximation | p. 247 |
| The Nodal Galerkin Approximation | p. 252 |
| Solution of the Linear Systems | p. 254 |
| Benchmark Solution: Potential in Non-Square Domains | p. 259 |
| Benchmark Solution: Incompressible Flow over a Circular Obstacle | p. 261 |
| Steady Potentials in an Annulus | p. 264 |
| Benchmark Solution: Potential in an Annulus with a Source | p. 271 |
| Advection and Diffusion in Quadrilateral Domains | p. 272 |
| Transformation of the Advection-Diffusion Equation | p. 272 |
| The Collocation Approximation | p. 273 |
| The Nodal Galerkin Approximation | p. 274 |
| How to Implement the Approximations | p. 275 |
| Benchmark Solution: Advection and Diffusion in a Non-Square Geometry | p. 276 |
| Benchmark Solution: Advection and Diffusion of a Pollutant in a Curved Channel | p. 277 |
| Conservation Laws in Quadrilateral Domains | p. 279 |
| The Nodal Discontinuous Galerkin Approximation | p. 280 |
| How to Implement the Nodal Discontinuous Galerkin Approximation | p. 282 |
| Benchmark Solution: Acoustic Scattering off a Cylinder | p. 285 |
| Spectral Element Methods | p. 293 |
| Spectral Element Methods in One Space Dimension | p. 296 |
| The Continuous Galerkin Spectral Element Method | p. 297 |
| How to Implement the Continuous Galerkin Spectral Element Method | p. 301 |
| Benchmark Solution: Cooling of a Temperature Spot | p. 305 |
| The Discontinuous Galerkin Spectral Element Method | p. 308 |
| How to Implement the Discontinuous Galerkin Spectral Element Method | p. 310 |
| Benchmark Solution: Wave Propagation and Reflection | p. 315 |
| The Two-Dimensional Mesh and Its Specification | p. 317 |
| How to Construct a Two-Dimensional Mesh | p. 321 |
| Benchmark Solution: A Spectral Element Mesh for a Disk | p. 326 |
| The Spectral Element Method in Two Space Dimensions | p. 326 |
| How to Implement the Spectral Element Method | p. 331 |
| Benchmark Solution: Steady Temperatures in a Long Cylindrical Rod | p. 340 |
| The Discontinuous Galerkin Spectral Element Method | p. 341 |
| How to Implement the Discontinuous Galerkin Spectral Element Method | p. 343 |
| Benchmark Solution: Propagation of a Circular Wave in a Circular Domain | p. 344 |
| Benchmark Solution: Transmission and Reflection from a Material Interface | p. 347 |
| Pseudocode Conventions | p. 355 |
| Floating Point Arithmetic | p. 359 |
| Basic Linear Algebra Subroutines (BLAS) | p. 361 |
| Linear Solvers | p. 363 |
| Direct Solvers | p. 363 |
| Tri-Diagonal Solver | p. 363 |
| LU Factorization | p. 364 |
| Iterative Solvers | p. 368 |
| Data Structures | p. 373 |
| Linked Lists | p. 373 |
| Example: Elements that Share a Node | p. 376 |
| Hash Tables | p. 377 |
| Example: Avoiding Duplicate Edges in a Mesh | p. 381 |
| References | p. 385 |
| Index of Algorithms | p. 387 |
| Subject Index | p. 389 |
| Table of Contents provided by Ingram. All Rights Reserved. |