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

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER

INGENIERIA ELECTROMECANIA
MODELAMIENTO DE PROCESOS INDUSTRIALES

www.ufps.edu.co
MODELAMIENTO DE PROCESOS INDUSTRIALES
PRCTICA DE LABORATORIO 2
DESARROLLO DE BALANCES DE MASA EN RGIMEN ESTACIONARIO
Jess Alberto Balta Garca 1090666
jesusalbertobg@ufps.edu.co

Mario Alejandro Acevedo 1090700


marioalejandroas@ufps.edu.co

RESUMEN: En el siguiente laboratorio daremos a


conocer una breve introduccin sobre el desarrollo de
balances de masa en rgimen estacionario incluyendo
algunos procesos reaccionantes como es el caso de la
combustin, y resolveremos los ejercicios propuestos
apoyndonos en las ayudas matemticas y algebraicas
que nos ofrece el software Matlab.
PALABRAS CLAVE: Balances, rgimen estacionario,
Matlab.
SUMMARY: The following laboratory will disclose a brief
introduction on the development of mass balances in
steady state including some reactants processes such as
combustion, and solve the exercises relying on
mathematics and algebraic aid offered by the software
Matlab.

Que
puede
escribirse
en notacin matricial como:

Ax=C

KEYWORDS: Balances, steady, Matlab.

1. INTRODUCCIN
Los clculos de balance se basan en los principios de
conservacin de materia y energa.
Sirven para
determinar los flujos, composiciones y temperaturas de
todas las corrientes que intervienen en el proceso a partir
de informacin especfica o supuesta sobre el
funcionamiento de algunos equipos del proceso o de las
propiedades de algunas corrientes.

1. SISTEMAS DE ECUACIONES LINEALES,


MTODO DE GAUSS
CARACTERSTICAS GENERALES
Consideremos como ejemplo el sistema de ecuaciones:

Vamos a utilizar este sistema como ejemplo para introducir


