Está en la página 1de 6

Escuela de Ingeniería Química

Laboratorio de Ingeniería Química I.


Asignación 2. Uso de software.
Susana Paz Salazar - 201842831

1. En primer lugar se realizó el código en Matlab para encontrar la solución a la ecuación de estado
cuadrática, se ingresaron los datos constantes (R y w), las ecuaciones secundarias (a, b, ac, alfa, Tr
y m) y la ecuación de estado igualada a cero dentro de una función llamada “ec_estado”. Por otra
parte, en un nuevo script, se definen los vectores T y P con los valores respectivos, al igual que el
valor de presión y temperatura críticas y el vector v0 con los valores de volumen del gas ideal para
iniciar a realizar las interacciones (Anexo 1).

Al momento de correr el código, Matlab arroja el vector “vol”, el cual corresponde al valor del
volumen que resuelve la ecuación para cada pareja de condiciones iniciales de T y P (Figura 3),
además, se verifica el resultado evaluando estos valores en la función “fun” que depende de v y se
obtienen resultados muy cercanos al cero. Así, se puede afirmar que la solución encontrada es
cercana a la exacta.

Figura 3. Resultados de la ecuación de estado.

2. Primeramente se recopilaron los datos del experimento extraídos del simulador en la tabla 2,
los cuales se obtuvieron con los valores de las variables de la tabla 1, luego se analizaron los datos
en el programa JMP, en donde se obtuvo que los factores que más influyen en la variable de
respuesta son la Presión, la Temperatura y la interacción de ambos (Tabla 3).

Tabla 1. Condiciones del experimento.

1
Tabla 2. Recopilación de resultados.

Tabla 3. Pruebas de los efectos.

Como se puede evidenciar, por el P-value, la presión y la interacción entre temperatura y presión
son las variables más significativas en el experimento; la siguiente más significativa es la
temperatura. Así, se realiza un segundo análisis agregando un término de presión al cuadrado, sin
embargo, se obtuvo que este no es significativo (Tabla 4).

Tabla 4. Pruebas de los efectos incluyendo término cuadrado.

2
Por esta razón, se decidió tomar el modelo de la forma:

𝑦 = 𝛽0 + 𝛽1 𝑥1 + 𝛽2 𝑥2 + 𝛽3 𝑥1 𝑥2 (1)

Donde:

X1 = factor temperatura,

X2 = factor presión.

Por último, se codificó el modelo en Matlab (Anexo 2), iniciando con los valores recopilados en el
experimento y construyendo la matriz X, luego se hallaron los valores de β para definir la
superficie en un ciclo for, con la ecuación del modelo (1). Se decidió mantener el factor del
catalizador constante debido a que es el menos afecta la variable de respuesta. Por último se
configura la gráfica de la superficie.

Figura X. Superficie de respuesta para la producción del metano.

3
Anexo 1. Código de Matlab para la ecuación de estado.

Parte 1:

function e=ec_estado(T,v,P,Pc,Tc)
R=0.082054; %atmL/molK
Tr=(T+273.15)/Tc;

ac=(0.45724.*R^2.*Tc.^2.5)./Pc;
b=(0.07780.*Tc.*R)./Pc;
w=0.01142;
m=0.37464-(1.54226.*w)-(0.26992.*w.^2);
alf=(1+m.*(1-Tr.^0.5)+0.13.*(1-Tr).*(0.7-Tr)).^2; %Ecuación de Stryjek
Vera

e=((R.*(T+273.15)./(v-b))-((ac.*alf)/(v.*(v+b)+b.*(v-b))))-P;
end

Parte 2:

clear;clc;

T=[15 25 40 32 29 112]; %°C


P=[0.56 1.2 2.5 1.5 0.1 0.05];%atm
Tc=190.6;
Pc=46.1*0.9869;
v0=(0.082.*(T+273.15))./P;%L/mol

for i=1:6
fun=@(v)ec_estado(T(i),v,P(i),Pc,Tc);
vol(i)=fzero(fun,v0(i));
end

vol

for i=1:6
fun(vol(i))
end

4
Anexo 2. Código de Matlab para la superficie.

clear;clc;

C1=[5 5 5 5 15 15 15 15 10];
C2=[240 240 280 280 240 240 280 280 260];
C3=[39 63 39 63 39 63 39 63 51];

yexp=[27.3576 27.9296 22.2775 34.2535 27.4485 28.2415 21.5518 36.3134


28.4934];

x1=2*(C1-mean(C1(1:9)))/((max(C1(1:9))- min(C1(1:9))));
x2=2*(C2-mean(C2(1:9)))/((max(C2(1:9))- min(C2(1:9))));
x3=2*(C3-mean(C3(1:9)))/((max(C3(1:9))- min(C3(1:9))));

n=length(yexp);

X(:,1)=ones(1,n);
X(:,2)=x1;
X(:,3)=x2;
X(:,4)=x3;
X(:,5)=x2.*x3;

B=inv(X'*X)*X'*yexp'
R2=((B'*X')*yexp'-n*(mean((yexp).^2))/((yexp*yexp')-n*(mean((yexp)).^2)));

xx2=-1:0.1:1;
xx3=-1:0.1:1;

for i=1:length(xx2)
for j=1:length(xx3)

%Catalizador constante
yc1(i,j)=B(1)+B(2)*(-1)+B(3)*xx2(i)+B(4)*xx3(j)+B(5)*xx2(i)*xx3(j);
yc2(i,j)=B(1)+B(2)*(1)+B(3)*xx2(i)+B(4)*xx3(j)+B(5)*xx2(i)*xx3(j);

end
end

5
surf(xx2,xx3,yc1)
hold on
surf(xx2,xx3,yc2)
xlabel("Temperatura")
ylabel("Presion")
zlabel("Producción metano")
colormap("cool")

También podría gustarte