Table des matières Scilab

Vaporéformage du méthane

1. Hypothèses

On considère la réaction suivante en phase gazeuse :

CH4(g)+2H2O(g)=CO2(g)+4H2(g)

On suppose que la réaction s'effectue à pression constante, avec des proportions initiales stoechiométriques (2 moles d'eau pour 1 mole de méthane). En écrivant la loi d'action de masse pour des gaz parfaits, on obtient l'équation vérifiée par l'avancement (x) à l'équilibre :

(4x)4x(2-2x)2(1-x)(3+2x)2=K0(T)(P0P)2

P0=1 bar et K0(T) est la constante d'équilibre pour la température finale du mélange.

2. Constante d'équilibre et avancement

Avec le module scilab décrit ici, on calcule l'enthalpie standard et l'entropie standard de réaction :


getf('../equilibre/thermochim.sci') 
data=readData('../equilibre/thermodata.txt');
[DH,DS]=reaction(data,'CH_4(g)+2*H_2O(g)=CO_2(g)+4*H_2(g)')
            
164.94 173.82001 

La réaction est endothermique, avec une influence favorable de l'augmentation de température. Traçons le logarithme de la constante d'équilibre en fonction de la température :

plotA=scf();
plotK(DH,DS,300,1500,100)
../../../../figures/sciphys/thermochim/methane/plotA.svgFigure pleine page

La température d'inversion est :

Ti=DH*1e3/DS
948.91264 

À T=1100 K, la constante d'équilibre est :

K1=constanteK(DH,DS,1100)
17.68984 

La fonction suivante calcule l'avancement en résolvant l'équation polynomiale avec la fonction roots. On retient la racine comprise entre 0 et 1.


function y=avancement(T,P)
 x=poly(0,'x');
 p=(4*x)^4*x-constanteK(DH,DS,T)/P^2*(2-2*x)^2*(1-x)*(3+2*x)^2;
 r=roots(p);
 a=0
 for i=1:length(r),
    if imag(r(i))==0 then 
        if ((real(r(i))<1)&(real(r(i))>0)) then 
            a=r(i)
        end,
    end,
 end,
 y=a
endfunction
            

Courbe donnant l'avancement en fonction de la température (1 bar et 10 bar):

 
n=100; Tmin=500; Tmax=1500;
temp=[Tmin:(Tmax-Tmin)/(n-1):Tmax];
a1=temp;
a2=temp;
for i=1:n,
    a1(i)=avancement(temp(i),1); 
    a2(i)=avancement(temp(i),10);            
end
            
plotB=scf();
plot2d(temp,a1,style=21)
plot2d(temp,a2,style=9)
legend(['1 bar';'10 bar'])
xtitle('Avancement','T (K)','x')
../../../../figures/sciphys/thermochim/methane/plotB.svgFigure pleine page

Pour une température finale de 1100 K et une pression de 1 bar, lavancement est

x1=avancement(1100,1)
0.6906227 

3. Réaction adiabatique

On suppose que la réaction est effectuée de manière isobare et adiabiatique. Soit Ti la température initiale du mélange. La variation d'enthalpie du mélange est nulle, ce qui donne l'équation :

Cp(x)(TF-Ti)+xΔrH0=0

Cp(x) désigne la capacité thermique du mélange final. La température finale TF et l'avancement x sont inconnus. Pour déterminer la solution, on trace la température finale en fonction de l'avancement puis on repère l'intersection avec la courbe d'avancement en fonction de la température.

Voici un exemple pour une température initiale de 1800 K :


function T=Tfinale(Ti,x)
    T=Ti-x*DH*1e3/(35*(1-x)+33.58*2*(1-x)+37.11*x+29*4*x)
endfunction
Ti=1800
n=10;
av=[0:1/(n-1):1];
Tf=av;
for i=1:n,
    Tf(i)=Tfinale(Ti,av(i));
end

            
plotC=scf();
plot2d(Tf,av,style=21)
plot2d(temp,a1)
legend(['Bilan H','Equilibre'])
xtitle('Avancement','T(K)','x')
../../../../figures/sciphys/thermochim/methane/plotC.svgFigure pleine page

La température finale est 1030 K et l'avancement environ 0.6

Creative Commons LicenseTextes et figures sont mis à disposition sous contrat Creative Commons.