Cambridge University Press

Computational Methods for Geodynamics describes all the numerical methods typically used to solve problems related to the dynamics of the Earth and other terrestrial planets – including lithospheric deformation, mantle convection and the geodynamo. It starts with a discussion of the fundamental principles of mathematical and numerical modeling, which is then followed by chapters on finite difference, finite volume, finite element, and spectral methods; methods for solving large systems of linear algebraic equations and ordinary differential equations; data assimilation methods in geodynamics; and the basic concepts of parallel computing. The final chapter presents a detailed discussion of specific geodynamic applications in order to highlight key differences between methods and demonstrate their respective limitations. Readers learn when and how to use a particular method in order to produce the most accurate results. This combination of textbook and reference handbook brings together material previously only available in specialist journals and mathematical reference volumes, and presents it in an accessible manner assuming only a basic familiarity with geodynamic theory and calculus. It is an essential text for advanced courses on numerical and computational modeling in geodynamics and geophysics, and an invaluable resource for researchers looking to master cutting-edge techniques.


“An outstanding synthesis of contemporary issues in geodynamics with a rigorous but highly accessible treatment of modern methods in numerical modeling. I have no doubt that this book will be an invaluable resource for students and researchers entering the field of computational geophysics for years to come.”- Professor David Bercovici, Yale University


“This is the most current and complete book on computational geodynamics. I would recommend this book to every aspiring student or researcher interested in computations.” - Professor David Yuen, University of Minnesota



Foreword by Professor Gerald Schubert, University of California




1. Basic concepts of computational geodynamics

1.1.  Introduction to scientific computing and computational geodynamics

1.2.  Mathematical models of geodynamic problems. Direct and inverse problems

1.3.  Governing equations

1.4.  Boundary and initial conditions

1.5.  Analytical and numerical solutions

1.6.  Rationale of numerical modelling

1.7.  Numerical methods: Possibilities and limitations

1.8.  Components of numerical modelling

1.9.  Properties of numerical methods

1.10. Concluding remarks


2. Finite difference methods

2.1.   Introduction. Basic concepts

2.2.   Convergence, accuracy and stability

2.3.   Finite difference sweep method

2.4.   Principle of the maximum

2.5.     Application of a finite difference method to two-dimensional heat equation

2.5.1       Statement of the problem

2.5.2       Finite difference discretization

2.5.3       Monotonic finite difference scheme

2.5.4       Solution method

2.5.5       Verification of the finite difference scheme


3. Finite volume method

3.1.   Introduction

3.2    Grids and control volumes: structured and unstructured grids

3.3    Comparison to finite difference and finite element methods

3.4    Treatment of advection-diffusion problems

3.4.1    Diffusion

3.4.2    Advection

3.5       Treatment of momentum-continuity equations

3.5.1    Discretisation

3.5.2    Solution methods

3.5.3    Multigrid

3.6    Modelling convection and extensions

3.6.1    Overall solution strategy

3.6.2    Extension to compressible equations

         3.6.3    Extension to spherical geometry


4. Finite element methods

4.1.   Introduction

4.2.   Lagrangian versus Eulerian description of motion

4.3.   Mathematical preliminaries

4.4.   Weighted residual methods. Variational problem

4.5.   Simple finite element problem

4.6.   The Petrov-Galerkin method for convection-dominated problems

4.7.   Penalty-function formulation of Stokes flow

4.8.   FE discretization

4.9.   High order interpolation functions. Cubic splines

4.10. Two-  and three-dimensional finite element problems

4.10.1. Two-dimensional problem of gravitational advection

4.10.2. Three-dimensional problem of gravitational advection

4.11. FE solution refinements

4.12. Concluding remarks.


5. Spectral methods

5.1.   Introduction

5.2.     Basic functions and transforms

5.2.1.   Overview

5.2.2.     Trigonometric

5.2.3.     Chebyshev polynomials

5.2.4.     Spherical harmonics

5.3.   Solution method

         5.3.1.   Poisson's equation

         5.3.2.   Galerkin, Tau and pseudo-spectral methods

5.4.   Mantle convection

5.4.1.     Constant viscosity, three-dimensional Cartesian geometry

5.4.2.     Constant viscosity, spherical geometry

5.4.3.     Compressibility

5.4.4.     Self-gravitation and geoid

5.4.5.     Tectonic plates and laterally-varying viscosity


6. Numerical methods for solving linear algebraic equations

6.1.   Introduction

6.2.   Direct methods

6.2.1.   Gauss elimination

6.2.2.   LU-factorization

6.2.3.   Cholesky method

6.3.   Iterative methods

6.3.1.   Jacobi method

6.3.2.   Gauss-Seidel method

6.3.3.   Conjugate gradient method

6.3.4.   Method of distributive iterations

