p00.mw

> restart:#"m09_p00"

Se alimenta con vapor y aire un lecho de carbón (supóngase grafito) a presión y temperatura constantes. Supóngase que los datos son Raire/vapor=1, T1=1000 K y p1= 100 kPa. Se pide:

a) Indicar los productos esperados y determinar la varianza del sistema.

b) Calcular la composición de equilibrio.

c) Calcular la composición de equilibrio y el calor intercambiado en función de la temperatura de salida entre 400 K y 2000 K.

Datos:

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

> su1:="Aire":su2:="H2O":dat:=[T1=1000*K_,p1=1e5*Pa_,b_c=1];

[T1 = `+`(`*`(1000, `*`(K_))), p1 = `+`(`*`(0.1e6, `*`(Pa_))), b_c = 1]

Eqs. const.:

> Adat:=get_gas_data(su1):Wdat:=get_gas_data(su2),get_liq_data(su2):get_pv_data(su2):dat:=op(dat),op(subs(g=g0,[Const])),Adat,SI2,SI1:

a) Indicar los productos esperados y determinar la varianza del sistema..

Las combinaciones más plausibles de {C,H,O,N} son {CO2,CO,H2O,H2,CH4,CH4O,OH,H,O,NH3,NO,NO2,N2O}.

La varianza, V=2+C-F-R=2+E-F=2+E-2=4 es independiente del número de compuestos.

Podemos elegir como datos la temperatura, la presión, la relación vapor/aire y la proporción de oxígeno en el aire, y con ello queda fijado el estado de equilibrio.

> V:=2+C-F-R;V:=2+E-F;V_:=2+4-2;

`+`(2, C, `-`(F), `-`(R))
`+`(2, E, `-`(F))
4

b) Calcular la composición de equilibrio.

Relación de mezcla (mi son los que se supone que salen).

> eqDat:=subs(dat,b/c=b_c);eqMIX(subs(dat,a*C+b*H2O+c*(c21*O2+c79*N2))=[2,3,4,6,7,8,9,10,11,12,13,14,19,20]);

