Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tarea CSTR Isotermico
Tarea CSTR Isotermico
Tarea:
Reactor CSTR de Primer Orden – Isotérmico
Autor:
Mario Alberto Lugo Valadez
Catedrático:
Dr. Héctor Hernández Escoto
Fecha de entrega:
27 de noviembre del 2023
1. Evaluar la EDO correspondiente con las condiciones nominales asignadas
a la misma para el reactor CSTR:
F
Ċ=−k ( T ) C a + ( C −C a ),
V e
( F ,C e , T ) → C
Condiciones nominales
3
ft
F=40
h
mol ∙lb
C e =0.55 3
ft
T =590.35 R
3
V =48 ft
−E
k =α e RT
10 1
α =7.08 x 10
h
BTU
E=30,000
mol ∙ lb
BTU
R=1.9872
mol ∙ lb ∙ R
BTU
−30000
mol ∙lb
BTU
1 1.9872 mol ∙lb ∙R ∗590.35 R
10
k =(7.08 x 10 )e =0.55477
h
Ingresando la ecuación y las condiciones nominales a Python, se obtiene la siguiente gráfica:
25 de noviembre de 2023 1
I TIEMPO (S) CONCENTRACIÓN
0 0.0 0.000000
1 0.4 0.140681
2 0.8 0.221423
3 1.2 0.267763
4 1.6 0.294359
5 2.0 0.309624
6 2.4 0.318385
7 2.8 0.323413
8 3.2 0.326298
9 3.6 0.327955
10 4.0 0.328905
11 4.4 0.329451
12 4.8 0.329764
13 5.2 0.329944
14 5.6 0.330047
15 6.0 0.330106
16 6.4 0.330140
17 6.8 0.330159
25 de noviembre de 2023 2
18 7.2 0.330171
19 7.6 0.330177
20 8.0 0.330181
21 8.4 0.330183
22 8.8 0.330184
23 9.2 0.330185
24 9.6 0.330185
25 10.0 0.330185
26 10.4 0.330186
27 10.8 0.330186
28 11.2 0.330186
29 11.6 0.330186
30 12.0 0.330186
31 12.4 0.330186
Donde también se aprecia que el estado estacionario se logra a los 10.4 segundos con una
mol ∙lb
concentración final de 0.330186 3 .
ft
De manera analítica, para comprobar que esto se sea verídico y evitar cualquier clase de
sesgo al momento de realizar la simulación numérica de manera computacional, se tiene que:
Ċ=0
Por lo tanto:
F
0=−k ( T ) C a + ( C −Ca )
V e
F F
0=−k C a+ C− C
V e V a
Factorizando C a
F F
0=−C a (k + )+ C
V V e
F F
C a (k + )= C e
V V
25 de noviembre de 2023 3
Despejando C a
F
C
V e
C a=
F
(k + )
V
Sustituyendo
3
ft
40
h mol ∙ lb
3
∙ 0.55 3
48 ft ft mol ∙lb
C a= 3
=0.330186 3
ft ft
40
1 h
(0.55477 + )
h 48 ft 3
a=
[ ]
∂f
∂ Ca ( C a=C a0)
=−k ( T )−
F
V
b 1= [ ]
∂f
∂F ( F= F0)
=
C Ae−C A
V
b 2=
[ ] ∂f
∂ Ce ( C e =C e0)
=
F
V
25 de noviembre de 2023 4
Sustituyendo:
a=
[ ]∂f
∂ Ca ( C a=C a0)
=−0.55477−
40
48
=−1.388
b 1=
[ ]
∂f
∂F ( F= F0)
=
0.55−0.330186
48
=0.00457
b 2=
[ ]∂f
∂ Ce ( C e =C e0)
=
40
48
=0.8333
~
˙ ~ ~ ~
C=−1.3881 Ca+0.00457 F +0.8333 Ce
Por lo tanto:
τ KP
CA
KP
F
KP
Ce
ts 2.8
τ= = =0.7 -1.3881 0.00457 0.8333
4 4
~ C ~ F~ C~
τ C˙ + K P Ca=K P F+ K P Ce
A e
~ ~ ~ ~
0.7 C˙ +1.3881 Ca=0.00457 F+0.8333 Ce
Gráficamente se tiene:
25 de noviembre de 2023 5
Donde también se aprecia que el estado estacionario se logra a los 10 segundos con una
mol ∙lb
concentración final de 0.461865 3 .
ft
Para conocer las ganancias del sistema con una desviación del 2% en cada una de las
variables se tiene:
~
F=±2 % ∙ ( 40 )=± 0.8
~
Ce=± 2 % ∙ ( 0.55 )=±0.011
~
Para la desviación en F :
25 de noviembre de 2023 6
~
Para la desviación en Ce :
Donde:
DESVIACIÓN VALOR CA ∆ Ca TS GANANCIA(K)
F
KP 0.0045733
Ce
KP 0.833322
τ 0.7
De:
~ ~ F~ C~
τ C˙ + Ca=K P F + K P Cee
~ ~ ~ ~
0.7 C˙ + Ca=0.0045733 F+ 0.83332 Ce
25 de noviembre de 2023 7
~ ~ ~
˙C=−C A +0.0045733 F +0.83332 Ce
~
0.7
Sistema de Control
Controlador PI (Proporcional-Integral)
KC
F=F+ K c (C−C)+∫ (C−C)dτ
τI
Donde:
KC
=K I Ganancia Integral
τI
Partiendo de la ecuación:
τ~
C˙ A +~
C A=K C ~
C Ae + K F ~
Ae
F
25 de noviembre de 2023 8
~ ~ ~ ~
0.7 C˙ + Ca=0.0045733 F+ 0.83332 Ce
~ ~ KC ~
F=K c C +∫ C dτ
τI
~
Sustituyendo F en:
~ ~ ~ ~
τ C˙ A + C A=K c C e + K I F
~ ~ ~
[ ~
τ C˙ A + C A=K c C e + K I K c C +∫
KC~
τI
C dτ
]
Se deriva nuevamente para eliminar la integral:
~ ~ ~ ~ KC ~
τ C¨ A + C˙ A=K C C˙ Ae + K F K c C˙ A + K F C
Ae
τI
Reacomodando:
~ ~ KC ~ ~
τ C¨ A + C˙ A ( 1−K F K c )−K F C=K C C˙ Ae
τI Ae
Reesc
( τ τI
−K F K C
~
)
C¨ A +
( 1− K F K c ) τ I ~˙ ~ τ I K C ~˙
−K F K C
C A + C= C
−K F K C Ae
Criterios de estabilidad
τ τI
>0
−K F K C
( 1−K F K c ) τ I
>0
−K F K C
τ τI
Analizando primero >0:
−K F K C
25 de noviembre de 2023 9
Tanto τ como K F son positivos, entonces hay dos opciones para que la expresión sea mayor
que cero
1. Si τ I >0 , por lo tanto, K C <0
2. Si τ I <0 , por lo tanto, K C >0
( 1−K F K c ) τ I
Analizando >0 :
−K F K C
( 1−K F K c ) τ I
>0
−K F K C
1−K F K c >0
1
Kc<
KF
Para el análisis de los criterios de estabilidad para conocer la zona de aceptación de los
valores dados para cada una de las ganancias, si se considera este último criterio para la
ganancia proporcional esta misa estará en un rango positivo de valores para la misma en
algún momento dado, tomando en cuenta esto, τ I < 0, y si Kc < 0, por consecuente, τ I > 0.
Superficie de respuesta con escenario de prueba de -1 % en la temperatura, Kc, Ki, e IAE
graficados.
25 de noviembre de 2023 10
Anexos (Códigos)
1. Ecuación No Lineal Reactor CSTR
import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt
import pandas as pd
import math
# Condiciones iniciales
c0 = 0
# Puntos de solución-graficación
n = 50
25 de noviembre de 2023 11
plt.legend(['Concentración (mol*lb/ft3)'])
plt.show()
# Mostrar el DataFrame
print(data)
2. Ecuación Linealizada
import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt
import pandas as pd
# Condiciones iniciales
c0 = 0
# Puntos de solución-graficación
n = 50
# Valores de Ce y F a evaluar
Ce_values = [0.55, 0.561, 0.539]
F_values = [40] #[40, 40 + 0.8, 40 - 0.8]
for Ce in Ce_values:
for F in F_values:
25 de noviembre de 2023 12
# Resolución del sistema de EDOs para los valores específicos de Ce y
F
c = odeint(funcionLineal, c0, tiempo, args=(F, Ce))
25 de noviembre de 2023 13
F = 40 # ft3/h
k = alpha * math.exp(-E / (R * T))
dcadt = -k * c + (F / V) * (Cae - c)
return dcadt
# Condiciones iniciales
c0 = 0
c_tilde0 = 0
# Puntos de solución-graficación
n = 50
25 de noviembre de 2023 14
# Mostrar los DataFrames
print("Datos ec. No lineal:")
print(data_original)
4. Superficie de respuesta
import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# Definicion de Entrada
CAe = CAeN
F = F_nominal
T = T_nominal - 0.01 * T_nominal
# Cinética
k = alfa * np.exp(-E / R * T)
# Controlador
F_ctrl = F_nominal + KC * (c - cN) + KI * ie
# Funciones de cambio
dcdt = -k * c + (F_ctrl / V) * (CAe - c)
diedt = c - cN
dIAEdt = abs(c - cN)
# Condiciones iniciales
c0 = 0.46125
25 de noviembre de 2023 15
ie0 = 0
IAE0 = 0
x0 = [c0, ie0, IAE0]
# Valores para KC y KI
KC_values = np.arange(0, 0, 1)
KI_values = np.arange(-100, 110, 10)
# Graficacion de superficie
fig = plt.figure(figsize=(10, 8))
ax = fig.add_subplot(111, projection='3d')
surf = ax.plot_surface(KC_mesh, KI_mesh, IAE_results, cmap='viridis')
ax.set_xlabel('KC')
ax.set_ylabel('KI')
ax.set_zlabel('IAE')
ax.set_title('Superficie de respuesta para IAE para diferentes valores de Kc y
Ki')
plt.show()
25 de noviembre de 2023 16