6.4.   Multigrid methods

         6.4.1    Two grid cycle

         6.4.2    Restriction, prolongation and coarse grid operators

         6.4.3    Multigrid cycle

         6.4.4    Full approximation storage (for nonlinear problems or grid refinement)

         6.4.5    Full multigrid

         6.4.6    Algebraic multigrid

6.5.   Iterative methods for the Stokes equations

6.5.1.   Distributive iterations

6.5.2.   SIMPLE method

6.5.3.   Uzawa-type methods

6.6    Alternating direction implicit method

6.7    Coupled equations solving

6.8    Non-linear equations solving

6.9    Convergence and iteration errors


7. Numerical methods for solving ordinary differential equations

7.1.   Introduction

7.2    Euler method

7.3    Runge-Kutta methods

7.4.   Multi-step methods

7.4.1.   The midpoint rule

7.4.2.   The trapezoidal rule

7.5.   Crank-Nicolson method

7.6.   Predictor-corrector methods

7.6.1.   The Adams-Bashforth-Moulton method

7.7.   Method of characteristics

7.8.   Semi-Lagrangian method

7.9.   Total variation diminishing method

7.10. Lagrangian methods

         7.10.1  Lagrangian meshes

         7.10.2  Particle-in-cell method


8. Data assimilation methods

8.1.   Introduction

8.2.   Data assimilation

8.3.   Backward advection (BAD) method

8.4.   Application of the BAD method: restoration of the evolution of salt diapirs

8.5.   Variational (VAR) method

8.6.     Application of the VAR method: restoration of mantle plume evolution

8.6.1    Forward modelling

8.6.2    Backward modelling

8.6.3    Performance of the numerical algorithm

8.7.   Challenges in VAR data assimilation

         8.7.1    Smoothness of observational data

         8.7.2    Smoothness of the target temperature

         8.7.3    Numerical noise

8.8.   Quasi-reversibility (QRV) method

         8.8.1    The QRV method for reconstruction of thermo-convective flow

         8.8.2    Optimisation problem

         8.8.3    Numerical algorithm for QRV data assimilation

8.9.   Application of the QRV method: restoration of mantle plume evolution

8.10. Application of the QRV method: restoration of descending lithosphere evolution

         8.10.1  The Vrancea seismicity and the relic descending slab

         8.10.2  Temperature model

         8.10.3  QRV data assimilation

         8.10.4  What the past tells us

         8.10.5  Limitations and uncertainties

8.11. Comparison of data assimilation methods

8.12. Errors in forward and backward modelling


9. Parallel computing

9.1.   Introduction

9.2.   Parallel versus sequential processing

9.3.   Terminology of parallel processing

9.4.   Shared and distributed memory

         9.4.1    Shared memory

         9.4.2    Distributed memory

9.5.   Domain decomposition

9.6.   Message Passing

9.7.   Basics of Message Passing Interface

9.8.   Cost of parallel processing

9.9.   Concluding remarks


10. Modelling of geodynamic problems

10.1. Introduction and overview

10.2. Review of numerical methods used

10.2.1.  Mantle convection

10.2.2.  Crust and lithosphere dynamics

10.3. Compressible flow

         10.3.1. Importance, extended Boussinesq and anelastic approximations

         10.3.2. Continuity equation

         10.3.3. Momentum equation

         10.3.4. Energy equation

         10.3.5. Nondimensionalisation and dissipation number

10.4. Phase transitions

         10.4.1. Background

         10.4.2. Effective expansivity and heat capacity

         10.4.3. Fixed depth approximations

         10.4.4. Phase equilibria approach

10.5. Compositional variations

10.5.1. Field-based approaches

10.5.2. Tracer (marker) based approaches

10.6. Complex rheologies

10.6.1. Non-Newtonian creep and plasticity

10.6.2. Visco-elasticity

10.7. Continents and lithospheric plates in mantle convection models

10.7.1. Overview

10.7.2. Rigid block approach

10.7.3. Rheological approach

10.8. Treatment of a free surface and surface processes

10.9. Porous flow in a deformable matrix

10.10. Geodynamo modelling


Appendix I. Definitions and relations from vector and matrix algebra

I1.        Introduction

I2.        Matrix multiplication

I3.        Transposed, square, and symmetric matrices. Determinants

I4.        Upper and lower triangular matrices

I5.        Identity matrix. Inverse matrix

I6.        Matrix addition and scalar multiplication

I7.        Linear combination of vectors

I8.        Vector and matrix norm

I9.        Divergence, gradient, curl, and Laplasian operators


Appendix II. Spherical coordinates

II1.    Spherical grids

II2.    Vector operators, strain rates and stress equations in spherical polar coordinates

II3.    Two-dimensional approximations of spherical geometry


Appendix III. List of computer codes and how to access them




Author Index


Subject Index