Por Julián Scortechini (jscortechini@phasety.com)
Dada la siguiente torre de separación de hidrocarburos del petróleo, encontrar los caudales modulares de las corrientes D1,B1,D2 y B2
Efectuando un balance de masa por componentes sobre todo el sistema se pueden plantear las siguientes ecuaciones
Xileno:0.07D1+0.18B1+0.15D2+0.24B2=0.15·70kgmolmin=10.50kgmolminEstireno:0.04D1+0.24B1+0.10D2+0.65B2=0.25·70kgmolmin=17.50kgmolminTolueno:0.54D1+0.42B1+0.54D2+0.10B2=0.40·70=28.0kgmolmin=28.0kgmolminBenceno:0.35D1+0.16B1+0.21D2+0.01B2=0.20·70kgmolmin=14.0kgmolminPodemos expresar este sistema de ecuaciones de la forma Ax=b donde A es la matriz de coeficientes y b el vector de términos independientes. El vector x son las incognitas, es decir, los caudales de cada corriente x=[D1,B1,D2,B2]
import numpy as np
A = np.mat(""" 0.07 0.18 0.15 0.24 ;
0.04 0.24 0.10 0.65 ;
0.54 0.42 0.54 0.10 ;
0.35 0.16 0.21 0.01""")
b = np.array([10.5, 17.5, 28., 14.])
Primero importamos la biblioteca Numpy
y le dimos el alias np
. Luego hemos utilizado la función mat()
y la función array()
para crear la matriz del sistema y el vector de términos independientes respectivamente.
Ahora lo único que hace falta para resolver el sistema es invocar a la función solve
que resuelve el sistema de ecuaciones lineales.
x = np.linalg.solve(A, b)
y = ['D1', 'B1', 'D2', 'B2']
print 'La solución es:'
for t in zip(y, x):
print "%s = %.2f" % t
La solución es: D1 = 26.25 B1 = 17.50 D2 = 8.75 B2 = 17.50