| Series Preface | |||
| Preface | |||
| 1 | Introduction | ||
| 1.1 | Partial Differential Equations---Some Basics | ||
| 1.1.1 | First-Order Hyperbolic Equations | ||
| 1.1.2 | Linear Second-Order Equations in Two Independent Variables | ||
| 1.2 | Wave Equations in Geophysical Fluid Dynamics | ||
| 1.2.1 | Hyperbolic Equations | ||
| 1.2.2 | Filtered Equations | ||
| 1.3 | Strategies for Numerical Approximation | ||
| 1.3.1 | Approximating Calculus with Algebra | ||
| 1.3.2 | Marching Schemes | ||
| Problems | |||
| 2 | Basic Finite-Difference Methods | ||
| 2.1 | Accuracy and Consistency | ||
| 2.2 | Stability and Convergence | ||
| 2.2.1 | The Energy Method | ||
| 2.2.2 | Von Neumann's Method | ||
| 2.2.3 | The Courant--Fredrichs--Lewy Condition | ||
| 2.3 | Time-Differencing | ||
| 2.3.1 | The Oscillation Equation: Phase-Speed and Amplitude Error | ||
| 2.3.2 | Single-Stage Two-Level Schemes | ||
| 2.3.3 | Multistage Methods | ||
| 2.3.4 | Three-Level Schemes | ||
| 2.3.5 | Controlling the Leapfrog Computational Mode | ||
| 2.3.6 | Higher-Order Schemes | ||
| 2.4 | Space-Differencing | ||
| 2.4.1 | Differential--Difference Equations and Wave Dispersion | ||
| 2.4.2 | Dissipation, Dispersion, and the Modified Equation | ||
| 2.4.3 | Artificial Dissipation | ||
| 2.4.4 | Compact Differencing | ||
| 2.5 | Combined Time- and Space-Differencing | ||
| 2.5.1 | The Discrete-Dispersion Relation | ||
| 2.5.2 | The Modified Equation | ||
| 2.5.3 | The Lax--Wendroff Method | ||
| 2.6 | Summary Discussion of Elementary Methods | ||
| Problems | |||
| 3 | Beyond the One-Way Wave Equation | ||
| 3.1 | Systems of Equations | ||
| 3.1.1 | Stability | ||
| 3.1.2 | Staggered Meshes | ||
| 3.2 | Three or More Independent Variables | ||
| 3.2.1 | Scalar Advection in Two Dimensions | ||
| 3.2.2 | Systems of Equations in Several Dimensions | ||
| 3.3 | Splitting into Fractional Steps | ||
| 3.3.1 | Split Explicit Schemes | ||
| 3.3.2 | Split Implicit Schemes | ||
| 3.3.3 | Stability of Split Schemes | ||
| 3.4 | Diffusion, Sources, and Sinks | ||
| 3.4.1 | Pure Diffusion | ||
| 3.4.2 | Advection and Diffusion | ||
| 3.4.3 | Advection with Sources and Sinks | ||
| 3.5 | Linear Equations with Variable Coefficients | ||
| 3.5.1 | Aliasing Error | ||
| 3.5.2 | Conservation and Stability | ||
| 3.6 | Nonlinear Instability | ||
| 3.6.1 | Burgers's Equation | ||
| 3.6.2 | The Barotropic Vorticity Equation | ||
| Problems | |||
| 4 | Series-Expansion Methods | ||
| 4.1 | Strategies for Minimizing the Residual | ||
| 4.2 | The Spectral Method | ||
| 4.2.1 | Comparison with Finite-Difference Methods | ||
| 4.2.2 | Improving Efficiency Using the Transform Method | ||
| 4.2.3 | Conservation and the Galerkin Approximation | ||
| 4.3 | The Pseudospectral Method | ||
| 4.4 | Spherical Harmonics | ||
| 4.4.1 | Truncating the Expansion | ||
| 4.4.2 | Elimination of the Pole Problem | ||
| 4.4.3 | Gaussian Quadrature and the Transform Method | ||
| 4.4.4 | Nonlinear Shallow-Water Equations | ||
| 4.5 | The Finite-Element Method | ||
| 4.5.1 | Galerkin Approximation with Chapeau Functions | ||
| 4.5.2 | Petrov--Galerkin and Taylor--Galerkin Methods | ||
| 4.5.3 | Quadratic Expansion Functions | ||
| 4.5.4 | Hermite-Cubic Expansion Functions | ||
| 4.5.5 | Two-Dimensional Expansion Functions | ||
| Problems | |||
| 5 | Finite Volume Methods | ||
| 5.1 | Conservation Laws and Weak Solutions | ||
| 5.1.1 | The Riemann Problem | ||
| 5.1.2 | Entropy-Consistent Solutions | ||
| 5.2 | Finite-Volume Methods and Convergence | ||
| 5.2.1 | Monotone Schemes | ||
| 5.2.2 | TVD Methods | ||
| 5.3 | Discontinuities in Geophysical Fluid Dynamics | ||
| 5.4 | Flux-Corrected Transport | ||
| 5.4.1 | Flux Correction: The Original Proposal | ||
| 5.4.2 | The Zalesak Corrector | ||
| 5.4.3 | Iterative Flux Correction | ||
| 5.5 | Flux-Limiter Methods | ||
| 5.5.1 | Ensuring That the Scheme Is TVD | ||
| 5.5.2 | Possible Flux Limiters | ||
| 5.5.3 | Flow Velocities of Arbitrary Sign | ||
| 5.6 | Approximation with Local Polynomials | ||
| 5.6.1 | Godunov's Method | ||
| 5.6.2 | Piecewise-Linear Functions | ||
| 5.7 | Two Spatial Dimensions | ||
| 5.7.1 | FCT in Two Dimensions | ||
| 5.7.2 | Flux-Limiter Methods for Uniform 2-D Flow | ||
| 5.7.3 | Nonuniform Nondivergent Flow | ||
| 5.7.4 | A Numerical Example | ||
| 5.7.5 | When Is a Flux Limiter Necessary? | ||
| 5.8 | Schemes for Positive Definite Advection | ||
| 5.8.1 | An FCT Approach | ||
| 5.8.2 | Antidiffusion via Upstream Differencing | ||
| 5.9 | Curvilinear Coordinates | ||
| Problems | |||
| 6 | Semi-Lagrangian Methods | ||
| 6.1 | The Scalar Advection Equation | ||
| 6.1.1 | Constant Velocity | ||
| 6.1.2 | Variable Velocity | ||
| 6.2 | Forcing in the Lagrangian Frame | ||
| 6.3 | Systems of Equations | ||
| 6.3.1 | Comparison with the Method of Characteristics | ||
| 6.3.2 | Semi-implicit Semi-Lagrangian Schemes | ||
| 6.4 | Alternative Trajectories | ||
| 6.4.1 | A Noninterpolating Leapfrog Scheme | ||
| 6.4.2 | Interpolation via Parametrized Advection | ||
| 6.5 | Eulerian or Semi-Lagrangian? | ||
| Problems | |||
| 7 | Physically Insignificant Fast Waves | ||
| 7.1 | The Projection Method | ||
| 7.1.1 | Forward-in-Time Implementation | ||
| 7.1.2 | Leapfrog Implementation | ||
| 7.1.3 | Solving the Poisson Equation for Pressure | ||
| 7.2 | The Semi-implicit Method | ||
| 7.2.1 | Large Time Steps and Poor Accuracy | ||
| 7.2.2 | A Prototype Problem | ||
| 7.2.3 | Semi-implicit Solution of the Shallow-Water Equations | ||
| 7.2.4 | Semi-implicit Solution of the Euler Equations | ||
| 7.2.5 | Numerical Implementation | ||
| 7.3 | Fractional-Step Methods | ||
| 7.3.1 | Complete Operator Splitting | ||
| 7.3.2 | Partially Split Operators | ||
| 7.4 | Summary of Schemes for Nonhydrostatic Models | ||
| 7.5 | The Hydrostatic Approximation | ||
| 7.6 | Primitive Equation Models | ||
| 7.6.1 | Pressure and Sigma Coordinates | ||
| 7.6.2 | Spectral Representation of the Horizontal Structure | ||
| 7.6.3 | Vertical Differencing | ||
| 7.6.4 | Energy Conservation | ||
| 7.6.5 | Semi-implicit Time-Differencing | ||
| Problems | |||
| 8 | Nonreflecting Boundary Conditions | ||
| 8.1 | One-Dimensional Flow | ||
| 8.1.1 | Well-Posed Initial--Boundary Value Problems. | ||
| 8.1.2 | The Radiation Condition | ||
| 8.1.3 | Time-Dependent Boundary Data | ||
| 8.1.4 | Reflections at an Artificial Boundary--- The Continuous Case | ||
| 8.1.5 | Reflections at an Artificial Boundary--- The Discretized Case | ||
| 8.1.6 | Stability in the Presence of Boundaries | ||
| 8.2 | Two-Dimensional Shallow-Water Flow | ||
| 8.2.1 | One-Way Wave Equations | ||
| 8.2.2 | Numerical Implementation | ||
| 8.3 | Two-Dimensional Stratified Flow | ||
| 8.3.1 | Lateral Boundary Conditions | ||
| 8.3.2 | Upper Boundary Conditions | ||
| 8.3.3 | Numerical Implementation of the Radiation Upper Boundary Condition | ||
| 8.4 | Wave-Absorbing Layers | ||
| 8.5 | Summary | ||
| Problems | |||
| Appendix - Numerical Miscellany | |||
| A.1 | Finite-Difference Operator Notation | ||
| A.2 | Tridiagonal Solvers | ||
| A.2.1 | Code for a Tridiagonal Solver | ||
| A.2.2 | Code for a Periodic Tridiagonal Solver | ||
| Bibliography | |||
| Index | |||
Back to Numerical Methods for Wave Equations in Geophysical Fluid Dynamics
Dale Durran