EJERCICIO DE EJEMPLO MATLAB-GUIDE
EJERCICIO DE EJEMPLO MATLAB-GUIDE
A continuación se explica el desarrollo de un programa utilizando GUIDE mediante el cual se A continuación se explica el desarrollo de un programa utilizando GUIDE mediante el cual se realizan las siguientes instrucciones:realizan las siguientes instrucciones: 1)
1) Se calcula la Temperatura de llama adiabática de una combustión para diferentes valoresSe 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 del exceso de aire y se grafica su comportamiento (Tadb vs exceso). El programa permite escoger entre 3
escoger entre 3 combustibles diferentes (Metano, Propano y Octano)combustibles diferentes (Metano, Propano y Octano) 2)
2) A partir del combustible elegido en la primera parte, se calcula una propiedad de la mezclaA 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 de los gases de combustión. El usuario puede escoger entre el calor específico o la conductividad de la mezcla.
conductividad de la mezcla.
TEMPERATURA DE LLAMA ADIABATICA
TEMPERATURA DE LLAMA ADIABATICA
En ausencia de cualquier interacción de trabajo y cambios en la energía cinética y potencial, la 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 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. 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 Cuanta más pequeña es la pérdida de calor, tanto mayor resulta el aumento de la temperatura. En el caso limite en e
el caso limite en e l que no haya pérdida de calor hacia los l que no haya pérdida de calor hacia los alrededores (Q=0), la temperatura de losalrededores (Q=0), la temperatura de los productos alcanzará un máximo, conocido como temperatura de combustión adiabática.
productos alcanzará un máximo, conocido como temperatura de combustión adiabática. Teniendo que:
Teniendo que:
− = ∆
− = ∆
A partir de la definición de la tem
A partir de la definición de la temperatura de llama adiabática se tiene que:peratura de llama adiabática se tiene que:
= 0
= 0,, = 0
= 0
Entonces Entonces
∶∶
− = ∆ = 0
− = ∆ = 0
((∑
∑ ∙ ℎ
∙ ℎ
̅̅ ° + ℎ
° + ℎ̅̅ − ℎ
− ℎ̅̅°
°))
==((∑
∑ ∙ ℎ
∙ ℎ
̅̅ ° + ℎ
° + ℎ̅̅ − ℎ
− ℎ̅̅°
°))
PARTE PRINCIPAL DEL PROGRAMA
PARTE PRINCIPAL DEL PROGRAMA
DESARROLLO DE LA ESTRUCTURA PRINCIPAL DEL PROGRAMA:
DESARROLLO DE LA ESTRUCTURA PRINCIPAL DEL PROGRAMA:
1)
1)
Estequiometria
Estequiometria
de la
de la
combustión:
combustión:
Se modela la composición molar del combustible de tal manera que solo interese el número de 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,
moles de los elementos básicos (C, H, O, N, S, etc.).N, S, etc.).
A partir del balance del número de átomos de los reactivos y productos encontramos que para 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:
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;
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:
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.
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 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 esto no tiene ninguna importancia sobre el programa
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 ] = xCO_2+0.5yH_2O+ wSO_2+ (3.77e*a+z/2) N_2 + e*(a-1)O_2
% 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