MA557/MA578/CS557 Lecture 19

22
1 Spring 2003 Prof. Tim Warburton [email protected] MA557/MA578/CS557 Lecture 19

description

MA557/MA578/CS557 Lecture 19. Spring 2003 Prof. Tim Warburton [email protected]. Advection-Diffusion Equation. DG Scheme for the Scalar ADE (Lax-Friedrichs flux – equivalent to upwind). DG Derivative Operator. - PowerPoint PPT Presentation

Transcript of MA557/MA578/CS557 Lecture 19

Page 1: MA557/MA578/CS557 Lecture 19

1

Spring 2003Prof. Tim [email protected]

MA557/MA578/CS557Lecture 19

Page 2: MA557/MA578/CS557 Lecture 19

2

Advection-Diffusion Equation

2

2C C Cu Dt x x

Page 3: MA557/MA578/CS557 Lecture 19

3

DG Scheme for the Scalar ADE(Lax-Friedrichs flux – equivalent to upwind)

2

2

C C Cu Dt x x

1 1 1 11

1) Find such that for all the following holds for a given time t

, , +

2 2

2) Find C [0,T] such that for all

jj

p pj j

j j j j j j j jj jI

I

pj

q P I P I

C x C x C x C xCq x xx

P I

1 1 11

1 1 1 1 1

the following holds for a given

,

+

time t

,

+

2

2

2

,

j j

j

j j j j j

I

j j j j j j

jj j

pj

j j

I

I

j j

q

Cux

u u u ux C x C x x

x q x q xqD x D x

P I

C

x

x x

D

C

Ct

1

2j jq x

Page 4: MA557/MA578/CS557 Lecture 19

4

DG Derivative Operator• We are going to introduce a DG derivative operator to simplify

the scheme definition.

• The linear operator Dtilde is such that the following holds for all intervals Ij

• With the choice of penalty terms tauL and tauR to be determined.

,

,

1 1 1 11

Find such that for all the following holds for a given time t

, :

, +

2 2

L R

L Rj

j

p pj j

I

j j j j j j j jL j R j

I

D C P I P I

D C

C x C x C x C xC x xx

Page 5: MA557/MA578/CS557 Lecture 19

5

In Operator Notation

,

2 2

1,1

1) Find such that for all the following holds for a given time t

, ,

2) Find C [0,T] such that for all the following hold

,

s

,

j j

j

p pj j

I I

p

u u u uu u

pj j

I

q P I P I

q D C

P I I

u

P

C Dt

1,1,j

jII

D D qC

Advectionterm

(Lax-Friedrichs flux ~ upwind flux

for scalar case)

Diffusionterm

Page 6: MA557/MA578/CS557 Lecture 19

6

General Dtilde Operator• We previously defined Dtilde for the special

case where the test function is compactly supported on the j’th cell.

• We generalize by: 1) Find such that for all the following holds for a given time,

, : ,,

1 1 11 1 1

p pj jD C P I P I

L R

CD Cx IL R I jj

C x C xj j j jx xL j j j j

2

1+ 1 2

C x C xj j j jx xR j j j j

Page 7: MA557/MA578/CS557 Lecture 19

7

Skew-symmetry of Dtilde1,1

1,11, 1 1 1 1 1 12

1 + 12

,

1

D C x x C x C xj j j j j j j jI j

x x C x C xj j j j j

C

j

j

x I

j j

1 1 1 1 1 1 121 +2

, 1 1

x x C x C xj

C x C x x C xj j j j j j

j j j j j j j

x

j j

j j

x I j

11 1 1 1 1 12

1 1

1

,

2

1

x x C x C xj

x C x C xj j j j j j

j j j j j j j

x x C x Cj j j j j j

Cx I j

j

1,1

1

,j

x

D CI

j

[integrate by parts]

Page 8: MA557/MA578/CS557 Lecture 19

8

Skew-symmetry• Note:

the negative sign when the operator moves.

• Trivially:

1,1 1,1For all , the following holds: , ,pC P I D Cj ID C

j I j

