Вы находитесь на странице: 1из 6

ANLISIS EN ESTADO ESTACIONARIO DE UN SISTEMA

DE REACTORES (INGENIERA QUMICA/BIOINGENIERA)


Uno de los principios de organizacin ms importantes en la ingeniera qumica es la conservacin
de la masa. En trminos cuantitativos, el principio se expresa como un balance de masa que toma en
cuenta todas las fuentes y sumideros de un fluido que entra y sale de un volumen. En un periodo
finito, esto se expresa como:
Acumulacin = entradas salidas
El balance de masa representa un ejercicio de contabilidad para la sustancia en particular que se
modela. Para el periodo en que se calcula, si las entradas son mayores que las salidas, la masa de la
sustancia dentro del volumen aumenta. Si las salidas son mayores que las entradas, la masa
disminuye. Si las entradas son iguales a las salidas, la acumulacin es cero y la masa permanece
constante. Para esta condicin estable, o en estado estacionario, la ecuacin se expresa como:
Entradas = salidas
Emplee la conservacin de la masa para determinar las concentraciones en estado estacionario de un
sistema de reactores conectados.

Solucin. Se puede usar el balance de masa para resolver problemas de ingeniera al expresar las
entradas y salidas en trminos de variables y parmetros medibles. Por ejemplo, si se realiza un
balance de masa para una sustancia conservativa (es decir, aquella que no aumente ni disminuya
debido a transformaciones qumicas) en un reactor, podramos cuantificar la velocidad con la cual el
flujo de la masa entra al reactor a travs de dos tuberas de entrada y sale de ste a travs de una

tubera de salida. Esto se hace mediante el producto de la velocidad del fluido o caudal Q (en
metros cbicos por minuto) por la concentracin c (en miligramos por metro cbico) en cada
tubera.
Por ejemplo, en la tubera 1 de la figura, Q1 = 2 m3/min y c1 = 25 mg/m3; por lo tanto, la velocidad
con la cual la masa fluye hacia el reactor a travs de la tubera 1 es Q1c1 = (2 m3/min) (25 mg/m3)
= 50 mg/min. As, 50 mg de sustancias qumicas fluyen cada minuto hacia el interior del reactor a
travs de esta tubera. De forma similar, para la tubera 2 la velocidad de masa que entra se calcula
como Q 2 c 2 = (1.5 m3 /min)
(10 mg/m3) = 15 mg/min.
Observe que la concentracin a la salida del reactor a travs de la tubera 3 no se especifica en la
figura. Esto es as porque ya se tiene informacin suficiente para calcularla con base en la
conservacin de la masa. Como el reactor se halla en estado estacionario se aplica la ecuacin
correspondiente y las entradas debern estar en balance con las salidas, Q1c1 + Q2c2 = Q3c3
Sustituyendo los valores dados en esta ecuacin se obtiene:
50 + 15 = 3.5c3
de la cual se despeja c3 = 18.6 mg/m3. De esta forma, hemos determinado la concentracin en la
tercera tubera. Sin embargo, del clculo se obtiene algo ms. Como el reactor est bien mezclado,
la concentracin ser uniforme, u homognea, en todo el tanque. Por lo que, la concentracin en la
tubera 3 deber ser idntica a la concentracin en todo el reactor. En consecuencia, el balance de
masa nos ha permitido calcular tanto la concentracin en el reactor como en el tubo de salida. Esta
informacin es de gran utilidad para los ingenieros qumicos y petroleros, quienes tienen que
disear reactores que tengan mezclas de una concentracin especfica.
Debido a que se utiliz lgebra simple para determinar la concentracin de un solo reactor en la
figura, podra no ser obvio lo que tiene que hacer una computadora en el clculo de un balance de
masa. En la figura siguiente se muestra un problema donde las computadoras no solamente son
tiles, sino que son de una enorme necesidad prctica.

Debido a que hay cinco reactores interconectados o acoplados, se necesitan cinco ecuaciones de
balance de masa para caracterizar el sistema. En el reactor 1, velocidad de la masa que entra es
5(10) + Q31c3
Y la velocidad de la masa que sale es

Q12c1 + Q15c1
Como el sistema se encuentra en estado estacionario, los flujos de entrada y de salida
deben ser iguales:
5(10) + Q31c3 = Q12c1 + Q15c1
o, sustituyendo los valores correspondientes,
6c1 c3 = 50
Ecuaciones similares se obtienen para los otros reactores:
3c1 + 3c2 = 0
c2 + 9c3 = 160
c2 8c3 + 11c4 2c5 = 0
3c1 c2 + 4c5 = 0
Luego haciendo un proceso analtico se obtiene la siguiente solucin:
{C}T = 11.51 11.51 19.06 17.00 11.51
Adems, la matriz inversa se calcula como
A-1= ([[ 0.16981132,
[ 0.16981132,
[ 0.01886792,
[ 0.06003431,
[ 0.16981132,

0.00628931,
0.33962264,
0.03773585,
0.07461407,
0.08962264,

0.01886792,
0.01886792,
0.11320755,
0.08747856,
0.01886792,

0.
, 0.
],
0.
, 0.
],
0.
, 0.
],
0.09090909, 0.04545455],
0.
, 0.25
]])

Cada uno de los elementos aij significa el cambio en la concentracin del reactor i debido a un
cambio unitario en la carga del reactor j. De esta forma, los ceros en la columna 4 indican que una
carga en el reactor 4 no influir sobre los reactores 1, 2, 3 y 5. Esto es consistente con la configuracin del sistema, la cual indica que el flujo de salida del reactor 4 no alimenta ningn otro
reactor. En cambio, las cargas en cualquiera de los tres primeros reactores afectarn al sistema
completo, como se indica por la ausencia de ceros en las primeras tres columnas. Tal informacin es
de gran utilidad para los ingenieros que disean y manejan sistemas como ste.

Luego considerando el sistema de ecuaciones para representar el problema anterior:


Ax = b
Tenemos la matriz de coeficientes:
>>> A
array([[ 6, 0, -1, 0, 0],
[-3, 3, 0, 0, 0],
[ 0, -1, 9, 0, 0],

[ 0, -1, -8, 11, -2],


[-3, -1, 0, 0, 4]])
Adems el vector de trminos independientes:
>>> b
array([ 50, 0, 160, 0, 0])
Luego procedemos a calcular las tres normas para la matriz A, las cuales son la norma1, la norma2
y la norma infinito.
Norma1:
>>> norma1=linalg.norm(A,1)
>>> norma1
18
Norma2:
>>> norma2=linalg.norm(A,2)
>>> norma2
15.040002648769581
Norma infinito:
>>> norma_infinito=linalg.norm(A,inf)
>>> norma_infinito
6.9374250659084913
Ahora calcularemos los nmeros de condicin para cada norma:
>>> from numpy import linalg
Numero de condicion para la norma1:
>>> k1=linalg.cond(A,1)
>>> k1
10.590051457975985
Numero de condicion para la norma2:
>>> k2=linalg.cond(A,2)
>>> k2
6.9374250659084913
Numero de condicion para la norma infinito:
>>> kinfinito=linalg.cond(A,inf)
>>> kinfinito
11.622641509433961
Ahora calculamos la inversa de la matriz A:

