MODELO DINÁMICO DE DOS TANQUES ACOPLADOS MEDIANTE UN TUBERÍA Y UNA VÁLVULA

En este artículo abordaremos un problema muy parecido al que presenta (Franks, 1972),  no tanto porque sea difícil, ni mucho menos, sino porque para resolverlo se debe tener claro cuál es la presión inicial dentro del tanque No.2, que está cerrado en su parte superior.

La disposición de los tanques se presenta en la figura siguiente donde las dimensiones están en centímetros.

TANQUES

Figura 1 Disposición física de los tanques

Las condiciones iniciales del problema estipulan que en el tanque número uno preexiste una cierta altura de agua, y que el tanque número 2 tiene otra, lo que hace que el aire tenga un volumen inicial dado, que –a su vez- de da una presión inicial.

La pregunta es a qué presión inicial se encuentra el aire en el tanque, y la respuesta (salvo mejores y más autorizados criterios) es que la presión inicial es igual a la altura multiplicada por el peso específico (Google), cálculo que se hace antes de entrar al ciclo iterativo, porque una vez que se abra la válvula, lo que se produce al principio del ciclo iterativo, la altura del agua en ese tanque comienza a aumentar y el aire comienza a comprimirse.

Es importante tener en cuenta que, aunque la presión del aire en el tanque número dos aumente, su masa se mantendrá constante.

El que la presión aumente en el taque número 2 produce un aumento en el flujo que sale del mismo.

Si se observa los signos de los flujos de los tanques, lo que se puede notar en el código que adjunto se podrá notar que el flujo uno, F1 que sale del tanque número uno es negativo y el flujo dos, F2, que ingresa al tanque uno es positivo, lo que se invierte cuando se trata de los flujos que ingresan al tanque dos.

En el programa hay una subrutina muy pequeña que para cada iteración calcula el volumen que va ocupando al agua, que es un volumen que se va restando del volumen.

Es muy fácil copiar el programa que acompaño y ejecutarlo para diferentes alturas de agua en el tanque número 2, para tener un “feel” de cómo funciona el sistema.

El VBA que se usó es la versión 316, que –para mantenerse de acuerdo con los tiempos- es una aplicación que ejecuta el programa compilado (al menos esa es mi impresión), lo que limita el colocar el cursor sobre una variable para conocer cuál es su valor.

La única herramienta con que cuenta el programador en esta versión es el comando “Debug.Print” que permite que el programa imprima lo que uno quiera, pero que le resta velocidad porque la impresión es muy lenta en comparación con la ejecución.

En los resultados, que también acompaño, se ve que las alturas de agua convergen casi al mismo valor, lo que no es posible porque el tanque dos tiene una masa de aire, que se comprime, pero que no puede desaparecer.

Como el tamaño de los tanques no es pequeño, pero como no se ha incluido el rozamiento, que habría actuado en ambos sentidos, el programa converge muy rápidamente, por las razones anotadas.

Si se hubiese incluido rozamiento y la válvula hubiese estado a mitad de camino de los dos tanques los rozamiento se hubiesen cancelado además de que hubiesen necesitado de una subrutina de convergencia que le hubiese restado velocidad a la ejecución.

Seguidamente acompaño la internase de usuario, los resultados numéricos y los gráficos respectivos.

Grafico1

Figura 2 Interface de usuario y resultados numéricos tabulares

GRAFICO123BIS

Figura 3 Resultados en forma gráfica

Acompaño también, seguidamente el código VBA.

Dim Fila As Integer

Sub Tanques()
‘Ingreso de variables
D1 = Worksheets(“Sheet2”).Cells(4, 3)
Dt = Worksheets(“Sheet2”).Cells(5, 3)
L = Worksheets(“Sheet2”).Cells(6, 3)
D2 = Worksheets(“Sheet2”).Cells(7, 3)
h1H2O = Worksheets(“Sheet2”).Cells(8, 3)
Deltat = Worksheets(“Sheet2”).Cells(9, 3)
Tmax = Worksheets(“Sheet2”).Cells(10, 3)
NuH2O = Worksheets(“Sheet2”).Cells(11, 3)
GammaAgua = Worksheets(“Sheet2”).Cells(12, 3)
RoH2O = Worksheets(“Sheet2”).Cells(13, 3)
g = Worksheets(“Sheet2”).Cells(14, 3)
Deltatprint = Worksheets(“Sheet2”).Cells(15, 3)
GammaAire = Worksheets(“Sheet2”).Cells(16, 3)
‘Paire = Worksheets(“Sheet2”).Cells(17, 3)
k = Worksheets(“Sheet2”).Cells(18, 3)

h2H2O = Worksheets(“Sheet2”).Cells(19, 3)
‘Calculo de la pression del aire en cilindro dos
Paire = D2 * GammaAire ‘ D2 es la altura del cilindro vacio
Pi = 3.14159
n = (0.01183 * Pi * ((D2) ^ 3) / 4) / (0.00831 * 293) ‘ g moles aire
‘Debug.Print “Paire=”, Paire

