%
% Numerische Loesung des Riemann-Problems 
%    Burgersgleichung (in der Erhaltungsform bzw. in der NICHT Erhaltungsform)
%    u_0(x) = u_l  x < 0,
%    u_0(x) = u_r  x > 0,
% mittels Finite-Volumen-Verfahrens (zur Serie 12 / Aufgabe 5).
%
% Author: T. Mitkova, November 2009
%

clear all
close all

% Modell-Daten zum Test
a = ...;
t_end = ...;
u_l = ....;
u_r = ....;

N = ....;      % Anzahl der Kontrollvolumen
dx = ...;    % Maschenweite
dt = ...;    % Schrittweite in der Zeit
Nt = ....; % Anzahl der Zeitschritte

% Erzeuge die Anfangsbedingung
for i = 1 : ....
    x(i) = ...;
    if x(i) ...
       u0(i) = ...;
    else 
       u0(i) = ...;
    end    
end
plot(x, u0, '.-b')
axis([-1 1.5 -0.2 1.4]) ;
title('Anfangsbedingung')

pause

u_old = u0;
u_new = zeros(1, N);
u_shift = zeros(1, N); % ---> u_{i-1}
for i = 1 : ... % Schleife ueber die Zeit
    % Upwind-Approximation
    u_shift(... : ...) = u_old(1 : end-1);
    u_shift(1) = u_old(....);
    u_new = .....;
    u_old = u_new;
    
    % Erzeuge die exakte Loesung
    speed = ...;
    for j = 1 : ....
        if x(j) > ....
           sol(j) = u_r;
        else 
           sol(j) = u_l;
        end    
    end
    
    % Verfolgerung der zeitabhaengigen Entwicklung der Loesung
    plot(x, u_new, '*r', x, sol,'.-b') ;
    axis([-1 1.5 -0.2 1.4]) ;
    title('UPWIND Erhaltungsform')
    pause(0.001)
end