>>> A_inversa=linalg.inv(A)
>>> A_inversa
array([[ 0.16981132, 0.00628931, 0.01886792, 0.
, 0.
],
[ 0.16981132, 0.33962264, 0.01886792, 0.
, 0.
],
[ 0.01886792, 0.03773585, 0.11320755, 0.
, 0.
],
[ 0.06003431, 0.07461407, 0.08747856, 0.09090909, 0.04545455],
[ 0.16981132, 0.08962264, 0.01886792, 0.
, 0.25
]])
Luego evaluamos el nmero de condicion de la matriz A con la siguiente frmula:
K(A)=||A-1|| ||A||
Utilizando la norma1:
>>> norma_Ainversa=linalg.norm(A,1)
>>> norma_Ainversa=linalg.norm(A_inversa)
>>> norma_A=linalg.norm(A)
>>> K=norma_Ainversa*norma_A
>>> K
10.548943021482339
Podemos observar que todos los nmeros de condicin calculados anteriormente, sin importar
respecto a que norma fueron calculados, son de magnitud pequea, por lo tanto se puede decir que
el problema est bien condicionado y que cualquier perturbacin en la matriz A no afectar en
gran medida el vector solucin x.
Ahora analizaremos la solucin del sistema de ecuaciones respecto a los mtodos de gauss jordan y
el mtodo de Crout.
Anlisis por el mtodo de gauss jordan:
>>> from gaussJordan import*
>>> x=gaussjordan1(a,b)
>>> x
[11.50943396226415, 11.50943396226415, 19.056603773584907, 16.998284734133794,
11.50943396226415]
Anlisis por el mtodo de Crout:
Primero descomponemos la matriz en dos matrices L y U donde la matriz L es una matriz triangular
inferior y U es una matriz triangular superior:
>>> a=[[6,0,-1,0,0],[-3,3,0,0,0],[0,-1,9,0,0],[0,-1,-8,11,-2],[-3,-1,0,0,4]]
>>> b=[50,0,160,0,0]
>>> lu,piv=linalg.lu_factor(a)
>>> lu
array([[ 6.
, 0.
, -1.
, 0.
, 0.
],
[ -0.5
, 3.
, -0.5
, 0.
, 0.
],
[ 0.
, -0.33333333, 8.83333333, 0.
, 0.
],
[ 0.
, -0.33333333, -0.9245283 , 11.
, -2.
],
[ -0.5
, -0.33333333, -0.0754717 , 0.
, 4.
]])
>>> piv

array([0, 1, 2, 3, 4], dtype=int32)


Ahora resolvemos el sistema de ecuaciones utilizando la matriz lu de descomposicin y
obtenemos la solucin:
>>> x=linalg.lu_solve((lu,piv),b,0)
>>> x
array([ 11.50943396, 11.50943396, 19.05660377, 16.99828473, 11.50943396])
Finalmente comparando la solucin analtica con las soluciones obtenidas mediante los distintos
mtodos:
x: solucin del sistema de ecuaciones de forma analitica
>>>x=[11.51 , 11.51 , 19.06 , 17.00 , 11.51]
>>> from gaussJordan import*
>>> A=[[6,0,-1,0,0],[-3,3,0,0,0],[0,-1,9,0,0],[-0,-1,-8,11,-2],[-3,-1,0,0,4]]
>>> b=[50,0,160,0,0]
>>> Xgauss=gaussjordan1(a,b)
>>> Xgauss : Solucin del Sistema de ecuaciones mediante el mtodo de Gauss Jordan
[11.50943396226415, 11.50943396226415, 19.056603773584907, 16.998284734133794,
11.50943396226415]
>>> =np.array(Xgauss)
Error absoluto del clculo de la solucin del sistema de ecuaciones mediante el mtodo de Gauss
Jordan:
>>> e1=|Xgauss-x|
>>> e1
array([ 0.00943396, 0.00056604, 0.00339623, 0.00171527, 0.00056604])
>>> Xcrout=[11.50943396,11.50943396,19.05660377,16.99828473,11.50943396]
>>> Xcrout=np.array(cr)
>>> Xcrout : Solucin del Sistema de ecuaciones mediante el mtodo de Crout:
array([ 11.50943396, 11.50943396, 19.05660377, 16.99828473, 11.50943396])
Error absoluto del clculo de la solucin del Sistema de ecuaciones mediante el mtodo de Crout:
>>> e2=|Xcrout-x|
>>> e2
array([ 0.00943396, 0.00056604, 0.00339623, 0.00171527, 0.00056604])
>>> ||e1||=E1=0.00943396
>>> ||e2||=E2=0.00943396
Calculo del error relativo por el mtodo de Gauss Jordan:
>>> ||x||=19.06
>>> eg=E1/19.06 = 0.0004949611752360966 = 0.04949611752360966%
Calculo del error relativo por el mtodo de Crout:
>>> ||x||=19.06
>>> ec=E2/19.06 = 0.0004949611752360966 = 0.04949611752360966%
Como podemos observar los errores relativos son muy pequeos por lo tanto se concluye que el
problema est bien condicionado.

Вам также может понравиться