finite differences finite difference approximations simple geophysical partial differential...

27
Finite Differences Finite Difference Approximations Simple geophysical partial differential equations Finite differences - definitions Finite-difference approximations to pde‘s Exercises Acoustic wave equation in 2D Seismometer equations Diffusion-reaction equation Finite differences and Taylor Expansion Stability -> The Courant Criterion Numerical dispersion 1 Computational Seismology dx x f dx x f f x ) ( ) (

Upload: alexia-stephens

Post on 26-Dec-2015

262 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Finite Differences Finite Difference Approximations  Simple geophysical partial differential equations  Finite differences - definitions  Finite-difference

Finite Differences

Finite Difference Approximations

Simple geophysical partial differential equations Finite differences - definitions Finite-difference approximations to pde‘s

Exercises Acoustic wave equation in 2D Seismometer equations Diffusion-reaction equation

Finite differences and Taylor Expansion Stability -> The Courant Criterion Numerical dispersion

1Computational Seismology

dx

xfdxxffx

)()(

Page 2: Finite Differences Finite Difference Approximations  Simple geophysical partial differential equations  Finite differences - definitions  Finite-difference

Finite Differences

)( 222

22

zyx

ts pcp

The acoustic wave equation- seismology- acoustics- oceanography - meteorology

Diffusion, advection, Reaction- geodynamics- oceanography - meteorology- geochemistry- sedimentology- geophysical fluid dynamics

P pressurec acoustic wave speeds sources

P pressurec acoustic wave speeds sources

pRCCCkCt v

C tracer concentrationk diffusivityv flow velocityR reactivityp sources

C tracer concentrationk diffusivityv flow velocityR reactivityp sources

Partial Differential Equations in Geophysics

Page 3: Finite Differences Finite Difference Approximations  Simple geophysical partial differential equations  Finite differences - definitions  Finite-difference

Finite Differences

Finite differences

Finite volumes

- time-dependent PDEs- seismic wave propagation- geophysical fluid dynamics- Maxwell’s equations- Ground penetrating radar-> robust, simple concept, easy to parallelize, regular grids, explicit method

Finite elements- static and time-dependent PDEs- seismic wave propagation- geophysical fluid dynamics- all problems-> implicit approach, matrix inversion, well founded, irregular grids, more complex algorithms, engineering problems

- time-dependent PDEs- seismic wave propagation- mainly fluid dynamics-> robust, simple concept, irregular grids, explicit method

Numerical methods: properties

Page 4: Finite Differences Finite Difference Approximations  Simple geophysical partial differential equations  Finite differences - definitions  Finite-difference

Finite Differences

Particle-based methods

Pseudospectral methods

- lattice gas methods- molecular dynamics- granular problems- fluid flow- earthquake simulations-> very heterogeneous problems, nonlinear problems

Boundary elementmethods

- problems with boundaries (rupture)- based on analytical solutions- only discretization of planes -> good for problems with special boundary conditions (rupture, cracks, etc)

- orthogonal basis functions, special case of FD- spectral accuracy of space derivatives- wave propagation, ground penetrating radar-> regular grids, explicit method, problems with strongly heterogeneous media

Other numerical methods

Page 5: Finite Differences Finite Difference Approximations  Simple geophysical partial differential equations  Finite differences - definitions  Finite-difference

Finite Differences

What is a finite difference?

Common definitions of the derivative of f(x):

dx

xfdxxff

dxx

)()(lim

0

dx

dxxfxff

dxx

)()(lim

0

dx

dxxfdxxff

dxx 2

)()(lim

0

These are all correct definitions in the limit dx->0.

But we want dx to remain FINITE

Page 6: Finite Differences Finite Difference Approximations  Simple geophysical partial differential equations  Finite differences - definitions  Finite-difference

Finite Differences

What is a finite difference?

The equivalent approximations of the derivatives are:

dx

xfdxxffx

)()(

dx

dxxfxffx

)()(

dx

dxxfdxxffx 2

)()(

forward difference

backward difference

centered difference

Page 7: Finite Differences Finite Difference Approximations  Simple geophysical partial differential equations  Finite differences - definitions  Finite-difference

Finite Differences

The big question:

How good are the FD approximations?

This leads us to Taylor series....

Page 8: Finite Differences Finite Difference Approximations  Simple geophysical partial differential equations  Finite differences - definitions  Finite-difference

Finite Differences

Taylor Series

Taylor series are expansions of a function f(x) for some finite distance dx to f(x+dx)

What happens, if we use this expression for

dx

xfdxxffx

)()(

?

...)(!4

)(!3

)(!2

)(dx)()( ''''4

'''3

''2

' xfdx

xfdx

xfdx

xfxfdxxf

Page 9: Finite Differences Finite Difference Approximations  Simple geophysical partial differential equations  Finite differences - definitions  Finite-difference

Finite Differences

Taylor Series

... that leads to :

The error of the first derivative using the forward formulation is of order dx.

Is this the case for other formulations of the derivative?Let’s check!

)()(

...)(!3

)(!2

)(dx1)()(

'

'''3

''2

'

dxOxf

xfdx

xfdx

xfdxdx

xfdxxf

Page 10: Finite Differences Finite Difference Approximations  Simple geophysical partial differential equations  Finite differences - definitions  Finite-difference

Finite Differences

... with the centered formulation we get:

The error of the first derivative using the centered approximation is of order dx2.

This is an important results: it DOES matter which formulationwe use. The centered scheme is more accurate!

Taylor Series

)()(

...)(!3

)(dx1)2/()2/(

2'

'''3

'

dxOxf

xfdx

xfdxdx

dxxfdxxf

Page 11: Finite Differences Finite Difference Approximations  Simple geophysical partial differential equations  Finite differences - definitions  Finite-difference

Finite Differences

xj 1 xj xj 1 xj 2 xj 3

f xj( )

dx h

desired x location

What is the (approximate) value of the function or its (first, second ..) derivative at the desired location ?

How can we calculate the weights for the neighboring points?

x

f(x)

Alternative Derivation

Page 12: Finite Differences Finite Difference Approximations  Simple geophysical partial differential equations  Finite differences - definitions  Finite-difference

Finite Differences

Lets’ try Taylor’s Expansion

f x( )

dx

x

f(x)

dxxfxfdxxf )(')()( (1)

(2)

we are looking for something like

f x w f xiji

index jj L

( ) ( )( )

,( ) ( )

1

Alternative Derivation

dxxfxfdxxf )(')()(

Page 13: Finite Differences Finite Difference Approximations  Simple geophysical partial differential equations  Finite differences - definitions  Finite-difference

Finite Differences

deriving the second-order scheme …

af af af dx '

bf bf bf dx '

af bf a b f a b f dx( ) ( ) '

the solution to this equation for a and b leads to a system of equations which can be cast in matrix form

dxba

ba

/1

0

0

1

ba

baInterpolation Derivative

2nd order weights

Page 14: Finite Differences Finite Difference Approximations  Simple geophysical partial differential equations  Finite differences - definitions  Finite-difference

Finite Differences

Taylor Operators

... in matrix form ...

0

1

11

11

b

a

Interpolation Derivative

... so that the solution for the weights is ...

dxb

a

/1

0

11

11

0

1

11

111

b

a

dxb

a

/1

0

11

111

Page 15: Finite Differences Finite Difference Approximations  Simple geophysical partial differential equations  Finite differences - definitions  Finite-difference

Finite Differences

... and the result ...

Interpolation Derivative

Can we generalise this idea to longer operators?

2/1

2/1

b

a

1

1

2

1

dxb

a

Let us start by extending the Taylor expansion beyond f(x±dx):

Interpolation and difference weights

Page 16: Finite Differences Finite Difference Approximations  Simple geophysical partial differential equations  Finite differences - definitions  Finite-difference

Finite Differences

'''!3

)2(''

!2

)2(')2()2(

32

fdx

fdx

fdxfdxxf *a |

*b |

*c |

*d |

... again we are looking for the coefficients a,b,c,d with which the function values at x±(2)dx have to be multiplied in order

to obtain the interpolated value or the first (or second) derivative!

... Let us add up all these equations like in the previous case ...

'''!3

)(''

!2

)(')()(

32

fdx

fdx

fdxfdxxf

'''!3

)(''

!2

)(')()(

32

fdx

fdx

fdxfdxxf

'''!3

)2(''

!2

)2(')2()2(

32

fdx

fdx

fdxfdxxf

Higher order operators

Page 17: Finite Differences Finite Difference Approximations  Simple geophysical partial differential equations  Finite differences - definitions  Finite-difference

Finite Differences

dfcfbfaf

)( dcbaf

)22(' dcbadxf

)222