‘Debug.Print “n=”, n
‘Limpieza

Worksheets(“Sheet2”).Range(“A20:g50”).Clear
Fila = 20
Call Titulos(Fila)
‘Uasd = 2
‘Uas = 2 ‘m/s

‘*******************************
For Tiempo = 0 To Tmax Step Deltat

If Tiempo = 0 Then
Call Resultados(Fila, Tiempo, h1H2O, h2H2O, 0, Deltatprint, F1, F2, Q, Paire)
ElseIf Tiempo >= 2 * Deltatprint Then

Call Resultados(Fila, Tiempo, h1H2O, h2H2O, 1, Deltatprint, F1, F2, Q, Paire)

End If

Call ActualizacionPaire(n, Pi, D2, h2H2O, Paire)
Call Estimacion_Flujo_Izquierdo(k, h1H2O, F1, Paire, GammaAgua)
Call Estimacion_Flujo_Derecho(k, h2H2O, Paire, F2, GammaAire, V2, GammaAgua, D2, Pi)
Call Integracion_Tanque_Uno(h1H2O, F1, F2, Deltat, Q, h2H2O, Pi, D1)
Call Integracion_Tanque2(Pi, D2, Deltat, F1, F2, V2, h2H2O)

Next Tiempo
Call Resultados(Fila, Tiempo, h1H2O, h2H2O, 1, Deltatprint, F1, F2, Q, Paire)
End Sub

‘****************************************************
Sub Estimacion_Flujo_Derecho(k, h2H2O, Paire, F2, GammaAire, V2, GammaAgua, D2, Pi)

F2 = k * Sqr(h2H2O * GammaAgua + Paire)
‘Debug.Print “F2=”, F2, “Paire=”; Paire
End Sub
‘****************************************************
Sub Integracion_Tanque2(Pi, D2, Deltat, F1, F2, V2, h2H2O)
A2 = Pi * D2 * D2 / 4
Deltah2H2O = (F1 – F2) * Deltat / A2
h2H2O = h2H2O + Deltah2H2O
V2 = A2 * (h2H2O – ((22.4 * 0.0067 * 22.4) / 1000))
End Sub
‘****************************************************
Sub Estimacion_Flujo_Izquierdo(k, h1H2O, F1, Paire, GammaAgua)

F1 = k * Sqr(h1H2O * GammaAgua)
‘Debug.Print “F1=”, F1
End Sub
‘****************************************************
Sub Integracion_Tanque_Uno(h1H2O, F1, F2, Deltat, Q, h2H2O, Pi, D1)
A1 = Pi * D1 * D1 / 4
Deltah1H2O = -(1 / A1) * (F1 – F2) * Deltat
h1H2O = h1H2O + Deltah1H2O
‘Debug.Print “h1H2O=”, h1H2O
End Sub
‘****************************************************
Sub Titulos(Fila)
Worksheets(“Sheet2”).Cells(Fila, 1) = “Tiempo, s”
Worksheets(“Sheet2”).Cells(Fila, 2) = “h1H2O, m”
Worksheets(“Sheet2”).Cells(Fila, 3) = “h2H2O, m”
Worksheets(“Sheet2”).Cells(Fila, 4) = “F1, m3/s”
Worksheets(“Sheet2”).Cells(Fila, 5) = “F2,m3/s”
Worksheets(“Sheet2”).Cells(Fila, 6) = “Paire, kPa”
Fila = Fila + 1
End Sub
‘****************************************************
Sub Resultados(Fila, Tiempo, h1H2O, h2H2O, KK, Deltatprint, F1, F2, Q, Paire)

Worksheets(“Sheet2”).Cells(Fila, 1) = Tiempo
Worksheets(“Sheet2”).Cells(Fila, 2) = h1H2O
Worksheets(“Sheet2”).Cells(Fila, 3) = h2H2O
‘Worksheets(“Sheet2”).Cells(Fila, 4) = Q
Worksheets(“Sheet2”).Cells(Fila, 4) = F1
Worksheets(“Sheet2”).Cells(Fila, 5) = F2
Worksheets(“Sheet2”).Cells(Fila, 6) = Paire

Fila = Fila + 1
If KK >= 1 Then
Deltatprint = Deltatprint + Deltatprint
End If
End Sub
‘****************************************************
Sub ActualizacionPaire(n, Pi, D2, h2H2O, Paire)
Paire = (n * 0.00831 * 2932) / (Pi * D2 * D2 * (D2 – h2H2O) / 4)
‘Debug.Print “Paire=”, Paire,
End Sub

Trabajo Citado

Franks, R. G. (1972). Modeling and Simulatión in Chemical Engineering (Vol. I). (W. Intersciece, Ed.) New York, U.S.A.: Wiley Intersciece.

 

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: