Computational Seismology

What is this seminar really about?

Seismology, like many other branches of science and engineering, is undergoing a major transformation at both the research and the application level. Modern seismologists spend more and more time in front of computers (a laptop, a workstation or a supercomputer) and the classical scientific approach based on laboratory experiments is being replaced by computer simulations. With the rapid development of numerical methods and computing technology, especially commodity computing, every seismologist will have on his/her desk an advanced toolkit consisting of software libraries and multi-core processors that will make seismic data analysis, seismological discovery or engineering design more optimal and cost effective. But to effectively harness the newly available computational resources, future seismologists will need, first and foremost, a solid inter-disciplinary education in numerical algorithms, modern programming techniques and parallel computing. The purpose of this seminar is to provide students an integrated introduction to these three components of modern scientific computing and to illustrate the basic concepts through seismological applications.

What will be covered in this seminar?

This seminar can be roughly divided into three sections. In the first section, we will discuss some general concepts about algorithms, programming tools and parallel computing models. In the second section, we will examine the computer implementation and solution of the wave-equation (elastic and/or electromagnetic waves), that is, given a seismic or electromagnetic source model and an Earth structure model, how to simulate the propagation of seismic and/or electromagnetic waves on parallel computers. In the third section, we will discuss the computer implementation and solution of seismological and/or electromagnetic inverse problems, that is, how to determine the source and/or Earth structure models given a set of seismological and/or electromagnetic observations.

Scientific computing is by its very nature a practical subject, it requires both an understanding of the tools available to us and a lot of practice. Jeff Lang, our system administrator for the new geophysics computer cluster, will give us an in-depth overview of the architecture of this state-of-the-art computing system and a tutorial about how to use this parallel computing environment. Student accounts have been setup on the cluster so that students can go immediately from the lecture to the computer to experiment with the concepts that have been presented.

Guest lectures on various topics of parallel computing, numerical algorithms and numerical simulations of electromagnetic wave propagation will also be presented.

Lecture Notes

Lesson1 (PowerPoint 2007) Lesson1 (PDF)

Lesson2 (Guest Lecture on latest development of parallel computing technology)

Lesson3 (Guest Lecture by Jeff Lang on our own 128-CPU computer cluster, codename "Teapot")

Lesson4 (Numerical Dispersion and Diffusion)

Lesson5 (Guest lecture on finite-difference method for solving electro-magnetic wave-equation)

Lesson6 (3D finite-difference seismic wave-propagation simulation on Teapot)

A preliminary user's manual for the 3D finite-difference wave-propagation simulation code is available here. Email your comments or corrections to

Lesson7 (computing full-wave sensitivity kernels on Teapot)

Return to Po Chen's Home Page.