You are on page 1of 12

EJERCICIO DE EJEMPLO MATLAB-GUIDE

A continuación se explica el desarrollo de un programa utilizando GUIDE mediante el cual se

realizan las siguientes instrucciones:

1)

Se calcula la Temperatura de llama adiabática de una combustión para diferentes valores

del exceso de aire y se grafica su comportamiento (Tadb vs exceso). El programa permite

escoger entre 3 combustibles diferentes (Metano, Propano y Octano)

2)

A partir del combustible elegido en la primera parte, se calcula una propiedad de la mezcla

de los gases de combustión. El usuario puede escoger entre el calor específico o la

conductividad de la mezcla.

TEMPERATURA DE LLAMA ADIABATICA

En ausencia de cualquier interacción de trabajo y cambios en la energía cinética y potencial, la

energía química liberada durante un proceso de combustión se pierde como calor hacia los

alrededores o se usa internamente para elevar la temperatura de los productos de combustión.

Cuanta más pequeña es la pérdida de calor, tanto mayor resulta el aumento de la temperatura. En

el caso limite en el que no haya pérdida de calor hacia los alrededores (Q=0), la temperatura de los

productos alcanzará un máximo, conocido como temperatura de combustión adiabática.

Teniendo que:

− = ∆

A partir de la definición de la temperatura de llama adiabática se tiene que: = 0, = 0

Entonces

− = ∆ = 0

( ∙ (ℎ ̅̅̅ ° + ℎ ̅ − ℎ ̅ °)) = ( ∙ (ℎ ̅̅̅ ° + ℎ ̅ − ℎ ̅ °))

PARTE PRINCIPAL DEL PROGRAMA

DESARROLLO DE LA ESTRUCTURA PRINCIPAL DEL PROGRAMA:

1)

Estequiometria de la combustión:

Se modela la composición molar del combustible de tal manera que solo interese el número de

moles de los elementos básicos (C, H, O, N, S, etc.).

A partir del balance del número de átomos de los reactivos y productos encontramos que para

cualquier combustible la reacción química queda balanceada de la siguiente forma:

Teórico 2) Temperatura de llama adiabática: Para hallar la temperatura de llama adiabática se utiliza un
Teórico
Teórico

2) Temperatura de llama adiabática:

Para hallar la temperatura de llama adiabática se utiliza un ciclo while:

Mediante esta línea se calcula el aire teórico necesario para la combustión.

e=x+0.25*y+w-0.5*v;

while p<=0

El ciclo se controla mediante la variable p

A continuación se llama la Función de entalpías de los productos normalmente encontrados en

una Combustión.

%Funciones de entalpía de los productos normalmente encontrados en una Combustión utilizando ees. Es importante resaltar que el programa entrega: hf+h (T)-h (Testander) %La unidad utilizada para la entalpía es KJ/Kmol, se revisó que no se %produjeran problemas dimensionales

[h_H2O, h_CO2, h_N2, h_O2, h_SO2] = Entalpias (T);

A través de la siguiente ecuación se busca obtener el valor de p más cercano a cero mediante la

variación de la Temperatura (T).

p se hará cero cuando la Temperatura a la que se evalúa la entalpia de los productos sea igual a la

temperatura de llama adiabática.

p=x*(h_CO2)+0.5*y*(h_H2O)+ (3.77*e*a+z*0.5)*(h_N2)+ (e*(a-1))*(h_O2)+w*(h_SO2)-hf;

Si p aún no es lo suficientemente cercana a cero entonces se incrementa la temperatura en

pequeños valores (para mayor precisión) hasta que finalmente se alcance el valor buscado y se

acabe el ciclo.

T=T+0.01;

end

3)

Función que calcula la entalpia de cada producto con la temperatura ingresada:

function [ h_H2O,h_CO2,h_N2,h_O2,h_SO2] = Entalpias( T )

%La entalpía como función de la temperatura de cada uno de los

componentes se determinó mediante regresión usando el programa ees. %El intervalo en el que se realizó la regresión y que por tanto se

recomienda usar estas ecuaciones es de 1000

a 2500 K

h_H2O=-2.49863431E+05+2.57167332E+01*T+9.46312003E-03*T^2-1.15643373E-

06*T^3+4.10830472E-11*T^4;

h_CO2=-4.06270305E+05+3.49033734E+01*T+1.46122762E-02*T^2-3.81873546E-

