EXTRACCIÓN CON REACCIÓN EN ETAPAS EN SERIE

INTRODUCCIÓN GENERAL

Este artículo (Franks, 1972) se inspira en el problema de ejemplo de la referencia, que es un libro magnífico cuyos programas están escritos en FORTRAN IV, que yo utilicé cuando era estudiante, que implicaba programar en tarjetas IBM™ de cartón, que había que perforar en máquinas especiales que creo recordar que se llamaban Perforadoras Hollerith (es cuestión de mirar en Google). Cada tarjeta equivalía a una línea de programación. Se entregaba el programa y se debería esperar entre doce y 24 horas para recibir el programa lleno dee errores. La única manera de probarlo era volver a entregarlo y esperar otras 12 a 24 horas. En U.S.A. los centros de computo estaban abiertos 24 horas al día.

El año de publicación de (Franks, 1972) me recuerda la ridiculez de  algunas bibliotecas nuestras nuestro  Tercer Mundo donde  no se acepten donaciones de libros que tengan más de cinco años de antigüedad, como si se le pudiera poner límites al comienzo y al fin de la simulación y la modelización, cosa que a mí me parece una soberana simpleza, porque el cálculo infinitesimal, imprescindible para integrar las ecuaciones de cualquier modelo lo inventó (Newton, 1846); y la geometría analítica la inventó Descartes por esos años también.

Lo que vino mucho después fue la invención del primer computador, el ENIAC, que funcionaba en base a tubos al vacío, cuyo primer “programa” consistió en el cálculo del número “pi” con setecientas cifras decimales, y que requería que cada nueva programación requiriese que se reconfigure el cableado, hasta que Steve Jobs y Bill Gates, muchísimo tiempo después, en un pasado bastante reciente, pero mayor a cinco años, hicieron accesible un poder computacional muy considerable del que cada persona puede valerse en su casa.

Lo qué venga después, nadie lo sabe, pero pretender limitar el infinito acervo del conocimiento humano en sus diferentes aplicaciones a los” últimos cinco años” es una necedad digna de un burro en aguacero, que provoca risa al principio, y –al final- mucha pena y desconsuelo.

Disculpen la filosofía, pero esto de desechar los libros que tengan más de cinco años es algo que me atormenta desde que lo instituyeron, y espero que algún momento sea desechado por constituir una insensatéz digna de Ripley.

INTRODUCCIÓN AL PROBLEMA

El problema que plantea Franks es muy interesante, y –como es totalmente generalizado y no tiene valores de energías de reacción, ni de temperaturas, ni de ningún otro parámetro no fue fácil de resolver. Por esto tampoco estoy absolutamente convencido de que esté resuelto apropiadamente.

En eso ustedes, que son los lectores, tienen la palabra.

Digo esto porque Franks quiso crear un sistema genérico de programar, que él llamó DYFLO, que no es muy fácil (por lo menos para mí) de desentrañar, porque implicaría leerse todo el libro, lo que probablemente me habría tomado más años que los que me quedan, y habría consistido en una simple (ni tan simple porque en esos años todavía no había procesadores de texto como Word™, de Office™) copia, que no habría venido al caso. La época en que se publicó, y los medios de que en ese momento se disponía, dificulta que algunas expresiones puedan leerse con claridad, y además -y francamente- copiar textualmente algo que ya está escrito no es el objeto de este blog, que intenta ser una aventura –muy modesta por cierto- en el ejercicio de crear y de pensar.Además, no se debe olvidar que Franks, por tratarse de un problema general, no podría haber suministrado ninguna solución concreta.

EL PROBLEMA

El problema consiste en una reacción que se lleva a cabo en un tren de reactores de dos fases: la una de reacción y la otra de extracción, interesando maximizar la producción de la especie C.

La ecuación es la siguiente.

Ecuacion

Esta reacción, que se realiza en etapas que son perfectamente agitadas, pero que –en algún momento se dejan en reposo para que la especie C, que es la que interesa, pase de la fase catalítica a una fase en la que se disuelve preferentemente gracias a un coeficiente de reparto D, que Franks determina a priori mediante una subrutina que requiere de datos de equilibrio líquido-vapor, que desde ya les digo no utilicé, y que como ustedes podrán apreciar si examinan el código estimé de una manera non muy sancta.

