Math C42H 3042: Corrections

Lecture notes, page 13a (between page 13 and 14):- Lax-Friedrichs scheme:

U^{n+1}_{j}= ½(U^{n}_{j+1}+ U^{n}_{j-1}) - ½(k/h) A (U^{n}_{j+1}- U^{n}_{j-1})

[First `+' is a `-' in notes, second ½ is missing in notes.]

Lecture notes, page 24:- CFL condition: For the p-wave with speed
a_{p}

left end of stencil < characteristic < right end of stencil

i.e.x_{j}+ s_{min}h <x_{j}- a_{p}.k < x_{j}+ s_{max}h

implies- s_{min}h > a_{p}.k > - s_{max}h

implies- s_{min}> a_{p}.k/h > - s_{max}

NOT

s_{min}< a_{p}.k/h < s_{max}

Lecture notes, page 37:- For the scalar Beam-Warming scheme, the dispersion coefficient in the modified equation is
mu = hwhere^{2}/6 a (2 - 3 v + v^{2}) = h^{2}/6 a (2 - v)(1 - v)v = ak/h

Lecture notes, page 59:- For a general convex problem
u, the rarefaction fan solution is_{t }+f(u)_{x}= 0where{ U_{L}x < f'(U_{L})t u(x,t) = { v(x/t) f'(U_{L})t < x < f'(U_{R})t { U_{R}x > f'(U_{R})tv(x/t)is a ....Note that this requires

f'(Uand applies to both convex and concave_{L}) < f'(U_{R})f(u). This requiresUfor convex_{L}< U_{R}fandUfor concave_{L}> U_{R}f.

Lecture notes, page 74:- From p.7, the RP solution for constant states
uand_{L}=U^{n}_{j-1}uis_{R}=U^{n}_{j}U^{~n,n+1}(x,t) = U^{n}_{j-1}+ sum a_{p}r_{p}p: lam_{n}< = U^{n}_{j}- sum a_{p}r_{p}

Exercise sheet 1, question 7:U^{n+1}_{j}= U^{n}_{j}+ kD( U^{n}_{j+1}- 2 U^{n}_{j}+ U^{n}_{j-1})/h^{2}

NOT

U^{n+1}_{j}= U^{n}_{j}+ kD( U^{n}_{j}+ 1 - 2 U^{n}_{j}+ U^{n}_{j-1})/h^{2}

Sample code:LF_2x2_system.m- Comments at the top should be
% The Lax-Friedrichs scheme is used here is stable for % |lambda_p|k/h < 1 , % i.e. it handles waves going in either direction % % Exercise: Use a symmetrized one-sided scheme instead.NOT% For the following one-sided scheme, all eigenvalues of A must be % the same sign. % % Extension: symmetrize this code to handle arbitrary % hyperbolic systems

Sample code:UP_cauchy.m, LW_periodic.m, LF_2x2_system.m

text(0.05,1.0,['n = 'int2str(n)])

NOT

text(0.05,1.0,['n = 'int2str(k)])

Sample code:LW_periodic.m

k = nu*h/abs(a);

NOT

k = nu*h/a;