Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TFG Guillermo Nieva Garcia Villaraco PDF
TFG Guillermo Nieva Garcia Villaraco PDF
REACTOR SIMULATOR:
JUNIO 2016
TRABAJO FIN DE GRADO PARA
LA OBTENCIÓN DEL TÍTULO DE Guillermo Nieva Garcia-Villaraco
GRADUADO EN INGENIERÍA
QUÍMICA DIRECTOR DEL TRABAJO FIN DE GRADO:
Desde preparar las sesiones previas a las practicas simulando el experimento que se
va a realizar para verse familiarizado con los datos que deberían obtenerse hasta para
conocer los resultados que se obtienen al variar las condiciones del experimento.
Gracias a este simulador se puede conocer la evolución de las concentraciones de las
especies en condiciones que no se podrían llevar a cabo en el laboratorio.
Por otra parte permite realizar tantos experimentos como sean necesarios, con el
consecuente ahorro de tiempo que ello supone, y en las condiciones que el usuario
estime oportunas.
Esta ecuación expresa que la acumulación que se produce de una especie “a” a lo
largo del tiempo es igual a la cantidad de esa especie que entra en la corriente de
entrada menos la cantidad que sale en la corriente de salida y más la cantidad que se
genera por reacción química (este término será negativo si “a” es un reactivo, ya que
consume a lo largo de la reacción).
Desarrollando este balance para cada una de las especies de esta reacción se obtiene
el sistema de ecuaciones diferenciales a resolver:
( )
( ) ( )
( )
( ) ( )
( )
( ) ( )
( )
( ) ( )
( )
∑ ( ) [ ( ) ( )]( ( ) )
∑
Una vez fijadas todas las ecuaciones necesarias para resolver el problema se procede
a la programación de la interfaz de usuario en MATLAB:
Los botones de esta interfaz sirven para seleccionar el modo de trabajo (isotermo o no
isotermo), para reiniciar todas las variables y para comenzar el cálculo y la
representación de resultados
La otra grafica que genera el programa representa las concentraciones de cada una
de las especies en función del tiempo. Se aprecia claramente el momento del corte de
la alimentación en el minuto 80. En la práctica esta gráfica ha de ser calculada por los
alumnos a través de la relación concentración-conductividad.
Como puede apreciarse en estas gráficas los resultados aportados por el simulador se
aproximan en gran medida a los obtenidos por los alumnos experimentalmente. Esta
tendencia se mantiene para todos los grupos con los que se ha comparado. Por tanto
se puede admitir que los resultados generados por el simulador son correctos y se
corresponden con la realidad.
CAPÍTULO 1_________________________________________________________9
1.1 ANTECEDENTES____________________________________________10
1.2 JUSTIFICACIÓN____________________________________________ 11
CAPÍTULO 2________________________________________________________ 13
2.2.1 CSTR______________________________________________ 30
2.3 MATLAB___________________________________________________32
CAPÍTULO 3________________________________________________________ 39
3.2 EXPERIMENTO_____________________________________________ 46
3.3 PROGRAMACIÓN___________________________________________ 49
CAPÍTULO 4________________________________________________________ 63
CAPÍTULO 5________________________________________________________ 79
5.1 CONCLUSIONES____________________________________________80
BIBLIOGRAFÍA______________________________________________________86
ANEXOS___________________________________________________________87
CAPÍTULO 1
INTRODUCCIÓN Y OBJETIVOS_____________________________________9
1.1 ANTECEDENTES_________________________________________10
1.2 JUSTIFICACIÓN__________________________________________11
1.1 ANTECEDENTES
El estudio de la naturaleza de las reacciones químicas y el diseño de los reactores
necesarios para conseguir los productos deseados en la proporción adecuada
representa una faceta fundamental de las cualidades que todo ingeniero químico
debería tener. Por tanto el desarrollo de una herramienta que permita a los alumnos
mejorar sus habilidades en este campo se antoja como adecuado para la realización
de este trabajo de fin de grado.
Existen multitud de tipos de reactores que se corresponden con los modelos teóricos
de ecuaciones a través de los cuales se puede prever e incluso variar el resultado de
una reacción química. Estos modelos desarrollados a lo largo del tiempo son tan
diversos como extensos. Por ejemplo existen modelos tanto estacionarios como no
estacionarios, dependientes de la temperatura o isotermos. En este trabajo se tratará
solo modelos de reactores ideales ya que se considera que los reactores reales
quedan fuera del alcance de un trabajo de este tipo.
El contenido normal de una asignatura que trate esta parte de la ingeniería química
debe abordar, al menos, los modelos de reactores fundamentales como: PFR (Plug
Flow Reactor) o reactor de flujo pistón, en el que la variable de diseño es la longitud;
CSTR (Continuous Stirred-Tank Reactor) o reactor de tanque agitado, que será el
objeto de estudio en este trabajo y cuyas características se describen más adelante;
Reactor Batch o reactor discontinuo, que funciona por cargas.
1.2 JUSTIFICACIÓN
Dado que la carga lectiva a la que se ven sometidos los alumnos de la Escuela
Superior de Ingenieros Industriales es en algunos momentos del curso cuanto menos
intensa, se considera apropiado que se realicen trabajos de fin de grado orientados a
desarrollar programas o herramientas informáticas que sirvan de apoyo a estos
alumnos a la hora de adquirir los conocimientos necesarios para una asignatura del
plan de estudios del Grado en Ingeniería Química como puede ser “Reactores
Químicos”.
-Para mejorar la comprensión de todos los factores que influyen en las reacciones
químicas. De forma sencilla se puede apreciar como varían las concentraciones de las
especies, para una reacción determinada, al variar las condiciones en las que ocurre la
reacción. Por tanto, se pueden resolver las dudas momentáneas que surjan de forma
interactiva y entender los principios que rigen los modelos desarrollados para este tipo
de reactor.
-Por otro lado y teniendo las sesiones experimentales en mente, debido a que esta
herramienta está elaborada con los datos correspondientes a la reacción que se
realiza en el laboratorio, se puede utilizar para obtener los datos teóricos con los que
comparar los obtenidos experimentalmente y poder concluir si el experimento se ha
realizado de forma exitosa o ha ocurrido algún error durante su ejecución. Además se
puede utilizar de forma previa para hacerse una idea de cómo debería desarrollarse el
experimento y que tipos de resultados se deberían obtener. De la misma manera se
puede utilizar para comprender la naturaleza de la reacción que posteriormente se va
a trabajar en el laboratorio. En definitiva, se presenta como una herramienta para
realizar un trabajo previo de calidad que permita aprovechar al máximo la sesión de
laboratorio correspondiente a este contenido.
CAPÍTULO 2
FUNDAMENTO TEÓRICO_______________________________13
2.3 MATLAB__________________________________________32
Es una reacción irreversible que tiene lugar en fase líquida. Esta reacción es
relativamente exotérmica, pero se suelen utilizar concentraciones tan bajas que el
aumento de temperatura derivado del calor de reacción no conlleva problemas de
descomposición de especies o de vaporización (cambio de fase) de alguno de los
reactivos.
Y, reordenando en función de A:
( )
ORDEN DE VELOCIDAD
La ley de velocidad es una ecuación algebraica que relaciona –ra con las
concentraciones de las especies de los reactivos. En esta relación aparece una
constante, llamada constante de velocidad, que es específica de cada reacción.
Los números α y β de esa expresión son los órdenes de velocidad respecto del
reactivo A y del reactivo B. Estos órdenes de magnitud, además de delimitar si la
relación entre concentraciones y velocidad es lineal, parabólica o de orden superior,
determinan las unidades de la constante de velocidad k.
-Reacción de orden 0:
-Reacción de orden 1:
-Reacción de orden 2:
( )
donde
A: factor preexponencial
E: energía de activación. J/mol
R: constante de los gases ideales. (8.314 J/mol.K)
T: temperatura absoluta. K
( )
( ) ( )
-Método integral.
Este método es muy útil para determinar el orden de una reacción elemental, ya será
orden 0, orden 1 u orden 2. Consiste en encontrar las ecuaciones integradas para la
velocidad de cada orden, una vez obtenidas estas ecuaciones se representan los
datos experimentales ajustándolos a cada una de ellas.
Con las gráficas obtenidas se realiza una regresión lineal, eligiendo de entre ellas la
que mejor correlación tenga. Finalmente se concluye que el orden de la reacción
estudiada será aquel que mayor correlación lineal tiene.
Orden 0: [ ] [ ]
Orden 1: [ ] [ ]
Orden 2: [ ] [ ]
donde
t= Tiempo
Por salirse del alcance de este proyecto y como posible línea futura no se realiza el
experimento para determinar los parámetros cinéticos y se utilizan datos sacados de la
bibliografía. La reacción se considera de orden 2.
En este caso los datos que se utilizarán en la programación del código son:
Para modelos no isotermos en los que el cambio de temperatura juega un papel clave,
la ecuación de diseño a utilizar es el balance de energía. Más adelante se ahondará
en todas las ecuaciones de diseño de los diferentes tipos de reactores. El concepto
que se introduce ahora es el de entalpia de reacción.
( ) ( )
dónde
REACTIVOS QUÍMICOS
- Acetato de etilo:
Usos y manipulación:
- Hidróxido de sodio:
Usos y manipulación:
La cinética para esta reacción ha sido tratada en el apartado anterior, por lo que este
se centrara en el resto del contenido necesario para el diseño.
El balance molar para la especie a en ese volumen de sistema y para cualquier tiempo
t puede expresarse de la siguiente manera:
BALANCE DE ENERGÍA
Para las reacciones en las que, como se da en este caso, existe un calor absorbido o
desprendido que no se puede despreciar aparecen dos nuevas variables en los
balances que, hasta este momento, habían sido únicamente de materia.
∑ ∑
dónde:
Para sistemas adiabáticos en los que el calor intercambiado es nulo (Q=0) el consumo
o generación de calor se compensa con las entalpias de entrada y salida de los
componentes. Esto supone un aumento o un descenso de las temperaturas de las
corrientes de salida.
∑ ∑ ∑ ( ) ( )
El operador Θi se utiliza para relacionar todas las corrientes iniciales con la del reactivo
limitante a, de forma que puede expresarse como:
mol de reactivo reaccionado (J/mol). Al igual que la constante cinética este término es
sensible a la temperatura y por ello la temperatura será una variable más del sistema
complejo a resolver.
( ) ( ) ( )
∑ ( ) [ ( ) ( )]
Esta es la expresión general del balance de energía para un reactor químico en estado
estacionario. En esta ecuación se encuentran típicamente dos variables a evaluar
como son la temperatura y la conversión.
Por tanto este balance se ha de combinar con el resto de balances molares y con la
ecuación de Arrhenius para poder resolverlo.
∑ ( ) [ ( ) ( )]
∑ ∑
∑ ( ) [ ( ) ( )]( )
∑
Esta ecuación servirá de base para el cálculo del proyecto que se aborda junto con el
resto de balances molares para el estado no estacionario, que se desarrollarán mas
adelante.
El reactor de flujo pistón, en adelante PFR, es un tipo de reactor continuo que se opera
en estado estacionario. Consta de un tubo cilíndrico y se emplea con mayor frecuencia
para reacciones en estado gaseoso.
Al igual que en el caso del reactor intermitente, la temperatura afecta a esta reacción
a través de la cinética. La constante cinética de reacción depende de la temperatura
según la ecuación de Arrhenius anteriormente desarrollada.
dónde:
2.2.1 CSTR
La suposición base de este modelo es la de mezcla perfecta, es decir, que todas las
variables como concentración, temperatura… son iguales en todos los puntos del
reactor para un tiempo determinado. No hay dependencia de la posición en ninguna de
las ecuaciones.
2.3 MATLAB
MATLAB es un lenguaje de alto nivel que se utiliza para cálculos tanto de ingeniería
como científicos. Proporciona un entorno de escritorio adaptado a los flujos de trabajo
iterativos de la ingeniería y la ciencia.
Las herramientas integradas posibilitan la exploración simultánea de datos y
programas, lo que le permite evaluar más ideas en menos tiempo.
MATLAB y las toolboxes están integrados entre sí de manera que se pueda trabajar
conjuntamente. Ofrecen funcionalidades específicas para aplicaciones científicas y de
ingeniería.
“Una ecuación diferencial ordinaria es aquella que contiene una o más derivadas de
una variable dependiente, por ejemplo y, con respecto a una única variable
independiente, por ejemplo t”.
SISTEMAS DE ECUACIONES:
Existen muchas vías para resolver estos sistemas diferenciales, con diferentes
características dependiendo de las condiciones de contorno, el orden de las
ecuaciones y demás parámetros. Por ello es esencial elegir un método de cálculo que
se adecúe al sistema que se está intentado definir, en este caso un reactor CSTR
ideal, para que los resultados sean lo más preciso posible.
MATLAB ofrece diversos algoritmos numéricos para resolver una extensa variedad de
ecuaciones diferenciales. El paquete más utilizado es el recogido por las funciones
“odeXX” que, como otra función cualquiera de MATLAB, resuelve ecuaciones
diferenciales de uno u otro tipo.
Esta función genera como resultado un vector, o matriz dependiendo de las incógnitas
que contenga el sistema, dependiente del tiempo con el valor de la ecuación resuelta.
La sintaxis tipo para utilizar esta función es:
[ ] ( ) )
Dónde:
ode23 Baja ode23 puede ser más eficiente que ode45 en problemas con tolerancias
constantes, o en presencia de rigidez moderada.
ode113 Baja a alta ode113 puede ser más eficiente que ode45 en problemas con tolerancias
estrictas, o cuando la función ODE es difícil de evaluar.
ode23s Baja ode23s puede ser más eficiente que ode15s en problemas con tolerancias de
error constante.
ode23tb Baja Como ode23s, el método ode23tb podría ser más eficiente que ode15s en
problemas con tolerancias de error constante.
ode15i Baja Utilice ode15i para problemas totalmente implícito f(t,y,y') = 0 y para
ecuaciones diferenciales algebraicas (DAEs) de índice 1.
Este entorno forma parte integrada de MATLAB por tanto, se accede a él desde el
propio código, como se muestra en la siguiente imagen
Una vez abierto el GUI es recomendable elegir la plantilla en blanco, que es la opción
predeterminada. De esta manera se podrá diseñar al gusto la interfaz. El aspecto que
muestra una interfaz en blanco es el siguiente:
Como puede apreciarse, la parte izquierda corresponde a los módulos y objetos que
pueden añadirse al diseño y la parte derecha corresponde al espacio donde distribuir
los objetos añadidos.
En el código de GUI se genera un apartado por cada objeto llamado Callback donde
se pueden escribir las instrucciones que ejecuta ese objeto al ser activado en la
interfaz. Se puede apreciar en la siguiente imagen:
Este es un ejemplo real del código de este proyecto. El Callback del objeto Temp
guarda el valor introducido en una variable e indica con un cuadro de texto si en valor
es incorrecto o erróneo.
PROPIEDADES
Cada uno de los elementos de GUI tiene un conjunto de propiedades a las que se
puede acceder a través del comando “Property Inspector” que abre una ventana de
dialogo con todas las propiedades de cada elemento.
En este cuadro de dialogo pueden cambiarse propiedades tales como el color del
elemento, el texto o la etiqueta. Es importante no confundir la etiqueta del objeto, con
la que aparecerá el fragmento de código correspondiente a este objeto y donde se
puede programar acciones o condiciones, con la cadena de texto que solo es útil a
efecto visual en la interfaz. También es posible cambiar la fuente, el tamaño y el color
de esta cadena de caracteres en el apartado de propiedades. A continuación se
muestra el cuadro de dialogo del “Property Inspector”
Sin embargo el apartado “string” corresponde al texto que aparecerá en este objeto, un
botón, en la interfaz gráfica.
Por cada interfaz gráfica que se crea se generan dos archivos distintos. Un archivo
clásico de MATLAB .m donde se guarda el código y un archivo .fig que contiene el
diseño de la interfaz. Desde MATLAB puede abrirse el archivo .m que al ser ejecutado
efectúa una llamada al archivo .fig que se abre y muestra la interfaz.
CAPÍTULO 3
METODOLOGÍA _________________________________________________39
3.2 EXPERIMENTO__________________________________________46
3.3 PROGRAMACIÓN________________________________________49
( )
( )
( ) ( )
Para utilizar esta ecuación es necesario conocer la constante de velocidad (k) a una
temperatura de referencia (T0) y la energía de activación de la reacción de
saponificación. Mediante la búsqueda bibliográfica se utilizan los siguientes valores:
( )
( )
Una vez obtenida la ley de velocidad de la reacción que tiene lugar dentro del reactor
se procede a definir este.
Incógnita Descripción
Concentración de acetato de etilo en un
Ca (t)
tiempo t
Una vez bien definido el problema se continúa desarrollando las ecuaciones que es
necesario resolver para obtener los valores de las incógnitas en cada instante de
tiempo.
Puesto que se desea conocer la concentración de todas y cada una de las especies
presentes en el experimento, este balance aparecerá una vez por cada especie
diferente que haya:
Siguiendo este razonamiento se sustituyen los flujos molares en los balances molares
del sistema a resolver:
( )
( )
( )
( )
En este punto se han tomado más de una simplificación. Se considera que el flujo de
salida es igual a la suma de los flujos de entrada por tratarse de una operación en
continuo y por considerar el reactor lleno al comienzo del experimento.
( )
( ) ( )
( )
( ) ( )
( )
( ) ( )
( )
( ) ( )
Llegado este punto ya se han desarrollado todos los balances molares hasta dejarlos
en función de las variables de entrada y, despejando la derivada, se ha llegado a las
expresiones con las que se programa MATLAB para obtener el resultado.
( )
( ) ( )
( )
( ) ( )
( )
( ) ( )
( )
( ) ( )
Los balances molares del apartado anterior son perfectamente válidos para este caso
y serán los que se introduzcan en MATLAB pero este sistema por si solo es irresoluble
ya que tiene 5 incógnitas (4 concentraciones y la temperatura) y tan solo 4 ecuaciones.
Se precisa de alguna otra ecuación que equilibre el sistema y permita resolverlo. Esta
ecuación es el balance de energía que se presentó anteriormente.
∑ ( ) [ ( ) ( )]( )
∑
( )
∑ ( ) [ ( ) ( )]( ( ) )
∑
3.2 EXPERIMENTO
Este proyecto está orientado, inicialmente, a servir como apoyo para las asignaturas
en las que se imparten contenidos relacionados con los reactores químicos.
[ ( )]
[ ( )]
En cuanto a las ecuaciones que rigen el modelo de reactor intermitente solo presentan
la diferencia de la desaparición de las componentes de caudal de entrada y caudal de
salida para los reactivos. Es decir, los balances molares son los mismos que en caso
del CSTR eliminando todos los caudales de entrada y salida:
( )
( ( ) )
( )
( ( ) )
( )
( ( ) )
( )
( ( ) )
Una vez recogidos todos los datos se elaboran las correspondientes graficas de
conductividad frente a tiempo y, a través de las correlaciones, las gráficas de
concentración de reactivo frente a tiempo.
3.3 PROGRAMACIÓN
En primer lugar, a la hora de generar una interfaz gráfica, es necesario abrir una
plantilla en blanco en la herramienta GUI de MATLAB. En el editor de la plantilla en
blanco aparecen todas las opciones que tiene GUI para añadir objetos.
Objetos de entrada: Compuesto por cuadros de texto del tipo “Edit text” que
permiten la entrada de un valor numérico o del tipo “slider” que consiste en una
barra a la que se le adjudican valores límites.
Objetos de mando: Este grupo está compuesto por botones que realizan una
acción al ser pulsados. Esta acción está determinada en el apartado Callback
del objeto en cuestión dentro del código.
Existen 7 cuadros de este tipo en la interfaz y sirven para introducir distintos datos de
partida para la resolución del problema como concentraciones iniciales de los
reactivos, temperatura…
-Temperatura:
De este punto en adelante se mostrará solo el fragmento de Callback por ser todas las
inicializaciones similares y automáticas.
-Volumen:
En este cuadro de texto se introduce el valor del volumen en litros del reactor CSTR
que se pretende simular. El código de este objeto es:
Este fragmento de código es exactamente igual que el anterior, con la salvedad de que
el valor de concentración inicial de hidróxido de sodio se almacena en la variable CB0
En este cuadro se puede introducir de manera manual y directa el valor del caudal
volumétrico de acetato de etilo en litros por minuto. Este caudal puede ser introducido
al programa por medio de otro objeto que se explica mas adelante.
Al igual que en el caso anterior este cuadro puede ser utilizado para introducir
manualmente y de manera directa el valor del caudal volumétrico de esta corriente.
Este valor también puede ser introducido de una forma alternativa:
Esta casilla solo es útil para el caso no isotermo, ya que está relacionada con una
variable que solo aparece en el balance de energía. En ella se introduce el valor del
calor intercambiado en julios por segundo del reactor con el exterior.
Para esta variable y con intención puramente didáctica se elige una forma distinta de
almacenar el valor. En este caso el Callback se deja vacío y se utiliza la función get
mas adelante en el código. Esta función asigna directamente el valor introducido en la
casilla a la variable Q
BARRA “SLIDER”
Este objeto consiste una barra con un marcador que indica la posición y, acorde a esta
posición, se asigna un valor.
Para acotar los valores máximos y mínimos que puede tomar la variable por medio del
slider se debe abrir la herramienta “Property Inspector” y elegir los límites que puede
tomar esta variable.
En este caso se elige un valor máximo de 0,7 l/min por tratarse de un software
orientado a una práctica de laboratorio con reactores a escala de laboratorio, por ello
se considera este valor como adecuado para un caudal volumétrico.
Este objeto toma el valor 1 o 0 dependiendo si esta pulsado o no. En primer lugar se
inicializa a 0 y se asigna el valor a la variable Y para ser utilizado posteriormente.
-“Reset”:
Este botón reinicializa todas las variables asociadas al cálculo y pone a 0 todos los
cuadros de texto editables para que sea intuitivo el reseteo y el usuario no albergue
duda alguna del valor de las variables.
La instrucción “set” asigna el nuevo valor de las variables después del reseteo a cada
uno de los objetos donde se muestran.
-“Calculate”:
En este objeto reside todo el peso del programa. Al pulsarlo se recogen todos los
valores introducidos en cada variable, incluido el modo de cálculo, y se realiza la
llamada a las funciones que resuelven el sistema de ecuaciones diferenciales.
Una vez están calculadas estas constantes se procede a utilizar la función “ode45”
para resolver el sistema de ecuaciones diferenciales. Esta función esta compuesta por
tres partes; en primer lugar se indica la función que recoge las ecuaciones a resolver
(@rigid):
La función “rigid” recoge las 4 ecuaciones del modelo y la ecuación que calcula la
conductividad eléctrica de la disolución que se encuentra en el interior del reactor.
En segundo lugar se introducen los límites de tiempo, en este caso se calcula desde el
tiempo cero hasta el minuto 80, en el que el experimento se interrumpe y actúa como
un reactor intermitente. Y por último se introducen las condiciones iniciales de
concentración dentro del reactor, que en este caso son todas igual a 0 por considerar
que el reactor se encuentra lleno de agua.
Una vez calculado programa se procede a generar las gráficas en las que se expresan
los resultados:
Con esta instrucción se genera una figura y se dibuja en ella la gráfica correspondiente
a las concentraciones. A continuación y sobre la misma gráfica se plasmarán los
resultados de los siguientes 80 minutos en los que el reactor actúa como intermitente.
Los pasos a seguir son los mismos que en el caso isotermo, la diferencia radica
esencialmente en la instrucción con la que se asigna a la variable “Q” el valor del calor
intercambiado que se introduce en la interfaz y en el modelo de ecuaciones que se
introduce en la función “ode45” que en este caso será el que se encuentra en la
función “ noISO”.
Este modelo contiene las cuatro ecuaciones de balance molar, una por cada especie,
y el balance de energía necesario. En este problema al ser la temperatura una variable
más del sistema se debe calcular la constante de velocidad para cada punto al
depender fuertemente de la temperatura. Ese es el motivo de que aparezca como
ecuación extra dentro del modelo.
Las gráficas que se generan en este caso son de concentración frente a tiempo, al
igual que en el caso isotermo, y de temperatura frente a tiempo, sustituyendo a la
gráfica de conductividad frente a tiempo.
DESCRIPCIÓN DE LA INTERFAZ
A la derecha se encuentra el botón de “Reset” que reinicializa todos los valores del
programa, el botón que permite seleccionar el modo isotermo o no isotermo y el
cuadro de entrada de calor intercambiado.
CAPÍTULO 4
RESULTADOS___________________________________________________63
Para esta validación se utilizan los datos obtenidos por los alumnos de la asignatura
“Experimentación en Ingeniería Química”. Se recrearán las condiciones del
experimento de la práctica de esta asignatura con el simulador para que la
comparación será lo más exacta posible.
Sin embargo hay factores que influyen en los datos recogidos por los alumnos en el
experimento y que pueden suponer una desviación mayor o menor en el resultado.
En primer lugar el simulador utiliza el modelo ideal de reactor CSTR, esto conlleva
suposiciones y simplificaciones que no se dan en la realidad. Por ejemplo, el simulador
asume la condición de mezcla perfecta, es decir, todas las variables son iguales en
cada punto del reactor para un determinado momento de tiempo. En el caso real la
agitación puede no ser suficiente para alcanzar este régimen y generar zonas en las
que la velocidad de reacción sea menor que la que expresa el modelo ideal.
Otra posible causa de la desviación de los datos experimentales del modelo ideal
puede ser la recogida de los mismos. Ya sea por inexactitudes del equipo de medida,
el analizador de conductividad, provocadas por imperfecciones de fabricación o por
problemas de calibración. Además de los problemas derivados del equipo analizador
existe otra fuente de error en la recogida de datos por parte de los alumnos. El error
humano, aunque poco frecuente, puede darse en esta fase como aproximaciones
inadecuadas o pérdida de algunos datos.
En cuanto a las condiciones en las que se realiza el experimento se puede afirmar que
la temperatura no varía por dos razones; se considera que las concentraciones
iniciales de los reactivos y la entalpía de reacción son tan bajos que el calor generado
(respecto de la cantidad total de materia presente en el reactor) es despreciable y las
condiciones de laboratorio permanecen constantes. Aun tomando estas
simplificaciones el experimento real no se puede definir como idealmente isotermo ya
que, aunque muy pequeños, se generan focos de calor dentro del reactor que
perturban las condiciones del experimento.
GRUPO 1:
A la izquierda la gráfica elaborada por los alumnos del grupo 1 ilustra la evolución del
hidróxido de sodio y del acetato de sodio. A la derecha la evolución de las
concentraciones de todos las especies calculadas con el simulador.
Para la concentración de acetato de sodio se aprecia una ligera diferencia que puede
deberse al cálculo realizado por los alumnos ya que en esa gráfica el producto no
empieza a aparecer hasta aproximadamente los 7 minutos y medio de experimento.
Según el modelo ideal de CSTR el producto comienza a formarse con t=0. Aun con
esa discrepancia, si se desplaza la línea en la gráfica de los alumnos hasta t=0 la
tendencia es de nuevo muy parecida a la que genera el simulador
GRUPO 2:
En este caso se aprecia como la conductividad medida a los 2000 segundos (33
minutos) corresponde aproximadamente a 7 miliSiemens. En el caso simulado la
conductividad a este tiempo es ligeramente menor lo cual puede deberse a las
razones anteriormente expuestas. Sin embargo se aprecia una tendencia y una
pendiente tangente muy parecida, en el caso que el corte de alimentación hubiese sido
más adelante podría haberse alcanzado el mismo punto de estabilización.
GRUPO 3:
Al igual que para grupos anteriores la conductividad a los 2000 segundos (33 minutos)
alcanza el valor de 7,0 miliSiemens aproximadamente, algo mayor que la teórica
calculada pero una vez más aceptable.
En este caso las concentraciones para el producto en los 7 primeros minutos están
mal calculadas. La concentración de un producto dentro de un reactor no puede ser
negativa en ningún momento. Sin embargo la evolución de la concentración del
reactivo si cuadra con la tendencia que presentan todas las gráficas de los demás
grupos así como la tendencia de la gráfica del simulador.
GRUPO 4:
Para el grupo 4 se compara la gráfica de concentraciones por ser la única de la que dispone:
GRUPO 5:
GRUPO 6:
GRUPO 7:
En esta grafica aparecen las curvas de concentración de ambos reactivos así como la
del producto. Al igual que en casos anteriores la tendencia de la curva es muy similar
entre la gráfica experimental y la generada por el simulador. En este caso los valores
de concentración del régimen estacionario son ligeramente mayores que los anteriores
y mayores que los teóricos. Esta desviación puede deberse a algún error en la toma
de datos o en el cálculo de las concentraciones a partir de la conductividad.
Según se aprecia en la comparativa con cada uno de los grupos, los resultados
generados por el simulador se ajustan a los obtenidos experimentalmente. Salvando
las diferencias debidas a los motivos expuestos de desidealidades del experimento en
el laboratorio se puede afirmar que los resultados generados por este software son
acertados.
El objetivo principal por el que se elabora este simulador es para servir de apoyo o
ayuda a la docencia de distintas asignaturas impartidas por el departamento de
Tecnología Química de la Escuela Técnica Superior de Ingenieros Industriales. Por
ello el primer uso al que se puede aplicar este simulador es a preparar previamente la
práctica de la asignatura de “Experimentación en Ingeniería Química” correspondiente
a la reacción de saponificación de acetato de etilo en un reactor tipo CSTR.
Con este simulador, los alumnos pueden practicar antes de acudir al laboratorio a
realizar la práctica. Con los resultados que obtengan al utilizar el simulador pueden
hacerse una idea de que se van a encontrar una vez comiencen a realizar el
experimento, con lo que la toma de datos puede resultar mucho más efectiva. También
puede resultar de ayuda a la hora de elaborar informes o preparar gráficas en las que
representar los datos obtenidos.
Otra manera de utilizar este simulador es para suplir las carencias que se presentan
en cuanto a tiempo y recursos materiales del experimento. Se pueden realizar tantos
experimentos como se quiera y en las condiciones que se quieran (siempre que se
respeten las condiciones de contorno fijadas en el código).
Variando las condiciones del experimento, como por ejemplo la temperatura, las
concentraciones iniciales de los reactivos o los caudales de las corrientes de entrada,
el alumno puede ver como varían los resultados e interpretar a que se deben esas
variaciones.
Siguiendo esta línea, se puede utilizar el software para responder a las preguntas que
se encuentran en los cuestionarios previos a la práctica anteriormente mencionada. De
esta manera se ilustra una funcionalidad del simulador aplicada a las tareas a realizar
por los alumnos.
Pregunta 1:
Pregunta 2:
Pregunta 3:
Pregunta 4:
Un aumento del volumen del reactor dejando los caudales de las corrientes de entrada
iguales supone un aumento del tiempo de residencia, al igual que en el caso anterior.
Pregunta 5:
En este caso, la conductividad del estado estacionario tanto con alimentación como sin
ella es mucho mayor que en experimento original. Esto se debe a que, en este
apartado, se trabaja con exceso de NaOH, que al ser la especie que más contribuye a
la conductividad eleva el valor total de la conductividad dentro del reactor.
Pregunta 6:
Pregunta 7:
En esta pregunta se trata el caso en el que el volumen del reactor es menor que el
original. Como se aprecia en las gráficas, la conductividad es mayor en el segundo
caso ya que al ser el reactor más pequeño también disminuye el tiempo de residencia.
En este apartado se pretende analizar el impacto que este proyecto supone a varios
niveles. Los impactos a analizar son: social, económico y medioambiental.
IMPACTO SOCIAL:
Desde el primer momento, el objetivo principal de este proyecto era elaborar una
herramienta virtual que sirviese a los alumnos y los profesores de la Escuela Técnica
Superior de Ingenieros Industriales para dar soporte y apoyo a las diferentes
asignaturas del plan de estudios de Grado en Ingeniería Química que tuviesen relación
de una u otra manera con los reactores químicos. En particular este simulador es
especialmente aplicable a las asignaturas “Experimentación en ingeniería química” y a
“Reactores Químicos”
Con esta herramienta, los alumnos pueden tanto preparar las sesiones previamente
adquiriendo conocimientos del funcionamiento de este tipo de reactor aplicado a esta
reacción o para prever que tipo de resultados cabe esperar que se obtengan. De esta
manera pueden aprovechar mucho mejor las sesiones, ya sean prácticas o teóricas,
en las que se imparte este tipo de formación.
Por otra parte esta herramienta también puede ser utilizada a posteriori. Tanto para
verificar si los resultados obtenidos son coherentes como para analizar las variaciones
de estos ante perturbaciones o modificaciones de las condiciones iniciales. Permite
también detectar errores en el cálculo puesto que representa los resultados de
conductividad, que son experimentales y se toman directamente en el experimento,
como los resultados de concentración de cada especie dentro del reactor, que tienen
que ser calculados a partir de los de conductividad.
En definitiva, este proyecto tiene un impacto a nivel social positivo para los alumnos,
que cuentan con una herramienta más para adquirir los conocimientos que como
ingenieros necesitan. En cuanto a los profesores, también pueden utilizar esta
herramienta para impartir los conocimientos que han de adquirir sus alumnos de una
manera más sencilla y visual que solo a través de ecuaciones y números.
IMPACTO MEDIOAMBIENTAL:
La principal ventaja que este proyecto ofrece a nivel medioambiental está relacionada
con los residuos. Al ser un simulador virtual permite realizar tantos experimentos como
se necesite sin generar ni un solo residuo. Los residuos que se evita generar con este
software son:
- Acetato de sodio
- Etanol
- Acetato de etilo
Por otra parte hay que tener en cuenta desde el aspecto medioambiental la energía
que se ahorra por cada experimento simulado. En el caso de los experimentos que no
necesiten intercambio de calor extra la cantidad de energía ahorrada es la
correspondiente a la agitación. En el caso de un experimento que necesite intercambio
de calor esta energía también se suma a la cuenta de energía que se ahorra.
IMPACTO ECONÓMICO:
Este impacto está íntimamente relacionado con el medioambiental puesto que las
partidas a las que afecta son prácticamente las mismas. Con este simulador se
ahorran costes directos como por ejemplo los reactivos a utilizar en cada uno de los
experimentos. Además la energía que se necesita para la agitación en el caso que no
haya intercambio de calor y la energía de la agitación y del intercambio de calor en
caso de que existiese.
Por otra parte habría que tener en cuenta el coste que supondría el número de
reactores a escala de laboratorio que serían necesarios para igualar las posibilidades
que este software ofrece. Dado que este simulador puede ser utilizado por todos los
alumnos que lo deseen y tantas veces como estimen oportuno, el coste equivalente de
reactores seria inasumible.
CAPÍTULO 5
CONCLUSIONES_________________________________________________79
5.1 CONCLUSIONES_________________________________________80
5.1 CONCLUSIONES
En primer lugar es adecuado recordar los objetivos que se fijaron al comenzar este
proyecto sobre aquello que se quería conseguir. Estos objetivos son:
Se puede concluir que estos objetivos iniciales han sido satisfactoriamente cumplidos
en este proyecto. La búsqueda bibliográfica de datos necesarios para la programación
de este simulador aporta datos fiables sobre una reacción que es muy trabajada a
nivel de laboratorio. Esta reacción es ideal para una sesión práctica de laboratorio en
la que se pretenda determinar parámetros cinéticos. Tiene un mecanismo muy
estudiado y definido, además los reactivos que se utilizan no son peligrosos, tóxicos o
corrosivos. Por estas razones muchos profesores la eligen para impartir sesiones de
laboratorio. Los datos seleccionados para la elaboración de este proyecto proceden de
ensayos y artículos publicados en revistas científicas. Al disponer de variedad de
artículos para elegir se puede verificar entre todos ellos que los datos concuerdan y no
se han obtenido cometiendo errores, lo que aporta mayor solidez al cálculo posterior.
La programación del código MATLAB es la parte del proyecto que más tiempo ha
necesitado. Tras la investigación necesaria para conocer el funcionamiento y la
sintaxis básica de este lenguaje de programación se debe aprender los fundamentos
del funcionamiento de la herramienta GUI. Una vez que se sabe programar de manera
adecuada y se conoce el funcionamiento de todos los objetos de GUI se deben escribir
las instrucciones para que la resolución del sistema de ecuaciones diferenciales
presentado como modelo se resuelva de manera adecuada. Por último se ha de
asegurar que no existen fallos en el código que generen resultados falsos o errores
que no permitan visualizarlos.
- En cuanto a los diferentes modelos de reactor químico. Al igual que para las
diferentes leyes cinéticas de las reacciones, este simulador puede aplicarse a
diferentes tipos de reactores químicos.
Desarrollando estas líneas futuras, incorporando una librería de datos sobre distintas
reacciones químicas y escribiendo el código correspondiente a las funciones que
representen los distintos modelos de reactor químico se consigue un simulador muy
completo para el apoyo didáctico a las asignaturas de ingeniería relacionadas con los
reactores químicos.
Total 1229.00 €
En esta tabla se indican los precios de los recursos materiales utilizados. El precio de
las licencias de MATLAB y de Microsoft Office corresponde a las licencias
académicas, es decir que solo pueden ser utilizadas en el ámbito universitario para la
divulgación entre profesores y alumnos. En el caso de que se quisiese aplicar este
software a empresas o particulares los precios indicados en este presupuesto
variarían.
Cabe destacar de igual manera que la licencia de MATLAB que se incluye en este
presupuesto corresponde a la versión básica. La herramienta GUI se encuentra dentro
de esta versión, pero en el caso de que se necesitasen otras herramientas o toolboxes
adicionales habría que pagar licencias adicionales.
Total 8950.00 €
Las horas han sido invertidas por el tutor en diversas tareas como revisar las
diferentes versiones, desde la más primitiva hasta la más actual, del código MATLAB
del simulador o revisar la memoria una vez ha sido terminada.
Total 10179.00 €
PLANIFICACIÓN TEMPORAL:
3) Programación del código: Desarrollo del código MATLAB que genera la interfaz
gráfica del simulador.
5) Elaboración de la memoria.
BIBLIOGRAFÍA
[1] Adolfo Eduardo Obaya, UNAM (2012) “Cálculo de parámetros en
cinética química”
[6] Luyben, W.L. (1990). “Process modeling, simulation, and control for
chemicalengineers”. McGraw-Hill. New York.
ANEXOS
CÓDIGO COMPLETO:
Función Main:
function varargout = GUI_Completo(varargin)
% GUI_COMPLETO MATLAB code for GUI_Completo.fig
% GUI_COMPLETO, by itself, creates a new GUI_COMPLETO or raises
the existing
% singleton*.
%
% H = GUI_COMPLETO returns the handle to a new GUI_COMPLETO or
the handle to
% the existing singleton*.
%
% GUI_COMPLETO('CALLBACK',hObject,eventData,handles,...) calls
the local
% function named CALLBACK in GUI_COMPLETO.M with the given input
arguments.
%
% GUI_COMPLETO('Property','Value',...) creates a new GUI_COMPLETO
or raises the
% existing singleton*. Starting from the left, property value
pairs are
% applied to the GUI before GUI_Completo_OpeningFcn gets called.
An
% unrecognized property name or invalid value makes property
application
% stop. All inputs are passed to GUI_Completo_OpeningFcn via
varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows
only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Outputs from this function are returned to the command line.
function varargout = GUI_Completo_OutputFcn(hObject, eventdata,
handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global K Temp k1 k2 Y Ea R A Q
R=8.314;
Ea = 48367; %J/mol
A=0.1125; %l/mol.s
if (Y==0)
K=A*exp(-(Ea/R)*(-1/293+1/Temp))*60;
k1=0.195*(1+0.0184*(Temp-294));
k2=0.07*(1+0.0284*(Temp-294));
[T,C]=ode45(@rigid,[0,80],[0,0,0,0,0]);
figure
plot (T,C(:,1:4));
ylabel('Concentration');
xlabel('Time(min)');
legend('AcEt','NaOH','AcNa','EtOH')
hold on
[T,C]=ode45(@rigid2,[80,160],[a,b,c,d,e]);
plot (T,C(:,1:4));
[T,C]=ode45(@rigid,[0,80],[0,0,0,0,0]);
figure
plot (T,C(:,5))
xlabel('Time(min)');
ylabel('Conductivity (S)');
max1= max(C(:,5));
min1=min(C(:,5));
ylim ([min1-(max1-min1)/3,max1+(max1-min1)/3]);
hold on
a=C(com,1);
b=C(com,2);
c=C(com,3);
d=C(com,4);
e=C(com,5);
[T,C]=ode45(@rigid2,[80,160],[a,b,c,d,e]);
plot (T,C(:,5))
end
if (Y==1)
Q = str2num(get(handles.Q,'string'));
[T,X]=ode45(@noISO,[0,80],[0,0,0,0,Temp]);
figure
plot (T,X(:,1:4));
ylabel('Concentration');
xlabel('Time(min)');
legend('AcEt','NaOH','AcNa','EtOH')
hold on
tam= size( X(:,5));
com=tam(1);
a=X(com,1);
b=X(com,2);
c=X(com,3);
d=X(com,4);
e=X(com,5);
[T2,X2]=ode45(@noISO2,[80,160],[a,b,c,d,e]);
plot(T2,X2(:,1:4));
figure
plot(T,X(:,5));
xlabel('Time(min)');
ylabel('Temperature (K)');
hold on
plot(T2,X2(:,5));
end
% --- Executes on button press in Reset.
function Reset_Callback(hObject, eventdata, handles)
% hObject handle to Reset (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
set(handles.Temp,'string',Temp);
set(handles.V,'string',V);
set(handles.CA0,'string',CA0);
set(handles.CB0,'string',CB0);
set(handles.Q,'string',Q);
set(handles.va,'string',va);
set(handles.vb,'string',vb);
Función Rigid:
function dC=rigid(t,C)
global V va vb CA0 CB0 K k1 k2
dC=zeros(5,1);
dC(1)= (va*CA0-K*C(1)*C(2)*V-(va+vb)*C(1))/V;
dC(2)= (vb*CB0-K*C(1)*C(2)*V-(va+vb)*C(2))/V;
dC(3)= (K*C(1)*C(2)*V-(va+vb)*C(3))/V;
dC(4)= (K*C(1)*C(2)*V-(va+vb)*C(4))/V;
dC(5)=k1*dC(2)+k2*dC(3);
end
Funcion Rigid2
function dC=rigid2(t,C)
global V K k1 k2
dC=zeros(5,1);
dC(1)= (-K*C(1)*C(2)*V)/V;
dC(2)= (-K*C(1)*C(2)*V)/V;
dC(3)= (K*C(1)*C(2)*V)/V;
dC(4)= (K*C(1)*C(2)*V)/V;
dC(5)=k1*dC(1)+k2*dC(3);
end
Función noISO
function dX=noISO(t,X)
%X(1-4)= concentraciones especies
%X(5) = conductividad total
%X(6) = Temperarura
K=A*exp(-(Ea/R)*(1/298-1/X(5)))*60;
dX = zeros(5,1);
dX(1)= (va*CA0-K*X(1)*X(2)*V-(va+vb)*X(1))/V;
dX(2)= (vb*CB0-K*X(1)*X(2)*V-(va+vb)*X(2))/V;
dX(3)= (K*X(1)*X(2)*V-(va+vb)*X(3))/V;
dX(4)= (K*X(1)*X(2)*V-(va+vb)*X(4))/V;
dX(5)= (Q*60 - (va*CA0*170.59+vb*CB0*232.22)*(X(5)-
298)+(56800+15*(X(5)-298))*K*X(1)*X(2))/(55*V*165);
Función noISO2
function dX2=noISO2(t,X2)
%X(1-4)= concentraciones especies
%X(5) = conductividad total
%X(6) = Temperarura
global CA0 Ea R A Q va V
K=A*exp(-(Ea/R)*(1/298-1/X2(5)))*60;
dX2=zeros(5,1);
dX2(1)= -K*X2(1)*X2(2);
dX2(2)= -K*X2(1)*X2(2);
dX2(3)= K*X2(1)*X2(2);
dX2(4)= K*X2(1)*X2(2);
dX2(5)=(Q*60 + (56800+15*(X2(5)-298))*K*X2(1)*X2(2))/(55*V*165);
GLOSARIO:
NOTA: Todos los símbolos que tengan como subíndice i hacen referencia a cualquiera
de las especies presentes en el reactor (Acetato de etilo, Hidróxido de sodio, Acetato
de sodio o etanol):
- Ci : Concentración de la especie i
- Ea : Energía de activación
- T0 : Temperatura inicial
DIAGRAMA DE GANTT: