Preface |
|
vii | |
|
|
1 | (34) |
|
1.1 Partial Differential Equations: Some Basics |
|
|
2 | (9) |
|
1.1.1 First-Order Hyperbolic Equations |
|
|
4 | (3) |
|
1.1.2 Linear Second-Order Equations in Two Independent Variables |
|
|
7 | (4) |
|
1.2 Wave Equations in Geophysical Fluid Dynamics |
|
|
11 | (15) |
|
1.2.1 Hyperbolic Equations |
|
|
12 | (8) |
|
|
20 | (6) |
|
1.3 Strategies for Numerical Approximation |
|
|
26 | (7) |
|
1.3.1 Approximating Calculus with Algebra |
|
|
26 | (4) |
|
|
30 | (3) |
|
|
33 | (2) |
|
2 Ordinary Differential Equations |
|
|
35 | (54) |
|
2.1 Stability, Consistency, and Convergence |
|
|
36 | (4) |
|
|
36 | (2) |
|
|
38 | (2) |
|
|
40 | (1) |
|
2.2 Additional Measures of Stability and Accuracy |
|
|
40 | (9) |
|
|
41 | (1) |
|
|
42 | (2) |
|
2.2.3 Single-Stage, Single-Step Schemes |
|
|
44 | (3) |
|
2.2.4 Looking Ahead to Partial Differential Equations |
|
|
47 | (1) |
|
|
48 | (1) |
|
2.3 Runge-Kutta (Multistage) Methods |
|
|
49 | (9) |
|
2.3.1 Explicit Two-Stage Schemes |
|
|
50 | (3) |
|
2.3.2 Explicit Three-and Four-Stage Schemes |
|
|
53 | (2) |
|
2.3.3 Strong-Stability-Preserving Methods |
|
|
55 | (2) |
|
2.3.4 Diagonally Implicit Runge-Kutta Methods |
|
|
57 | (1) |
|
|
58 | (14) |
|
2.4.1 Explicit Two-Step Schemes |
|
|
58 | (4) |
|
2.4.2 Controlling the Leapfrog Computational Mode |
|
|
62 | (5) |
|
2.4.3 Classical Multistep Methods |
|
|
67 | (5) |
|
|
72 | (9) |
|
2.5.1 Backward Differentiation Formulae |
|
|
73 | (2) |
|
2.5.2 Ozone Photochemistry |
|
|
75 | (2) |
|
2.5.3 Computing Backward-Euler Solutions |
|
|
77 | (1) |
|
2.5.4 Rosenbrock Runge-Kutta Methods |
|
|
78 | (3) |
|
|
81 | (4) |
|
|
85 | (4) |
|
3 Finite-Difference Approximations for One-Dimensional Transport |
|
|
89 | (58) |
|
3.1 Accuracy and Consistency |
|
|
89 | (3) |
|
3.2 Stability and Convergence |
|
|
92 | (8) |
|
|
94 | (2) |
|
3.2.2 Von Neumann's Method |
|
|
96 | (2) |
|
3.2.3 The Courant-Friedrichs-Lewy Condition |
|
|
98 | (2) |
|
3.3 Space Differencing for Simulating Advection |
|
|
100 | (17) |
|
3.3.1 Differential-Difference Equations and Wave Dispersion |
|
|
101 | (8) |
|
3.3.2 Dissipation, Dispersion, and the Modified Equation |
|
|
109 | (1) |
|
3.3.3 Artificial Dissipation |
|
|
110 | (4) |
|
3.3.4 Compact Differencing |
|
|
114 | (3) |
|
3.4 Fully Discrete Approximations to the Advection Equation |
|
|
117 | (11) |
|
3.4.1 The Discrete-Dispersion Relation |
|
|
119 | (3) |
|
3.4.2 The Modified Equation |
|
|
122 | (1) |
|
3.4.3 Stable Schemes of Optimal Accuracy |
|
|
123 | (1) |
|
3.4.4 The Lax-Wendroff Method |
|
|
124 | (4) |
|
3.5 Diffusion, Sources, and Sinks |
|
|
128 | (11) |
|
3.5.1 Advection and Diffusion |
|
|
130 | (7) |
|
3.5.2 Advection with Sources and Sinks |
|
|
137 | (2) |
|
|
139 | (2) |
|
|
141 | (6) |
|
4 Beyond One-Dimensional Transport |
|
|
147 | (56) |
|
|
147 | (10) |
|
|
148 | (5) |
|
|
153 | (4) |
|
4.2 Three or More Independent Variables |
|
|
157 | (12) |
|
4.2.1 Scalar Advection in Two Dimensions |
|
|
157 | (10) |
|
4.2.2 Systems of Equations in Several Dimensions |
|
|
167 | (2) |
|
4.3 Splitting into Fractional Steps |
|
|
169 | (7) |
|
4.3.1 Split Explicit Schemes |
|
|
170 | (3) |
|
4.3.2 Split Implicit Schemes |
|
|
173 | (1) |
|
4.3.3 Stability of Split Schemes |
|
|
174 | (2) |
|
4.4 Linear Equations with Variable Coefficients |
|
|
176 | (12) |
|
|
178 | (6) |
|
4.4.2 Conservation and Stability |
|
|
184 | (4) |
|
4.5 Nonlinear Instability |
|
|
188 | (9) |
|
|
189 | (4) |
|
4.5.2 The Barotropic Vorticity Equation |
|
|
193 | (4) |
|
|
197 | (6) |
|
5 Conservation Laws and Finite-Volume Methods |
|
|
203 | (78) |
|
5.1 Conservation Laws and Weak Solutions |
|
|
205 | (6) |
|
5.1.1 The Riemann Problem |
|
|
206 | (1) |
|
5.1.2 Entropy-Consistent Solutions |
|
|
207 | (4) |
|
5.2 Finite-Volume Methods and Convergence |
|
|
211 | (6) |
|
|
213 | (1) |
|
5.2.2 Total Variation Diminishing Methods |
|
|
214 | (3) |
|
5.3 Discontinuities in Geophysical Fluid Dynamics |
|
|
217 | (4) |
|
5.4 Flux-Corrected Transport |
|
|
221 | (5) |
|
5.4.1 Flux Correction: The Original Proposal |
|
|
222 | (1) |
|
5.4.2 The Zalesak Corrector |
|
|
223 | (3) |
|
5.4.3 Iterative Flux Correction |
|
|
226 | (1) |
|
|
226 | (9) |
|
5.5.1 Ensuring That the Scheme Is TVD |
|
|
227 | (3) |
|
5.5.2 Possible Flux Limiters |
|
|
230 | (4) |
|
5.5.3 Flow Velocities of Arbitrary Sign |
|
|
234 | (1) |
|
5.6 Subcell Polynomial Reconstruction |
|
|
235 | (8) |
|
|
235 | (3) |
|
5.6.2 Piecewise-Linear Functions |
|
|
238 | (2) |
|
5.6.3 The Piecewise-Parabolic Method |
|
|
240 | (3) |
|
5.7 Essentially Nonoscillatory and Weighted Essentially Nonoscillatory Methods |
|
|
243 | (10) |
|
5.7.1 Accurate Approximation of the Flux Divergence |
|
|
244 | (2) |
|
|
246 | (3) |
|
|
249 | (4) |
|
5.8 Preserving Smooth Extrema |
|
|
253 | (2) |
|
5.9 Two Spatial Dimensions |
|
|
255 | (16) |
|
5.9.1 FCT in Two Dimensions |
|
|
256 | (1) |
|
5.9.2 Flux-Limiter Methods for Uniform Two-Dimensional Flow |
|
|
257 | (3) |
|
5.9.3 Nonuniform Nondivergent Flow |
|
|
260 | (2) |
|
|
262 | (2) |
|
5.9.5 A Numerical Example |
|
|
264 | (5) |
|
5.9.6 When is a Limiter Necessary? |
|
|
269 | (2) |
|
5.10 Schemes for Positive-Definite Advection |
|
|
271 | (4) |
|
|
271 | (2) |
|
5.10.2 Antidiffusion via Upstream Differencing |
|
|
273 | (2) |
|
5.11 Curvilinear Coordinates |
|
|
275 | (2) |
|
|
277 | (4) |
|
6 Series-Expansion Methods |
|
|
281 | (76) |
|
6.1 Strategies for Minimizing the Residual |
|
|
281 | (3) |
|
|
284 | (15) |
|
6.2.1 Comparison with Finite-Difference Methods |
|
|
285 | (8) |
|
6.2.2 Improving Efficiency Using the Transform Method |
|
|
293 | (5) |
|
6.2.3 Conservation and the Galerkin Approximation |
|
|
298 | (1) |
|
6.3 The Pseudospectral Method |
|
|
299 | (4) |
|
|
303 | (17) |
|
6.4.1 Truncating the Expansion |
|
|
305 | (3) |
|
6.4.2 Elimination of the Pole Problem |
|
|
308 | (2) |
|
6.4.3 Gaussian Quadrature and the Transform Method |
|
|
310 | (5) |
|
6.4.4 Nonlinear Shallow-Water Equations |
|
|
315 | (5) |
|
6.5 The Finite-Element Method |
|
|
320 | (19) |
|
6.5.1 Galerkin Approximation with Chapeau Functions |
|
|
322 | (2) |
|
6.5.2 Petrov-Galerkin and Taylor-Galerkin Methods |
|
|
324 | (3) |
|
6.5.3 Quadratic Expansion Functions |
|
|
327 | (9) |
|
6.5.4 Two-Dimensional Expansion Functions |
|
|
336 | (3) |
|
6.6 The Discontinuous Galerkin Method |
|
|
339 | (11) |
|
6.6.1 Modal Implementation |
|
|
341 | (2) |
|
6.6.2 Nodal Implementation |
|
|
343 | (3) |
|
6.6.3 An Example: Advection |
|
|
346 | (4) |
|
|
350 | (7) |
|
7 Semi-Lagrangian Methods |
|
|
357 | (36) |
|
7.1 The Scalar Advection Equation |
|
|
358 | (11) |
|
|
359 | (6) |
|
|
365 | (4) |
|
7.2 Finite-Volume Integrations with Large Time Steps |
|
|
369 | (3) |
|
7.3 Forcing in the Lagrangian Frame |
|
|
372 | (5) |
|
|
377 | (6) |
|
7.4.1 Comparison with the Method of Characteristics |
|
|
377 | (2) |
|
7.4.2 Semi-implicit Semi-Lagrangian Schemes |
|
|
379 | (4) |
|
7.5 Alternative Trajectories |
|
|
383 | (5) |
|
7.5.1 A Noninterpolating Leapfrog Scheme |
|
|
384 | (2) |
|
7.5.2 Interpolation via Parameterized Advection |
|
|
386 | (2) |
|
7.6 Eulerian or Semi-Lagrangian? |
|
|
388 | (2) |
|
|
390 | (3) |
|
8 Physically Insignificant Fast Waves |
|
|
393 | (60) |
|
8.1 The Projection Method |
|
|
394 | (6) |
|
8.1.1 Forward-in-Time Implementation |
|
|
395 | (2) |
|
8.1.2 Leapfrog Implementation |
|
|
397 | (1) |
|
8.1.3 Solving the Poisson Equation for Pressure |
|
|
398 | (2) |
|
8.2 The Semi-implicit Method |
|
|
400 | (16) |
|
8.2.1 Large Time Steps and Poor Accuracy |
|
|
401 | (2) |
|
8.2.2 A Prototype Problem |
|
|
403 | (2) |
|
8.2.3 Semi-implicit Solution of the Shallow-Water Equations |
|
|
405 | (3) |
|
8.2.4 Semi-implicit Solution of the Euler Equations |
|
|
408 | (6) |
|
8.2.5 Numerical Implementation |
|
|
414 | (2) |
|
8.3 Fractional-Step Methods |
|
|
416 | (13) |
|
8.3.1 Completely Split Operators |
|
|
417 | (5) |
|
8.3.2 Partially Split Operators |
|
|
422 | (7) |
|
8.4 Summary of Schemes for Nonhydrostatic Models |
|
|
429 | (2) |
|
8.5 The Quasi-Hydrostatic Approximation |
|
|
431 | (2) |
|
8.6 Primitive Equation Models |
|
|
433 | (15) |
|
8.6.1 Pressure and σ Coordinates |
|
|
434 | (4) |
|
8.6.2 Spectral Representation of the Horizontal Structure |
|
|
438 | (2) |
|
8.6.3 Vertical Differencing |
|
|
440 | (2) |
|
8.6.4 Energy Conservation |
|
|
442 | (4) |
|
8.6.5 Semi-implicit Time Differencing |
|
|
446 | (2) |
|
|
448 | (5) |
|
9 Nonreflecting Boundary Conditions |
|
|
453 | (44) |
|
|
455 | (15) |
|
9.1.1 Well-Posed Initial-Boundary-Value Problems |
|
|
455 | (2) |
|
9.1.2 The Radiation Condition |
|
|
457 | (2) |
|
9.1.3 Time-Dependent Boundary Data |
|
|
459 | (1) |
|
9.1.4 Reflections at an Artificial Boundary: The Continuous Case |
|
|
460 | (1) |
|
9.1.5 Reflections at an Artificial Boundary: The Discretized Case |
|
|
461 | (5) |
|
9.1.6 Stability in the Presence of Boundaries |
|
|
466 | (4) |
|
9.2 Two-Dimensional Shallow-Water Flow |
|
|
470 | (7) |
|
9.2.1 One-Way Wave Equations |
|
|
471 | (4) |
|
9.2.2 Numerical Implementation |
|
|
475 | (2) |
|
9.3 Two-Dimensional Stratified Flow |
|
|
477 | (11) |
|
9.3.1 Lateral Boundary Conditions |
|
|
477 | (1) |
|
9.3.2 Upper Boundary Conditions |
|
|
477 | (9) |
|
9.3.3 Numerical Implementation of the Radiation Upper Boundary Condition |
|
|
486 | (2) |
|
9.4 Wave-Absorbing Layers |
|
|
488 | (4) |
|
|
492 | (1) |
|
|
493 | (4) |
|
|
497 | (4) |
|
A.1 Finite-Difference Operator Notation |
|
|
497 | (1) |
|
|
498 | (3) |
|
A.2.1 Code for a Tridiagonal Solver |
|
|
498 | (1) |
|
A.2.2 Code for a Periodic Tridiagonal Solver |
|
|
499 | (2) |
References |
|
501 | (10) |
Index |
|
511 | |