>
restart;
Pro výpočet použijeme van der Waalsovu rovnici
>
p:=R*T/(Vm-b)-a/Vm^2;
Protože tato rovnice vede ke kubické rovnici, budeme její řešení hledat Newtonovou
metodou. Pro ní potřebujeme znát derivaci tlaku podle molárního objemu
>
der:=diff(p,Vm);
Prořebné konstanty nalezneme v tabulkách
>
a:=0.365281;
b:=4.27984*10^(-5);
Dosadíme zadaná data
>
R:=8.314;
>
T:=165.15+273.15;
>
pexp:=14.76*10^6;
Výslednou rovnicí je tedy vztah
>
p=pexp;
který můžeme znázornit i graficky
>
plot({p,R*T/Vm,pexp},Vm=b..0.001,y=0..2e7,color=[red,green,blue],thickness=2);
Zde červená čára udává závislost pro vdW rovnici, modrá je rovnice ideálního plynu a zelená přímka je hledaný tlak.
Pro postupné iterace rozvedeme vdW rovnici do Taylorovy řady prvního stupně
,
kde
Vm0
je počáteční odhad molárního objemu. Z této rovnice lze molární objem vyjádřit jako
. Postupným zpřesňováním
Vm0
pak dostáváme stale přesnější hodnoty molárního objemu.
Nultou aproximaci objemu lze snadno získat pomocí stavové rovnice ideálního plynu.
>
Vm:=R*T/pexp; p;
>
Vm:=(pexp-p)/der+Vm; p;
>
Vm:=(pexp-p)/der+Vm; p;
>
Vm:=(pexp-p)/der+Vm; p;
>
Vm:=(pexp-p)/der+Vm; p;
Je vidět, že pátá iterace již poskytuje teměř přesný tlak.
Prostředky MAPLE lze ale dostat řešení podstatně rychleji.
>
Vm:='Vm';
>
Vm:=fsolve(p=pexp,Vm);
>
p;
Nyní již můžeme vypočítat látkové množství
>
V:=10^(-3);
>
n:=V/Vm;
>