% harj6teht5
% 15.3.05
% Kaikki tarvittavat alifunktioiksi

% Lämpöyhtälö: c=vakio 
%              m=0 
%              f(x,t,u,dudx)=dudx
%              s=0
% (AE) : u(x,t0)= u0(x)

function harj6teht5
close all
global x t u sol % Ennen kutsua myös istunnossa, 
                 % jos haluat jälkeenpäin käyttää.
m = 0;
x = linspace(0,10,60);
t = linspace(0,15,30);
sol = pdepe(m,@lampo,@AE,@RE,x,t);
u = sol(:,:,1); % Ratkaisussa on vain yksi komponentti.

% A surface plot:
%----------------
surf(x,t,u)    
title('Neumannin homog. reunaehdot')
xlabel('Paikka x')
ylabel('Aika t')
zlabel('Lämpötila u(x,t)')

% A solution profile can also be illuminating.
%figure
%plot(x,u(end,:))
%title('Solution at t = 2')
%xlabel('Distance x')
%ylabel('u(x,2)')

%===============================================================

% Lämpöyhtälö: c=1 
% huomaa: c on vasemmalla puolella, eli pi^2 u_t = u_xx
function [c,f,s] = lampo(x,t,u,DuDx)
c = 1;
f = DuDx;
s = 0;

%===============================================================

function u0 = AE(x)
u0 = exp(-(x-5).^2 );

%===============================================================

function [pl,ql,pr,qr] = RE(xl,ul,xr,ur,t)
% Neumannin RE:t  
pl = 0;          % Vasemmassa reunassa derivaatta = 0
ql = 1;     
%pr=0;
pr = 0;         % Oikeassa reunassa derivaatta u_x = 0  
qr = 1;                   
