En este capítulo, al igual que el anterior, las funciones JavaScript, tienen los mismos nombres que las funciones HP equivalentes.
Para resolver el ejemplo 8.2.4 del texto, se procede de la siguiente forma:
Primero, se guardan los datos de equilibrio conocidos:
Entonces, empleando el método mincuad, se ajustan los datos a la forma linear: q0+Kc, donde, si el ajuste ideal "q0" debería ser igual a 0. El primer grupo funcional es el número 1, porque el primer coeficiente "q0" no depende de la variable independiente "c", el segundo grupo funcional es "c", porque el segundo coeficiente "K" está multiplicado por "c":
El primer resultado "f", que en este caso ha sido guardado en la variable "f1", es la función ajustada. El segundo resultado, el vector "c", corresponde a los valores de los coeficientes, por lo tanto "q0" es igual a 0.06558219529696692 y K es igual a 0.2928462974343888. El tercer parámetro "r" (0.9036297660076872), es el coeficiente de correlación y como se sabe mientras más cercano es su valor a 1, mejor es el ajuste.
En este caso el coeficiente de correlación no es muy cercano a 1, por lo que se puede concluir que el ajuste a la forma lineal no es bueno. Para determinar visualmente si el ajuste es bueno o no, se puede dibujar la ecuación ajustada (f1) conjuntamente los datos tabulados (td):
Como se puede ver, si bien los puntos se distribuyen a ambos lados de la línea recta, en realidad no se ajustan a la línea, con lo que se confirma que el ajuste a la forma lineal no es bueno.
Para ajustar los datos a la forma de Freundlich (q = K*cn), se puede emplear el método mincuadSimplex, programando primero la función a ajustar (fa):
En esta función, en el primer vector, se reciben los coeficientes (o constantes) de la ecuación a ajustar (en este caso "K" y "n") y en el segundo la o las variables independientes (en este caso sólo una: "c").
Desde esta función, se llama al método mincuadSimplex, el cual requiere los datos tabulados (td) y, como el proceso es iterativo, se requiere también un vector con los valores iniciales asumidos (vi), para los coeficientes de la ecuación (en este caso para "K" y "n"). Usualmente se logran convergencia si se asumen (para los coeficientes) valores iniciales iguales a 1.1, 1.2, 1.3, 1.4, etc.:
Al igual que en el ajuste lineal, "f" es la función ajustada (en este caso guardada en "f2"), "c" el vector con los valores de los coeficientes (k = 0.19402065, n = 0.22297769) y "r" (0.9985770866556666) el coeficiente de correlación.
Dado que el coeficiente de correlación es cercano a 1, se puede concluir que el ajuste es bueno, para verificar que realmente sea así, se pueden graficar los datos tabulados y la ecuación ajustada (f2):
Como se puede ver, los datos se ajustan muy bien a la ecuación de Freundlich, con lo que se corrobora que el ajustes es bueno.
Para ajustar los datos a la ecuación de Langmuir, se procede igual que con la ecuación de Freundlich, solo que, en este caso, la función a ajustar es la ecuación de Langmuir (q = q0*c/(K+c)):
Llamando al método mincuadSimplex desde esta función, se obtiene:
Al igual que en los casos anteriores, "f" es la función ajustada, en este caso guardada en la variable "f3", "c" es el vector con los coeficientes de la ecuación ajustada (q0 = 0.13402903, K = 0.0070643879) y "r" (0.886887451450518) el coeficiente de correlación, que al no ser cercano a 1, se concluye que el ajuste no es bueno.
Para verificar que el ajuste realmente no es bueno, se pueden graficar los datos tabulados (td) y la ecuación ajustada (f3):
Como se puede ver, los datos (los puntos), aunque se distribuyen a ambos lados de la curva, no se ajustan bien a la misma, por lo tanto el ajuste a la forma de Langmuir, no es bueno.
En conclusión, la ecuación que debería ser empleada en este caso, para el diseño y/o dimensionamiento del equipo, es la de Freundlich.
La función JavaScript equivalente a la función Adb1 de la calculadora HP, es:
Para resolver el ejemplo 8.3.1 con esta función, se procede de la siguiente forma:
Primero se guardan los datos conocidos:
La función de equilibrio es el mejor ajuste del ejemplo 8.2.4, es decir la función "f2". Entonces, llamando a Adb1, se obtienen las concentraciones finales ("c" y "q"):
En consecuencia, el porcentaje de fenol extraído es:
Para resolver el ejemplo 8.4.1 del texto, se procede de la siguiente forma:
Primero se guardan los datos conocidos:
Donde "v1c" es el vector con los valores de 1-c/c0.
El tiempo correspondiente al punto de ruptura se calcula interpolando, con los datos tabulados, el valor de "t" para "c/c0" igual a 0.01:
El tiempo de saturación "td" se calcula, igualmente, interpolando con los datos tabulados el valor de "t" para "c/c0" igual a 1:
El tiempo total "tt" (el tiempo total que puede funcionar el equipo hasta quedar saturado) se calcula integrando, entre 0 y td, los datos de los vectores "t" y "v1c" con el método del trapecio:
El tiempo útil "tu" (el tiempo que puede funcionar el equipo sin que se pierda soluto) se calcula integrando con los datos de los vectores "t" y "v1c" entre 0 y tb:
Entonces, la altura de relleno utilizada (Hu) es:
Y la altura del equipo no utilizada se calcula con:
O, simplemente, restando a la longitud total (Ht) la longitud útil (Hu):
Para el inciso (b), la altura del equipo se calcula sumando a la altura que se requiere para que el equipo funciones durante 6 horas (6*Hu/Tb), la altura no utilizada (Hunb):
Para el inciso (c), el flujo en peso de gas (Vw1), se calcula con:
Con el cual se puede calcular el peso de soluto adsorbido (s):
Para el inciso (c), se calcula primero la velocidad superficial de la solución (Vs1):
Si el flujo de gas en el equipo industrial (V1ei) es 3000 cm3/s:
El área transversal del equipo industrial se calcula con:
Finalmente el diámetro del equipo industrial deberá ser:
La referencia detallada de las funciones presentadas en este y en los anteriores capítulos (incluido el código de los programas elaborados), está disponible en el siguiente enlace (donde se irán incorporando otras funciones a medida que se las presente y utilice):
Referencia funciones disponibles