`/`(`*`(b), `*`(c)) = 1
`+`(`*`(a, `*`(C)), `*`(b, `*`(H2O)), `*`(c, `*`(`+`(`*`(.79, `*`(N2)), `*`(.21, `*`(O2)))))) = `+`(`*`(CH4, `*`(x[CH4])), `*`(CO, `*`(x[CO])), `*`(CO2, `*`(x[CO2])), `*`(H, `*`(x[H])), `*`(H2, `*`(x[...
`+`(`*`(a, `*`(C)), `*`(b, `*`(H2O)), `*`(c, `*`(`+`(`*`(.79, `*`(N2)), `*`(.21, `*`(O2)))))) = `+`(`*`(CH4, `*`(x[CH4])), `*`(CO, `*`(x[CO])), `*`(CO2, `*`(x[CO2])), `*`(H, `*`(x[H])), `*`(H2, `*`(x[...

Incógnitas: a,b,c y xi (3+i)

Ecuaciones: eqDAT,eqNX,eqBC,eqBH,eqBO,eqBN (6) y i+carbono-E=i+1-4 ecuaciones de equilibrio químico (en total hay 3+i incógnitas y 6+i+1-4=3+i ecuaciones).

Ya el valor de la K(T1) de la reacción de formación muestra si va a ser importante algún compuesto.

Estequiometrías

> eq1:=C+O2=CO2;eqEQ1:=eqEQ(eq1);eqEQ1_:=evalf(subs(T=T1,p=p0,dat,eqEQ1)):evalf(%,2);eq2:=C+(1/2)*O2=CO;eqEQ2:=eqEQ(eq2);eqEQ2_:=evalf(subs(T=T1,p=p0,dat,eqEQ2)):evalf(%,2);eq3:=C+CO2=2*CO;eqEQ3:=eqEQ(eq3);eqEQ3_:=evalf(subs(T=T1,p=p0,dat,eqEQ3)):evalf(%,2);

`+`(C, O2) = CO2
`/`(`*`(x[CO2]), `*`(x[O2])) = `+`(`*`(1.414730984, `*`(exp(`+`(`/`(`*`(47332.21074, `*`(K_)), `*`(T)))))))
`/`(`*`(x[CO2]), `*`(x[O2])) = 0.51e21
`+`(C, `*`(`/`(1, 2), `*`(O2))) = CO
`/`(`*`(x[CO]), `*`(`^`(x[O2], `/`(1, 2)))) = `+`(`*`(46119.19639, `*`(`^`(`/`(`*`(p0), `*`(p)), `/`(1, 2)), `*`(exp(`+`(`/`(`*`(13294.44311, `*`(K_)), `*`(T))))))))
`/`(`*`(x[CO]), `*`(`^`(x[O2], `/`(1, 2)))) = 0.27e11
`+`(C, CO2) = `+`(`*`(2, `*`(CO)))
`/`(`*`(`^`(x[CO], 2)), `*`(x[CO2])) = `+`(`/`(`*`(1503452099., `*`(p0, `*`(exp(`+`(`-`(`/`(`*`(20743.32452, `*`(K_)), `*`(T)))))))), `*`(p)))
`/`(`*`(`^`(x[CO], 2)), `*`(x[CO2])) = 1.5

que enseña que habrá poquísimo O2 (no combiene usarlo), y más CO que CO2 (e.g. si CO2=0,1, CO=sqrt(0.15)=0,4). También enseña que sólo 2 son independientes, pues:

> eqCheck:=lhs(eqEQ2_)^2/lhs(eqEQ1_)=rhs(eqEQ2_)^2/rhs(eqEQ1_):'eqCheck'=evalf(%,2);

eqCheck = (`/`(`*`(`^`(x[CO], 2)), `*`(x[CO2])) = 1.5)

> eqEQ4:=eqEQ(H2+(1/2)*O2=H2O);eqEQ4_:=evalf(subs(T=T1,p=p0,dat,eqEQ4)):evalf(%,2);eqEQ5:=eqEQ(H2O+CO=H2+CO2);eqEQ5_:=evalf(subs(T=T1,p=p0,dat,eqEQ5)):evalf(%,2);eqEQ6:=eqEQ(C+2*H2=CH4);eqEQ6_:=evalf(subs(T=T1,p=p0,dat,eqEQ6)):evalf(%,2);

`/`(`*`(x[H2O]), `*`(`^`(x[O2], `/`(1, 2)), `*`(x[H2]))) = `+`(`/`(`*`(0.4809227354e-2, `*`(exp(`+`(`/`(`*`(29085.87925, `*`(K_)), `*`(T)))))), `*`(`^`(`/`(`*`(p0), `*`(p)), `/`(1, 2)))))
`/`(`*`(x[H2O]), `*`(`^`(x[O2], `/`(1, 2)), `*`(x[H2]))) = 0.21e11
`/`(`*`(x[CO2], `*`(x[H2])), `*`(x[H2O], `*`(x[CO]))) = `+`(`*`(0.6378474543e-2, `*`(exp(`+`(`/`(`*`(4951.888382, `*`(K_)), `*`(T)))))))
`/`(`*`(x[CO2], `*`(x[H2])), `*`(x[H2O], `*`(x[CO]))) = .90
`/`(`*`(x[CH4]), `*`(`^`(x[H2], 2))) = `+`(`/`(`*`(0.6090259843e-4, `*`(p, `*`(exp(`+`(`/`(`*`(9002.886700, `*`(K_)), `*`(T))))))), `*`(p0)))
`/`(`*`(x[CH4]), `*`(`^`(x[H2], 2))) = .49

que enseña que habrá mucha más H2O que O2, pero menos que H2. De CH4 habrá menos que de H2.

> eqEQ7:=eqEQ(CO+2*H2=CH4O):eqEQ7_:=evalf(subs(T=T1,p=p0,dat,%));eqEQ8:=eqEQ(H2+O2=2*OH):eqEQ8_:=evalf(subs(T=T1,p=p0,dat,%));eqEQ9:=eqEQ(H2=2*H):eqEQ9_:=evalf(subs(T=T1,p=p0,dat,%));eqEQ10:=eqEQ(O2=2*O):eqEQ10_:=evalf(subs(T=T1,p=p0,dat,%));eqEQ11:=eqEQ(N2+3*H2=2*NH3):eqEQ11_:=evalf(subs(T=T1,p=p0,dat,%));eqEQ12:=eqEQ(N2+O2=2*NO):eqEQ12_:=evalf(subs(T=T1,p=p0,dat,%));

`/`(`*`(x[CH4O]), `*`(x[CO], `*`(`^`(x[H2], 2)))) = 0.1844853759e-6
`/`(`*`(`^`(x[OH], 2)), `*`(x[O2], `*`(x[H2]))) = 0.4927059298e-2
`/`(`*`(`^`(x[H], 2)), `*`(x[H2])) = 0.2395092050e-17
`/`(`*`(`^`(x[O], 2)), `*`(x[O2])) = 0.1162745885e-19
`/`(`*`(`^`(x[NH3], 2)), `*`(x[N2], `*`(`^`(x[H2], 3)))) = 0.2842116918e-5
`/`(`*`(`^`(x[NO], 2)), `*`(x[O2], `*`(x[N2]))) = 0.7257631484e-8

que enseña que de los demás habrá poquísimo.

Primera iteración: combustión teórica.

> sol1:=solve(subs(x[Comp[2]]=0,seq(x[Comp[i]]=0,i=7..nops(Comp)),dat,{eqNX,eqBC,eqBH,eqBO,eqBN,eqDat}),{a,b,c,x[Comp[3]],x[Comp[4]],x[Comp[5]]}):'sol1'=evalf(%,2);

sol1 = {a = .10, b = .50, c = .50, x[CO2] = .10, x[H2O] = .50, x[N2] = .40}

pero para ver si es buena aproximación se evalúan los demás con esos valores.

> sol11:=solve(subs(sol1,{eqEQ1_,eqEQ2_})):evalf(%,2);sol12:=solve(subs(sol1,sol11,{eqEQ5_,eqEQ6_})):evalf(%,2);

{x[CO] = .39, x[O2] = 0.21e-21}
{x[CH4] = 1.4, x[H2] = 1.7}

Primera conclusión: si se llega a formar CH4 o H2 o CO (dependerá de las energías de activación de los catalizadores) su proporción no será traza sino de primer orden en esas condiciones T,p,b_c.

> sol2:=solve(subs(x[Comp[2]]=0,x[Comp[9]]=0,seq(x[Comp[i]]=0,i=11..nops(Comp)),dat,{eqNX,eqBC,eqBH,eqBO,eqBN,eqDat,eqEQ3_,eqEQ5_,eqEQ6_}),{a,b,c,x[Comp[3]],x[Comp[4]],x[Comp[6]],x[Comp[7]],x[Comp[8]],x[Comp[10]]})[1];

{a = .4143032066, b = .3599495627, c = .3599495627, x[CH4] = 0.2930646191e-1, x[CO] = .3168627169, x[CO2] = 0.6813402776e-1, x[H2] = .2433390323, x[H2O] = 0.5799760662e-1, x[N2] = .2843601545}

y el H2O era despreciable, así como los demás.

> sol22:=seq([evalf(eqEQ||i||_,1),evalf(solve(subs(sol2,eqEQ||i||_)),3)],i=1..8);

[`/`(`*`(x[CO2]), `*`(x[O2])) = 0.5e21, 0.134e-21], [`/`(`*`(x[CO]), `*`(`^`(x[O2], `/`(1, 2)))) = 0.3e11, 0.134e-21], [`/`(`*`(`^`(x[CO], 2)), `*`(x[CO2])) = 1.], [`/`(`*`(x[H2O]), `*`(`^`(x[O2], `/`...
[`/`(`*`(x[CO2]), `*`(x[O2])) = 0.5e21, 0.134e-21], [`/`(`*`(x[CO]), `*`(`^`(x[O2], `/`(1, 2)))) = 0.3e11, 0.134e-21], [`/`(`*`(`^`(x[CO], 2)), `*`(x[CO2])) = 1.], [`/`(`*`(x[H2O]), `*`(`^`(x[O2], `/`...

El calor que sale, por mol de combustible procesado, será:

> q:=(1/a)*(Sum('x[Comp[i]]*h||i','i'=1..C)+Sum('x[Comp[i]]*c[p||i]*(Ts-T25)','i'=2..C))-c[p,C]*(Te-T25)-(b/a)*c[pa]*(Te-T25)-(c/a)*(h[lv0]+c[pv]*(Te-T25));

`+`(`/`(`*`(`+`(Sum(`*`(x[Comp[i]], `*`(h || i)), i = 1 .. C), Sum(`*`(x[Comp[i]], `*`(c[p || i], `*`(`+`(Ts, `-`(T25))))), i = 2 .. C))), `*`(a)), `-`(`*`(c[p, C], `*`(`+`(Te, `-`(T25))))), `-`(`/`(`...

> i:='i':q_:=subs(c[pa]=c[p,N2],c[pv]=c[p,H2O],cpComp,Te=T0,Ts=T1,dat,sol2,x[Comp[2]]=0,x[Comp[9]]=0,seq(x[Comp[i]]=0,i=11..nops(Comp)),h[lv0]=h[lv0]*M,Wdat,dat,(1/a)*(sum(x[Comp[i]]*'h||i||_',i=2..nops(Comp))+sum(x[Comp[i]]*c[p,Comp[i]]*(Ts-T25),i=2..nops(Comp)))-c[p,C]*(Te-T25)-(b/a)*c[pa]*(Te-T25)-(c/a)*(h[lv0]+c[pv]*(Te-T25))):'q'=evalf(%,3);

q = `+`(`-`(`/`(`*`(0.196e6, `*`(J_)), `*`(mol_))))

i.e. exotérmica.

c) Calcular la composición de equilibrio y el calor intercambiado en función de la temperatura de salida entre 400 K y 2000 K.

> n:=29:arr:=array(1..n,1..8):for i from 1 to n do T:=evalf( 200+1100*(i/n))*K_;sol2:=solve(subs(p=p1,x[Comp[2]]=0,x[Comp[9]]=0,seq(x[Comp[i]]=0,i=11..nops(Comp)),dat,{eqNX,eqBC,eqBH,eqBO,eqBN,eqDat,eqEQ3,eqEQ5,eqEQ6}),{a,b,c,x[Comp[3]],x[Comp[4]],x[Comp[6]],x[Comp[7]],x[Comp[8]],x[Comp[10]]})[1];q_:=subs(c[pa]=c[p,N2],c[pv]=c[p,H2O],cpComp,Te=T0,Ts=T,dat,sol2,x[Comp[2]]=0,x[Comp[9]]=0,seq(x[Comp[ii]]=0,ii=11..nops(Comp)),h[lv0]=h[lv0]*M,Wdat,dat,(1/a)*(sum(x[Comp[ii]]*'h||ii||_',ii=2..nops(Comp))+sum(x[Comp[ii]]*c[p,Comp[ii]]*(Ts-T25),ii=2..nops(Comp)))-c[p,C]*(Te-T25)-(b/a)*c[pa]*(Te-T25)-(c/a)*(h[lv0]+c[pv]*(Te-T25)));arr[i,1]:=T/K_;arr[i,2]:=subs(SI0,-q_)/1e6;arr[i,3]:=subs(sol2,x[Comp[3]]);arr[i,4]:=subs(sol2,x[Comp[4]]);arr[i,5]:=subs(sol2,x[Comp[6]]);arr[i,6]:=subs(sol2,x[Comp[7]]);arr[i,7]:=subs(sol2,x[Comp[8]]);arr[i,8]:=subs(sol2,x[Comp[10]]);od:  pl2:=pla(arr,2,1):pl3:=pla(arr,3,1):pl4:=pla(arr,4,1):pl5:=pla(arr,5,1):pl6:=pla(arr,6,1):pl7:=pla(arr,7,1):pl8:=pla(arr,8,1):plot([pl2,pl3,pl4,pl5,pl6,pl7,pl8],Temperatura=0..1300,x=0..0.5,color=black);

Plot_2d

>