> restart:#"m15_p37"

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

[Ateo, Mf, PCI, PCS, eqEQ, eqMIX, eq_fit, get_hgs_data, hgs_r25, nulist, seqEBE]

Se desea estimar los flujos de combustible y aire para alimentar una caldera que ha de suministrar 300 kW al agua de trabajo, quemando gas natural con un 20% de exceso de aire, sabiendo que la temperatura de salida de los humos ha de ser al menos 100 ºC superior a su temperatura de rocío

Datos:

> su1:="Aire":su2:="H2O":fuel:=CH4:dat:=[Q=300e3*W_,e=0.2,DTs=100*K_];

[Q = `+`(`*`(0.300e6, `*`(W_))), e = .2, DTs = `+`(`*`(100, `*`(K_)))]

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:

Tsalida:

> eq1:=eq15_2;eq1_:=Ateo(fuel);eq2:=eq15_4;A_:=solve(subs(A[0]=rhs(eq1_),dat,eq2),A);

A[0] = `/`(`*`(`+`(u, `*`(`/`(1, 4), `*`(v)), `-`(`*`(`/`(1, 2), `*`(w))), y)), `*`(c21))
A[0] = 9.524
e = `+`(`/`(`*`(A), `*`(A[0])), `-`(1))
11.43

> eq:=eqMIX(a*fuel+a*A_*(c21*O2+c79*N2)=[2,3,4,6]);sol1_:=solve(subs(dat,{eqNX,eqBC,eqBH,eqBO,eqBN}),{a,x[Comp[2]],x[Comp[3]],x[Comp[4]],x[Comp[6]]});PCI_:=subs(sol1_,PCI(eq)/a);eq8_2;Trocio_:=solve(subs(dat,eval(subs(x[v,sat]=x[H2O],sol1_,p[v]=pv,p=p0,dat,eq8_2))),T);Trocio=TKC(Trocio_);Ts_:=subs(dat,Trocio_+DTs);eq15_6_2;eqqs_:=subs(sol1_,cpComp,T=Ts_,dat,eqqs):evalf(%,2);eqqs__:=lhs(eqqs_)/a=subs(sol1_,rhs(eqqs_)/a);

`+`(`*`(a, `*`(CH4)), `*`(11.43, `*`(a, `*`(`+`(`*`(c21, `*`(O2)), `*`(c79, `*`(N2))))))) = `+`(`*`(x[O2], `*`(O2)), `*`(x[N2], `*`(N2)), `*`(x[CO2], `*`(CO2)), `*`(x[H2O], `*`(H2O)))
{a = 0.8045e-1, x[CO2] = 0.8045e-1, x[H2O] = .1609, x[N2] = .7265, x[O2] = 0.3218e-1}
`+`(`/`(`*`(0.8024e6, `*`(J_)), `*`(mol_)))
x[v, sat] = `/`(`*`(p[v](T)), `*`(p))
`+`(`*`(328.6, `*`(K_)))
Trocio = `+`(`*`(55.4, `*`(?C)))
`+`(`*`(428.6, `*`(K_)))
q[s] = `+`(`*`(a, `*`(PCI)), `-`(`*`(Sum(`*`(x[Com[i]], `*`(c[p, i])), i = 1 .. CP), `*`(`+`(T, `-`(T25))))))
q[s] = `+`(`/`(`*`(0.60e5, `*`(J_)), `*`(mol_)))
`/`(`*`(q[s]), `*`(a)) = `+`(`/`(`*`(0.7412e6, `*`(J_)), `*`(mol_)))

> n['fuel']:=Q/q;n_[fuel]:=subs(dat,Q/rhs(eqqs__)):'n[fuel]'=evalf(%);m[fuel]:=n_[fuel]*rhs(Mf(fuel)):'m[fuel]'=evalf(%);n[a]:='A*n[fuel]';n_[a]:=A_*n_[fuel]:'n[a]'=evalf(%);m[a]:=n_[a]*subs(Adat,M):'m[a]'=evalf(%);

`/`(`*`(Q), `*`(q))
n[fuel] = `+`(`/`(`*`(.4047, `*`(mol_)), `*`(s_)))
m[fuel] = `+`(`/`(`*`(0.6475e-2, `*`(kg_)), `*`(s_)))
`*`(A, `*`(n[fuel]))
n[a] = `+`(`/`(`*`(4.626, `*`(mol_)), `*`(s_)))
m[a] = `+`(`/`(`*`(.1342, `*`(kg_)), `*`(s_)))

>