% eksempel på fylling

R=8.31;

% sammensetning, trykk, temperatur og volum
x = [0.15; 0.55; 1-0.15-0.55];
% x = [0.21; 0.35; 1-0.21-0.35];
% x=[1;1e-5; 1e-5]
% x=[0.10;0.9;0];
p = 250e5;
T = 20+273.15;
V = 36e-3;

disp(sprintf('Skal fylle %.0f/%.0f miks til %.0f bar', ...
	round(x(1)*100), round(x(2)*100), p/1e5)); 


% Ideel gass

nid = p*V/(R*T);
p1_id = nid*x(2)*R*T/V;
p2_id = p1_id + nid*(x(1)-x(3)*21/79)*R*T/V;
disp(sprintf('Ideell gass:   He til %.2f, O2 til %.2f', p1_id/1e5, p2_id/1e5));

% Van der Waals
% fyll til p1 med helium
% fyll til p2 med O2
Nv = nvdw(T, V, p, x);
nv = x*Nv;
n_o2_luft_v = nv(3)*21/79;
n_o2_rein_v = nv(1) - n_o2_luft_v;
p1_v = pvdw(T, V, [0; nv(2); 0]);
p2_v = pvdw(T, V, [n_o2_rein_v; nv(2); 0]);

disp(sprintf('Van der Waals: He til %.2f, O2 til %.2f', p1_v/1e5, p2_v/1e5))

% Peng-Robinson
% fyll til p1 med helium
% fyll til p2 med O2
Np = nprfun (T, V, p, x);
np = x*Np;
n_o2_luft_p = np(3)*21/79;
n_o2_rein_p = np(1) - n_o2_luft_p;
p1_p = prfun(T, V, [0; np(2); 0]);
p2_p = prfun(T, V, [n_o2_rein_p; np(2); 0]);
disp(sprintf('Peng-Robinson: He til %.2f, O2 til %.2f', p1_p/1e5, p2_p/1e5))