06*T^3+4.02312019E-10*T^4;

h_N2=-7.77279965E+03+2.46435164E+01*T+5.88265813E-03*T^2-1.39753924E-

06*T^3+1.40659541E-10*T^4;

h_O2=-9.33437622E+03+2.84296356E+01*T+4.52357232E-03*T^2-1.03794483E-

06*T^3+1.17354463E-10*T^4;

h_SO2=-3.07042235E+05+2.57800000E+01*T+2.89750000E-02*T^2-1.27066666E-

05*T^3+2.15300000E-09*T^4;

4)

Funciones para el cálculo de propiedades

  • a) Fracciones molares

function [ x_CO2,x_H2O,x_N2,x_O2,x_SO2,M] = Fracmol( x,y,e,a,z,w)

%Número de moles totales de la mezcla

N_t=x+0.5*y+(3.77*e*a+(z*0.5))+e*(a-1)+w;

%Fracciones molares de cada componente, los valores utilizados se pueden %verificar en el comentario que acompaña el balance de energía

x_CO2=x/N_t;

x_H2O=0.5*y/N_t;

x_N2=(3.77*e*a+(z*0.5))/N_t;

x_O2=e*(a-1)/N_t;

x_SO2=w/N_t;

%Cálculo de la masa molecular de la mezlca , utiliando la contribución de %cada componente a la mezcla.

M=x_CO2*44+x_H2O*18+x_N2*28+x_O2*32+x_SO2*64;

end

  • b) Calor especifico de la mezcla

function [ Cpmez ] = Cpmezcla( T,x_CO2,x_H2O,x_N2,x_O2,x_SO2,M )

%Se emplea una función para cada propiedad. Las unidades utilizadas son unidades molares (J/Kmol-K). %Las expresiones para cada propiedad fueron halladas utilizando ees en un rango de temperaturas de 1000 a 2500 C %rango en el cual se recomienda que este la temperatura a la cual se desea calcular la propiedad.

C_p_CO2=3.83242068E+04+3.59574630E+01*T-2.67027333E-02*T^2+1.23768347E-

05*T^3-3.67087490E-09*T^4+6.39368776E-13*T^5-4.87868161E-17*T^6;

C_p_H2O=3.14584421E+04+1.40576028E+01*T+9.90600267E-04*T^2-2.98623901E-

06*T^3+1.23322399E-09*T^4-2.48524433E-13*T^5+2.05779381E-17*T^6;

C_p_N2=2.62229636E+04+1.39825799E+01*T-9.27798973E-03*T^2+3.98995139E-

06*T^3-1.08208234E-09*T^4+1.68256063E-13*T^5-1.14376017E-17*T^6;

C_p_O2=2.88492171E+04+1.37678455E+01*T-1.12607798E-02*T^2+6.23873476E-

06*T^3-2.07218712E-09*T^4+3.83274671E-13*T^5-3.03134487E-17*T^6;

C_p_SO2=3.89403867E+04+3.90526907E+01*T-3.10628948E-02*T^2+8.61199853E-

06*T^3+6.49072650E-16*T^4-1.50368348E-19*T^5+1.42738046E-23*T^6;

%La propiedad de la mezcla se obtiene al sumar la contribución de cada %componente, en este caso el Cp de la mezcla esta en base molar (J/Kmol- K).

Cpmez=(x_CO2*C_p_CO2+x_H2O*C_p_H2O+x_N2*C_p_N2+x_O2*C_p_O2+x_SO2*C_p_SO2)

;

%Si se quiere obtener el Cp de la mezcla en base másica basta con dividir el Cp molar entre la masa molecular de la mezcla M

%Propiedad másica = Propiedad molar/M %donde M es la masa molecular de la mezcla

%Cpmez=(x_CO2*C_p_CO2+x_H2O*C_p_H2O+x_N2*C_p_N2+x_O2*C_p_O2+x_SO2*C_p_SO2

)/M;

end

  • c) Conductividad de la mezcla

Para este caso es importante aclarar que la conductividad de la mezcla de gases debería ser calculada con una expresión más precisa que simplemente la suma de la contribución de cada componente.

De la literatura se tiene que una forma bastante aproximada para su cálculo es:

c) Conductividad de la mezcla Para este caso es importante aclarar que la conductividad de la

