%Her løses den ulinære Matlabmodellen, og utgangene sendes til til modellen, som så
%sender pådragene tilbake.

%parametere
clear all
p1=7.5e5;%pascal
data.A=0.15^2*pi;%m^2
data.htot=0.6;%m
data.T=288;%K
data.Cv2=0.00025/(0.5*sqrt(1.7e5+1000*9.8*0.3-1e5));%1.851344e-6;
data.Cv4=0.04/(0.5*sqrt(1.7e5^2-1e5^2));%5.81914e-7;

data.q1=0.00025;%m^3/s
data.n3=0.04; %mol/s%0.04*8.3145*288/7.5e5;%0.0001277m^3/s 
data.rho=1000;%kg/m*s^2
data.g=9.8;%m/s^2
data.P0=1e5;%pascal

data.R=8.3145;%J/K*mol
data.U20=0.5;%0.0142411;
data.U40=0.5;%0.0831306;
data.Vtot=data.htot*data.A;%m^3

%Initialtilstander
data.hl0=0.3;%m
data.Pg0=1.7e5;%pascal
data.y0=[data.hl0,data.Pg0,0,0,data.U20,data.U40]';

%Løsning av diffligningene
[t1,y1]=ode15s(@trykktank_modell_PI,[0 1],data.y0,[],data);
%Her legges setpunktsendringer og forstyrrelser til.

%data.y0(1)=0.25;
%data.y0(2)=1.5e5;
%data.U40=0.4;
%data.U20=0.4;
%data.q1=0.00025*1.2;
data.n3=0.04*1.2;
y01=[y1(end,:)]';

[t2,y2]=ode15s(@trykktank_modell_PI,[1 60],y01,[],data);

%data.q1=0.00025*1.2;
%data.n3=0.04*1.2;
y02=[y2(end,:)]';
[t3,y3]=ode15s(@trykktank_modell_PI,[60 100],y02,[],data);

%plotting av resultatene
figure(2);
y=[y1;y2;y3];
t=[t1;t2;t3];
subplot(2,1,1);

plot(t,y(:,1))
title('PI-regulering'); 
xlabel('tid[s]')
 ylabel('høyde[m]')
subplot(2,1,2);
plot(t,y(:,2))
 xlabel('tid[s]')
 ylabel('trykk[pascal]')

figure(1);
subplot(2,1,1);

plot(t,y(:,5))
title('Pådrag PI-regulering');
xlabel('tid[s]')
 ylabel('væskeventilåpning')
subplot(2,1,2);
plot(t,y(:,6))
xlabel('tid[s]')
 ylabel('gassventilåpning')