2(''2 dcb

afdx

)6

8

6

1

6

1

6

8('''3 dcbafdx

... we can now ask for the coefficients a,b,c,d, so that theleft-hand-side yields either f,f’,f’’,f’’’ ...

Higher order operators

Page 18: Finite Differences Finite Difference Approximations  Simple geophysical partial differential equations  Finite differences - definitions  Finite-difference

Finite Differences

1 dcba

022 dcba

0222

2 dcb

a

06

8

6

1

6

1

6

8 dcba

... if you want the interpolated value ...

... you need to solve the matrix system ...

Linear system

Page 19: Finite Differences Finite Difference Approximations  Simple geophysical partial differential equations  Finite differences - definitions  Finite-difference

Finite Differences

High-order interpolation

0

0

0

1

6/86/16/16/8

22/12/12

2112

1111

d

c

b

a

... with the result after inverting the matrix on the lhs ...

6/1

3/2

3/2

6/1

d

c

b

a

... Interpolation ...

Page 20: Finite Differences Finite Difference Approximations  Simple geophysical partial differential equations  Finite differences - definitions  Finite-difference

Finite Differences

0

0

/1

0

6/86/16/16/8

22/12/12

2112

1111

dx

d

c

b

a

... with the result ...

6/1

3/4

3/4

6/1

2

1

dx

d

c

b

a

... first derivative ...

First derivative

Page 21: Finite Differences Finite Difference Approximations  Simple geophysical partial differential equations  Finite differences - definitions  Finite-difference

Finite Differences

Our first FD algorithm (ac1d.m) !

)( 222

22

zyx

ts pcp

P pressurec acoustic wave speeds sources

P pressurec acoustic wave speeds sources

Problem: Solve the 1D acoustic wave equation using the finite Difference method.

Problem: Solve the 1D acoustic wave equation using the finite Difference method.

Solution:Solution:

2

2

22

)()(2

)()(2)()(

sdtdttptp

dxxpxpdxxpdx

dtcdttp

Page 22: Finite Differences Finite Difference Approximations  Simple geophysical partial differential equations  Finite differences - definitions  Finite-difference

Finite Differences

Problems: Stability

2

2

22

)()(2

)()(2)()(

sdtdttptp

dxxpxpdxxpdx

dtcdttp

1dx

dtc

Stability: Careful analysis using harmonic functions shows that a stable numerical calculation is subject to special conditions (conditional stability). This holds for many numerical problems. (Derivation on the board).

Stability: Careful analysis using harmonic functions shows that a stable numerical calculation is subject to special conditions (conditional stability). This holds for many numerical problems. (Derivation on the board).

Page 23: Finite Differences Finite Difference Approximations  Simple geophysical partial differential equations  Finite differences - definitions  Finite-difference

Finite Differences

Problems: Dispersion

2

2

22

)()(2

)()(2)()(

sdtdttptp

dxxpxpdxxpdx

dtcdttp

Dispersion: The numerical approximation has artificial dispersion,in other words, the wave speed becomes frequency dependent (Derivation in the board). You have to find a frequency bandwidth where this effect is small.The solution is to use a sufficient number of grid points per wavelength.

Dispersion: The numerical approximation has artificial dispersion,in other words, the wave speed becomes frequency dependent (Derivation in the board). You have to find a frequency bandwidth where this effect is small.The solution is to use a sufficient number of grid points per wavelength.

True velocity

Page 24: Finite Differences Finite Difference Approximations  Simple geophysical partial differential equations  Finite differences - definitions  Finite-difference

Finite Differences

Our first FD code!

2

2

22

)()(2

)()(2)()(

sdtdttptp

dxxpxpdxxpdx

dtcdttp

% Time stepping

for i=1:nt, % FD disp(sprintf(' Time step : %i',i)); for j=2:nx-1 d2p(j)=(p(j+1)-2*p(j)+p(j-1))/dx^2; % space derivative end pnew=2*p-pold+d2p*dt^2; % time extrapolation pnew(nx/2)=pnew(nx/2)+src(i)*dt^2; % add source term pold=p; % time levels p=pnew; p(1)=0; % set boundaries pressure free p(nx)=0; % Display plot(x,p,'b-') title(' FD ') drawnow

end

Page 25: Finite Differences Finite Difference Approximations  Simple geophysical partial differential equations  Finite differences - definitions  Finite-difference

Finite Differences

Snapshot Example

0 1000 2000 3000 4000 5000 60000

500

1000

1500

2000

2500

3000

Distance (km)

Tim

e (

s)

Velocity 5 km/s

Page 26: Finite Differences Finite Difference Approximations  Simple geophysical partial differential equations  Finite differences - definitions  Finite-difference

Finite Differences

Seismogram Dispersion

Page 27: Finite Differences Finite Difference Approximations  Simple geophysical partial differential equations  Finite differences - definitions  Finite-difference

Finite Differences

Finite Differences - Summary

Conceptually the most simple of the numerical methods and can be learned quite quickly

Depending on the physical problem FD methods are conditionally stable (relation between time and space increment)

FD methods have difficulties concerning the accurate implementation of boundary conditions (e.g. free surfaces, absorbing boundaries)

FD methods are usually explicit and therefore very easy to implement and efficient on parallel computers

FD methods work best on regular, rectangular grids