El Método de Lewis y Matheson para el Cálculo de Columnas de Destilación

La problemática del cálculo de las columnas de destilación de multicomponentes consiste en que para definir la columna que a uno le interesa, es necesario conocer la composición y la temperatura de cada plato o etapa, y en que cuando se trata de multicomponentes las sumas de las fracciones molares tanto en la fase líquida como en la de vapor deben ser iguales a la unidad.

En el caso de que los componentes sean sólo dos el problema se reduce porque si una de las fracciones es x1 la otra necesariamente deberá ser x2-1, lo que no ocurre en el caso de los sistemas multicomponentes en donde la suma de tres o más fracciones consiste de un número infinito de conjuntos de términos cuya suma puede ser igual a uno, sin embargo de que, de ellos, habrá uno solo que sea termodinámicamente correcto.

Por las razones anteriores Lewis y Matheson (http://www.spq.pt/magazines/RPQ/282/article/753/pdf) crearon un método que consiste en especificar la composición del destilado, y la alimentación a la columna, que se basa en el cálculo de la composición de cada plato partiendo desde el condensador, en el caso de la sección de enriquecimiento; y desde la caldereta en el caso de la sección de empobrecimiento, hasta el palto de alimentación.

El método se basa en un cálculo iterativo de una composición del destilado sobre la que se sigue iterando hasta que la composición de la etapa de alimentación sea exactamente igual para la sección de enriquecimiento y para la sección de empobrecimiento.

El método se basa también, para el caso de un condensador total, en que para el plato número uno, la composición del destilado en fase de vapor es igual a las fracciones molares del destilado en fase líquida, por el simple hecho de que lo que sale hacia afuera de la columna vía la corriente D es de igual composición a lo que sale del plato superior en fase de vapor.

A partir de este valor de las composiciones en fase de vapor se calcula, mediante las volatilidades relativas de los componentes, que se consideran constantes, las composiciones de la fase líquida, hasta llegar al plato de alimentación desde ambos extremos de la columna.

Después de haber implementado los cálculos desde el plato superior, número uno hasta el plato de alimentación el algoritmoo especifica que se debe comenzar un cálculo independiente desde los fondos de la columna, que permite obtener la composición de la corriente B, y las fracciones molares de los fondos, lo que a su vez, permite calcular la composición de la etapa o plato de alimentación independientemente desde abajo.

Una vez que se ha efectuado lo que queda explicado existe un método (Holland, 1963) que permite, mediante el uso de valores de las XDi del fin del cálculo, que muestran el el programa que acompaña este artículo, y –en último término- en último resultado que se obtiene, que es el de convergencia, que más adelante se consigna en la Figura 1.

El método se reduce entonces a calcular un conjunto de valores que constituyen nuevas aproximaciones a los valores de las fracciones molares de destilación, que deben insertarse como datos para repetir el cálculo, hasta obtener los resultados finales de convergencia.

En general no he encontrado una regla general que asegure la convergencia. En este caso particular se usaron los valores de un perfil de temperaturas totalmente supuesto, y los valores de alfa correspondientes al quinto plato.

El método es de convergencia lenta.

Figura 1

Figura 1. Composiciones de convergencia de los platos de la columna

La figura anterior constituye la última iteración del programa. Esto se sabe porque los “nuevos valores” de XND(1), XND(2), y XND(3) son iguales a las fracciones de vapor correspondientes al plato número 1, o a las fracciones molares del plato número uno en fase líquida (véase la Figura 2).

Figura 2

Figura 2. Interfase de usuario del programa

Para el despliegue de los contenidos de la Figura 1 se utilizó un macro que muestra las composiciones de la etapa cinco calculadas desde los fondos hasta la etapa de alimentación, y desde el condensador hasta la etapa mencionada, en color rojo, donde se puede apreciar que los dos cálculos coinciden en todas sus cifras.

Como comentario general debo indicar que en la Internet se pueden encontrar infinidad de tablas de valores para los coeficientes de Antoine, que difieren y que, como en el cálculo como forman parte de un exponente ejercen gran influencia en los resultados del programa. Yo utilicé los del National Institute of Standarization and Chemistry (http://webbook.nist.gov/cgi/cbook.cgi?ID=C112403&Mask=FFF) que me permito recomendar altamente.

El Programa Fuente

Option Explicit

Dim ArrayTc(1 To 11), ArrayTcn(1 To 11)

Dim ArrayxS(5 To 11, 1 To 3), ArrayyS(5 To 11, 1 To 3), ArrayxSB(1 To 11, 1 To 3), SumAlfa, Z, SumBXB As Variant

Dim ArrayXDN(1 To 3) As Variant

Dim Arrayv_over_bi(1 To 5, 1 To 3), Arrayv_over_di(1 To 5, 1 To 3), Array_bi_over_d(1 To 1, 1 To 3), Arraybi_overdi(1 To 3) As Variant

Dim Nombre As String

Dim ArrayLR(0 To 4), ArrayLF(5 To 5), ArrayLS(6 To 11), ArrayXf(1 To 3) As Variant

Dim F, D, B, p, R, L, Lf, V, Num, Denom, Fila, SumyAlfa, ArrayNombre(1 To 3), SumB, SumBi, Sumd, M, HH As Variant

Dim i, j As Integer

Dim Arrayy(1 To 11, 1 To 3), Arrayx(1 To 11, 1 To 3), ArrayXD(1 To 3) As Variant

Dim ArrayT(0 To 10), ArrayAA(0 To 10, 1 To 3), ArrayZ(1 To 10, 1 To 3), ArrayAlfa(1 To 3) As Variant

Dim Arrayd(1 To 3), ArrayA(1 To 3), ArrayB(1 To 3), ArrayC(1 To 3), ArrayL(0 To 10), ArrayV(1 To 10), ArrayXB(1 To 3), ArrayXBN(1 To 3) As Variant

Sub Thiele_Geddes_Holland()

F = Worksheets(“Hoja1”).Cells(2, 3)

‘ArrayXB(1) = Worksheets(“Hoja1”).Cells(3, 3)

‘ArrayXB(2) = Worksheets(“Hoja1”).Cells(4, 3)

‘ArrayXB(3) = Worksheets(“Hoja1”).Cells(5, 3)

D = Worksheets(“Hoja1”).Cells(6, 3)

B = Worksheets(“Hoja1”).Cells(7, 3)

ArrayA(1) = Worksheets(“Hoja1”).Cells(8, 3)

ArrayB(1) = Worksheets(“Hoja1”).Cells(9, 3)

ArrayC(1) = Worksheets(“Hoja1”).Cells(10, 3)

ArrayA(2) = Worksheets(“Hoja1”).Cells(11, 3)

ArrayB(2) = Worksheets(“Hoja1”).Cells(12, 3)

ArrayC(2) = Worksheets(“Hoja1”).Cells(13, 3)

ArrayA(3) = Worksheets(“Hoja1”).Cells(14, 3)

ArrayB(3) = Worksheets(“Hoja1”).Cells(15, 3)

ArrayC(3) = Worksheets(“Hoja1”).Cells(16, 3)

p = Worksheets(“Hoja1”).Cells(17, 3)

R = Worksheets(“Hoja1”).Cells(18, 3)

L = Worksheets(“Hoja1”).Cells(19, 3)

Lf = Worksheets(“Hoja1”).Cells(20, 3)

V = Worksheets(“Hoja1”).Cells(21, 3)

ArrayXD(1) = Worksheets(“Hoja1”).Cells(22, 3)

ArrayXD(2) = Worksheets(“Hoja1”).Cells(23, 3)

ArrayXD(3) = Worksheets(“Hoja1”).Cells(24, 3)

‘F = Worksheets(“Hoja1”).Cells(25, 3)

ArrayXf(1) = Worksheets(“Hoja1”).Cells(26, 3)

ArrayXf(2) = Worksheets(“Hoja1”).Cells(27, 3)

ArrayXf(3) = Worksheets(“Hoja1”).Cells(28, 3)

‘Perfil de temperaturas, corrientes líquidas, y corrientes de vapor de la columna

‘Etapa Rectificación

ArrayT(0) = 373: ArrayLR(0) = 50

ArrayT(1) = 383: ArrayLR(1) = 50: ArrayV(1) = 100 ‘Etapa Rectificación

ArrayT(2) = 393: ArrayLR(2) = 50: ArrayV(2) = 100 ‘Etapa Rectificación

ArrayT(3) = 403.2: ArrayLR(3) = 50: ArrayV(3) = 100 ‘Etapa Rectificación

ArrayT(4) = 413.2: ArrayLR(4) = 50: ArrayV(4) = 100 ‘Etapa Rectificación

ArrayT(5) = 423.2: ArrayLF(5) = 150: ArrayV(5) = 100 ‘Etapa de alimentación

ArrayT(6) = 433.2: ArrayLS(6) = 150: ArrayV(6) = 100 ‘Etapa de Agotamiento

ArrayT(7) = 443.2: ArrayLS(7) = 150: ArrayV(7) = 100 ‘Etapa de Agotamiento

ArrayT(8) = 453.2: ArrayLS(8) = 150: ArrayV(8) = 100 ‘Etapa de Agotamiento

ArrayT(9) = 463.2: ArrayLS(9) = 150: ArrayV(9) = 100 ‘Etapa de Agotamiento

ArrayT(10) = 473.2: ArrayLS(10) = 150: ArrayV(10) = 100 ‘Etapa de Agotamiento

ArrayLS(11) = 150

‘ Encerado vectores

For j = 1 To 11

For i = 1 To 3

Arrayy(j, i) = 0

Arrayx(j, i) = 0

ArrayxSB(j, i) = 0

Next i

Next j

For j = 11 To 5 Step -1

For i = 1 To 3

ArrayyS(j, i) = 0

ArrayxS(j, i) = 0

Next i

Next j

For i = 1 To 3

ArrayxS(11, i) = 0

Arrayd(i) = 0

Next i

For j = 1 To 11

ArrayTc(j) = 0

ArrayTcn(j) = 0

Next j

‘Limpieza

Worksheets(“Hoja1”).Range(“a50:g100”).Clear

‘Cálculos de K’s y alfas

Fila = 50

Range(“a50:a53”).HorizontalAlignment = xlRight

Range(“b50:b53”).HorizontalAlignment = xlLeft

For j = 5 To 5

Worksheets(“Hoja1”).Cells(Fila, 1) = “Valores de alfa calculados a T(” & j & “)=”: Worksheets(“Hoja1”).Cells(Fila, 2) = ArrayT(j) & “oK”

Fila = Fila + 1

For i = 1 To 3

Denom = K(j, 3, p, ArrayT(), ArrayA(), ArrayB(), ArrayC())

ArrayAlfa(i) = K(j, i, p, ArrayT(), ArrayA(), ArrayB(), ArrayC()) / Denom

If i = 1 Then ArrayNombre(1) = “n-pentano”

If i = 2 Then ArrayNombre(2) = “n-exano”

If i = 3 Then ArrayNombre(3) = “n-decano”

Worksheets(“Hoja1”).Cells(Fila, 1) = “Alfa(” & i & “)=”: Worksheets(“Hoja1”).Cells(Fila, 2) = ArrayAlfa(i)

Worksheets(“Hoja1”).Cells(Fila, 3) = ArrayNombre(i)

Fila = Fila + 1

Next i

Next j

Fila = 54

Call Escritura_Titulos(Fila, ArrayNombre())

‘Calculos para zona de rectificación

‘Para la etapa 1 de la zona de rectificación,de tratamiento único

‘================================================================

SumyAlfa = 0: Fila = 56

For i = 1 To 3

Arrayy(1, i) = ArrayXD(i)

SumyAlfa = SumyAlfa + Arrayy(1, i) / ArrayAlfa(i)

Next i

For i = 1 To 3

Arrayx(1, i) = ((Arrayy(1, i) / ArrayAlfa(i))) / SumyAlfa

Next i

ArrayTc(1) = 373.2 ‘oK

Call Calculo_Temperaturas(ArrayTc(), ArrayTcn(), ArrayA(), ArrayB(), ArrayC(), Arrayx(), 1, p)

Call Escritura_Resultados(Arrayx(), Arrayy(), ArrayTcn(), Fila, 1)

Fila = Fila + 1

‘Cálculo para las etapas 2 a 5 de la zona de rectificación

‘=========================================================

For j = 2 To 5

SumAlfa = 0

 

For i = 1 To 3

 

Arrayy(j, i) = ((ArrayLR(j – 1) * Arrayx(j – 1, i)) / ArrayV(j)) + (D * ArrayXD(i) / ArrayV(j))

SumAlfa = SumAlfa + (Arrayy(j, i) / ArrayAlfa(i))

Next i

For i = 1 To 3

Arrayx(j, i) = (Arrayy(j, i) / ArrayAlfa(i)) / SumAlfa

Next i

ArrayTc(j) = 473.2 ‘oK

Call Calculo_Temperaturas(ArrayTc(), ArrayTcn(), ArrayA(), ArrayB(), ArrayC(), Arrayx(), j, p)

Call Escritura_Resultados(Arrayx(), Arrayy(), ArrayTcn(), Fila, j)

Fila = Fila + 1

Next j

‘Cálculos de los fondos (Etapa 11)

‘=================================

SumB = 0

 

For j = 11 To 11

For i = 1 To 3

ArrayxSB(j, i) = (F * ArrayXf(i) – D * ArrayXD(i)) ‘ArrayxSB=B*XBi

SumB = SumB + ArrayxSB(j, i)

Next i

For i = 1 To 3

ArrayxS(j, i) = ArrayxSB(j, i) / SumB

Next i

SumB = 0

For i = 1 To 3

SumB = SumB + ArrayAlfa(i) * ArrayxS(j, i)

Next i

For i = 1 To 3

ArrayyS(j, i) = (ArrayAlfa(i) * ArrayxS(j, i)) / SumB

Next i

ArrayTc(j) = 473.2 ‘oK

Call Calculo_Temperaturas(ArrayTc(), ArrayTcn(), ArrayA(), ArrayB(), ArrayC(), ArrayxS(), j, p)

Call Escritura_ResultadosS(ArrayxS(), ArrayyS(), 67, j)

Next j

‘Cálculos de las concentraciones en la sección de agotamiento

‘============================================================

Fila = 66

For j = 10 To 5 Step -1

For i = 1 To 3

If j <> 5 Then

ArrayxS(j, i) = ((ArrayV(j) * ArrayyS(j + 1, i)) / ArrayLS(j)) + ((ArrayxSB(11, i) / ArrayLS(j)))

ElseIf j = 5 Then

ArrayxS(j, i) = (((ArrayV(j) * ArrayyS(j + 1, i)) / ArrayLF(j))) + ((ArrayxSB(11, i) / ArrayLF(j)))

End If

SumBi = SumBi + ArrayAlfa(i) * ArrayxS(j, i)

Next i

For i = 1 To 3

ArrayyS(j, i) = ((ArrayAlfa(i) * ArrayxS(j, i)) / SumBi)

Next i

ArrayTc(j) = 473.2 ‘oK

Call Calculo_Temperaturas(ArrayTc(), ArrayTcn(), ArrayA(), ArrayB(), ArrayC(), ArrayxS(), j, p)

Call Escritura_ResultadosS(ArrayxS(), ArrayyS(), Fila, j)

Fila = Fila – 1

Next j

 

‘Cálculo de los valores de XD(i) para la siguiente iteración

‘==================================================

Sumd = 0: SumB = 0

For i = 1 To 3

Arrayd(i) = (F * ArrayXf(i)) / (1 + (((Arrayy(5, i) * (ArrayxSB(11, i)) / (D * ArrayXD(i) * (ArrayyS(5, i)))))))

Sumd = Sumd + Arrayd(i)

Next i

For i = 1 To 3

ArrayXDN(i) = Arrayd(i) / Sumd

Next i

Call Escritura_de_Nuevas_XDN(68, ArrayXDN())

For j = 1 To 11

ArrayTc(j) = 100

Next j

For j = 1 To 11

Next j

End Sub

Function K(j, i, p, ArrayT(), ArrayA(), ArrayB(), ArrayC())

K = 10 ^ ((ArrayA(i) – ((ArrayB(i) / (ArrayT(j) + ArrayC(i))))) / p)

End Function

Sub Escritura_Titulos(Fila, ArrayNombre())

Range(“a53:g67”).HorizontalAlignment = xlCenter

Worksheets(“Hoja1”).Cells(Fila, 1) = “Etapa”

Worksheets(“Hoja1”).Cells(Fila, 2) = ArrayNombre(1)

Worksheets(“Hoja1”).Cells(Fila, 3) = ArrayNombre(2)

Worksheets(“Hoja1”).Cells(Fila, 4) = ArrayNombre(3)

Worksheets(“Hoja1”).Cells(Fila, 5) = ArrayNombre(1)

Worksheets(“Hoja1”).Cells(Fila, 6) = ArrayNombre(2)

Worksheets(“Hoja1”).Cells(Fila, 7) = ArrayNombre(3)

Fila = Fila + 1

Worksheets(“Hoja1”).Cells(Fila, 1) = “j”

Worksheets(“Hoja1”).Cells(Fila, 2) = “y(j,1)”

Worksheets(“Hoja1”).Cells(Fila, 3) = “y(j,2)”

Worksheets(“Hoja1”).Cells(Fila, 4) = “y(j,3)”

Worksheets(“Hoja1”).Cells(Fila, 5) = “x(j,1)”

Worksheets(“Hoja1”).Cells(Fila, 6) = “x(j,2)”

Worksheets(“Hoja1”).Cells(Fila, 7) = “x(j,3)”

Worksheets(“Hoja1”).Cells(Fila, 8) = “Temp,oK”

End Sub

Sub Escritura_Resultados(Arrayx(), Arrayy(), ArrayTcn(), Fila, j)

Worksheets(“Hoja1”).Cells(Fila, 1) = j

Worksheets(“Hoja1”).Cells(Fila, 2) = Arrayy(j, 1)

Worksheets(“Hoja1”).Cells(Fila, 3) = Arrayy(j, 2)

Worksheets(“Hoja1”).Cells(Fila, 4) = Arrayy(j, 3)

Worksheets(“Hoja1”).Cells(Fila, 5) = Arrayx(j, 1)

Worksheets(“Hoja1”).Cells(Fila, 6) = Arrayx(j, 2)

Worksheets(“Hoja1”).Cells(Fila, 7) = Arrayx(j, 3)

Worksheets(“Hoja1”).Cells(Fila, 8) = ArrayTcn(j)

End Sub

Sub Escritura_de_Nuevas_XDN(Fila, ArrayXDN())

Worksheets(“Hoja1”).Cells(Fila, 1) = “NUEVOS VALORES DE XD(I)”

Fila = Fila + 1

For i = 1 To 3

Worksheets(“Hoja1”).Cells(Fila, 1) = “XDN(” & i & “)=”: Worksheets(“Hoja1”).Cells(Fila, 2) = ArrayXDN(i)

Fila = Fila + 1

Next i

End Sub

Sub Escritura_ResultadosS(ArrayxS(), ArrayyS(), Fila, j)

Worksheets(“Hoja1”).Cells(Fila, 1) = j

Worksheets(“Hoja1”).Cells(Fila, 2) = ArrayyS(j, 1)

Worksheets(“Hoja1”).Cells(Fila, 3) = ArrayyS(j, 2)

Worksheets(“Hoja1”).Cells(Fila, 4) = ArrayyS(j, 3)

Worksheets(“Hoja1”).Cells(Fila, 5) = ArrayxS(j, 1)

Worksheets(“Hoja1”).Cells(Fila, 6) = ArrayxS(j, 2)

Worksheets(“Hoja1”).Cells(Fila, 7) = ArrayxS(j, 3)

Worksheets(“Hoja1”).Cells(Fila, 8) = ArrayTcn(j)

End Sub

Function Fu(ArrayTc(), ArrrayA(), ArrayB(), ArrayC(), Arrayx(), j, p)

Fu = 0

For i = 1 To 3

Fu = Fu + Arrayx(j, i) * 10 ^ (ArrayA(i) – ((ArrayB(i) / (ArrayTc(j) + ArrayC(i)))))

Next i

Fu = Fu – p

End Function

Function Fp(ArrayTc(), ArrrayA(), ArrayB(), ArrayC(), Arrayx(), j)

Fp = 0

For i = 1 To 3

HH = 10 ^ (ArrayA(i) – (ArrayB(i) / (ArrayTc(j) + ArrayC(i))))

Fp = Fp + Arrayx(j, i) * HH * Log(10) * (ArrayB(i) / (ArrayTc(j) – ArrayC(i)) ^ 2)

Next i

End Function

Sub Calculo_Temperaturas(ArrayTc(), ArrayTcn(), ArrayA(), ArrayB(), ArrayC(), Arrayx(), j, p)

‘ArrayTcn(j) = 0

For M = 1 To 30

ArrayTcn(j) = ArrayTc(j) – (Fu(ArrayTc(), ArrayA(), ArrayB(), ArrayC(), Arrayx(), j, p) / Fp(ArrayTc(), ArrayA(), ArrayB(), ArrayC(), Arrayx(), j))

If Abs(ArrayTcn(j) – ArrayTc(j)) < 0.001 Then

Exit For

Else

ArrayTc(j) = ArrayTcn(j)

End If

Next M

End Sub

Breve explicación del programa

La primera cosa que se debe decir es que el macro se intitula Thiele Gedddes, porque ese fue el algoritmo que se intentó presentar, pero luego se decidió implementar el algoritmo de Lewis y Matheson, que es el que en realidad se presenta.

El segundo aspecto que se debe aclarar es que el programa que aquí se muestra tiene dos funciones y una subrutina que permiten el cálculo de la temperatura de punto de burbuja de cada plato; y que, por la cercanía de algunos valores, de temperatura de la sección de agotamiento, pienso que tal vez esta sección debió haber tenido menos de cinco platos (véase la Figura 1).

Por lo demás, es pertinente agregar que las composiciones son “Arrays”, que es lo que (Holland, 1963) implica en su libro.

Por la bibliografía que se revisó entiendo que el Profesor Holland publicó una edición posterior, de la cual no dispongo, por lo que hube de construir el algoritmo a partir del ejemplo tabular que se presenta en el libro de la referencia.

Las composiciones de la sección de enriquecimiento se manejan por medio de dos matrices x(j,i), y y(j,i). Para la sección de agotamiento (stripping) se manejan  las matrices xS(i,j) e yS(i,j).

El programa calcula los coeficientes de volatilidad alfa a partir de los valores de Ai, B y Ci de la Ecuación de Antoine, de la manera que ya se indicó.

Los lazos anidados de cálculo no son más que lo que (Holland, 1963) presenta en su libro en forma tabular, porque en esos tiempos recién nacía el IBM 1130, que después fue reemplazado por el modelo 360, y -aunque no lo crean- tampoco había ni Lotus, el Excel tardaría todavía veinte o más años en hacer su aparición y ni se pensaba en los computadores personales.

Referencia

Holland, C. D. (1963). Multicomponent Distillation. Englewoods Cliffs, New Jersey: Prentice-Hall, Inc.

 

 

 

Publicado en DISEÑO DE PLANTAS, MODELADO Y SIMULACIÓN DE PROCESOS

El Método de Thiele Geddes para Cálculo de Columnas de Destilación de Multicomponentes

En este método se cuentan las etapas de equilibrio desde el tambor de reflujo hacia abajo, en la columna, tanto en la sección de enriquecimiento, como en la sección (Holland, 1963) de agotamiento En una primera aproximación el método es tabular, y esa parte puede llevarse a cabo en una hoja Excel™, aunque es laboriosa y hay que poner mucha atención para no cometer errores.

Esta parte “tabular” se encuentra en las páginas 56-58 de la referencia bibliográfica. Voy a tratar de reproducirla en este artículo, aunque por su extensión, tendré que hacerlo por fragmentos.

Figura1

Tabla 1

Figura2

Tabla 2

Figura3

Tabla 4

Figura5

Tabla 5

 

 

A partir de las tablas mostradas (Holland, 1963) recomienda embarcarse en un refinamiento tabular de los coeficientes de reparto K, cosa que yo no hice, porque me pareció demasiado laborioso, y demasiado “manual.

En vez de eso me adelanté al Capítulo 4 de la referencia, a la sección intitulada Development of the Methos of Convergence for Use with the Calculational Procedure of Thiele and Geddes (Holland, 1963) en la que el autor recomienda el método de Newton-Raphson para determinar un multiplicador que él denomina Θ, que sirve para corregir las aproximaciones de la tabulación.

Para los fines consiguientes (Holland, 1963) formula la siguiente expresión,

Ecuacion1

Ecuación 1

Y la derivada de la expresión anterior, que se muestra a continuación

Ecuacion2

Ecuación 2

En ambas expresiones el subíndice “ca” significa el valor calculado en la tabla, y el Θ es el factor de corrección, que se utiliza de la forma que se ilustra a continuación, para obtener los valores corregidos de .

La expresión del valor corregido de los valores de di es la que se muestra a continuación.

Picture3

Ecuación 3

La expresión para corregir los valores de bi se muestra a continuación.

Ecuacion4

Ecuación 4

Las fracciones molares corregidas pueden calcularse, de acuerdo a lo que consta en la página 85 de (Holland, 1963), mediante los siguientes algoritmos.

Ecuacion5

Ecuación 5

 

y

 

Ecuacion6

Ecuación 6

Lo anterior lo implementé, en forma de un algoritmo de Newton Raphson, que el lo que recomienda (Holland, 1963) por medio de un programa que muestro a continuación, conjuntamente con los resultados para las xji. El cálculo de las yji se lo dejo a algún amable lector que tenga el espíritu de trabajo de hacerlo.

El programa

Option Explicit

Option Base 1

Dim D, Theta, Thetan, Sumdc, Sumbc, Sumx As Variant

Dim k, N, Fila, j, i As Integer

Dim Arrayl(1 To 3, 1 To 3), Arrayv(1 To 3, 1 To 3), Arrayx(1 To 3, 1 To 3) As Variant

Dim ArrayFX(1 To 4), Arrayb(1 To 3), Arrayd(1 To 3), ArrayCorr(1 To 3), Arraybc(1 To 3), Arraydn(1 To 3), Arraydc(1 To 3) As Variant

Sub Direct_Iteration()

ArrayFX(1) = Worksheets(“Hoja2”).Cells(2, 3)

ArrayFX(2) = Worksheets(“Hoja2”).Cells(3, 3)

ArrayFX(3) = Worksheets(“Hoja2”).Cells(4, 3)

Arrayb(1) = Worksheets(“Hoja2”).Cells(5, 3)

Arrayb(2) = Worksheets(“Hoja2”).Cells(6, 3)

Arrayb(3) = Worksheets(“Hoja2”).Cells(7, 3)

Arrayd(1) = Worksheets(“Hoja2”).Cells(8, 3)

Arrayd(2) = Worksheets(“Hoja2”).Cells(9, 3)

Arrayd(3) = Worksheets(“Hoja2”).Cells(10, 3)

D = Worksheets(“Hoja2”).Cells(11, 3)

Theta = Worksheets(“Hoja2”).Cells(12, 3)

Arrayl(1, 1) = Worksheets(“Hoja2”).Cells(13, 3)

Arrayl(1, 2) = Worksheets(“Hoja2”).Cells(14, 3)

Arrayl(1, 3) = Worksheets(“Hoja2”).Cells(15, 3)

Arrayl(2, 1) = Worksheets(“Hoja2”).Cells(16, 3)

Arrayl(2, 2) = Worksheets(“Hoja2”).Cells(17, 3)

Arrayl(2, 3) = Worksheets(“Hoja2”).Cells(18, 3)

Arrayl(3, 1) = Worksheets(“Hoja2”).Cells(19, 3)

Arrayl(3, 2) = Worksheets(“Hoja2”).Cells(20, 3)

Arrayl(3, 3) = Worksheets(“Hoja2”).Cells(21, 3)

 

Arrayv(1, 1) = Worksheets(“Hoja2”).Cells(22, 3)

Arrayv(1, 2) = Worksheets(“Hoja2”).Cells(23, 3)

Arrayv(1, 3) = Worksheets(“Hoja2”).Cells(24, 3)

Arrayv(2, 1) = Worksheets(“Hoja2”).Cells(25, 3)

Arrayv(2, 2) = Worksheets(“Hoja2”).Cells(26, 3)

Arrayv(2, 3) = Worksheets(“Hoja2”).Cells(27, 3)

Arrayv(3, 1) = Worksheets(“Hoja2”).Cells(28, 3)

Arrayv(3, 2) = Worksheets(“Hoja2”).Cells(29, 3)

Arrayv(3, 3) = Worksheets(“Hoja2”).Cells(30, 3)

 

‘Limpieza

Worksheets(“Hoja2”).Range(“a40:d53”).Clear

For N = 1 To 10

Thetan = Theta – (g(Theta, k, D, ArrayFX(), Arrayb(), Arrayd()) / (gprima(Theta, k, ArrayFX(), Arrayb(), Arrayd())))

If Abs(Thetan – Theta) < 0.001 Then

Sumdc = 0: Sumbc = 0

For k = 1 To 3

Arraydc(k) = (ArrayFX(k) / (1 + Thetan * (Arrayb(k) / Arrayd(k))))

Sumdc = Sumdc + Arraydc(k)

Arraybc(k) = Thetan * ((Arrayb(k) / Arrayd(k)) * Arraydc(k))

Sumbc = Sumbc + Arraybc(k)

Worksheets(“Hoja2”).Cells(40 + k, 1) = “dc(” & k & “)=” & Round(Arraydc(k), 4)

Worksheets(“Hoja2”).Cells(40 + k, 2) = “bc(” & k & “)=” & Round(Arraybc(k), 4)

Next k

Worksheets(“Hoja2”).Cells(40 + k, 1) = Round(Sumdc, 4): Worksheets(“Hoja2”).Cells(40 + k, 2) = Round(Sumbc, 4)

Exit For

Else

Theta = Thetan

End If

Next N

‘Escritura de las fracciones molares

Fila = 47

Columns(“A:D”).HorizontalAlignment = xlCenter

Worksheets(“Hoja2″).Cells(Fila – 2, 1) = ” j”

For i = 1 To 3

Worksheets(“Hoja2”).Cells(Fila – 2, i + 1) = i

Next i

For i = 1 To 3

Worksheets(“Hoja2”).Cells(Fila – 1, i + 1) = Arraydc(i) / Sumdc

Next i

 

 

Worksheets(“Hoja2”).Cells(Fila – 1, 1) = “0”

For j = 1 To 3

 

For i = 1 To 3

Sumx = Sumx + ((Arrayl(j, i) / Arrayd(i))) * Arraydc(i)

Next i

Worksheets(“Hoja2”).Cells(Fila, 1) = j

For i = 1 To 3

 

Arrayx(j, i) = (((Arrayl(j, i) / Arrayd(i))) * Arraydc(i)) / Sumx

 

Worksheets(“Hoja2”).Cells(Fila, i + 1) = Arrayx(j, i)

Next i

 

 

Sumx = 0: Fila = Fila + 1

Next j

 

Worksheets(“Hoja2”).Cells(Fila, 1) = 4

For i = 1 To 3

Worksheets(“Hoja2”).Cells(Fila, i + 1) = Arraybc(i) / Sumbc

Next i

 

 

End Sub

Function g(Theta, k, D, ArrayFX(), Arrayb(), Arrayd())

g = 0

For k = 1 To 3

g = g + ArrayFX(k) / (1 + Theta * (Arrayb(k) / Arrayd(k)))

Next k

g = g – D

End Function

Function gprima(Theta, k, ArrayFX(), Arrayb(), Arrayd())

gprima = 0

For k = 1 To 3

gprima = gprima – ((Arrayb(k) / Arrayd(k)) * ArrayFX(k)) / (1 + Theta * (Arrayb(k) / Arrayd(k))) ^ 2

Next k

End Function

Los resultados

Figura 6

Tabla 6. Resultados

Comentarios a los resultados

Los resultados son coherentes ya que el compuesto 1 es el menos volátil y el compuesto 3 es el más volátil.

Trabajo Citado

Holland, C. D. (1963). Multicomponent Distillation (Vol. 1). (I. Prentice Hall, Ed.) Englewood Cliffs, New Jersey, U.S.A.: Prentice Hall, Inc.

 

Publicado en DISEÑO DE PLANTAS, MODELADO Y SIMULACIÓN DE PROCESOS

Punto de Burbuja, Punto de Rocío, y Destilación Flash

Objetivo del artículo

El objetivo de este artículo es mostrar cómo se debe calcular la composición de un flash adiabático, y exponer el papel que juegan el punto de burbuja y el punto de rocío en el cálculo del Flash.

El artículo está inspirado en unas hojas del libro del Profesor Skogestad, de la Politécnica de Noruega a juzgar por el sitio web (http://folk.ntnu.no/skoge/bok/mer/flash_english_edition_2009), que está escrito en un lenguaje sencillo y muy entendible.

Restricciones al modelo matemático

Se ha tratado a los componentes de la mezcla mediante la Ley de Raoult; se ha estimado sus presiones de vapor mediante el modelo de Antoine, .

Donde

Ecuacion1

Ecuacion2

Mezcla que se alimenta al tambor Flash

A continuación se indica la mezcla que se utilizó, así como los respectivos coeficientes de Antoine, que se encuentran en la fuente citada.

Datos del problema

Figura 1. Datos del Problema

Para estos datos se escribió un pequeño programa, que se transcribe más adelante, que maneja tres subrutinas, quq calculan el punto de burbuja, el punto de rocío , y la composición del Flash.

Resultados

Los resultados del programa se muestran a continuación.

Resultados

Figura 2. Resultados del programa

Cálculo del punto de burbuja

En este caso se calculó el punto de burbuja a una presión dada, para lo que se trabajó con la ecuación siguiente (Skogestad);

Ecuacion3

La solución del problema se reduce a encontrar la temperatura que satisfaga la ecuación, lo que se realiza mediante un For-Next  y una condición de convergencia. También se muestra en el programa, y en la Figura 1, la composición de la primera burbuja que se forma.

Cálculo del punto de rocío

Para este propósito se considera que la mezcla de alimentación está constituida de vapor, y se busca la temperatura a la que se condensa la primera gota de líquido, lo que significa que en la composición de la mezcla que está expresada en fracciones molares Zi, éstas deben expresarse como yi,

Lo anterior significa que, para fines de cálculo se utiliza la expresión (Skogestad) siguiente:

Ecuacion4

El cálculo, dada la presión, implica encontrar una temperatura que satisfaga la ecuación anterior de acuerdo a un criterio de convergencia que se muestra en el programa. En el programa también se muestran las fracciones molares de la primera gota que se condensa.

Cálculo del Flash

Para los fines consiguientes se utilizó la ecuación siguiente con un criterio de convergencia adecuado que se puede observar en el programa, y que obtiene el V/F. Los cálculos de la composición pueden observarse en el programa.

Ecuacion5

El programa

 

Option Base 1

Option Explicit

Dim ArrayZ(1 To 5), ArrayA(1 To 5), ArrayB(1 To 5), ArrayC(1 To 5), ArrayY(1 To 5), Arrayp(1 To 5), p As Variant

Dim ArrayK(1 To 5), ArrayX(1 To 5) As Variant

Dim Summx As Variant

Dim kk, Nc, Fila, N, PP As Integer

Dim SumFPB, SumFPPB, T, Tn, Tv, M, MM, MMM, MMMM, Sump, j, Psiv, Psin, FsumFPsi, F2Psi, Sumx, Psi, Sumy, SumPsi, SumFPsi, SumFLV, SumPFLV As Variant

 

Sub destilacion_flash()

ArrayZ(1) = Worksheets(“Hoja1”).Cells(2, 3)

ArrayZ(2) = Worksheets(“Hoja1”).Cells(3, 3)

ArrayZ(3) = Worksheets(“Hoja1”).Cells(4, 3)

ArrayZ(4) = Worksheets(“Hoja1”).Cells(5, 3)

ArrayA(1) = Worksheets(“Hoja1”).Cells(6, 3)

ArrayA(2) = Worksheets(“Hoja1”).Cells(7, 3)

ArrayA(3) = Worksheets(“Hoja1”).Cells(8, 3)

ArrayA(4) = Worksheets(“Hoja1”).Cells(9, 3)

ArrayB(1) = Worksheets(“Hoja1”).Cells(10, 3)

ArrayB(2) = Worksheets(“Hoja1”).Cells(11, 3)

ArrayB(3) = Worksheets(“Hoja1”).Cells(12, 3)

ArrayB(4) = Worksheets(“Hoja1”).Cells(13, 3)

ArrayC(1) = Worksheets(“Hoja1”).Cells(14, 3)

ArrayC(2) = Worksheets(“Hoja1”).Cells(15, 3)

ArrayC(3) = Worksheets(“Hoja1”).Cells(16, 3)

ArrayC(4) = Worksheets(“Hoja1”).Cells(17, 3)

Log (2) / Log(10)

p = Worksheets(“Hoja1”).Cells(18, 3)

Nc = Worksheets(“Hoja1”).Cells(19, 3)

T = Worksheets(“Hoja1”).Cells(20, 3)

Psiv = Worksheets(“Hoja1”).Cells(21, 3)

T = T + 273.2

Tv = T

N = 0: Sump = 0

‘Limpieza

Worksheets(“Hoja1”).Range(“A25:g33000”).Clear

Fila = 25

Call Punto_de_Burbuja(p, ArrayA(), ArrayC(), ArrayZ(), ArrayB(), Tv, Tn, Fila)

Call Dew_Point(31, ArrayA(), ArrayB(), ArrayC(), ArrayZ(), ArrayY(), 5)

Call Tanteo(ArrayZ(), ArrayK(), ArrayA(), ArrayB(), ArrayC(), ArrayX(), 4, 375, 37)

End Sub

Sub Punto_de_Burbuja(p, ArrayA(), ArrayC(), ArrayZ(), ArrayB(), Tv, Tn, Fila)

SumFPPB = 0

For T = 354 To 355 Step 0.1

SumFPB = 0:

For kk = 1 To Nc

MM = ArrayZ(kk) * (10 ^ (ArrayA(kk) – (ArrayB(kk) / (T + ArrayC(kk)))))

SumFPB = SumFPB + MM

Next kk

If Abs(SumFPB – p) <= 0.05 Then

N = N + 1

Worksheets(“Hoja1”).Cells(Fila, 1) = “El Punto de Burbuja es  ” & T & ” oK” & ” ó ” & “T= ” & (T – 273.2) & ” oC ”

Exit For

End If

Next T

Sump = 0

For kk = 1 To Nc

Arrayp(kk) = ArrayZ(kk) * (10 ^ (ArrayA(kk) – (ArrayB(kk) / (T + ArrayC(kk)))))

Worksheets(“Hoja1″).Cells(Fila + kk, 1) = ” y(” & kk & “)= “: Worksheets(“Hoja1”).Cells(Fila + kk, 2) = Arrayp(kk) / p

Sump = Sump + (Arrayp(kk) / p)

‘ArrayY(kk) = Arrayp(kk) / p

Next kk

Worksheets(“Hoja1”).Cells(Fila + kk, 2) = Sump

Fila = Fila + 6

Exit Sub

Fila = Fila + 1

End Sub

Sub Tanteo(ArrayZ(), ArrayK(), ArrayA(), ArrayB(), ArrayC(), ArraX(), p, T, Fila)

Worksheets(“Hoja1”).Cells(Fila, 1) = “Flash:”

For Psi = 0.02 To 1 Step 0.02

Sumx = 0: Sumy = 0

For kk = 1 To Nc

ArrayK(kk) = (10 ^ (ArrayA(kk) – ((ArrayB(kk) / (T + ArrayC(kk)))))) / p

ArrayX(kk) = ArrayZ(kk) / (1 + Psi * (ArrayK(kk) – 1))

ArrayY(kk) = ArrayX(kk) * ArrayK(kk)

Sumy = Sumy + ArrayY(kk)

Sumx = Sumx + ArrayX(kk)

Next kk

If Abs(Sumx – 1) < 0.001 Then Exit For

Next Psi

Worksheets(“Hoja1”).Cells(Fila + 1, 1) = “V/F=” & Psi: Worksheets(“Hoja1”).Cells(Fila + 1, 2) = “T= ” & T & ” oK o ” & T – 273.2 & “oC”

Worksheets(“Hoja1”).Cells(Fila + 1, 3) = “p=” & p

For kk = 1 To Nc

Worksheets(“Hoja1”).Range(“A43:B43”).HorizontalAlignment = xlLeft

Worksheets(“Hoja1”).Cells(Fila + 1 + kk, 1) = “x(” & kk & “)= ” & ArrayX(kk): Worksheets(“Hoja1”).Cells(Fila + 1 + kk, 2) = “y(” & kk & “)= ” & ArrayY(kk)

Next kk

Worksheets(“Hoja1”).Cells(Fila + 1 + kk, 1) = Sumx: Worksheets(“Hoja1”).Cells(Fila + 1 + kk, 2) = Sumy

End Sub

Sub Dew_Point(Fila, ArrayA(), ArrayB(), ArrayC(), ArrayZ(), Arrayp(), p)

For T = 354.3 To 410

Sump = 0: Summx = 0

For kk = 1 To Nc

Sump = Sump + ArrayZ(kk) / 10 ^ (ArrayA(kk) – (ArrayB(kk) / (T + ArrayC(kk))))

Next kk

If Abs(Sump – (1 / p)) < 0.005 Then

Worksheets(“Hoja1”).Cells(Fila, 1) = “El Punto de Rocío es T= ” & T & “oK” & ” ó ” & T – 273.2 & “oC”

Exit For

End If

Next T

For kk = 1 To Nc

Worksheets(“Hoja1”).Cells(Fila + kk, 2) = “x(” & kk & “)=” & (ArrayZ(kk) * p) / 10 ^ (ArrayA(kk) – (ArrayB(kk) / (T + ArrayC(kk))))

Summx = Summx + (ArrayZ(kk) * p) / 10 ^ (ArrayA(kk) – (ArrayB(kk) / (T + ArrayC(kk))))

Next kk

Worksheets(“Hoja1”).Range(“b36”).HorizontalAlignment = xlLeft

Worksheets(“Hoja1”).Cells(Fila + kk, 2) = Summx

End Sub

 

 

 

Publicado en Sin categoría

Algunas Disquisiciones Sobre el Punto de Burbuja

Un poco de filosofía

Cuando uno adquiere el compromiso de escribir un blog, también adquiere el de mantenerlo, y a veces éste último es el más difícil de cumplir. Por las estadísticas de visitas al aitio Web, el tema de diseño de plantas es lo que más gusta, pero es el tema más difícil de abordar porque toma un tiempo muy grande.

Con respecto al tema del diseño de plantas, el amable lector Ingeniero Químico debe reconocer que para diseñar una planta (en realidad, un instalación industrial constituida de varias plantas) hay que primero saber diseñar los equipos, y que para diseñarlos hay que tener muy claros los conceptos de los fenómenos de transferencia, y de la termodinámica.

Por eso se me ocurrió el tema que queda señalado, para lo que hube de ponerme a mirar los conceptos que les menciono con mucha claridad, que en mi formación (del siglo pasado), no los recibí ni en pregrado, ni en postgrado.

El tema y su tratamiento

La primera cosa que me ocurrió fue que había que elegir un problema. Y para eso busqué primero un algoritmo, en el libro Smith, que usé en mi post grado, pero la verdad es que me desilusioné, porque no es un libro algorítmico, porque es de la época en que el IBM 1130, que tenía menos memoria que mi iPhone.

Entonces me acoré de un libro que, en su tiempo me pareció complicado, el famoso Multicomponent Distillation, de (Holland), que sí es algorítmico, y por lo tanto hecho para aplicar los métodos que allí se exponen en la computadora, aunque coincidentemente hayan sido publicados, los dos, en 1962.

Leyendo a Holland me enteré que él se había basado en el famoso libro de Brown, para tratar el tema, y entonces me dije que quizá podría ser de interés para mis lectores, y por eso lo abordé.

El concepto

Para Holland –y para todos, por lo menos hasta que nos damos cuenta (y hablo por mi), la destilación flash es una destilación multicomponente de una sola etapa. ¿Verdad de Perogrullo?: Si y no, porque una vez que se lee la afirmación de Holland, es obvia, y antes no lo es.

¿Genialidad de Holland de presentar el tema de los multicomponentes en forma algorítmica?, o sabía que venía el IBM 360, que haría aplicable todo lo que él propone en su libro? Nunca lo sabremos. La verdad es que en mi postgrado trabajábamos esos problemas con unos calculadores carísimos a tubos de vacío, de cuatro operaciones.

Más conceptos

Uno debe aproximarse A las mezclas multicomponentes en la dirección que va desde el líquido hacia el vapor si de una expansión flash se trata.

Si así se procede entonces lo que primero se encuentra es el punto de burbuja, que es la temperatura a la que se forma la primera burbuja (realmente es el comienzo de la ebullición). Pero como se trata de una mezcla no se empieza a evaporar hasta que no se llega al punto de rocío, que es la temperatura a la que se comienza a formar vapor. Entre estas dos temperaturas hay una zona de transición.

El punto de burbuja

Aquí yo voy a utilizar los subíndices que usé en mi programa, para evitar confusiones.

La primera ecuación es una verdad termodinámica más grande que una casa, que lo único que dice es que la suma de las fracciones molares en fase líquida multiplicada por el coeficiente de reparto K(zz), que es igual a y(kk)/x(kk).

En el caso que nos ocupa, y habiendo sido Holland profesor del Departamento de Ingeniería Química del Agricultural and Mechanical College of Texas, el ejemplo, que él tomó de (Brown) corresponde a una mezcla de hidrocarburos n-C2, n-C3, i-C3, n-C4, i-C4, n-C5, i-C5, y n-C6.

En esos tiempos se trabajaba en psia, y las tablas de Holland, que él toma del Natural Gasoline Asssociation of América, se presentan en forma de expansiones polinomiales de K(zz)=f(T), a 50 psia, donde la temperatura está en grados Rankine.

En este punto me di cuenta que las tablas de Holland que yo estaba mirando no abarcaban los compuestos iso y entonces procedí a modificar la mezcla sumando las fracciones molares de los hidrocarburos normales  a las de los iso y tomando esa suma como si se tratase de sólo de hidrocarburos normales.

Después me di cuenta que algunas combinaciones de coeficientes estaban bien, porque obtenían los valores de Brown y otras no, pero ya estaba metido en el baile y debí hacerles algunas “correcciones” (educated guesses), hasta que obtuve números de K(kk) que hacían lógica, ya que mientras más pesado es el hidrocarburo menor es su volatilidad, y menor es su K(kk).

De todo esto resultó que de siete hidrocarburos que aparecen en el problema de Brown yo me reduje a cinco, como les indico a continuación.

Figura1

Figura 1. Valores de K para la estimación de Punto de burbuja de la alimentación

La condición para poder calcular el punto de burbuja, que se convierte en ecuación es la siguiente.

Ecuacion1

El problema se reduce, entonces a encontrar la temperatura que satisfaga la ecuación anterior, que –escrita como función- queda como se muestra a continuación, y se conoce como la curva de temperatura de punto de burbuja de la mezcla de alimentación al tambor flash.

Ecuacion2

Esto significa, que la función puede graficarse (de hecho Hollan lo muestra en su página 16, Cáp.2, donde manifiesta que en vez del método numérico de Newton-Raphson se debe usar el método de Regula Falsi, que funciona con dos aproximaciones.

El gráfico obtenido fue el siguiente.

Figura2

Figura 2. Trazo de la Función de Punto de Burbuja

Lo interesante de todo esto, por lo menos para mí, es que la discusión acerca de qué método numérico usar para determinar el Punto de Burbuja de la mezcla no es importante porque cualquiera puede leer el  gráfico anterior, y saber ipso-facto, que el punto de burbuja es 570oR “y piquillo”.

Sin embargo de lo anteriormente expuesto, Holland anota en la página 15, que es posible obtener el punto de burbuja usando el método de Newton-Raphson.

Ecuacion3

Y, claro, después de todas las peripecias que he narrado, yo también apliqué el método anterior, usando como primera aproximación 400oR, obteniendo, en ¡98 iteraciones!, en la primera versión de este artículo tenía yo una equivocación en la derivada y en la subrutina de cáculo de punto de burbuja, por eso el cambio de texto.

Pto.Burbuja570.497733705646oRL=98

Las concentraciones que usé para la alimentación fueron las siguientes:

Figura4

Figura 3. Concentraciones de alimentación

Los coeficientes polinomiales que mencioné antes fueron los siguientes:

Figura5

Figura 4. Coeficientes polinomiales para el vaso de K de cada hidrocarburo

El programa

Option Base 1

Option Explicit

Dim Arrayx(1 To 10) As Variant

Dim ArrayA(1 To 10, 1 To 10) As Variant

Dim ArrayK(1 To 20) As Variant

Dim ArrayKp(1 To 20) As Variant

Dim i, j, NC, kk, L, Fila As Integer

Dim T As Double

Dim Sum, Sumr, Tv, Tn, MM, MMM, MMMM, Sump As Variant

Dim De_Nuevo As String

Dim HH As Double

 

Sub DESTILACION()

Fila = 36: Sum = 0: Sumr = 0

‘Limpieza

Worksheets(“Hoja1”).Range(“A36:f300”).Clear

Arrayx(1) = Worksheets(“Hoja1”).Cells(2, 3)

Arrayx(2) = Worksheets(“Hoja1”).Cells(3, 3)

Arrayx(3) = Worksheets(“Hoja1”).Cells(4, 3)

Arrayx(4) = Worksheets(“Hoja1”).Cells(5, 3)

Arrayx(5) = Worksheets(“Hoja1”).Cells(6, 3)

‘x(6) = Worksheets(“Hoja1”).Cells(7, 3)

‘x(7) = Worksheets(“Hoja1”).Cells(8, 3)

NC = 5

ArrayA(1, 1) = Worksheets(“Hoja1”).Cells(9, 3)

ArrayA(2, 1) = Worksheets(“Hoja1”).Cells(10, 3)

ArrayA(3, 1) = Worksheets(“Hoja1”).Cells(11, 3)

ArrayA(4, 1) = Worksheets(“Hoja1”).Cells(12, 3)

ArrayA(1, 2) = Worksheets(“Hoja1”).Cells(14, 3)

ArrayA(2, 2) = Worksheets(“Hoja1”).Cells(15, 3)

ArrayA(3, 2) = Worksheets(“Hoja1”).Cells(16, 3)

ArrayA(4, 2) = Worksheets(“Hoja1”).Cells(17, 3)

ArrayA(1, 3) = Worksheets(“Hoja1”).Cells(22, 3)

ArrayA(2, 3) = Worksheets(“Hoja1”).Cells(23, 3)

ArrayA(3, 3) = Worksheets(“Hoja1”).Cells(24, 3)

ArrayA(4, 3) = Worksheets(“Hoja1”).Cells(25, 3)

ArrayA(1, 4) = Worksheets(“Hoja1”).Cells(26, 3)

ArrayA(2, 4) = Worksheets(“Hoja1”).Cells(27, 3)

ArrayA(3, 4) = Worksheets(“Hoja1”).Cells(28, 3)

ArrayA(4, 4) = Worksheets(“Hoja1”).Cells(29, 3)

ArrayA(1, 5) = Worksheets(“Hoja1”).Cells(30, 3)

ArrayA(2, 5) = Worksheets(“Hoja1”).Cells(31, 3)

ArrayA(3, 5) = Worksheets(“Hoja1”).Cells(32, 3)

ArrayA(4, 5) = Worksheets(“Hoja1”).Cells(33, 3)

 

T = Worksheets(“Hoja1”).Cells(13, 3)

T = T + 459.67

For kk = 1 To NC

ArrayK(kk) = 0

Next kk

Call Calculo_de_K(T, ArrayA(), ArrayK(), NC)

Call Imprimir_Resultados(Fila, ArrayK(), kk, NC)

Call Calculo_Funcion_Temperatura_Burbuja_Rocio(ArrayK(), Arrayx(), T, Fila, Sum, Sumr)

Tv = 700

Call Calculo_del_Punto_Burbuja(Tv, Tn, ArrayA(), ArrayK(), ArrayKp(), Fila, Arrayx())

End Sub

Sub Calculo_de_K(T, ArrayA(), ArrayK(), NC)

For kk = 1 To NC

ArrayK(kk) = T * (ArrayA(1, kk) + ArrayA(2, kk) * T + ArrayA(3, kk) * T ^ 2 + ArrayA(4, kk) * T ^ 3) ^ 3

Next kk

 

End Sub

Sub Imprimir_Resultados(Fila, ArrayK(), kk, NC)

For kk = 1 To NC

Worksheets(“Hoja1”).Cells(Fila, 1) = “K(” & kk & “)=” & ArrayK(kk)

Fila = Fila + 1

Next kk

End Sub

Sub Calculo_Funcion_Temperatura_Burbuja_Rocio(ArrayK(), Arrayx(), T, Fila, Sum, Sumr)

Worksheets(“Hoja1”).Cells(Fila, 1) = “T,oR”

Worksheets(“Hoja1”).Cells(Fila, 2) = “Fb(T)”

‘Worksheets(“Hoja1”).Cells(Fila, 3) = “Fr(T)”

Fila = Fila + 1

For T = 100 To 600 Step 10

For kk = 1 To NC

ArrayK(kk) = T * (ArrayA(1, kk) + ArrayA(2, kk) * T + ArrayA(3, kk) * T ^ 2 + ArrayA(4, kk) * T ^ 3) ^ 3

Sum = Sum + ArrayK(kk) * Arrayx(kk)

‘Sumr = Sumr + (1 / ArrayK(kk)) * Arrayx(kk)

Next kk

Worksheets(“Hoja1”).Cells(Fila, 1) = T

Worksheets(“Hoja1”).Cells(Fila, 2) = Sum – 1

‘Worksheets(“Hoja1”).Cells(Fila, 3) = Sumr – 1

Sum = 0: Sumr = 0: Fila = Fila + 1

Next T

End Sub

Sub Calculo_del_Punto_Burbuja(Tv, Tn, ArrayA(), ArrayK(), ArrayKp(), Fila, Arrayx())

Sum = 0: Sump = 0: L = 0

De_Nuevo:

For kk = 1 To NC

ArrayK(kk) = Tv * (ArrayA(1, kk) + ArrayA(2, kk) * Tv + ArrayA(3, kk) * Tv ^ 2 + ArrayA(4, kk) * Tv ^ 3) ^ 3

Sum = Sum + ArrayK(kk) * Arrayx(kk)

Next kk

 

For kk = 1 To NC

MM = (ArrayA(1, kk) + ArrayA(2, kk) * Tv + ArrayA(3, kk) * Tv ^ 2 + ArrayA(4, kk) * Tv ^ 3) * 2

MMM = ArrayA(2, kk) + 2 * ArrayA(3, kk) * Tv + 3 * ArrayA(4, kk) * Tv ^ 2

MMMM = (ArrayA(1, kk) + ArrayA(2, kk) * Tv + ArrayA(3, kk) * Tv ^ 2 + ArrayA(4, kk) * Tv ^ 3) ^ 3

ArrayKp(kk) = 3 * Tv * MM * MMM + MMMM

Sump = Sump + ArrayKp(kk) * Arrayx(kk)

Next kk

 

Tn = Tv – (((Sum – 1) / Sump))

If Abs(Tn – Tv) < 0.01 Then

Worksheets(“Hoja1”).Cells(Fila, 1) = “Pto.Burbuja” & Tn & ” oR” & “L=” & L

Exit Sub

Else

Tv = Tn: Sum = 0: Sump = 0

L = L + 1

End If

If L > 100 Then

 

Worksheets(“Hoja1”).Cells(Fila, 1) = “L=” & L

Exit Sub

Else

GoTo De_Nuevo

End If

 

End Sub

 

Trabajos Citados

Buford D. Smith et al. (1963). Design of Equilibrium Stage Processes. New York, New York, U.S.A.: McGraw-Hill Book Company.

Charles Holland (1963). Multicomponent Distillation. Englewood Cliffs, New Jersey: Prentice Hall, Inc.

George Granger Brown et al. (1960, 7th printing). Unit Operations. (J. W. Sons, Ed.) New York, New York, U.S.A.: John Wiley & Sons.

 

 

Publicado en Sin categoría

Una Planta para Digestión de Excremento de Pollos

El problema

De acuerdo a como yo lo entiendo, salvo mejores y más ilustrados criterios, la cría de pollos para suministrar carne al mercado consumidor tiene un problema que consiste en que durante el ciclo de vida del pollo éste defeca y en que la defecación constituye un desecho que es muy contaminante y que al momento presente se soluciona mezclando la defecación del animal con virutas de madera y cascarilla de arroz, en una proporción cercana al 80% para las virutas y la cascarilla, versus un 20% para la defecación.

Esta mezcla se utiliza como abono, y esa es la manera mediante la que se dispone de este desecho, que -si se me permite- no es la más eficiente, pero que -según yo entiendo es la que prevalece al momento.

Una solución propuesta

La solución que se propone en este artículo, no es original, ya que implica una digestión mediante enzimas y bacterias liofilizadas que se se añade a la mezcla sólida que constituye “el abono”, a la que se añade agua para poder implementar el proceso de separación de los sólidos insolubles como virutas y otros ya mencionados.

En el video que acompaño se muestran algunas facetas del procesamiento que consiste de las siguientes operaciones:

  1. Filtración para obtener un medio líquido que presuntamente contiene el excremento.
  2. Digestión enzimática en la que la que, según yo colijo las enzimas reducen o degradan el sustrato (que es el excremento), para que los fragmentos producidos por las bacterias puedan pasar a través de las membranas celulares.
  3. Filtración del fluido tratado como queda explicado en (2), y tratamiento con perhidrol de 20 volúmenes.
  4. Tratamiento con on reductor para quitar el color.
  5. Tratamiento con arcilla decolorante y filtración
  6. Obtención del resultado final, que en mi opinión (habría que confirmarlo por medio de análisis) es agua químicamente pura (H2O).

 

Comentarios al experimento y a los resultados

El experimento es un segundo intento que, por causas fuera de mi control, quedó librado a su propia dinámica por diez días, y que por eso, en lo que hace a concentraciones, los datos no pueden considerarse definitivos, ni mucho menos ya que el volumen original disminuyó notablemente después de la difusión molecular que se produjo durante el tiempo de “abandono” del experimento y aumentó por el agua que debí añadirle, y por el perhidrol que también se añadió en la etapa de clarificación.

Para que puedan darse cuenta les incluyo una gráfica de las concentraciones con las fechas en que estas fueron determinadas, para que vean ustedes que cuando en el video digo “13 g/l” eso constituye un valor al que se llegó  al séptimo día del experimento.

Concentraciones_experimento

Figura 1 Concentraciones de enzimas y sólidos

Lo que sí es innegable, es que el experimento demuestra que de la solución/suspensión de excrementos de color negro, puede obtenerse agua para rehuso, o para devolución a la corriente de donde se sacó.

También es innegable es que para deshacerse de los excrementos por digestión se hace necesario el diseñar e implementar una planta de procesamiento de desechos que demuestre tener ventaja económica sobre la opción “convertir el excremento en abono”.

Para los fines consiguientes trataré de añadir a este artículo un diagrama simplificado de flujo de la dicha planta, que debería sincronizarse con la producción de excremento de los animales.

Esto último quiere decir que la planta debería digerir los excrementos, que seguirían conteniendo virutas y cascarilla, porque esto facilita su recolección manual, a la misma velocidad con que ese producen: Esto debería ser función de la concentración de las enzimas, como lo predice la ecuación de la descomposición del sustrato S (ver J.J. Dunn, E. Heinzle, J Ingham, J.E. Prenosil, Biological Reaction Engineering, VCH Verlagsgeselschaft, mbH, D.-6940, Weinheim (Federal Republic of Germany), 1992, p.65) en donde se puede ver que de acuerdo al modelo de Michaelis Menten, la velocidad de digestión de un sustrato es igual a:

Ecuacion1

donde

Ecuacion2

Donde S es la concentración del sustrato, y Eo es la concentración inicial de la enzima, lo que implica decir que mientras más alta sea la concentración inicial de la enzima (todo dentro de ciertos límites) más grande será la velocidad inicial de reacción.

Una configuración de planta muy preliminar

Es obvio que se requiere trabajar mucho más en esta idea, que es lo que intentaré hacer en el futuro, si Dios permite.

Entretanto incluyo una configuración preliminar que intenta duplicar lo que se ha hecho hasta ahora, sujeto a mil condiciones, especialmente las económicas.

Va la planta

Planta

Figura 2. Configuración preliminar de la planta

AGRADECIMIENTO

El autor cumple con el grato deber de agradecer a la Sra. Marta Guillen, quien proporcionó las muestras de abono, y a la Compañía Ricaurte-Guarderas Cia. Ltda., que proporcionó la mezcla de enzimas y bacterias liofilizadas con que se trabajó.

 

 

 

 

 

Publicado en DISEÑO DE PLANTAS, Tecnología

Un Método Para Estimar la Resistencia del Medio Filtrante en un Filtro-Prensa

Del libro de (Earle, 1983) obtuve la fórmula siguiente, que en la versió electrónica tiene un error tipográfico que, ya corregido obtiene la expresión siguiente, que es la base del artículo.

Formula1

En la ecuación anterior, w es la concentración de sólidos por unidad de volumen, V es el volumen filtrado,  es la viscosidad en N-s/m2, t es el tiempo en segundos, y  es la caída de presión a través la torta en N/m2.

Si se ejecuta el paréntesis curvo en el denominador de la fórmula anterior, se obtiene la siguiente expresión.

Formula2

Tanto en la primera ecuación, cuanto en la segunda L corresponde a la resistencia del medio filtrante, que –dicho sea de paso, no tomé en cuenta en mi artículo anterior (Simulación de la operación de un filtro prensa) , porque en estricto sentido, ese valor debe determinarse experimentalmente haciendo mediciones sobre el equipo físico, del que yo no dispongo.

Sin embargo de lo que queda dicho, se me ocurrió que debería haber una manera de determinar la resistencia del medio filtrante mediante la formulación de una ecuación lineal que tuviese una pendiente y una ordenada al origen y, para los fines consiguientes se me ocurrió trabajar con la ecuación de Earle quya mencioné, y tratar de encontrar la expresión de la línea recta,

Para este fin escribí la última ecuación de la manera que muestro a continuación,

Formula3

Y pasé la A al numerador para obtener la expresión que muestro a continuación.

Formula4

Después de haber manipulado la ecuación de la manera que queda descrita, despejé el , porque lo que tenía en mientes era una filtración a velocidad constante, habiendo obtenido la expresión que consigno a continuación.

Formula5

A continuación escribí la ecuación de la manera siguiente, expresión en la que ya puede vislumbrarse la forma lineal, en donde ∆P/v debe quedar como variable dependiente, y    debe quedar como variable independiente; y donde  y  son conjuntos de parámetros que no cambian durante la filtración, y  es la resistencia específica de la torta expresada en m/kg y L, que es lo que se busca, es la ordenada al origen.

Para estos fines escribí la ecuación anterior e la siguiente forma

Formula6

Y luego la reescribí como muestro a continuación.

Formula7

Y la dividí por el grupo de parámetros que son comunes a los dos términos, para obtener la siguiente ecuación, que es la que utilicé para conatruir rl gráfico que muestro en este artículo, que es la expresión deseada.

Formula8

Para lograr los valores  requeridos para el gráfico ejecuté el programa de mi anterior artículo cuatro veces para velocidades constantes cercanas, que presento en forma de matriz, del cual utilicé la primera y la segunda columnas.

 

 

Tabla Excel

Figura 1. Resultado de cuatro ejecuciones del programa de simulación de operación de filtro prensa en modalidad velocidad constante

Como es obvio, la primera columna resulta de dividir la penúltima columna por la última columna. De la manera explicada pude obtener el siguiente resultado del que se puede concluir que la resistencia del medio filtrante virtual es igual a 6×10-12 m de lodo que se filtra. (http://www.filtration-and-separation.com/filter-table.htm, s.f.)

Grafico Excel

Figura 2. Gráfico V/A vs. Dp/v

Conclusiones

  1. Si se acepta el desarrollo presentado, la ordenada al origen es igual a 6E-12 m, que sería el valor de la resistencia del medio filtrante.
  2. Esto es tan sólo una lucubración matemática. Sería interesante comparar este valor con valores experimentales.
  3. El resultado aquí obtenido, es puramente teórico. Esto quiere decir que se ajusta a todo lo que estaablece la teoría de la filtración, aunque, de la bibliografía revisada y de los modelos realizados se puede deducir que el orden de magnitud de las resistencias de los medios es Pa, y el orden de magnitud de las resistencias de las tortas es kPa, y que las determinaciones de las resistencias del medio filtrante se establecen experimentalmente.

Trabajos Citados

(n.d.). Retrieved June 25, 2017, from http://www.filtration-and-separation.com/filter-table.htm

Earle, R. L. (1983). Unit Operations in Food Processing. (P. Press, Ed.) New York, New York, U.S.A.: Pergamon Press.

 

Publicado en Sin categoría

Simulación de la operación de un filtro prensa

El modelo matemático

Para propósitos de operación general un filtro prensa puede manejarse, mediante los respectivos controles, a velocidad constante, o a presión constante. Es por esto que el modelo que se ha presentado permite simular la operación en estas dos modalidades.

Sin embargo de lo que queda dicho, (George Granger Brown and Associates, 1950) indica muy acertadamente que el arranque del filtro prensa debe realizarse a una velocidad constante adecuada, para permitir que se empiece a formar la torta, cosa que no ocurriría si la operación comienza a una presión constante elevada de 500 kPa, por ejemplo.

El modelo no considera estos refinamientos, aunque podría haberlo hecho, incluyendo el tiempo de llenado del filtro, en que no se observa el egreso de filtrado porque el lodo que ingresa está llenando el filtro.

Por estas razones indicaremos brevemente los modelos matemáticos de presión constante y de velocidad constante, en ese orden, para que los amables lectores puedan comprender cómo funciona el modelo.

Filtración a presión constante

En este caso la caída de presión a través del filtro es un parámetro más, ya que –por ser parámetro- su valor no varíadurante el tiempo virtual de la simulación.

Hay muchísimas fuentes que pueden utilizarse para fines de modelar el funcionamiento del filtro. La Ecuación fundamental para la filtración utiliza el enfoque clásico de los Fenómenos de Transporte en Ingeniería Química, que no es otro que el postular una fuerza motriz que promueve el fenómeno, que es una magnitud que se encuentra en el numerador, que no es otra que la caída de presión ΔP, y en el denominador se utiliza la s (Perry)uma de las resistencias, que está dada por la Resistencia de la torta, que es variable, porque su espesor crece a medida que progresa la filtración, hasta llegar hasta el borde del marco del filtro, punto en el cual la filtración debe interrumpirse so pena de que la presión aumente hasta un valor que produzca la explosión del marco o de la unión de la tela que une un marco con otro, fenómeno que no es tan raro como podría parecer, si no se utiliza un control automático que cierre la válvula de entrada del lodo a una presión dada.

La ecuación fundamental para la filtración es entonces la siguiente, que se publicó inicialmente en Trans. Inst. Chem. Engnrs.,1938, con el nombre de Ecuación de Carmán, que la reproduce  (Perry).

Ecuacion I

En el modelo que yo desarrollé tomé la resistencia del medio filtrante como cero, porque ese parámetro debe determinarse experimentalmente.

Como ya hemos dicho, el primer término del denominador corresponde a la resistencia de la torta, y el segundo representa la resistencia del medio filtrante, que se debe determinar experimentalmente, y que yo lo asumí como cero, precisamente por esta causa.

Quedando así las cosas, cuando el filtrado se realiza a presión constante ΔP es un parámetro más, como lo son α, la resistencia específica del filtro, W es la masa de sólidos suspendidos en el lodo, y μ es la viscosidad cinemática, en N-s/m2 y r es la resistencia del medio filtrante.

Como yo he escogido la nomenclatura de (Earle, 1983) la anterior fórmula se maneja, con los símbolos del autor citado, de la siguiente manera.

Ecuacion II

Como escogí que la resistencia del medio filtrante sea cero, entonces en mí artículo, la velocidad de filtración de un proceso a ΔP constante se representaría de la siguiente forma.

Ecuacion III

Donde W representar la masa total de sólidos en el lodo, que es igual a la concentración de sólidos w (símbolo algébrico en minúscula) multiplicado por el volumen de lodo filtrado,

Ecuacion IV

Si se combinan las dos expresiones obtiene la siguiente ecuación:

Ecuacion V

De la expresion anterior se puede escribir la ecuación que permite calcular la velocidad de filtración en modalidad de filtración a presión constante, que es la siguiente.

Ecuacion VI

Lo que quiere decir que, a presión constante la velocidad varía, y que depende del valor de la caída de presión impuesta por el operador y limitada por el fabricante del equipo.

Filtración a velocidad constante

Si se utiliza la ecuación de Carmán se obtiene la expresión diferencial para la caída de presión en filtración a velocidad constante, que es la siguiente.

Ecuacion VII

La misma que, una vez que se efectúan las integraciones, queda como se muestra a continuación.

Ecuacion VIII

Cálculos comunes a ambas modalidades

Hay cálculos que se deben realizar de igual manera, sin que la modalidad de operación tenga que ver con ello, y son: el volumen filtrado, y y el espesor del cake o torta, que al final es el parámetro que determina la duración de la filtración.

Las expresiones para esto son las que siguen.

Volumen filtrado

El volumen filtrado se representa por medio de la siguiente expresión.

Ecuaccion IX

Masa de la torta o cake

La actualización de la masa de torta se reduce a un balance de masa de los sólidos que se van depositando sobre el medio filtrante, que se puede representar por medio de las dos expresiones siguientes donde  es la porosidad del cake o torta.

Ecuacion X

De donde la expresión para Lc puede expresarse de la siguiente manera:

EcuacionXI

La simulación del filtro prensa

La simulación del filtro prensa viene a cuento a raíz de una investigación que estoy haciendo sobre la digestión de excremento de pollos por medio de bacterias liofilizadas mezcladas con enzimas. Las enzimas segmentan el sustrato para que éste pueda pasar a través de las membranas celulares de las bacterias y éstas lo metabolicen.

En el argot de aquellos que usan el excremento como abono, éste se conoce como “gallinaza”, y consiste de una mezcla del excremento propiamente dicho con virutas de madera y cascarilla de arroz, mezcla que hace que la operación manual de recolección se facilite debido a la gomosidad del excremento, que es la reesponsable de la adherencia de éste a las virutas y a la cascarilla, sustancias con las que forma una sola masa macrocópicamente heterogénea.

Esta mezcla, que es fácil de recolectar, se convierte en su estado original en un obstáculo para la para la digestión bacteriana, porque las enzimas digieren con menos facilidad la madera y la cascarilla, que es fibrosa; y porque el análisis de los sólidos digeridos, se dificulta mucho, como me di cuenta cuando, al principio, quise digerir la mezcla en su totalidad (excremento, viruta, y cascarilla); y porque, además, las virutas y la cascarilla constituyen aproximadamente un ochenta por ciento de la mezcla.

Entendido esto me di cuenta que debía utilizar filtración para separar los sólidos, de manera de poder aprovechar más eficientemente las enzimas sólo para la digestión del excremento.

También me di cuenta de que después de la digestión debía separar los sólidos no digeribles, también por filtración.

Fue entonces que debí ponerme a aprender los que es un filtro prensa, y cómo se maneja, a más de aquilatar la importancia de la profundidad de las cámaras, que son las que le dan la capacidad al filtro, ya que una vez que estas se llenan con torta explotarían si inadvertidamente se excede su capacidad, como sucedería si se quisiera seguir filtrando.

La profundidad de las cámaras, la superficie total de filtración, y el modo de operación (a velocidad constante o a presión constante, o mixto (George Granger Brown and Associates, 1950)) tienen, evidentemente, importancia superlativa para la especificación de un filtro, así como las tienen las propiedades fisicoquímicas del filtrado como la viscosidad, por ejemplo y la porosidad de la torta o “cake” que se forma sobre el medio filtrante.

De todas estas lucubraciones nació la idea de simular un filtro prensa, porque si no se dispone del equipo, la mejor manera de adquirir alguna idea de cómo funciona y de los parámetros de operación que son importantes, es la experimentación virtual, o simulación, ya que no conlleva riesgos de mojarse (como le ocurrió a una estudiante hace años, cuando visitabamos una empresa) si al operador se le va la mano en la presión o se olvida de cerrar la válvula de alimentación cuando el filtro está lleno; ni de incurrir en costos, porque el “equipo” sólo existe en la memoria del computador.

Para los fines consiguientes simulé la operación del filtro tanto a presión constante como a velocidad constante, lo que me permito mostrar a continuación.

Operación a presión constante

A continuación muestro la interface de usuario de la operación a presión constante.

PRIMERA INTERFASE USUARIO

 

Figura 1. Interface de usuario para operación a presión constante

FIGURA2

Figura 2. Filtración a presión constante

FIGURA 3

Figura 3. Operación a presión constante

FIGURA 4

Figura 4. Filtración a presión constante

Como se puede ver de la gráfica anterior, la “presión constante” que en este caso fue de 50 kPa, produce una velocidad de filtración constante haccia el término de la filtración, que se evidencia en el quiebre de la curva de volumen de filtrado.

Filtrado a velocidad constante

A continuación se presenta un ejemplo de filtración a velocidad constante utilizando el mismo programa, que sirve para ilustrar las dos modalidades. Lo primero que puede observarse es que los parámetros de impresión deben cambiar en función de los diferentes tiempos de ejecución de las dos modalidades de operación.

Segunda Interface de usuario

Figura 5. Interfase de usuario para operación a velocidad constante

Figura6

Figura 6. Filtrado a velocidad constante

Figura7

Figura 7. Filtrado a velocidad constante

Figura8

Figura 8. Filtrado a velocidad constante

Datos de filtración de Brown (George Granger Brown and Associates, 1950)

Los gráficos que siguen corresponden a la tabulación de los datos de operación de un filtro real, que presenta Brown, en su excelente libro Unit Operations  al que hube de imponerle un área para poder establecer la velocidad del filtrado.  El autor citado no proporciona más datos que una escueta tabla. No se conocen ni la profundidad de las cámaras, pero sí se advierte que es un filtro que opera a 25º kPa.

Obsérvese el quiebre en la gráfica de la presión, que se debe, en mi opinión, a que la filtración comienza cuando se abre una válvula para dejar pasar el lodo hacia el filtro, y a que deben llenarse todas las cámaras del filtro (y formarse la torta contra la superficie filtrante del marco) antes que la filtración propiamente dicha comience. Pienso que ésta es la razón por la que entre tiempo igual a cero y tiempo igual a un minuto el autor no consigna datos, que los he asumido como ceros.

Decidí colocar estos datos reales que datan de antes de 1950, que es el año de la primera impresión del libro, porque me pareció que había que darle algún viso de realidad, y de comparación. a la simulación, y porque –cosa rara- no encontré otro ejemplo en los otros libros de que dispongo, que no son muchos, y porque probablemente no busqué con suficiente acuciosidad.

La duración de una filtración depende de la velocidad a la que se pasa el lodo, de la presión a la que se pasa, y de las especificaciones del filtro

En un principio pensé en hacer algunos cambios a los parámetros de operación de “mi” filtro para obtener datos que se pudiesen comparar con los de Brown, pero luego desistí de ello. Sin embargo creo que aprendí mucho, porue la difeerencia entre “mucho” y “nada” es infinita.

Figura9

Figura 9. Datos de un filtro real elaborados a partir de un problema de Brown

Código del programa

A continuación he pegado el código del programa, para todo aquél que desee implementarlo.

Option Explicit

Dim epsilon, So, k1, nnu, v, Rop, Deltat, Deltap, w, Lc, P, epsilonv, epsilonn, PB, Tiempo As Double

Dim Deltaprint, Inc, Vol_Filtrado, Dp, r As Double

Dim N, Fila As Integer

Dim A, B, C, D, E, FF, Modo_filtracion As String

 

Sub filtro()

epsilon = Worksheets(“Hoja1”).Cells(2, 3)

‘epsilon = epsilonv

So = Worksheets(“Hoja1”).Cells(3, 3)

k1 = Worksheets(“Hoja1”).Cells(4, 3)

nnu = Worksheets(“Hoja1”).Cells(5, 3)

v = Worksheets(“Hoja1”).Cells(6, 3)

Rop = Worksheets(“Hoja1”).Cells(7, 3)

Deltat = Worksheets(“Hoja1”).Cells(8, 3)

w = Worksheets(“Hoja1”).Cells(9, 3)

Lc = Worksheets(“Hoja1”).Cells(10, 3)

PB = Worksheets(“Hoja1”).Cells(11, 3)

Deltaprint = Worksheets(“Hoja1”).Cells(12, 3)

Inc = Worksheets(“Hoja1”).Cells(13, 3)

A = Worksheets(“Hoja1”).Cells(14, 3)

Deltap = Worksheets(“Hoja1”).Cells(16, 3)

r = Worksheets(“Hoja1”).Cells(17, 3)

Modo_filtracion = Worksheets(“Hoja1”).Cells(15, 3)

If Modo_filtracion = “Dp constante” Then

 

Else

Deltap = 0

End If

 

Worksheets(“Hoja1”).Range(“a20:f5000”).Clear

Fila = 20: Tiempo = 0: Vol_Filtrado = 0

If Modo_filtracion = “v constante” Then

Call velocidad_constante

Call Escritura_de_Titulos(Fila, “Tiempo,s”, “Lc,m”, “Volumen Filtrado,m3”, “DeltaP, Pa”, “v,m/s”)

Else

Call presion_constante

Call Escritura_de_Titulos(Fila, “Tiempo,s”, “Lc,m”, “Volumen Filtrado,m3”, “DeltaP, kPa”, “v,m/s”)

End If

 

Do

 

Tiempo = Tiempo + Deltat

Call Volumen(v, A, Vol_Filtrado, Deltat)

If Modo_filtracion = “v constante” Then

 

Call Caida_de_Presion(w, r, nnu, Vol_Filtrado, Deltap, Tiempo, A)

 

 

Else ‘Const Press. Filtration, Earle

v = (Deltap * A) / (nnu * Vol_Filtrado * w * r) ‘ Earle, Unit Operations in Food Processing Const. Press. Filtration

‘ Eq 10-12

End If

 

Call Actualizacion_Lc(Vol_Filtrado, w, Lc, Deltat, epsilon, A, Rop)

 

If Tiempo = Deltat Xor Tiempo >= Deltaprint Then

Call Escritura_de_Resultados(Fila, Tiempo, Lc, Inc, Deltaprint, Deltap, v, Vol_Filtrado)

End If

 

Loop While Lc <= PB

End Sub

 

Sub Caida_de_Presion(w, r, nnu, Vol_Filtrado, Deltap, Tiempo, A)

Deltap = (Vol_Filtrado ^ 2 * nnu * w * r) / (2 * A ^ 2 * Tiempo)

 

End Sub

Sub Actualizacion_Lc(Vol_Filtrado, w, Lc, Deltat, epsilon, A, Rop)

Lc = ((w * Vol_Filtrado) / (A * (1 – epsilon) * Rop))

End Sub

Sub Escritura_de_Titulos(Fila, A, B, C, D, E)

Worksheets(“Hoja1”).Cells(Fila, 1) = A

Worksheets(“Hoja1”).Cells(Fila, 2) = B

Worksheets(“Hoja1”).Cells(Fila, 3) = C

Worksheets(“Hoja1”).Cells(Fila, 4) = D

Worksheets(“Hoja1”).Cells(Fila, 5) = E

‘Worksheets(“Hoja1”).Cells(Fila, 6) = FF

Fila = Fila + 1

End Sub

Sub Escritura_de_Resultados(Fila, Tiempo, Lc, Inc, Deltaprint, Deltap, v, Vol_Filtrado)

Worksheets(“Hoja1”).Cells(Fila, 1) = Tiempo

Worksheets(“Hoja1”).Cells(Fila, 2) = Lc

Worksheets(“Hoja1”).Cells(Fila, 3) = Vol_Filtrado

Worksheets(“Hoja1”).Cells(Fila, 4) = Deltap / 1000 ‘kPa

Worksheets(“Hoja1”).Cells(Fila, 5) = v ‘m/s

‘Worksheets(“Hoja1”).Cells(Fila, 6) = Vol_Filtrado ‘m^3

Fila = Fila + 1

Deltaprint = Deltaprint + Inc

End Sub

Sub Volumen(v, A, Vol_Filtrado, Deltat)

Vol_Filtrado = Vol_Filtrado + (v * A) * Deltat

End Sub

Comentarios generales

Como comentarios me parece que hay que resaltar que se debe utilizar una bomba de desplazamiento positivo capaz de presiones considerables. Es también imprescindible hacer algunas pruebas porque colocar un valor de viscosidad en una interface de usuario es relativamente fácil, pero medir la viscosidad de una mezcla como la que menciono al principio de éste artículo es una cosa que, por el momento, no me imagino como hacer.

Se debe así mismo llevar a cabo un análisis financiero para determinar cuál habría de ser la duración de los ciclos de filtrado versus los ciclos de desarme y lavado, ya que la duración de los primeros debe ser más larga que la duración de los últimos, y –de nuevo- eso tiene que ver con todas las variable y parámetros que antes mencioné.

Otro libro que es importantísimo, y que se encuentra en la Internet es el del Profesor Earle (Earle, s.f.).

En general, investigando el asunto me i cuenta que la bibliografía es muy dispersa y los enfoques también, y que –como en todo- todos son iguales, pero hay algunos más iguales que otros.

Trabajos Citados

Earle. (s.f.). Unit Operations in Food Processing . Recuperado el 22 de June de 2017, de nzifst.org.nz

George Granger Brown and Associates. (1950). Unit Operations (Seveth printing, February, 1960 ed.). (o. W. Sons, Ed.) New York, New York, U.S.A.: John Wiley & Sons.

 

 

 

Publicado en Sin categoría

Enter your email address to follow this blog and receive notifications of new posts by email.

Únete a otros 1.771 seguidores

Categorías
Artículos y comentarios sobre modelado y simulación de plantas, y equipos de la industria química, con ejemplos
PREGUNTAS O INQUIETUDES
PUEDEN ENVIAR SUS PREGUNTAS/INQUIETUDES RESPECTO DE ARTÍCULOS DEL BLOG, O TEMAS AFINES A gasteaux@hotmail.com ASUNTO: BLOG DE INGENIERÍA QUÍMICA