function p = pvdw(T, V, n)
% P = PVDV(T, V, n)
%
% Beregner trykk [Pa] for en blanding av O2, He og N2 med Van der Waals
% tilstandsligning med gitt trykk T [°K], volum V [m3], og moltall n [mol]
%
% Skrevet av Olaf Trygve Berglihn <olafb@pvv.org> 5. mai 2005
% Beskyttet av GPL v2 lisens <http://www.gnu.org/licenses/gpl.txt>

% T er temperatur i grader Kelvin
% V er antall m3
% n er en vektor av sammensetning i mol for O2, He og N2.
% returnerer p som er trykk for blandingen

% Van der Waals parametre og gasskonstant
a = [1.38e-1; 3.44e-3; 1.41e-1];
b = [3.18e-5; 2.37e-5; 3.85e-5];
R = 8.31;

% beregner nye Van der Waals coeffisienter for blandingen med enkle
% blandingsregler
N = sum(n);
x = n/N;
ar = sum(sqrt(a).*x)^2;
br = sum(b.*x);

p = N*R*T/(V-N*br) - ar*(N/V)^2;
