> | restart:#"m15_p82" |
> | read`../therm_eq.m`:read`../therm_chem.m`:with(therm_chem);with(therm_proc):with(plots): |
![]() |
Considérese la combustión de gas natural (supóngase metano puro) con aire. Se pide:
a) Relación aire/combustible usada, y composición a la salida, cuando las fracciones de CO2 y de O2 a la salida sean iguales (mezcla pobre).
b) Poder calorífico inferior (másico y molar) y temperatura de combustión adiabática en el caso anterior.
c) Relación aire/combustible usada, y composición a la salida, si las fracciones de CO2 y de CO a la salida fuesen iguales (mezcla rica).
d) Poder calorífico inferior (másico y molar) y temperatura de combustión adiabática en el caso anterior.
e) Comparar las dos temperaturas adiabáticas obtenidas, justificando la diferencia.
Datos:
> | su0:="Aire":fuel:="CH4":dat:=[]:eq1:=x[CO2]=x[O2];eq2:=x[CO2]=x[CO]; |
![]() |
![]() |
Eqs. const.:
> | dat:=op(subs(g=g0,[Const])),op(dat),SI2,SI1:Adat:=get_gas_data(su0):Fdat:=get_gas_data(fuel): |
a) Relación aire/combustible usada, y composición a la salida, cuando las fracciones de CO2 y de O2 a la salida sean iguales (mezcla pobre).
Si sale tanto O2 será mezcla pobre, i.e. con A>A0.
> | eqST:=CH4+2*O2=CO2+2*H2O;eqM1:=eqMIX(subs(dat,a*CH4+a*A*(c21*O2+c79*N2))=[2,3,4,5]);seqEBE(%);sol1:=(solve(subs(dat,{eqNX,eqBC,eqBH,eqBO,eqBN,eq1}),{a,A,x[CO2],x[H2O],x[O2],x[N2]}));eqA0:=Ateo(fuel);eql1:=lambda=subs(sol1,A/rhs(eqA0)); |
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
(1) |
i.e. se quema con una relación aire/combustible relativa de 1,5 (50 % de exceso de aire respecto al teórico).
b) Poder calorífico inferior (másico y molar) y temperatura de combustión adiabática en el caso anterior.
> | PCImix_:=PCI(subs(sol1,eqM1));'a*PCI'=subs(sol1,a*PCI_);PCI_:=PCI(eqST);PCImass_:=%/subs(Fdat,M);eq15_7_2;eqTa_:=subs(sol1,cpComp,dat,eqTa); |
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
(2) |
i.e. PCI=50 MJ/kg=802 kJ/mol de fuel, y Ta=1720 K
c) Relación aire/combustible usada, y composición a la salida, si las fracciones de CO2 y de CO a la salida fuesen iguales (mezcla rica).
Si sale tanto CO será mezcla rica.
> | eqM2:=eqMIX(subs(dat,a*CH4+a*A*(c21*O2+c79*N2))=[3,4,7,5]);seqEBE(%);sol2:=op(solve(subs(dat,[eqNX,eqBC,eqBH,eqBO,eqBN,eq2]),[a,A,x[CO],x[H2O],x[CO2],x[N2]]));eql2:=lambda=subs(sol2,A/rhs(eqA0)); |
![]() |
|
![]() |
|
![]() |
|
![]() |
(3) |
i.e. se quema con una relación aire/combustible relativa de 0,88 (12 % de defecto de aire respecto al teórico).
d) Poder calorífico inferior (másico y molar) y temperatura de combustión adiabática en el caso anterior.
> | PCI_:='PCI_':PCImix_:=PCI(subs(sol2,eqM2/a));PCImass_:=%/subs(Fdat,M);eqTa_:=subs(PCI_=PCImix_,sol2,cpComp,dat,eqTa); |
![]() |
|
![]() |
|
![]() |
(4) |
.e. PCI=41 MJ/kg=661 kJ/mol de fuel, y Ta=2120 K.
e) Comparar las dos temperaturas adiabáticas obtenidas, justificando la diferencia.
Quemando con exceo de aire se obtiene una temperatura adiabática menor que quemando con defecto de aire (1720 K frente a 2120 K) porque hay más cantidad de gases a calentar, pese a que el poder calorífico es menor con mezcla rica (no se oxida completamente).
ADICIONAL
> | eqM0:=eqMIX(subs(dat,a*CH4+a*A*(c21*O2+c79*N2))=[3,4,5]);sol0:=op(solve(subs(A=rhs(eqA0),dat,[eqNX,eqBC,eqBH,eqBO,eqBN]),[a,A,x[CO2],x[H2O],x[N2]]));PCI0_:=PCI(eqST);PCImass_:=%/subs(Fdat,M);eqTa0_:=subs(PCI_=PCI0_,sol0,cpComp,dat,eqTa); |
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
(5) |
i.e. en la combustión teórica se obtendría un PCI=50 MJ/kg=802 kJ/mol, igual que con exceso de aire, pero una Ta=2285 K, que será la máxima obtenible. En función de lambda:
lambda>1
> | N:=2;m:=Matrix(N,7):eqM:=eqMIX(subs(dat,a*CH4+a*A*(c21*O2+c79*N2))=[2,3,4,5]);for ii from 1 to N do A_:=rhs(eqA0)*(1+2*(ii-1)/N);sol:=op(solve(subs(A=A_,dat,[eqNX,eqBC,eqBH,eqBO,eqBN]),[a,x[CO2],x[H2O],x[O2],x[N2]]));PCImix_:=PCI(subs(sol,eqM));eqTa_:=subs(a=PCImix_/PCI_,sol,cpComp,dat,eqTa);m(ii,1):=subs(sol,x[CO2]);m(ii,2):=subs(sol,x[H2O]);m(ii,3):=subs(sol,x[O2]);m(ii,4):=subs(sol,x[N2]);m(ii,5):=A_/rhs(eqA0);m(ii,6):=subs(sol,PCImix_/(a*PCI0_));m(ii,7):=rhs(eqTa_)/rhs(eqTa0_):od:pl1:=plot([seq([m(ii,5),m(ii,1)],ii=1..N)],lambda=1..2,0..1):pl2:=plot([seq([m(ii,5),m(ii,2)],ii=1..N)],1..2,0..1):pl3:=plot([seq([m(ii,5),m(ii,3)],ii=1..N)],1..2,0..1):pl4:=plot([seq([m(ii,5),m(ii,4)],ii=1..N)],1..2,0..1):pl6:=plot([seq([m(ii,5),m(ii,6)],ii=1..N)],1..2,0..1,color=black):pl7:=plot([seq([m(ii,5),m(ii,7)],ii=1..N)],1..2,0..1,color=blue):display(pl1,pl2,pl3,pl4,pl6,pl7): |
![]() |
|
![]() |
(6) |
lambda<1
> | N:=6;m:=Matrix(N,3):eqM:=eqMIX(subs(dat,a*CH4+a*A*(c21*O2+c79*N2))=[3,4,7,5]);for ii from 1 to N do A_:=rhs(eqA0)*(1-0.8*(ii-1)/N);sol:=op(solve(subs(A=A_,dat,[eqNX,eqBC,eqBH,eqBO,eqBN]),[a,x[CO2],x[H2O],x[CO],x[N2]]));PCImix_:=PCI(subs(sol,eqM));eqTa_:=subs(a=PCImix_/PCI_,sol,cpComp,dat,eqTa);m(ii,1):=subs(sol,x[CO2]);m(ii,2):=subs(sol,x[H2O]);m(ii,3):=subs(sol,x[CO]);m(ii,4):=subs(sol,x[N2]);m(ii,5):=A_/rhs(eqA0);m(ii,6):=subs(sol,PCImix_/(a*PCI0_));m(ii,7):=rhs(eqTa_)/rhs(eqTa0_):od:pl1_:=plot([seq([m(ii,5),m(ii,1)],ii=1..N)],1..2,0..1):pl2_:=plot([seq([m(ii,5),m(ii,2)],ii=1..N)],1..2,0..1):pl3_:=plot([seq([m(ii,5),m(ii,3)],ii=1..N)],1..2,0..1):pl4_:=plot([seq([m(ii,5),m(ii,4)],ii=1..N)],1..2,0..1):pl6_:=plot([seq([m(ii,5),m(ii,6)],ii=1..N)],1..2,0..1,color=black):pl7_:=plot([seq([m(ii,5),m(ii,7)],ii=1..N)],0..1,0..1,color=blue):display(pl1_,pl2_,pl3_,pl4_,pl6_,pl7_): |
![]() |
|
![]() |
(7) |
> | pt1:=PLOT(TEXT([2,0.95],'PCI/PCI0'),TEXT([1.3,0.9],'Tad/Tad0'),TEXT([1.3,0.7],'x[N2]'),TEXT([1.3,0.2],'x[H2O]'),TEXT([1.3,0.1],'x[CO2]'),TEXT([1.3,0.05],'x[O2]')):pt1_:=PLOT(TEXT([0.4,0.05],'PCI/PCI0'),TEXT([0.5,0.7],'Tad/Tad0'),TEXT([0.7,0.65],'x[N2]'),TEXT([0.7,0.25],'x[H2O]'),TEXT([0.8,0.03],'x[CO2]'),TEXT([0.7,0.15],'x[CO]')):display(pl1,pl2,pl3,pl4,pl6,pl7,pt1,pl1_,pl2_,pl3_,pl4_,pl6_,pl7_,pt1_); |
![]() |
> |