Está en la página 1de 4

1.P8-6A. La reacción en fase líquida elemental orgánica e irreversible.

A+B--C Se lleva a cabo


adiabáticamente en un reactor de flujo. Entra una alimentación equimolar de A y B a 27°C, en tanto
el flujo volumétrico es de 2 dm3/s y CAO = 0.1 kmol/m3.

a) Calcule los volúmenes de PFR y CSTR necesarios para lograr una conversión del 85%. ¿Cuál es
el motivo de las diferencias?

T0=300; %[k] temperatura de la alimentacion


q0=2; %[dm3/s] flujo volumetrico
CA0=0.1; %[mol/dm3] concemtracion inicial de A
cB0=CA0; %[mol/dm3] concemtracion inicial de b
XA=0.85; % Conversion
E=10000; %[cal/mol]
R=1.98; %[cal/mol K]
d_HA=-20; %[kcak/mol] entalpia de A
d_HB=-15; %[kcak/mol] entalpia de B
d_HC=-41; %[kcak/mol]] entalpia de C
CpA=15; %[cal/mol.K]
CpB=CpA; %[cal/mol.K]
CpC=30; %[cal/mol.K]
CA=CA0*(1-XA)
FA0=q0*CA0 %[kmol/s] flujo de A en la entrada
FA=FA0-(XA*FA0) %[kmol/s] flujo de A en la salida

% Valores iniciales
V = 0; %Volumen incial
XA0 = 0; %Conversión inicial

dx = 0.00001; %Tamaño de paso


iteraciones = round(XA/dx); %Cantidad de iteraciones a realizar
for i=0:iteraciones
% Por comodidad, las ecuaciones están simplificadas
T = 300+200*XA0;
k = 0.01*exp((10000/1.987)*((1/T0)-(1/T)));
rA = k*(CA0^2)*((1-XA0)^2);
V = V + ((FA0/rA)*dx); % Suma el área de los rectangulos
XA0 = XA0 + dx; % Actualiza el valor de XA0
end
disp (["El volumen para una conversión de 85% es:", num2str(V)])

CSTR
%%Volumen para el CSTR
k2=0.01*exp((10000/2)*((1/470)-(1/T))) %[dm3/mol s]
rA=k2*(exp((E/R)*((1/T0)-(1/T))))*(CA0^2)*(1-XA)^2 %[]
V_CSTR=(FA0*XA)/rA %[dm3]

b) ¿Cuál es la temperatura máxima de entrada que se puede utilizar para que no se exceda el
punto de ebullición del líquido (550 K) aun en el caso de conversión total?

T_max=550; %[k] Temperatura maxima


X_max=1; % la maxima conversion que se puede lograr
T0_2=T_max-(200*X_max) %[K] Temperatura maxima a la que puede entrar

c) Grafique la conversión y la temperatura en función del volumen del PFR (es decir, la distancia a
lo largo del reactor).

% Valores iniciales
V = 0; %Volumen incial
X = 0; %Conversión inicial

XA = 0.85; %Valor deseado de conversión


dx = 0.00001; %Tamaño de paso
iteraciones = round(XA/dx); %Cantidad de iteraciones a realizar

for i=0:iteraciones
% Por comodidad, las ecuaciones están simplificadas
T = T0+200*X;
k = 0.01*exp((10000/1.987)*((1/T0)-(1/T)));
rA = k*(CA0^2)*((1-X)^2);

% Antes de actualizar valores, los almacenamos en los vectores


X_v(i+1) = X;
T_v(i+1) = T;
V_v(i+1) = V;

% Ahora se actualizan los valores para el siguiente proceso de iteración


V = V + ((FA0/rA)*dx); % Suma el área de los rectangulos
X = X + dx; % Actualiza el valor de X
end
% Con la librería de matplotlib, gráficamos los vectores
figure(1) % Para gráfica X vs V
plot(V_v,X_v)
legend('Conversión')
title("Volumen vs Conversión") % Título de la gráfica
xlabel('Volumen [dm^3]') % Marca eje x
ylabel('Conversión') % Marca eje y
grid on % Muestra las divisiones de los ejes

figure(2) % Para gráfica V vs T


plot(V_v,T_v)
legend('Temperatura')
title("Volumen vs Temperatura") % Título de la gráfica
xlabel('Volumen [dm^3]') % Marca eje x
ylabel('Temperatura') % Marca eje y
grid on % Muestra las divisiones de los ejes

d) Calcule la conversión que puede lograrse en un reactor CSTR de 500-dm3 y en dos CSTR de
250-dm3 en serie.

% Valores iniciales
V = 0; %Volumen incial
X = 0; %Conversión inicial

XA = 1; %Para poder ver todos los volumenes a valores de conversión


dx = 0.00001; %Tamaño de paso
iteraciones = round(XA/dx); %Cantidad de iteraciones a realizar

for i=0:iteraciones

T = 300+200*X;
k = 0.01*exp((10000/1.987)*((1/T0)-(1/T)));
rA = k*(CA0^2)*((1-X)^2);
V = (FA0/rA)*X; % Suma el área de los rectangulos

% Esta funcion nos da el resultado numerico


if 499.9 < V && V <=500
disp (["conversión CSTR 500:", num2str(X)])
break
end
X = X + dx; % Actualiza el valor de X
end

PARA CSTR EN SERIE

% Valores iniciales
V = 0; %Volumen incial
X = 0; %Conversión inicial
XA_2 = 1; %Para poder ver todos los volumenes a valores de conversión
dx = 0.000001; %Tamaño de paso
iteraciones = round(XA_2/dx); %Cantidad de iteraciones a realizar

for i=0:iteraciones

T = 300+200*X;
k = 0.01*exp((10000/R)*((1/T0)-(1/T)));
rA_1 = k*(CA0^2)*((1-X)^2);
V = (FA0/rA_1)*X; % Suma el área de los rectangulos

% Esta funcion nos da el resultado numerico


if 249.9 < V && V<=250
disp (["conversion CSTR1", num2str(X)])
break
end
X = X + dx; % Actualiza el valor de X
end
X2 = 0;

for j=0:iteraciones

T2 = T+200*(X2-X);
k = 0.01*exp((10000/R)*((1/T0)-(1/T2)));
rA_2 = k*(CA0^2)*((1-X2)^2);
V = (FA0/rA_2)*(X2-X); % Suma el área de los rectangulos

% Esta funcion nos da el resultado numerico


if 249.9 < V && V <= 250
disp (["conversión CSTR2:", num2str(X2)])
break
end
X2 = X2 + dx; % Actualiza el valor de X
end

También podría gustarte