![Page 2: 1 Spring 2003 Prof. Tim Warburton MA557/MA578/CS557 Lecture 19](https://reader036.vdocument.in/reader036/viewer/2022062317/5a4d1b8d7f8b9ab0599bfd78/html5/thumbnails/2.jpg)
2
Advection-Diffusion Equation
2
2C C Cu Dt x x
![Page 3: 1 Spring 2003 Prof. Tim Warburton MA557/MA578/CS557 Lecture 19](https://reader036.vdocument.in/reader036/viewer/2022062317/5a4d1b8d7f8b9ab0599bfd78/html5/thumbnails/3.jpg)
3
DG Scheme for the Scalar ADE(Lax-Friedrichs flux – equivalent to upwind)
2
2
C C Cu Dt x x
1
1 1 1 1 1
1 1 1 11
, : , ,
, ,
,
+ 2 2
+2 2
,
j
j
j
jj
j j
x
Ix
j j j j j j
I
j j j j j j j j
j jj jI
I
I
j j
f g f x t g x t dx
C x C x C x C xCq
Cux
u u u ux C x C x x C x C x
x xx
Ct
1 1 1 11
, +
2 2j
j j j j j j j jj j
I
q x q x q x q xqD x D x Dx
![Page 4: 1 Spring 2003 Prof. Tim Warburton MA557/MA578/CS557 Lecture 19](https://reader036.vdocument.in/reader036/viewer/2022062317/5a4d1b8d7f8b9ab0599bfd78/html5/thumbnails/4.jpg)
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
, :
, +
2 2
L Rj
j
I
j j j j j j j jL j R j
I
D C
C x C x C x C xC x xx
![Page 5: 1 Spring 2003 Prof. Tim Warburton MA557/MA578/CS557 Lecture 19](https://reader036.vdocument.in/reader036/viewer/2022062317/5a4d1b8d7f8b9ab0599bfd78/html5/thumbnails/5.jpg)
5
In Operator Notation
1,1
,2 2
1,1,
, ,
,,
j j
jj
ju u u uu u
I
II
I
I
u D
q D C
C qC D Dt
Advectionterm
(Lax-Friedrichs flux ~ upwind flux
for scalar case)
Diffusionterm
![Page 6: 1 Spring 2003 Prof. Tim Warburton MA557/MA578/CS557 Lecture 19](https://reader036.vdocument.in/reader036/viewer/2022062317/5a4d1b8d7f8b9ab0599bfd78/html5/thumbnails/6.jpg)
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 1 11 1 1 2
1+ 1 2
CD Cx IL R I jj
C x C xj j j jx xL j j j j
C x C xj j j jx xR j j j j
![Page 7: 1 Spring 2003 Prof. Tim Warburton MA557/MA578/CS557 Lecture 19](https://reader036.vdocument.in/reader036/viewer/2022062317/5a4d1b8d7f8b9ab0599bfd78/html5/thumbnails/7.jpg)
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: 1 Spring 2003 Prof. Tim Warburton MA557/MA578/CS557 Lecture 19](https://reader036.vdocument.in/reader036/viewer/2022062317/5a4d1b8d7f8b9ab0599bfd78/html5/thumbnails/8.jpg)
8
Skew-symmetry• Note:
the negative sign when the operator moves.
• Trivially:
1,1 1,1, ,D CI j
D CI j
1,1 1,1 1,1 1,1,, D D C DI
D CI jj
![Page 9: 1 Spring 2003 Prof. Tim Warburton MA557/MA578/CS557 Lecture 19](https://reader036.vdocument.in/reader036/viewer/2022062317/5a4d1b8d7f8b9ab0599bfd78/html5/thumbnails/9.jpg)
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: 1 Spring 2003 Prof. Tim Warburton MA557/MA578/CS557 Lecture 19](https://reader036.vdocument.in/reader036/viewer/2022062317/5a4d1b8d7f8b9ab0599bfd78/html5/thumbnails/10.jpg)
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: 1 Spring 2003 Prof. Tim Warburton MA557/MA578/CS557 Lecture 19](https://reader036.vdocument.in/reader036/viewer/2022062317/5a4d1b8d7f8b9ab0599bfd78/html5/thumbnails/11.jpg)
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: 1 Spring 2003 Prof. Tim Warburton MA557/MA578/CS557 Lecture 19](https://reader036.vdocument.in/reader036/viewer/2022062317/5a4d1b8d7f8b9ab0599bfd78/html5/thumbnails/12.jpg)
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: 1 Spring 2003 Prof. Tim Warburton MA557/MA578/CS557 Lecture 19](https://reader036.vdocument.in/reader036/viewer/2022062317/5a4d1b8d7f8b9ab0599bfd78/html5/thumbnails/13.jpg)
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: 1 Spring 2003 Prof. Tim Warburton MA557/MA578/CS557 Lecture 19](https://reader036.vdocument.in/reader036/viewer/2022062317/5a4d1b8d7f8b9ab0599bfd78/html5/thumbnails/14.jpg)
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: 1 Spring 2003 Prof. Tim Warburton MA557/MA578/CS557 Lecture 19](https://reader036.vdocument.in/reader036/viewer/2022062317/5a4d1b8d7f8b9ab0599bfd78/html5/thumbnails/15.jpg)
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 , Dhcdt uhcp p
![Page 16: 1 Spring 2003 Prof. Tim Warburton MA557/MA578/CS557 Lecture 19](https://reader036.vdocument.in/reader036/viewer/2022062317/5a4d1b8d7f8b9ab0599bfd78/html5/thumbnails/16.jpg)
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: 1 Spring 2003 Prof. Tim Warburton MA557/MA578/CS557 Lecture 19](https://reader036.vdocument.in/reader036/viewer/2022062317/5a4d1b8d7f8b9ab0599bfd78/html5/thumbnails/17.jpg)
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
![Page 18: 1 Spring 2003 Prof. Tim Warburton MA557/MA578/CS557 Lecture 19](https://reader036.vdocument.in/reader036/viewer/2022062317/5a4d1b8d7f8b9ab0599bfd78/html5/thumbnails/18.jpg)
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
02
u ut x
![Page 19: 1 Spring 2003 Prof. Tim Warburton MA557/MA578/CS557 Lecture 19](https://reader036.vdocument.in/reader036/viewer/2022062317/5a4d1b8d7f8b9ab0599bfd78/html5/thumbnails/19.jpg)
19
Transforming the Modal Advection 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
V
V
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: 1 Spring 2003 Prof. Tim Warburton MA557/MA578/CS557 Lecture 19](https://reader036.vdocument.in/reader036/viewer/2022062317/5a4d1b8d7f8b9ab0599bfd78/html5/thumbnails/20.jpg)
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: 1 Spring 2003 Prof. Tim Warburton MA557/MA578/CS557 Lecture 19](https://reader036.vdocument.in/reader036/viewer/2022062317/5a4d1b8d7f8b9ab0599bfd78/html5/thumbnails/21.jpg)
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: 1 Spring 2003 Prof. Tim Warburton MA557/MA578/CS557 Lecture 19](https://reader036.vdocument.in/reader036/viewer/2022062317/5a4d1b8d7f8b9ab0599bfd78/html5/thumbnails/22.jpg)
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.