Como queda dicho, las reacciones se llevan a cabo en N etapas y lo que interesa es maximizar la concentración de C, que pasa de la fase A, a la fase B.

LA SOLUCIÓN

Con inmenso respeto a Franks, para resolver el problema usé las ecuaciones que se encuentran en las páginas de la cita bibliográfica, que me da la impresión que difieren de las ecuaciones del código FORTRAN IV que se cita en la fuente mencionada.

Como sucede en la resolución de este tipo de problemas al principio obtuve resultados absurdos que determinaron que hubiesen de realizarse un respetable número de cambios en el concepto mismo y –naturalmente- también en el código del programa, que fue Visual Basic Applications (VBA) de Excel™ para Mac, versión 2016, que no dispone de opciones que las otras versiones tenían, y tiene algún error en el mecanografiado mismo, que hace que las líneas del programa se junten, que estoy seguro que solucionarán en algún momento .

Para que puedan orientarse en la solución del programa les incluyo la interface de usuario y, también el código.

No usé las célebres subrutinas de integración de Franks, INT, e INTI, sino –lo digo con infinita humildad- la mía propia, que consiste en simplemente integrar por rectángulos.

LA INTERFACE DE USUSARIO

La interface de usuario se muestra a continuación, y me parece que no amerita mayor explicación ya que pienso que se explica por sí sola.

Aquí va:

Interfase de Usuario

Al final reduje el número de etapas a dos, lo que implica que hay una etapa -1, que no es una etapa, sino que es la alimentación, y dos etapas, que son la uno y la dos.

RESULTADOS DE LA EJECUCIÓN DEL PROGRAMA

 

RESULTADOS

Se puede observar que las sumas de las fracciones molares son aproximadamente iguales a uno, y que la fracción molar de C en la fase de extracción de la etapa tres es igual a 0.29.

EL CÓDIGO

Dim x(20, 20), T(5), Deltax(8, 8), Tiempo As Double

Dim i, n As Integer

Sub Extraccion()

‘Encerado

For n = 1 To 5

For i = 1 To 5

x(i, n) = 0

Next i

Next n

 

‘Limpieza

Worksheets(“Sheet1”).Range(“a32:h80”).Clear

‘Ingreso de variables

Af = Worksheets(“Sheet1”).Cells(8, 3)

Ar = Worksheets(“Sheet1”).Cells(9, 3)

HA = Worksheets(“Sheet1”).Cells(10, 3)

HB = Worksheets(“Sheet1”).Cells(11, 3)

 

EF = Worksheets(“Sheet1”).Cells(14, 3)

ER = Worksheets(“Sheet1”).Cells(15, 3)

FluA = Worksheets(“Sheet1”).Cells(16, 3)

FluB = Worksheets(“Sheet1”).Cells(17, 3)

‘Estan fuera de la etapa 1

x(1, 0) = Worksheets(“Sheet1”).Cells(18, 3)

x(2, 0) = Worksheets(“Sheet1”).Cells(19, 3)

x(3, 0) = Worksheets(“Sheet1”).Cells(20, 3)

x(4, 0) = Worksheets(“Sheet1”).Cells(21, 3)

x(5, 0) = Worksheets(“Sheet1”).Cells(22, 3)

T(1) = Worksheets(“Sheet1”).Cells(23, 3)

T(2) = Worksheets(“Sheet1”).Cells(24, 3)

T(3) = Worksheets(“Sheet1”).Cells(25, 3)

T(4) = Worksheets(“Sheet1”).Cells(26, 3)

T(5) = Worksheets(“Sheet1”).Cells(27, 3)

D = FluA / FluB

Deltat = Worksheets(“Sheet1”).Cells(29, 3)

Tmax = Worksheets(“Sheet1”).Cells(30, 3)

Deltatprint = Worksheets(“Sheet1”).Cells(31, 3)

R = 0.008314 ‘kJ/(K-kgmole)

Fila = 33

‘***************************

For Tiempo = 0 To Tmax Step Deltat

‘Debug.Print Tiempo

If Tiempo = 0 Then

Call Escritura_Titulos(Fila)

‘Fila = Fila + 1

 

Call Escritura_Resultados(Fila, i, n, x(), Deltatprint, Tmax, Tiempo)

Fila = Fila + 1