1,1 1,1 1,1 1,1For all , the following holds: , ,pC P I D D C Dj ID C

Ij j

Page 9: MA557/MA578/CS557 Lecture 19

9

Recap• We already proved that the DG scheme, with

Lax-Friedrichs fluxes, for advection (D=0) is stable in the sense that :

• Adding the diffusion term (dropping boundary terms) gives:

• In terms of norms:

11 1 22

11 1

, , some boundary termsj

j

xj N j N

j j j j jj jx

d C dx u C x t C x tdt

1 11 1 12 22

1 1,11 1 1

1 , ,2 2

j j

j j

x xj N j N j N

j j j j j jj j jx x

ud C dx C x t C x t D D C dxdt

2 2

1 2 221 1,1

1

1 , ,2 2

j N

j j j jL Lj

ud C C x t C x t D D Cdt

Page 10: MA557/MA578/CS557 Lecture 19

10

Stability!!• Assuming D>=0 (reasonable since particles

do not jump randomly with negative rates)

2 2

1 2 221 1,1

1

1 , ,2 2

0

j N

j j j jL Lj

ud C C x t C x t D D Cdt

Page 11: MA557/MA578/CS557 Lecture 19

11

D operator• If we move to the Legendre basis we can write down a discrete description

of Dtilde:

, 1 11

[ 1,1]

[ 1,1]

2:

,

,

1 1 , 1 1

1 1 , 1 1

L R j j L j L j R j R jj j

n m

mnm n

nm n m nm n m

nm n m nm n m

x x

L L

LLx

L L L L

L L L L

1D C M DC GC FC HC JC

M

D

G F

H J

Page 12: MA557/MA578/CS557 Lecture 19

12

Implementation of Dtildefunction [dfdx] = LEGdgderiv(f, nodex, tauL, tauR, D, F, G, H, J)

[p,N] = size(f); % p = maximum polynomial order p=p-1; % N = number of nodes N=N+1;

% space for derivative dfdx = zeros(p+1,N-1);

% cells 2 to N-2 ids = (2:N-2); dfdx(:,ids) = (D*f(:,ids) + tauL*F*f(:,ids) + tauL*G*f(:,ids-1) + tauR*H*f(:,ids) + tauR*J*f(:,ids+1));

% cell 1 (periodicity assumed) dfdx(:,1) = (D*f(:,1) + tauL*F*f(:,1) + tauL*G*f(:,N-1) + tauR*H*f(:,1) + tauR*J*f(:,2));

% cell N-1 (periodicity assumed) dfdx(:,N-1) = (D*f(:,N-1) + tauL*F*f(:,N-1) + tauL*G*f(:,N-2) + tauR*H*f(:,N-1) + tauR*J*f(:,1));

% apply chain rule for physical cell width dx = nodex(2:N)-nodex(1:N-1); coeff = ones(p+1,1)*(2./dx); dfdx = dfdx.*coeff;

Page 13: MA557/MA578/CS557 Lecture 19

13

In Action (advection eqn)% TIME STEPPING

tauL = (1/u)*(u+abs(u))/2;tauR = (1/u)*(u-abs(u))/2;

for tstep = 1:Ntsteps

sigma = rho;

for rkstage = 3:-1:1 dsigmadx = LEGdgderiv(sigma, nodex, tauL, tauR, D, F, G, H, J); sigma = rho + (dt/rkstage)*(-u*dsigmadx); end

rho = sigma;

if ( ~mod(tstep, 100) ) q = V*rho;

% plot(x(:),abs(q(:)-exp(-(x(:)-dt*tstep).^2))); plot(x,q); pause(0.1);

tstep*dt endend

Page 14: MA557/MA578/CS557 Lecture 19

14

Discrete Scheme• Step 1: q = x DG derivative of C

• Step 2: time rate of change of C

1,1

1,1,

2 2

ju u u u

j j

jj

u u

u Dddt

q D

CC

D qD

C

Advectionterm

(Lax-Friedrichs flux ~ upwind flux

for scalar case)

Diffusionterm

Page 15: MA557/MA578/CS557 Lecture 19

15

