> restart:#"m15_p78"

> read`../therm_eq.m`:read`../therm_chem.m`:with(therm_chem):with(therm_proc):

Considérese la combustión de n-octano con 80% de aire teórico. Se pide:

a) Relación aire/combustible teórica y la realmente usada, y poder calorífico de la combustión completa y de la real.

b) Temperatura adiabática de la combustión teórica y de la realmente usada.

c) Considerando que a esa temperatura aparece también H2 en los productos, estimar su fracción molar a partir del equilibrio químico CO+H2O=CO2+H2, y de los resultados anteriores.

Datos:

> su0:="Aire":fuel:=C8H18:su2:="H2O":su3:="CO":su4:="H2":dat:=[lambda=0.8];

[lambda = .8]

Eqs. const.:

> Adat:=get_gas_data(su0):dat:=op(subs(g=g0,[Const])),op(dat),SI2,SI1:

a) Relación aire/combustible teórica y realmente  usada, y poder calorífico de la combustión completa y de la real.

Suponemos que la entrada es en condiciones estándar (25 ºC y 100 kPa); el octano estará liquido. Como no hay aire suficiente, aparecerá por lo menos CO.

> eqEsteq:=fuel+(25/2)*O2=8*CO2+9*H2O;A[0]=(25/2)/c21;Ateo(fuel);A_:=A[0]*lambda;A_:=subs(dat,rhs(Ateo(fuel))*lambda);eq_esteq:=eq_fit(subs(dat,fuel+A*(c21*O2+c79*N2)=c1*CO2+c2*H2O+c3*N2));PCS0_:=PCS(%);eq_real:=eq_fit(subs(dat,fuel+A_*(c21*O2+c79*N2)=c1*CO2+c2*H2O+c3*CO+c4*N2));PCS_:=PCS(%);

`+`(C8H18, `*`(`/`(25, 2), `*`(O2))) = `+`(`*`(8, `*`(CO2)), `*`(9, `*`(H2O)))
A[0] = `+`(`/`(`*`(`/`(25, 2)), `*`(c21)))
A[0] = 59.523809523809523810
`*`(A[0], `*`(lambda))
47.619047619047619048
`+`(C8H18, `*`(`/`(1975, 42), `*`(N2)), `*`(`/`(25, 2), `*`(O2))) = `+`(`*`(8, `*`(CO2)), `*`(9, `*`(H2O)), `*`(`/`(1975, 42), `*`(N2)))
`+`(`/`(`*`(5470680.00, `*`(J_)), `*`(mol_)))
`+`(C8H18, `*`(`/`(790, 21), `*`(N2)), `*`(10, `*`(O2))) = `+`(`*`(5, `*`(CO)), `*`(3, `*`(CO2)), `*`(9, `*`(H2O)), `*`(`/`(790, 21), `*`(N2)))
`+`(`/`(`*`(4055730.00, `*`(J_)), `*`(mol_)))

i.e. se usan 47,6 moles de aire por cada mol de fuel (la estequiometría es A0=59,5 mol/mol), y solo se pueden extraer 4,06 MJ por mol de fuel (la completa daría 5,47 MJ/mol).

Nótese que no vale PCS=0,8*PCS0=0,8*5,47=4.4 MJ/mol.

b) Temperatura adiabática de la combustión teórica y de la realmente usada.

Primero lo hacemos por mol de fuel y luego por mol de gases de salida.

> eqMesteq:=fuel+(25/2)*O2+3.76*(25/2)*N2=8*CO2+9*H2O+3.76*(25/2)*N2;PCI0_:=PCS0_-9*44e3*J_/mol_;eqTa0:=Ta=T25+PCI/(8*cpCO2+9*cpH2O+47*cpN2);evalf(subs(PCI=PCI0_*K_/(J_/mol_),cpCO2=54,cpH2O=47,cpN2=34,dat,%));

`+`(C8H18, `*`(`/`(25, 2), `*`(O2)), `*`(47.000000000000000000, `*`(N2))) = `+`(`*`(8, `*`(CO2)), `*`(9, `*`(H2O)), `*`(47.000000000000000000, `*`(N2)))
`+`(`/`(`*`(5074680.00, `*`(J_)), `*`(mol_)))
Ta = `+`(T25, `/`(`*`(PCI), `*`(`+`(`*`(8, `*`(cpCO2)), `*`(9, `*`(cpH2O)), `*`(47, `*`(cpN2))))))
Ta = `+`(`*`(2366.7647778230737872, `*`(K_)))

> eqMesteq:=eqMIX(subs(dat,a*fuel+a*rhs(Ateo(fuel))*(c21*O2+c79*N2))=[3,4,5]);sol1_:=solve(subs(dat,{eqBC,eqBH,eqBO,eqBN,eqNX}),{a,x[CO2],x[H2O],x[N2]});eq15_7_2;PCI_esteq:=PCI(eq_esteq);eqTa_esteq:=subs(sol1_,cpComp,PCI_=PCI_esteq,dat,eqTa);eqMreal:=eqMIX(subs(dat,a*fuel+a*A_*(c21*O2+c79*N2))=[3,4,5,7]);sol1_:=solve(subs(dat,{eqBC,eqBH,eqBO,eqBN,eqNX}),{a,x[CO2],x[H2O],x[N2],x[CO]});PCI_real:=PCI(eq_real);eqTa_:=subs(sol1_,cpComp,PCI_=PCI_real,dat,eqTa);

`+`(`*`(a, `*`(C8H18)), `*`(59.523809523809523810, `*`(a, `*`(`+`(`*`(.79, `*`(N2)), `*`(.21, `*`(O2))))))) = `+`(`*`(CO2, `*`(x[CO2])), `*`(H2O, `*`(x[H2O])), `*`(N2, `*`(x[N2])))
{a = `/`(42, 2689), x[CO2] = `/`(336, 2689), x[H2O] = `/`(378, 2689), x[N2] = `/`(1975, 2689)}
Ta = `+`(T25, `/`(`*`(a, `*`(PCI)), `*`(Sum(`*`(x[Com[i]], `*`(c[p, i])), i = 1 .. CP))))
`+`(`/`(`*`(5074590.00, `*`(J_)), `*`(mol_)))
Ta = `+`(`*`(2366.0456045022317097, `*`(K_)))
`+`(`*`(a, `*`(C8H18)), `*`(47.619047619047619048, `*`(a, `*`(`+`(`*`(.79, `*`(N2)), `*`(.21, `*`(O2))))))) = `+`(`*`(CO, `*`(x[CO])), `*`(CO2, `*`(x[CO2])), `*`(H2O, `*`(x[H2O])), `*`(N2, `*`(x[N2]))...
{a = `/`(21, 1147), x[CO] = `/`(105, 1147), x[CO2] = `/`(63, 1147), x[H2O] = `/`(189, 1147), x[N2] = `/`(790, 1147)}
`+`(`/`(`*`(3659640.00, `*`(J_)), `*`(mol_)))
Ta = `+`(`*`(2097.1909165398571930, `*`(K_)))

i.e. en la combustión real se alcanzarían 2100 K (2370 K en la estequiométrica).

c) Considerando que a esa temperatura aparece también H2 en los productos, estimar su fracción molar a partir del equilibrio químico CO+H2O=CO2+H2, y de los resultados anteriores.

> eq:=CO+H2O=CO2+H2;eqEQ_:=eqEQ(eq);eqEQ_:=evalf(subs(T=rhs(eqTa_),eqEQ(eq)));xH2_:=solve(subs(sol1_,%),x[H2]);

`+`(CO, H2O) = `+`(CO2, H2)
`/`(`*`(x[CO2], `*`(x[H2])), `*`(x[H2O], `*`(x[CO]))) = `+`(`*`(0.63622659484572251172e-2, `*`(exp(`+`(`/`(`*`(4951.8883810440221314, `*`(K_)), `*`(T)))))))
`/`(`*`(x[CO2], `*`(x[H2])), `*`(x[H2O], `*`(x[CO]))) = 0.67463395507496723448e-1
0.18527436429696135908e-1

