Script Para Diagrama de Fases

6
Ejercicio: Obtener el diagrama de fases y la curva de equilibrio líquido- vapor para el sistema binario Benceno-Hexano a la presión de la UIA. Las temperaturas de ebullición del benceno y tolueno son 69.95 °C y 58.79 °C respectivamente, las constantes de la ecuación de Antoine (ec. 3) para estos compuestos son: Ecuación de Antoine: log P= A−( B C +T ) Objetivo del programa: Construir un programa en Matlab que construya el diagrama de equilibrio líquido-vapor y el diagrama de fases para dos compuestos cualesquiera, haciendo uso de la ecuación de Antoine. Script propuesto: Ab=input('dame A del Benceno') Bb=input('dame B del Benceno') Cb=input('dame C del Benceno') At=input('dame A del Tolueno') Bt=input('dame B del Tolueno') Ct=input('dame C del Tolueno') Tb=input('dame la temperatura del Benceno') Tt=input('dame la temperatura del Tolueno') P=input('dame la presion') temperatura=[Tt:1.12:Tb] for i=1:length(temperatura) POb(i)=10^(Ab-(Bb/(temperatura(i)+Cb))) POt(i)=10^(At-(Bt/(temperatura(i)+Ct))) Xb(i)=(P-POb(i))/(POb(i)-POt(i)) Xt(i)=(POb(i)*Xb(i))/P end [POb',POt',Xb',Xt'] subplot(2,1,1) plot(Xb,temperatura,Xt,temperatura) subplot(2,1,2) plot(Xb,Xt) Errores detectados en el script para Matlab propuesto: El script presentado anteriormente tiene muchos errores, comenzando por el planteamiento de la solución del problema, ya

description

Script en matlab para hacer diagramas de fases

Transcript of Script Para Diagrama de Fases

Page 1: Script Para Diagrama de Fases

Ejercicio: Obtener el diagrama de fases y la curva de equilibrio líquido-vapor para el sistema binario Benceno-Hexano a la presión de la UIA. Las temperaturas de ebullición del benceno y tolueno son 69.95 °C y 58.79 °C respectivamente, las constantes de la ecuación de Antoine (ec. 3) para estos compuestos son:

Ecuación de Antoine: log P=A−( BC+T

)

Objetivo del programa:

Construir un programa en Matlab que construya el diagrama de equilibrio líquido-vapor y el diagrama de fases para dos compuestos cualesquiera, haciendo uso de la ecuación de Antoine.

Script propuesto:

Ab=input('dame A del Benceno')Bb=input('dame B del Benceno')Cb=input('dame C del Benceno')At=input('dame A del Tolueno')Bt=input('dame B del Tolueno')Ct=input('dame C del Tolueno')Tb=input('dame la temperatura del Benceno')Tt=input('dame la temperatura del Tolueno')P=input('dame la presion')temperatura=[Tt:1.12:Tb]for i=1:length(temperatura) POb(i)=10^(Ab-(Bb/(temperatura(i)+Cb))) POt(i)=10^(At-(Bt/(temperatura(i)+Ct))) Xb(i)=(P-POb(i))/(POb(i)-POt(i)) Xt(i)=(POb(i)*Xb(i))/Pend[POb',POt',Xb',Xt']subplot(2,1,1)plot(Xb,temperatura,Xt,temperatura)subplot(2,1,2)plot(Xb,Xt)

Errores detectados en el script para Matlab propuesto:

El script presentado anteriormente tiene muchos errores, comenzando por el planteamiento de la solución del problema, ya que cuando se pide hacer un diagrama de fases a una presión determinada, las temperaturas que se dan, son datos para obtener presiones de saturación, no para proponer un intervalo de temperaturas para realizar el diagrama.

Otro error detectado es que si se deja asi, el programa solamente servirá para hacer diagramas de Tolueno-Benceno, ya que las instrucciones solamente piden datos de esos compuestos.

Page 2: Script Para Diagrama de Fases

Otro error es que la presión a la que se va a trabajar debe ser pedida en mmHg ya que la ecuación de Antoine así lo pide, en el caso ya que las constantes están dadas para trabajar con esas unidades.

En la instrucción temperatura=[Tt:1.12:Tb]se realiza el intervalo de temperaturas con un cambio de 1.12 entre temperatura y temperatura para construir el intervalo, esta instrucción se puede modificar haciendo uso de linspace==[Tt, Tb, n] donde n será igual al número de valores aleatorios entre Tt y Tb que dará la instrucción, esto es más eficiente.Al script de arriba de igual manera le hacen falta instrucciones más específicas para con respecto a la gráfica que se pide que se elabore.

Explicación de algunas instrucciones:Intruccion de la línea 10: Genera un intervalo de temperaturas entre Tb y Tt con un incremento de 1.12Instrucción de la línea 18: La instrucción subplot permite visualizar más de una figura dentro de una misma gráfica.Intrucción de la línea 21: Esta instrucción genera el gráfico de lo que se indica, y en el orden la primer coordenada del punto es lo que se graficará en el eje X y la segunda coordenada será lo que se graficará en el eje Y.

NOTA:

A continuación incluyo el script correcto para realizar y resolver este problema, ya elaborado correctamente y probado en Matlab, ya que haciendo uso de lo aprendido en cursos anteriores en combinación con lo aprendido en la clase de programación, se llegó a la realización del programa que arroja resultados correctos para el problema.

Script para el editor de MATLAB:

A1=input(‘Dame la constante A del primer compuesto:’);B1=input(‘Dame la constante B del primer compuesto:’);C1=input(‘Dame la constante C del primer compuesto:’);A2=input(‘Dame la constante A del segundo compuesto:’);B2=input(‘Dame la constante B del segundo compuesto:’);C2=input(‘Dame la constante C del segundo compuesto:’);P=input(‘Dame la presión a la que se hará el diagrama en mmHg:’);TS1=(B1/(A1-(log10(P))))-C1;TS2=(B2/(A2-(log10(P))))-C2;X=linspace(0,1,20);for i=1:length(X) Tsup(i)=X(i)*TS1+(1-X(i))*TS2 Po1(i)=10^(A1-(B1/(Tsup(i)+C1))) Po2(i)=10^(A2-(B2/(TS2+C2))) Y1(i)=(X(i)*Po1(i))/P end[Po1',Po2',Y1']subplot(1,2,1)plot(X,Po1,Y1,Po1), title(‘Diagrama de fases’), xlabel(‘XY’), ylabel(‘Presión en mmHg’), grid onsubplot(2,1,2)

Page 3: Script Para Diagrama de Fases

plot(X,Y1,Y1,X), title (‘Diagrama de equilibrio’), xlabel(‘X’), ylabel(’Y’), grid on

Capturas de la corrida del programa y los resultados arrojados:

Page 4: Script Para Diagrama de Fases
Page 5: Script Para Diagrama de Fases

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO

FACULTAD DE QUÍMICA

PROGRAMA EDUCATIVO DE INGENIERO QUÍMICO

“Script en Matlab para elaborar el diagrama de fases y el diagrama de equilibrio para dos compuestos”

PRESENTA:Serrano Delgadillo Guillermo Uriel.

“Programación”Ma. Esther Contreras Lara Vega.

Toluca, Méx a 26 de Septiembre de 2014.