> | restart:#"m09_p18" |
Se alimenta un reactor con monóxido de carbono y aire en proporción estequiométrica. Sabiendo que la salida es a 50 kPa y 2500 K, se pide:
a) Calcular la composición de salida y el balance energético suponiendo combustión completa.
b) Calcular la composición de salida y el balance energético suponiendo combustión en equilibrio.
Datos:
> | read`../therm_chem.m`:with(therm_chem):with(therm_proc): |
> | su1:="Aire":su2:="CO":dat:=[p1=50e3*Pa_,T1=2500*K_]; |
![]() |
Esquema:
> | ![]() |
![]() |
Eqs. const.:
> | dat:=op(dat),op(subs(g=g0,[Const])),SI2,SI1: |
a) Calcular la composición de salida y el balance energético suponiendo combustión completa.
> | eq:=eqMIX(a*CO+b*(c21*O2+c79*N2)=[2,3,4]);eqDat:=b/a=rhs(Ateo(su2));sol1_:=subs(dat,solve({eqDat,eqNX,eqBC,eqBH,eqBO,eqBN},{a,b,x[Comp[2]],x[Comp[3]],x[Comp[4]]})):'sol1'=evalf(%,2); |
![]() |
![]() |
![]() |
> | eqBE:=Qsale=PCI+(c[pf]+(b/a)*c[pa])*(T0-T25)-Sum('delta[i]*x[Comp[i]]*c[p,Comp[i]]/a',i=1..C)*(T1-T25);PCI_:=subs(sol1_,PCI(eq)/a):'PCI'=evalf(%,2);i:='i':eqBE_:=subs(cpComp,sol1_,b=a*b_a,c[pf]=c[p,CO2],dat,dat,(Qsale=PCI_+(c[p,CH4]+(b/a)*c[p,N2])*(T25-T25)-sum('delta[i]*x[Comp[i]]*c[p,Comp[i]]/a',i=1..C_)*(T1-T25))):evalf(%,2); |
![]() |
![]() |
![]() |
b) Calcular la composición de salida y el balance energético suponiendo combustión en equilibrio.
> | ### WARNING: allvalues now returns a list of symbolic values instead of a sequence of lists of numeric values
eq:=eqMIX(a*CO+b*(c21*O2+c79*N2)=[2,3,4,7]);eq1:=evalf(subs(p=p1,dat,eqEQ(CO+(1/2)*O2=CO2)));eq1_:=evalf(subs(T=T1,dat,eq1));sol1_:=allvalues(solve(subs(dat,{eq1_,eqDat,eqNX,eqBC,eqBO,eqBN}),{a,b,x[Comp[2]],x[Comp[3]],x[Comp[4]],x[Comp[7]]})):'sol1'=evalf(%,2); |
![]() |
![]() |
![]() |
![]() |
> | PCI:=-Sum('delta[i]*x[Comp[i]]*h||i',i=1..C)/a;PCI_:=subs(sol1_,-sum('delta[i]*x[Comp[i]]*h||i||_',i=1..C_)/a):'PCI'=evalf(%,2);eqBE_:=subs(cpComp,sol1_,b=a*b_a,c[pf]=c[p,CO2],dat,dat,(Qsale=PCI_+(c[p,CH4]+(b/a)*c[p,N2])*(T25-T25)-sum('delta[i]*x[Comp[i]]*c[p,Comp[i]]/a',i=1..C_)*(T1-T25))):evalf(%,2); |
![]() |
![]() |
![]() |
> |