ElseIf Tiempo >= Deltatprint Then

Call Escritura_Titulos(Fila)

Call Escritura_Resultados(Fila, n, i, x(), Deltatprint, Tmax, Tiempo)

Fila = Fila + 1

Else

For n = 1 To 4

For i = 1 To 4

Call Reaccion(x(), Af, Ar, EF, ER, T(), R, RR, HA, n, kF, kR, RCT1, RCT2, RCT3, RCT4)

Call Integracion(n, i, FluA, FluB, x(), RCT1, RCT2, RCT3, RCT4, HA, HB, Deltat, Fila, kF, kR, D)

 

Next i

Next n

End If

 

 

Next Tiempo

 

Call Escritura_Titulos(Fila)

Call Escritura_Resultados(Fila, i, n, x(), Deltatprint, Tmax, Tiempo)

End Sub

 

Sub Reaccion(x(), Af, Ar, EF, ER, T(), R, RR, HA, n, kF, kR, RCT1, RCT2, RCT3, RCT4)

kF = Af * Exp((-EF / (R * (T(n) + 273.2))))

kR = Ar * Exp((-ER / (R * (T(n) + 273.2))))

RR = HA * (kF * x(i, n – 1) * x(i + 1, n)) – kR * (x(i + 3, n) * x(i + 4, 4))

RCT1 = -RR

RCT2 = -RR

RCT3 = RR

RCT4 = RR

 

 

End Sub

 

Sub Integracion(n, i, FluA, FluB, x(), RCT1, RCT2, RCT3, RCT4, HA, HB, Deltat, Fila, kF, kR, D)

‘A

Deltax(i, n) = ((FluA * (x(i, n – 1) – x(i, n)) + (kF * RCT1)) / HA) * Deltat

x(i, n) = x(i, n) + Deltax(i, n)

‘B

Deltax(i + 1, n) = ((FluA * (x(i + 1, n – 1) – x(i + 1, n)) + (kF * RCT2)) / HA) * Deltat

x(i + 1, n) = x(i + 1, n) + Deltax(i + 1, n)

‘C

Deltax(i + 2, n) = ((FluA * (x(i + 2, n – 1) – x(i + 2, n)) + FluB * (x(i + 2, n + 1) – x(i + 2, n)) + (kR * RCT3)) / (HA + D * HB)) * Deltat

 

 

x(i + 2, n) = x(i + 2, n) + Deltax(i + 2, n)

‘D

Deltax(i + 3, n) = ((FluA * (x(i + 3, n – 1) – x(i + 3, n)) + (kR * RCT4)) / HA) * Deltat

x(i + 3, n) = x(i + 3, n) + Deltax(i + 3, n)

End Sub

 

 

Sub Escritura_Titulos(Fila)

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

Worksheets(“Sheet1”).Cells(Fila, 1) = “etapa n=-1”

Worksheets(“Sheet1”).Cells(Fila + 1, 1) = “etapa n=1”

Worksheets(“Sheet1”).Cells(Fila + 2, 1) = “etapa n=2”

Worksheets(“Sheet1”).Cells(Fila + 3, 1) = “etapa n=3”

 

End Sub

Sub Escritura_Resultados(Fila, i, n, x(), Deltatprint, Tmax, Tiempo)

Worksheets(“Sheet1”).Cells(Fila – 1, 2) = Tiempo & “s”

Columna = 1

For n = 0 To 3

For i = 1 To 5

 

Columna = Columna + 1

Worksheets(“Sheet1”).Cells(Fila, Columna) = x(i, n)

 

Next i

Columna = 1

Fila = Fila + 1

Next n

Deltatprint = Deltatprint + Tmax / 3

 

End Sub

Trabajos Citados

Franks, R. G. (1972). Modelling and Simulation in Chemical Engineering. New York, U.S.A: Wylwy-Interscience.

Newton, I. S. (1846). Principia Mathematica. London, U.K.

 

 

Acerca de

Professor of modeling and simulation, and process design at Escuela Politécnica Nacional, in Quito, Ecuador. . In the past I was a P4, P5, and D1 at the Organization for the Prohibition of Chemical Weapons, located in the Kingdom pf the Netherlands

Publicado en Sin categoría

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

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

Únete a otros 1.775 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
A %d blogueros les gusta esto: