Session: Computational Wave Propagation: Basic Theory Igel H., Fichtner A., Käser M., Virieux J., Seriani G., Capdeville Y., Moczo P. The finite-difference method The pseudo-spectral method The problem The wave equation ( x) u(x,t) x E(x) xu(x,t) 2 t Displacement u, elastic parameters E(x) vary only in one direction. Density and Lame parameters l and m. E ( x) m ( x) E ( x) l ( x) 2 m ( x) shear waves P waves with the corresponding velocities m vS shear waves vP l 2m P waves … we disregard … 3-dimensionality External forces Viscoelastic behaviour Anisotropic behaviour Non-linear elasticity Etc. … and even further simplify and re-write to … … motion of a string … ( x) u(x,t) x m (x) xu(x,t) 2 t Displacement u, shear modulus m(x), density vary only in one direction x. The velocity-stress formulation 1 t u ( x, t ) x ( x, t ) ( x) t ( x, t ) m ( x) xu( x, t ) Extrapolation usually low-order stress-strain Generalized Interpolation Low-order to spectral accuracy Other forms of the elastic wave equation Strong form (see Moczo et al.) Displacement – stress Displacement – velocity – stress Velocity – stress Displacement Weak form (more later) Projection on test functions Numerical methods Finite differences Pseudospectral methods Finite (spectral) elements (Fichtner) Discontinuous Galerkin (Käser) Frequency domain methods (Virieux) Cell methods (Seriani) (Boundary integral methods, lattice solids, discrete wavenumber, finite volumes, etc). Finite Differences f ( x dx ) f ( x) x f dx forward difference f ( x) f ( x dx ) x f dx backward difference f ( x dx ) f ( x dx ) x f 2dx centered difference c ... or even … f ( x dx / 2) f ( x dx / 2) x f dx c … in space and for time … f (t dt / 2) f (t dt / 2) t f dt c This turns out to be a useful approximation! Discrete space-time Space and time discretization Regular, 1D t ldt x mdx t dt (l 1)dt 1 t dt / 2 (l )dt 2 x dx ( m 1)dx 1 x dx / 2 ( m )dx 2 Our first FD wave algorithm t ldt x mdx Space discretization Regular, 1D u 1 dt m dx l l 1 l 1/ 2 l 1/ 2 m1/ 2 m1/ 2 um1 um mm dt dx u l 1/ 2 m l 1/ 2 m l m1/ 2 l m1/ 2 … and the explicit extrapolation scheme … Source term Do for all times … dt l dt l l u u m1/ 2 m1/ 2 fm dx m m dt l 1/ 2 l 1/ 2 l l 1 m1/ 2 m1/ 2 mm um1 um dx l 1/ 2 m Stop! l 1/ 2 m … staggered grids … ? the only unknown Time l+1/2 l l-1/2 m-1/2 m m+1/2 Space Results Velocity 5 km/s 3000 2500 Time (s) 2000 1500 1000 500 0 0 1000 2000 3000 4000 Distance (km) 5000 6000 Amplitude Numerical dispersion Time Von Neumann Analysis plane wave analysis continuous f ( x, t ) A exp(ikx it ) flm A exp(ikmdx ildt ) Conditional stability dt vP,S 1 dx discrete Numerical dispersion phase velocity - group velocity Theoretical prediction of phase and group velocities as a function of wavelength. In 2-D, 3-D this effect depends on direction (-> grid anisotropy) Well, let us have a closer look at the space derivatives (because there is not so much we can do about the time derivative …) ikx x f ( x) x F (k )e dk ikF (k )e ikx dk The pseudospectral approach x f ( x) ikF (k )e ikx dk in the discrete world that means, we can … DFT f m Fn Discrete Spectrum Fn (ik ) Fn IDFT(ik ) Fn x f m Exact derivative PS Algorithm (displacement) 1 x μ(x) xu(x,t) 2u(x,t) u(x,t dt) u(x,t dt) 2 dt ρ(x) Derivatives calculated by DFT (forward and inverse transform and multiplication with –ik) …. cool algorithm, but … … some more thoughts on the spectral derivative operator „-ik“ … using the convolution theorem … x f ( x) ikF (k )e ikx dk D(k ) F (k )e d ( x' ) f ( x x' )dx Differential operator in space domain The function we want to differentiate ikx dk „Convolution“ f d 0 0 1 0 -2 1 1 0 0 1 -2 1 0 1 0 0 1 -2 1 1 0 1 -2 1 0 -2 0 -2 0 1 0 1 0 1 1 d*f 1 1 0 0 0 0 1 0 0 1 -2 1 0 The numerical wave number as a function of true wave number (ik as a function of k) This is the derivative operater d(x) and it s discrete version (dots) Finite difference - Pseudospectral 2-4-6 point Taylor coefficients FD Length of (convolutional) operator Increasing accuracy Increasing floating point operations nx-point Fourier (Chebysheff) coefficients PS FD in real 3-D applications Cartesian Geometry Spherical coordinates Sections Axisymmetric Rheologies Viscolastic Anisotropic Poroelastic Dynamic rupture Finite Differences - Pros and Cons PROS CONS Boundary conditions difficult to implement Requires large number of grid points per wavelength (in particular surface waves) Large memory requirement Inefficient for models with strong velocity variations Topography not easily implemented simple theory Explicit scheme – no matrix inversion Easy parallelization Easy model generation (on regular grids) Easy adaptation to specific problems Pseudospectral Method - Pros and Cons PROS CONS Global communication scheme (inefficient parallelization) Irregular grid points (Chebyshev) –> stability problems Boundary conditions difficult for Fourier Method Beautiful! Exact space derivatives Explicit scheme – no matrix inversion Centred scheme (anisotropy) Accurate implementation of boundary condition (Chebyshev) Memory efficient (less points per wavelength w.r.t. FD) Final thoughts Some of the fundamental concepts of computational seismology can be understood from FD schemes (e.g., stability, dispersion) Each QUEST researcher should be able to Understand what time steps and grid distances are appropriate for a specific Earth velocity models Understand what affects the accuracy of wave simulations (np/l; operators used, wave type, complexity of velocity model, propagation distance, etc.) Know the possible traps of (community) algorithms (black boxes) Know how to benchmark simulation codes (for accuracy)