Dropping q• We can do away with q:

• This should make the following observation clear. The dt dependence for stability is now:

• The first term is due to the spectral radius of the advection operator.

• The second term is due to the spectral radius of the diffusion operator.

,

2

1

2

, ,11 1ju u u uu u

jjDu

ddt

C

DC CDD

1

2

42 2min , hcDp

dt hcup

Page 16: MA557/MA578/CS557 Lecture 19

16

In Action (ADE)% TIME STEPPING

for tstep = 1:Ntsteps

sigma = rho;

for rkstage = p:-1:1 % advection: upwind bias on flux terms dsigmadx = LEGdgderiv(sigma, nodex, tauL, tauR, D, F, G, H, J); % diffusion: centered fluxes dsdx = LEGdgderiv(sigma, nodex, 1, 1, D, F, G, H, J); d2sdx2 = LEGdgderiv(dsdx, nodex, 1, 1, D, F, G, H, J);

sigma = rho + (dt/rkstage)*(-u*dsigmadx+Dcoeff*d2sdx2); end

rho = sigma;

if ( ~mod(tstep, 400) ) q = V*rho; plot(x,q); axis([xmin xmax 0 1]) pause(0.1); endend

Page 17: MA557/MA578/CS557 Lecture 19

17

Downloads• You can download the Dtilde based scripts from:

• http://www.math.unm.edu/~timwar/MA578S03/MatlabScripts/LEGadvectionLaxF.m

• http://www.math.unm.edu/~timwar/MA578S03/MatlabScripts/LEGade.m

• You will need the Dtilde routine (named LEGdgderiv.m):

• http://www.math.unm.edu/~timwar/MA578S03/MatlabScripts/LEGdgderiv.m

Page 18: MA557/MA578/CS557 Lecture 19

18

Legendre Scheme To Lagrange Scheme(modal to nodal)

• So far we have used Legendre expansions to represent the solution in each cell.

• This representation causes some problems if we wish to evaluate non-linear function of the solution.

• For instance solving the inviscid Burger’s equation:

requires the evaluation of u2

2

02t x

Page 19: MA557/MA578/CS557 Lecture 19

19

Transforming the Modal Advection DG Scheme To a Nodal Advection DG Scheme

• Recall that given a Legendre expansion we may evaluate it at a set of points by:

• We substitute: into the scheme:

,

2 2

ju u u uu u

jdd

ut

D

CC

,

,0

,0

:

where

j n j n

m p

j m m nm

m p

nm j mm

nm m n

c C x

C L x

C

L x

VV

1, ,

0

C = m p

j m j nmnm

c

V

,

2 2u u u juu u

jddt

u

1

1V cVD c

Page 20: MA557/MA578/CS557 Lecture 19

20

Nodal Scheme• Multiplying both sides on the left with V

• This clearly shows that the nodal scheme is a change of basis away from the modal scheme.

,2 2

,2 2

jj

j

u u u uu u

u u u uu u

j

ddt

ddt

u

u

11

1

V cV c

c

D

V cDV

Page 21: MA557/MA578/CS557 Lecture 19

21

Summary of Nodal Scheme

1

,2 2

1 1,

2 2

[ 1,1]

[ 1,1]

,

,

1 1

where

, 1 1

1 1 ,

:

2

u u u uu u

j L j L j R j R ju u u uu u

n m

mnm n

nm n m nm n m

n

j

jj

m m

j

j

n

u

L L

LLx

L L L L

L

ddt

x x

L

1

1

1 1

cV V c

V V c V

D

D M DC GC FC HC JC

M

D

G F

H

V

1 1nm n mL L J

Note: we do not need to transform the initial condition or solution for visualization…

Page 22: MA557/MA578/CS557 Lecture 19

22

Next Lecture

1) The lecture on Friday 03/07 is cancelled in favour of the Analysis Conference

2) The lecture on Monday 03/10 will be the first time we generalize the DG to two spatial dimensions.

3) Do not miss the Monday lecture

4) Run the LEGade.m script (you will need the LEGdgderiv.m script as well)

5) How to use nodal methods in general.