Aquí N es el número de especies químicas en la mezcla, Xi es la fracción molar de la especie i, ki es la conductividad de la especie pura i a la temperatura y presión del sistema, y Mi es el peso molecular de la especie i.

Por cuestiones de simplicidad en el programa desarrollado, la conductividad se calcula usando solo el numerador de la expresión anteriormente mostrada.

function [ Kmez ] = Kmezcla( T,x_CO2,x_H2O,x_N2,x_O2,x_SO2,M )

K_CO2=1.45570479E-02+8.07209034E-05*T-5.54718280E-09*T^2-

4.82341892E-12*T^3-3.60088265E-23*T^4+8.28570527E-27*T^5-

7.81375100E-31*T^6;

K_H2O=1.67251848E-02+6.79439646E-05*T+8.07797485E-08*T^2-

3.71236599E-11*T^3+8.74962252E-15*T^4-8.40812607E-19*T^5-

2.78525529E-29*T^6;

K_N2=2.38384879E-02+7.45196798E-05*T-4.12011720E-08*T^2+2.22278278E-

11*T^3+9.61397848E-22*T^4-2.22746767E-25*T^5+2.11464465E-29*T^6;

K_O2=2.28763919E-02+8.72712993E-05*T-2.22299839E-08*T^2+2.57460472E-

12*T^3+1.94087761E-15*T^4-4.95674907E-19*T^5+4.32252259E-23*T^6;

K_SO2=8.62126053E-03+3.56625055E-05*T+5.43859841E-08*T^2+3.16759147E-

10*T^3-1.80035262E-12*T^4+2.91827305E-15*T^5-1.56355468E-18*T^6;

%La propiedad de la mezcla se obtiene al sumar la contribución de cada componente a las condiciones de esta.

Kmez= (x_CO2*K_CO2+x_H2O*K_H2O+x_N2*K_N2+x_O2*K_O2+x_SO2*K_SO2);

PASOS PARA CREAR LA GUI

  • 1. Obtener todas las correlaciones de propiedades:

Ejemplo: Cálculo de las entalpias. ees

Además de se deben hacer las de las propiedades: calor específico y conductividad

  • 2. Crear todas las funciones a utilizar en el programa:

    • a) Entalpias

    • b) Fracción molar

    • c) Cp mezcla

    • d) K mezcla

      • 3. Crear interfaz GUI Titulo

a)

Static text

Parámetros de entrada:

a)

1 Panel

b)

1 Static text

c)

1 pop up menu

d)

1 Push Button

Propiedades

a)

1 panel

b)

5 static text

c)

2 edit text

d)

1 pop up menu

Grafica

a)

1 axes

PASOS PARA CREAR EL PROGRAMA: DEBAJO DEL PUSH BUTTON CALCULAR 1) Tomar el valor del selector

PASOS PARA CREAR EL PROGRAMA:

DEBAJO DEL PUSH BUTTON CALCULAR

1)

Tomar el valor del selector del panel parámetros de entrada para determinar que combustible fue elegido

%El popupmenu1 es el botón que permite seleccionar con que combustible %se realiza la combustión

% se obtiene el parámetro "valor" del selector

s=get(handles.popupmenu1,'Value');

2)

Definir la composición de los combustibles

%A continuación se procede a asignar la composición del combustible

%Se Asigna la composición del combustible de la opción 1 :Metano %Se Asigna la composición del combustible de la opción 2 :Propano %Se Asigna la composición del combustible de la opción 3 :Octano

%Composición del combustible

%x=Número de átomos de C %y=Número de átomos de H %z=Número de átomos de N %w=Número de átomos de S

%v=Número de átomos de O %e=Número teórico de moles de oxígeno necesarias para la %combustión. %hf=entalpia de formación

X=[1,3,8];

Y=[4,8,18];

Z=[0,0,0];

W=[0,0,0];

V=[0,0,0];

HF=[-74850,-103850,-249950];

3)

Se realiza un ciclo for para iterar el exceso de aire, dentro de este se usa el ciclo while previamente explicado para realizar la determinación de la temperatura de llama adiabática.

i=1;%Variable utilizada para almacenar la temperatura en un vector.

%Se itera el exceso de aire desde el 10 al 50%

for a=1.1:0.1:1.5

% Temperatura a partir de la cual comienza la iteración T estándar)

T=298; %[K]