el mtodo de eliminacin de Gauss, para lo que
disponemos de la rutina Gaussm.m, que se presenta a
continuacin:
function x = Gaussm(A,c)
%Rutina para solucionar ecuaciones lineales a travs
del mtodo de Gauss
%
%Gaussm(A,c) encuentra las variables desconocidas
%A es la matriz de coeficientes y c es el vector de
constantes.
c = (c(:).')'; % se genera vector
n = length(c);
[nr nc] = size(A);
% Se chequea los coeficientes de la matriz y el vector
de constantes
if nr ~= nc
error('Matriz no es cuadrada')
end

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER


INGENIERIA ELECTROMECANIA
MODELAMIENTO DE PROCESOS INDUSTRIALES

if nr ~= n
error('Coeficientes de la matriz y el vector de
constantes no tienen la misma
largura')
end
% Chequea si la matriz es singular
if det(A) == 0
fprintf('\n Rank = %7.3g\n',rank(A))
error('La matriz es singular')
end
unit = diag(ones( 1 , n));
order = [1 : n]; % Orden desconocidos
aug = [A c]; % Argumento de la matriz
% Eliminacin gaussiana
for k = 1 : n - 1
pivot = abs(aug(k , k));
prow = k;
pcol = k;
% Localizacin del mximo elemento pivot
for row = k : n
for col = k : n
if abs(aug(row , col)) > pivot
pivot = abs(aug(row , col));
prow = row;
pcol = col;
end
end
end
% Intercambio de lneas
pr = unit;
tmp = pr(k , :);
pr(k , : ) = pr(prow , : );
pr(prow , : ) = tmp;
aug = pr * aug;
% Intercambio de columnas
pc = unit;
tmp = pc(k , : );
pc(k , : ) = pc(pcol , : );
pc(pcol , : ) = tmp;
aug(1 : n , 1 : n) = aug(1 : n , 1 : n) * pc;
order = order * pc;
% Se reducen los elementos por debajo de la diagonal
a cero en la columna k.
lk = unit;
for m = k + 1 : n
lk(m , k) = - aug(m , k) / aug(k , k);
end
aug = lk * aug;
end
x = zeros(n , 1);
% substitucin
t(n) = aug(n , n + 1) / aug(n , n);
x(order(n)) = t(n);
for k = n - 1 : -1 : 1

t(k) = (aug(k,n+1) - sum(aug(k,k+1:n) .* t(k+1:n)))


/
www.ufps.edu.co
aug(k,k);
x (order(k)) = t(k);
end
En este mtodo se combinan linealmente las ecuaciones
hasta lograr que la matriz de coeficientes A sea una matriz
triangular superior. Podemos esquematizarlo de la
siguiente forma:
Se forma la matriz aumentada [A C] (en nuestro ejemplo
una matriz 3 4). Escribimos:

Pivotaje: Se permutan filas y columnas de la matriz


aumentada hasta lograr que el mximo elemento de la
matriz A aparezca en la posicin 1,1. (Pulsar retorno para
que contine el proceso y comprobar este segundo paso).
Eliminacin: Se combinan las filas de la matriz aumentada
para anular los elementos 2,1 y 3,1(Pulsar retorno para
que contine el proceso y comprobar este paso).
Se repiten los pasos 2 y 3 para anular el elemento 3,2,
con lo que se obtiene la matriz triangular (volver a pulsar
retorno).
El sistema de ecuaciones tambin se puede resolver por
substitucin hacia atrs.

2.

PRCTICA DE LABORATORIO 2:
2. DESARROLLO DE
BALANCES DE MASA EN
RGIMEN ESTACIONARIO

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER


INGENIERIA ELECTROMECANIA
MODELAMIENTO DE PROCESOS INDUSTRIALES

3. ACTIVIDADES A REALIZAR
Aplicar los principios del balance de masa apoyndose en
la
herramienta
Matlab,
para
determinar
los
correspondientes anlisis a los casos de estudio.
EJERCICIO 1. BALANCE DE MASA EN RGIMEN
ESTACIONARIO APLICADO A UNAS TORRES DE
DESTILACIN.
La separacin de benceno, tolueno y xileno se lleva a
cabo en dos columnas de destilacin en serie. La
primera columna se alimenta con 100 kmol/h de una
corriente con composicin molar 40 % de benceno. De
sta se obtienen 40 kmol/h de un destilado de
composicin molar 95 % benceno, 4,55 tolueno y 0,45
xileno. El producto de fondo de la primera columna se
alimenta a la segunda donde se produce un destilado
compuesto por 86,4 % tolueno, 8,6 % xileno y 5%
benceno. El producto de fondo de la segunda columna es
xileno puro. Hallar:
a)

b)

Flujos molares de las corrientes de fondo (C y


E) y destilado de la segunda columna (D).
Composicin molar de las corrientes de
alimentacin (A) y fondo de la primera columna (C).

DESARROLLO:

%Las matrices se hacen en base a las


ecuaciones planteadas tericamente, en
%donde cada matriz llevara 3 incgnitas
referenciadas como:
% [X1, X2, X3]; X1=Corriente F1,
X2=Corriente F3,
%X3= Corriente F4.
function x = Gaussm(A,C)
A = [1,0,0;0,0,0.05;0,1,0];
C = [60;2;20];
C = (C(:).')';
n = length(C);
[nr nc] = size(A);
if nr ~= nc

error('Matriz no es cuadrada')
www.ufps.edu.co
end
if nr ~= n
error('Coeficientes de la matriz y el
vector de constantes no tienen la misma
largura')
end
if det(A) == 0
fprintf('\n Rank = %7.3g\n',rank(A))
error('La matriz es singular')
end
unit = diag(ones( 1 , n));
order = [1 : n];
aug = [A C];
for k = 1 : n - 1
pivot = abs(aug(k , k));
prow = k;
pcol = k;
for row = k : n
for col = k : n
if abs(aug(row , col)) > pivot
pivot = abs(aug(row , col));
prow = row;
pcol = col;
end
end
end
pr = unit;
tmp = pr(k , :);
pr(k , : ) = pr(prow , : );
pr(prow , : ) = tmp;
aug = pr * aug;
pc = unit;
tmp = pc(k , : );
pc(k , : ) = pc(pcol , : );
pc(pcol , : ) = tmp;
aug(1 : n , 1 : n) = aug(1 : n , 1 : n)
* pc;
order = order * pc;
lk = unit;
for m = k + 1 : n lk(m , k) = - aug(m ,
k) / aug(k , k);
end
aug = lk * aug;
end
x = zeros(n , 1);
t(n) = aug(n , n + 1) / aug(n , n);
x(order(n)) = t(n);
for k = n - 1 : -1 : 1
t(k) = (aug(k,n+1) sum(aug(k,k+1:n) .* t(k+1:n))) /
aug(k,k);
x (order(k)) = t(k);

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER


INGENIERIA ELECTROMECANIA
MODELAMIENTO DE PROCESOS INDUSTRIALES

end
Ans =
60
20
40
EJERCICIO 2.
El siguiente es el diagrama de un proceso de lavado de
camisas, las camisas se remojan en una tina con agitacin
que contiene el detergente D, y despus de exprimen y se
envan a la fase de enjuague. El detergente sucio se enva
a un filtro que retira la mayor parte de la mugre y, una vez
limpio se recircula para unirlo a una corriente de D puro y
la corriente combinada sirve como alimentacin para la
tina de lavado.
Datos:
-Cada 100 lbm de camisas sucias contienen 2.0 lbm de
suciedad.
-El lavado elimina 95% de la mugre en las camisas sucias.
-Por cada 100 lbm de camisas sucias salen 25 lbm de D
con las camisas limpias y se devuelven 22 lbm a la tina
por el proceso de exprimido.
-El detergente que entra a la tina contiene 97% de D
y el que entra al filtro contiene 87%. La mugre hmeda
que sale del filtro contiene 8,0 de W
a)

Qu
cantidad
de
detergente
debe
proporcionarse por cada 100 lbm de camisas
sucias?
b) Cul es la composicin de la corriente de
recirculacin?

DESARROLLO:

%Las matrices se hacen en base a las


ecuaciones planteadas teoricamente, en

%donde cada matriz llevara 5 incognitas