i.e. aparecería casi un 2% de H2, aunque esto modificaría todo: el poder calorífico, la temperatura adiabática...

ADICIONAL. Calculemos la nueva composición y la temperatura adiabática que se alcanzaría realmente (que sería algo menor por la aparición del H2).

Probemos con Ta=2050 K.

> Ta_:=2050*K_;eqEQ_:=evalf(subs(T=Ta_,eqEQ(eq)));eqM:=eqMIX(subs(dat,a*fuel+a*A_*(c21*O2+c79*N2))=[3,4,5,7,8]);sol1_:=solve(subs(dat,SI0,{eqBC,eqBH,eqBO,eqBN,eqNX,eqEQ_}),{a,x[CO2],x[H2O],x[N2],x[CO],x[H2]})[1];PCI_:=PCI(subs(sol1_,eqM/a));eqTa_:=subs(sol1_,cpComp,PCI=PCI_,dat,eqTa);

`+`(`*`(2050, `*`(K_)))
`/`(`*`(x[CO2], `*`(x[H2])), `*`(x[H2O], `*`(x[CO]))) = 0.71231839534158482737e-1
`+`(`*`(a, `*`(C8H18)), `*`(47.619047619047619048, `*`(a, `*`(`+`(`*`(.79, `*`(N2)), `*`(.21, `*`(O2))))))) = `+`(`*`(CO, `*`(x[CO])), `*`(CO2, `*`(x[CO2])), `*`(H2, `*`(x[H2])), `*`(H2O, `*`(x[H2O]))...
{a = 0.18308631211857018309e-1, x[CO] = 0.78892353654202726817e-1, x[CO2] = 0.67576696040653419652e-1, x[H2] = 0.12650802405082364726e-1, x[H2O] = .15212687850163080005, x[N2] = .68875326939843068875}
`+`(`/`(`*`(3688087.4316507035893, `*`(J_)), `*`(mol_)))
Ta = `+`(`*`(2106.8751646599545929, `*`(K_)))

¡Ah! pues no, se compensa la aparición de H2 con el descenso de CO, y el resultado es la misma Ta (2100 K) y la siguiente composición:

> Ta_:=2106*K_;eqEQ_:=evalf(subs(T=Ta_,eqEQ(eq)));eqM:=eqMIX(subs(dat,a*fuel+a*A_*(c21*O2+c79*N2))=[3,4,5,7,8]);sol1_:=solve(subs(dat,SI0,{eqBC,eqBH,eqBO,eqBN,eqNX,eqEQ_}),{a,x[CO2],x[H2O],x[N2],x[CO],x[H2]})[1];PCI_:=PCI(subs(sol1_,eqM/a));eqTa_:=subs(sol1_,cpComp,PCI=PCI_,dat,eqTa);

`+`(`*`(2106, `*`(K_)))
`/`(`*`(x[CO2], `*`(x[H2])), `*`(x[H2O], `*`(x[CO]))) = 0.66800369548647133184e-1
`+`(`*`(a, `*`(C8H18)), `*`(47.619047619047619048, `*`(a, `*`(`+`(`*`(.79, `*`(N2)), `*`(.21, `*`(O2))))))) = `+`(`*`(CO, `*`(x[CO])), `*`(CO2, `*`(x[CO2])), `*`(H2, `*`(x[H2])), `*`(H2O, `*`(x[H2O]))...
{a = 0.18308631211857018309e-1, x[CO] = 0.79451383174649321953e-1, x[CO2] = 0.67017666520206824516e-1, x[H2] = 0.12091772884635769591e-1, x[H2O] = .15268590802207739519, x[N2] = .68875326939843068875}
`+`(`/`(`*`(3686830.3608685972127, `*`(J_)), `*`(mol_)))
Ta = `+`(`*`(2106.4481953978877928, `*`(K_)))

>