%Se define un valor a la variable p por defecto para que el programa

empiece

la

ejecución

del

ciclo While

pero

importancia sobre el programa

esto

no

tiene

ninguna

p=-0.1;

%Se declaran estas variables como globales para poder utilizarlas en otra parte del programa

global x y z w v e

%Se asigna la composición del combustible.

x=X(s);

y=Y(s);

z=Z(s);

w=W(s);

v=V(s);

hf=HF(s);

%del balance de la reacción quimica:

%

C_x H_y N_z S_w O_v

+

e*a[O_2 + 3.77N_2 ] =

wSO_2+ (3.77e*a+z/2) N_2 + e*(a-1)O_2

xCO_2+0.5yH_2O+

% Cantidad teórica de Aire necesario para la combustión

e=x+0.25*y+w-0.5*v;

while p<=0

%Funciones de entalpía de los productos normalmente encontrados en una Combustión utilizando ees. Es importante resaltar que el programa entrega: %hf+h(T)-h(Testander)

[ h_H2O,h_CO2,h_N2,h_O2,h_SO2] = Entalpias( T );

%La unidad utilizada para la entalpía es Kj/Kmol, se revisó que no se Produjeran problemas dimensionales

%a través de esta ecuación se busca obtener el valor de p más cercano a cero mediante la variación de la T, hasta que se obtenga la T de llama adiabática. El método utilizado se explicó mejor anteriormente

p =x*(h_CO2)+0.5*y*(h_H2O)+(3.77*e*a+z*0.5)*(h_N2)+(e*(a-

1))*(h_O2)+w*(h_SO2)-hf;

T=T+0.01; %Incremento de la temperatura

end

%Mediante esta línea se guarda el valor de la temperatura hallada para cada exceso

Tp(i)=T;

i=i+1;

end

%se crea un vector para el exceso

ex=110:10:150;

4) Se realiza la gráfica de la temperatura de llama adiabática para cada valor del exceso

axes(handles.axes1)

grid on

hold on plot (ex,Tp) title('TEMPERATURA DE LLAMA ADB VS EXCESO DE AIRE') xlabel('Exceso de aire') ylabel('Temperatura de llama adiabática')

DEBAJO DEL POP UP MENÚ:

1) Tomar el valor del exceso del aire

a=str2double(get(handles.edit10,'string'))/100;% se obtiene el valor del exceso del aire

2) Se obtiene el parámetro de selección de la propiedad a calcular

c=get(handles.popupmenu6,'Value');% se obtiene el parámetro valor del selector 6 , el cual indica que propiedad se desea calcular

3) Tomar el valor de la temperatura de llama adiabática

Tm=str2double(get(handles.edit9,'string'));% Se ingresa la Temperatura a la que se quieren calcular las propiedades de la mezcla

Tm=Tm-273.15; %Se convierte de K a C

4) Calcular la fracción molar de la mezcla a partir del combustible seleccionado en la primera parte del programa y de los parámetros anteriormente ingresados

global x y e a z w

[x_CO2,x_H2O,x_N2,x_O2,x_SO2,M] = Fracmol( x,y,e,a,z,w ); % Calcula las fracciones molares y la M de la mezcla

5) Estructura switch para hacer el cálculo de la función seleccionada por el usuario

switch c

% se utiliza para realizar alguna acción dependiendo del valor

seleccionado

case

1

%Cálculo del Calor específico de la mezcla de gases

[ Cpmez ] = Cpmezcla( Tm,x_CO2,x_H2O,x_N2,x_O2,x_SO2,M ); %Función de interés

set(handles.text17,'string',Cpmez/1000); % Impresión del valor de la propiedad set(handles.text18,'string','[KJ/Kmol*C]'); % Impresión de las unidades de la propiedad

case 2

%Cálculo de la conductividad térmica de la mezcla de gases

[ Kmez ] = Kmezcla( Tm,x_CO2,x_H2O,x_N2,x_O2,x_SO2,M );

set(handles.text17,'string',Kmez); % Impresión del valor de la propiedad

set(handles.text18,'string','[W/C*m]'); % Impresión de las unidades de la propiedad

end

NOTA: Para aquellos que tengan dudas (o para constatar la solución) acerca de la realización del programa pueden revisar los ejemplos 15-8 y 15-10 del libro de Termodinámica de Cengel Sexta edición (pág. 787 y 793)