www.ufps.edu.co
referenciadas como :
%[X1,X2,X3,X4,X5]; X1=Salida de
suciedad , X2=Corriente de
recirculacin ,
%X3= Corriente de entrada al filtro,
X4=Corriente de salida en el punto de
%mezcla, X5=Entrada pura de detergente.
function x = Gaussm(A,C)
A = [0.92,0,0,0,0;0,0,0,0,1;0,0,1,1,0;0,0,-0.13,0.03,0;0,1,0,0,0];
C = [1.9;3.165;1.1;-1.9;17.265];
C = (C(:).')';
n = length(C);
[nr nc] = size(A);
if nr ~= nc
error('Matriz no es cuadrada')
end
if nr ~= n
error('Coeficientes de la matriz y el
vector de constantes no tienen la misma
largura')
end
if det(A) == 0
fprintf('\n Rank = %7.3g\n',rank(A))
error('La matriz es singular')
end
unit = diag(ones( 1 , n));
order = [1 : n];
aug = [A C];
for k = 1 : n - 1
pivot = abs(aug(k , k));
prow = k;
pcol = k;
for row = k : n
for col = k : n
if abs(aug(row , col)) > pivot
pivot = abs(aug(row , col));
prow = row;
pcol = col;
end
end
end
pr = unit;
tmp = pr(k , :);
pr(k , : ) = pr(prow , : );
pr(prow , : ) = tmp;
aug = pr * aug;
pc = unit;
tmp = pc(k , : );
pc(k , : ) = pc(pcol , : );
pc(pcol , : ) = tmp;

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER


INGENIERIA ELECTROMECANIA
MODELAMIENTO DE PROCESOS INDUSTRIALES

aug(1 : n , 1 : n) = aug(1 : n , 1 : n)
* pc;
order = order * pc;
lk = unit;
for m = k + 1 : n lk(m , k) = - aug(m ,
k) / aug(k , k);
end
aug = lk * aug;
end
x = zeros(n , 1);
t(n) = aug(n , n + 1) / aug(n , n);
x(order(n)) = t(n);
for k = n - 1 : -1 : 1
t(k) = (aug(k,n+1) sum(aug(k,k+1:n) .* t(k+1:n))) /
aug(k,k);
x (order(k)) = t(k);
end
Ans =
2.0652 suciedad
17.2650 recirculacin
19.3300 entrada al filtro
20.4300 salida del punto de mezcla
3.1650 entrada pura de detergente
EJERCICIO 3. PROCESO MEZCLADOR SEPARADOR
A un proceso formado por un mezclador y un
separador, con recirculacin y purga, que opera en
continuo y rgimen estacionario, se alimenta una
corriente fresca con una composicin en peso de 20%
en A y 80% en B. En el separador se obtiene una
corriente de composicin en peso de 5% en A y 95% en B,
y otra formada por A puro, de la cual una parte se recircula
a la corriente de alimentacin fresca y la otra se extrae
como purga, con un caudal de 10 kg/h. La entrada al
mezclador, resultante de la mezcla de alimentacin
fresca y recirculacin, tiene una composicin en peso de
40% en A. Calcular los caudales y composiciones de las
diferentes corrientes del sistema.

DESARROLLO:
%Las matrices se hacen en base a las
ecuaciones planteadas tericamente, en
%donde cada matriz llevara 3 incgnitas
referenciadas como:
% [X1,X2,X3,X4,X5,X6]; X1=Corriente de
entrada pura, X2=Corriente de
%recirculacin, X3=Corriente de salida
del punto de mezcla, X4=Corriente de
%salida del mezclador, X5=Corriente
pura de A(salida del separador),

%X6=Corriente de salida del sistema


(No
www.ufps.edu.co
confundir con la purga).
function x = Gaussm(A,C)
A = [1,0,0,0,0,-1;0.2,0,0,0,0,-0.05;0,1,1,0,0,0;0,1,0.4,0,0,0;0,0,0,0,1,0;0,0,0,1,0,0];
C = [10;10;63.33;12.66;31.12;84.45];
C = (C(:).')';
n = length(C);
[nr nc] = size(A);
if nr ~= nc
error('Matriz no es cuadrada')
end
if nr ~= n
error('Coeficientes de la matriz y el
vector de constantes no tienen la misma
largura')
end
if det(A) == 0
fprintf('\n Rank = %7.3g\n',rank(A))
error('La matriz es singular')
end
unit = diag(ones( 1 , n));
order = [1 : n];
aug = [A C];
for k = 1 : n - 1
pivot = abs(aug(k , k));
prow = k;
pcol = k;
for row = k : n
for col = k : n
if abs(aug(row , col)) > pivot
pivot = abs(aug(row , col));
prow = row;
pcol = col;
end
end
end
pr = unit;
tmp = pr(k , :);
pr(k , : ) = pr(prow , : );
pr(prow , : ) = tmp;
aug = pr * aug;
pc = unit;
tmp = pc(k , : );
pc(k , : ) = pc(pcol , : );
pc(pcol , : ) = tmp;
aug(1 : n , 1 : n) = aug(1 : n , 1 : n)
* pc;
order = order * pc;
lk = unit;
for m = k + 1 : n lk(m , k) = - aug(m ,
k) / aug(k , k);

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER


INGENIERIA ELECTROMECANIA
MODELAMIENTO DE PROCESOS INDUSTRIALES

end
aug = lk * aug;
end
x = zeros(n , 1);
t(n) = aug(n , n + 1) / aug(n , n);
x(order(n)) = t(n);
for k = n - 1 : -1 : 1
t(k) = (aug(k,n+1) sum(aug(k,k+1:n) .* t(k+1:n))) /
aug(k,k);
x (order(k)) = t(k);
end

Para resolver sistemas de ecuacioneswww.ufps.edu.co


Matlab ofrece
varios comandos como lo son solve y matrices por
divisin izquierda.
Es necesario establecer las constantes y variables del
sistema para determinar el nmero de ecuaciones
para desarrollarlo.
El comando fprintf es el comando para visualizar
datos que permite generar menor confusin en la
entrega de resultados.

4. REFERENCIAS
[1] Manuel Lopez Martinez and Jose Angel Acosta
Rodriguez Universidad de Sevilla. Manual of
introduccin to matlab 2004.

Ans =
63.3333
21.1200

[2] Jose Angel Acosta Rodriguez Universidad de Sevilla.


Manual of introduccin to matlab 2004.

84.4500

[3] MATLAB para Ingenieros, Holly More Ed. Pearson

84.4500
31.1200
53.3333

3. CONCLUSIONES

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