Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download

Ejemplo de Cinética

Views: 111
# Ejemplo # Referencia: # La hidrodesalquilación del mesitileno se efectuará isotérmicamente a 1500 °R y 35 atm en un reactor de lecho relleno en el que la alimentación es de 66.7 % de hidrógeno y 33.3 % de mesitileno. La velocidad de alimentación volumétrica es de 476 ft³/h y el volumen del reactor (es decir, V = W/rho_b) es de 238 ft³. # Reacciones: # M + H --> X + Me (1) # X + H --> T + Me (2) # # Donde: H = Hidrógeno (H2), M = mesitileno, Me = metano, X = m-xileno # Las leyes de velocidad para las reacciones 1 y 2 son, respectivamente, # -r1M = k1 C_M C_H^0.5 # r2T = k2 C_X C_H^0.5 # # A 1500 °R las velocidades de reacción específicas son: # k1 = 55.20 (ft^3/lbmol)^0.5/h # k2 = 30.20 (ft^3/lbmol)^0.5/h # # La densidad volumétrica del catalizador ya está incluida en la velocidad de reacción específica (es decir, k1 = k'1 rho_b). # Grafique las concentraciones de hidrógeno, el mesitileno y el xileno en función del tiempo de residencia. Calcule el tiempo de residencia en el que la producción de xileno es máxima (es decir, tau_opt). # ==================== SOLUCIÓN ==================== # 1. Definir las constantes y valores conocidos R = 0.73 # [ft^3 atm/(lbmol °R)] T = 1500 # [°R] P_0 = 35 # [atm] y_H0 = 0.667 # [fracción molar] y_M0 = 0.333 # [fracción molar] y_X0 = 0 # [fracción molar] Q_0 = 476 # [ft^3/h] V = 238 # [ft^3] k1 = 55.20 # [(ft^3/lbmol)^0.5/h] k2 = 30.20 # [(ft^3/lbmol)^0.5/h] # 2. Declarar las variables C_H, C_M, C_X, tau = var('C_H C_M C_X tau') # 3. Leyes de velocidad de reacción r1 = -k1 * C_H^0.5 * C_M r2 = -k2 * C_H^0.5 * C_X # 4. Ecuaciones diferenciales que deben resolverse dCH = r1 + r2 dCM = r1 dCX = -r1 + r2 # 5. Condiciones iniciales tau_0 = 0 C_H0 = y_H0*P_0/(R*T) C_M0 = y_M0*P_0/(R*T) C_X0 = y_X0*P_0/(R*T) C_H0, C_M0, C_X0 # 6. Resolver el sistema de ecuaciones numéricamente con el solucionador de ecuaciones diferenciales de primer orden por el método Runge-Kutta de 4° orden des = [dCH, dCM, dCX] # Sistema de ecuaciones diferenciales por resolver (lados derechos) vars = [C_H, C_M, C_X] # Lista de variables dependientes ics = [tau_0, C_H0, C_M0, C_X0] # Lista de condiciones iniciales ivar = tau # Variable independiente tau_f = V/Q_0 # Tiempo de residencia final sol = desolve_system_rk4(des, vars, ics, ivar, end_points = tau_f, step = 0.01) # 7. Extraer los puntos de datos [tau, C] para cada variable list_t_CH = [ [i,j] for i,j,k,l in sol] # Extrae los puntos [tau, C_H] list_t_CM = [ [i,k] for i,j,k,l in sol] # Extrae los puntos [tau, C_M] list_t_CX = [ [i,l] for i,j,k,l in sol] # Extrae los puntos [tau, C_X] # 8. Graficar los datos plot_CH = line(list_t_CH, color = 'red' , legend_label = '$C_H$', axes_labels = ['$\\tau$/(h)', '$C$/(lbmol/ft^3)']) plot_CM = line(list_t_CM, color = 'green', legend_label = '$C_M$') plot_CX = line(list_t_CX, color = 'blue' , legend_label = '$C_X$') plot_CH + plot_CM + plot_CX # 9. Obtener la máxima concentración de m-xileno list_CX = [l for i,j,k,l in sol] # Extrae los datos de C_X C_X_max = max(list_CX) # Concentración máxima tau_opt = sol[list_CX.index(C_X_max)][0] # Obtiene el valor de t correspondiente print "Concentración máxima de m-xileno, C_X,máx = %s lbmol/ft³" %C_X_max.numerical_approx(digits = 3) print "Tiempo de residencia óptimo, tau_opt = %s h" %tau_opt # ==================== Final del código ====================
(0.0213196347031963, 0.0106438356164384, 0.000000000000000)
Concentración máxima de m-xileno, C_X,máx = 0.00514 lbmol/ft³ Tiempo de residencia óptimo, tau_opt = 0.2 h
# ********************** MISMA SOLUCIÓN PERO USANDO GNU OCTAVE (Similar a Matlab) ************************** # 1. Se crea el sistema de ecuaciones diferenciales # 2. Se define el vector de valores iniciales # 3. Se define los valores de t en los que se desea resolver # 4. Se emplea el comando lsode() para resolver el sistema # 5. Se grafica con plot() # En este enlace está la solución en Octave en línea: # http://octave-online.net/?s=XwKXghDqThBBFVVxmvPYgsuwnquhUvBLPjdMpRMAZOVZZXFO
# Ejemplo # Referencia: # La hidrodesalquilación del mesitileno se efectuará isotérmicamente a 1500 °R y 35 atm en un reactor de lecho relleno en el que la alimentación es de 66.7 % de hidrógeno y 33.3 % de mesitileno. La velocidad de alimentación volumétrica es de 476 ft³/h y el volumen del reactor (es decir, V = W/rho_b) es de 238 ft³. # Reacciones: # M + H --> X + Me (1) # X + H --> T + Me (2) # # Donde: H = Hidrógeno (H2), M = mesitileno, Me = metano, X = m-xileno # Las leyes de velocidad para las reacciones 1 y 2 son, respectivamente, # -r1M = k1 C_M C_H^0.5 # r2T = k2 C_X C_H^0.5 # # A 1500 °R las velocidades de reacción específicas son: # k1 = 55.20 (ft^3/lbmol)^0.5/h # k2 = 30.20 (ft^3/lbmol)^0.5/h # # La densidad volumétrica del catalizador ya está incluida en la velocidad de reacción específica (es decir, k1 = k'1 rho_b). # Grafique las concentraciones de hidrógeno, el mesitileno y el xileno en función del tiempo de residencia. Calcule el tiempo de residencia en el que la producción de xileno es máxima (es decir, tau_opt). # ==================== SOLUCIÓN ==================== # 1. Definir las constantes y valores conocidos R = 0.73 # [ft^3 atm/(lbmol °R)] T = 1500 # [°R] P_0 = 35 # [atm] y_H0 = 0.667 # [fracción molar] y_M0 = 0.333 # [fracción molar] y_X0 = 0 # [fracción molar] Q_0 = 476 # [ft^3/h] V = 238 # [ft^3] k1 = 40 # [(ft^3/lbmol)^0.5/h] k2 = 30 # [(ft^3/lbmol)^0.5/h] # 2. Declarar las variables C_H, C_M, C_X, tau = var('C_H C_M C_X tau') # 3. Leyes de velocidad de reacción r1 = -k1 * C_H^0.5 * C_M r2 = -k2 * C_H^0.5 * C_X # 4. Ecuaciones diferenciales que deben resolverse dCH = r1 + r2 dCM = r1 dCX = -r1 + r2 # 5. Condiciones iniciales tau_0 = 0 C_H0 = y_H0*P_0/(R*T) C_M0 = y_M0*P_0/(R*T) C_X0 = y_X0*P_0/(R*T) C_H0, C_M0, C_X0 # 6. Resolver el sistema de ecuaciones numéricamente con el solucionador de ecuaciones diferenciales de primer orden por el método Runge-Kutta de 4° orden des = [dCH, dCM, dCX] # Sistema de ecuaciones diferenciales por resolver (lados derechos) vars = [C_H, C_M, C_X] # Lista de variables dependientes ics = [tau_0, C_H0, C_M0, C_X0] # Lista de condiciones iniciales ivar = tau # Variable independiente tau_f = V/Q_0 # Tiempo de residencia final sol = desolve_system_rk4(des, vars, ics, ivar, end_points = tau_f, step = 0.1) # 7. Extraer los puntos de datos [tau, C] para cada variable list_t_CH = [ [i,j] for i,j,k,l in sol] # Extrae los puntos [tau, C_H] list_t_CM = [ [i,k] for i,j,k,l in sol] # Extrae los puntos [tau, C_M] list_t_CX = [ [i,l] for i,j,k,l in sol] # Extrae los puntos [tau, C_X] # 8. Graficar los datos plot_CH = line(list_t_CH, color = 'red' , legend_label = '$C_H$', axes_labels = ['$\\tau$/(h)', '$C$/(lbmol/ft^3)']) plot_CM = line(list_t_CM, color = 'green', legend_label = '$C_M$') plot_CX = line(list_t_CX, color = 'blue' , legend_label = '$C_X$') plot_CH + plot_CM + plot_CX # 9. Obtener la máxima concentración de m-xileno list_CX = [l for i,j,k,l in sol] # Extrae los datos de C_X C_X_max = max(list_CX) # Concentración máxima tau_opt = sol[list_CX.index(C_X_max)][0] # Obtiene el valor de t correspondiente print "Concentración máxima de m-xileno, C_X,máx = %s lbmol/ft³" %C_X_max.numerical_approx(digits = 3) print "Tiempo de residencia óptimo, tau_opt = %s h" %tau_opt # ==================== Final del código ====================
(0.0213196347031963, 0.0106438356164384, 0.000000000000000)
Concentración máxima de m-xileno, C_X,máx = 0.00445 lbmol/ft³ Tiempo de residencia óptimo, tau_opt = 0.2 h