Vous êtes sur la page 1sur 139

UNIVERSIDAD MAYOR DE SAN SIMÓN

FACULTAD DE CIENCIAS Y TECNOLOGÍA


CARRERA DE INGENIERÍA QUÍMICA

APLICACIÓN Y USO DE GNU OCTAVE EN LA


MATERIA DE DISEÑO DE REACTORES II

TRABAJO DIRIGIDO, POR ADSCRIPCIÓN, PRESENTADO PARA OPTAR AL


DIPLOMA ACADEMICO DE LINCENCIATURA EN INGENIERÍA QUÍMICA

POSTULANTE: MARIO JOSE MENA POZO TRIGO

ASESOR: M.SC. ING. SERGIO CARBALLO CADIMA

COCHABAMBA-BOLIVIA
DICIEMBRE 2005
Contenido
Contenido ........................................................................................................ i
Nomenclatura y unidades ............................................................................ vii

Capítulo 1. Objetivos y alcance del trabajo .................................................. 1


1.1. Introducción .......................................................................................... 1
1.2. Antecedentes y justificación ................................................................... 2
1.3. Objetivos................................................................................................ 3
1.3.1 Objetivo General................................................................................... 3
1.3.2. Objetivos específicos ........................................................................... 3
1.4. Metodología del trabajo .......................................................................... 3

Capítulo 2. Balances de masa y energía en sistemas homogéneos con


reacciones químicas....................................................................................... 5
2.1. Balance de masa .................................................................................... 5
2.2. Balance de energía ................................................................................. 6
2.3. Estequiometría de una reacción química................................................ 7
2.4. Velocidad de reacción............................................................................. 8
2.5. Ecuaciones reversibles ......................................................................... 10

Capítulo 3. Reactor Tanque Agitado Discontinuo ...................................... 11


3.1. Operación isotérmica ........................................................................... 12
3.2. Operación Adiabática ........................................................................... 13
3.3. Operación Poli-trópica.......................................................................... 14
3.4. Ejemplos usando GNU Octave.............................................................. 14
Ejemplo 3.1. Tiempo de reacción para operación adiabática ....................... 14
Ejemplo 3.2. Perfiles de conversión y temperatura para operación adiabática
.................................................................................................................... 17
Ejemplo 3.3. Perfiles de conversión y temperatura para operación poli-trópica
.................................................................................................................... 21
Ejemplo 3.4. Análisis de sensibilidad.......................................................... 24

Capítulo 4. Reactor Tanque Agitado Continuo........................................... 31


4.1. Operación Isotérmica ........................................................................... 32
4.2. Operación Adiabática ........................................................................... 33

i
4.3. Operación Poli-trópica.......................................................................... 33
4.4. Ejemplos usando GNU Octave.............................................................. 34
Ejemplo 4.1. Operación adiabática para reacción irreversible de primer-orden
.................................................................................................................... 34
Ejemplo 4.2. Operación adiabática para reacción irreversible de segundo-
orden........................................................................................................... 37
Ejemplo 4.3. Operación poli-trópica para reacción reversible....................... 40
Ejemplo 4.4. Operación poli-trópica para reacción irreversible de primer-orden
.................................................................................................................... 42
Ejemplo 4.5. Reacciones en serie................................................................. 44

Capítulo 5. Reactor Tubular Continuo........................................................ 48


5.1. Operación Isotérmica ........................................................................... 48
5.2. Operación Adiabática ........................................................................... 49
5.3. Operación Poli-trópica.......................................................................... 49
5.4. Ejemplos usando GNU Octave.............................................................. 50
Ejemplo 5.1. Tiempo espacial requerido para la conversión de una reacción
de primer-orden........................................................................................... 50
Ejemplo 5.2. Perfiles de conversión y temperatura para operación adiabática
de una reacción reversible........................................................................... 53
Ejemplo 5.3. Perfiles de conversión y temperatura para operación poli-trópica
de una reacción de primer orden ................................................................. 57
Ejemplo 5.4. Operación poli-trópica para reacciones en paralelo ................. 60

Capítulo 6. Distribución de Tiempos de Residencia .................................. 65


6.1. Función de distribución de tiempos de residencia ................................ 66
6.2. Medición de la DTR .............................................................................. 67
6.3. Momentos de la DTR ............................................................................ 68
6.4. Ejemplos usando GNU Octave.............................................................. 68
Ejemplo 6.1. Construcción de las curvas CT(t), E(t), F(t) y cálculos de tiempo
de residencia medio y varianza................................................................... 68

Capítulo 7. Reactor de Lecho Empacado .................................................... 72


7.1. Caída de presión en lechos empacados ................................................ 74
7.2. Ecuaciones de modelado para un reactor lecho empacado ................... 75

ii
7.3. Ley de velocidad para reacciones heterogéneas .................................... 76
7.4. Ejemplos usando GNU Octave.............................................................. 77
Ejemplo 7.1. Reacción en fase gaseosa en un reactor de lecho empacado con
caída de presión.......................................................................................... 77
Ejemplo 7.2. Diseño de un reactor de lecho empacado para una reacción
catalítica en fase gaseosa ........................................................................... 83
Ejemplo 7.3. Reacción exotérmica reversible en fase gaseosa en un reactor
de lecho empacado...................................................................................... 89

Capítulo 8. Conclusiones y.......................................................................... 94


recomendaciones ......................................................................................... 94
8.1. Conclusiones ....................................................................................... 94
8.2 Recomendaciones.................................................................................. 95

Referencias bibliográficas............................................................................ 97

Anexo 1. Instalación de GNU Octave........................................................... 99


A1.1. Cómo Instalar GNU Octave en tu Computador................................... 99
A1.2. Como guardar y correr un archivo de GNU Octave ........................... 102

Anexo 2. Manual de Uso de GNU Octave ................................................... 103


A2.1. Introducción a Octave ...................................................................... 103
A2.1.1. ¿Qué es Octave? ........................................................................... 103
A2.1.2. Usar Octave .................................................................................. 104
A2.2. Sintaxis de Octave ........................................................................... 107
A2.2.1. Objetos numéricos......................................................................... 107
A2.2.2. Variables....................................................................................... 110
A2.2.3. Operadores ................................................................................... 111
A2.2.4. Expresiones de control de flujo...................................................... 115
A2.3. Funciones de entrada/salida ........................................................... 119
A2.3.1. Funciones básicas de escritura en disco ....................................... 119
A2.3.2. Gráficas ........................................................................................ 120
A2.4. Ecuaciones diferenciales ordinarias ................................................. 120
A2.5. Referencias ...................................................................................... 121

iii
Anexo 3. Plan Global de la Materia ........................................................... 123
1. Identificación ........................................................................................... 123
2. Justificación general ................................................................................ 124
3. Propósitos generales ................................................................................ 125
4. Objetivos generales .................................................................................. 125
5. Estructuración en unidades didácticas y su descripción .......................... 125
5.1. Balances de masa y energía en sistemas homogéneos con reacciones
Químicas ................................................................................................... 125
5.1.1. Objetivos de la unidad .................................................................... 125
5.1.2. Contenido ........................................................................................ 125
5.1.3. Metodología de enseñanza .............................................................. 126
5.2. Estequiometría de las reacciones químicas .......................................... 126
5.2.1. Objetivos de la unidad .................................................................... 126
5.2.2. Contenido ........................................................................................ 126
5.2.3. Metodología de enseñanza .............................................................. 126
5.3. Modelado y análisis de reactores ideales homogéneos......................... 126
5.3.1. Objetivos de la unidad .................................................................... 127
5.3.2. Contenido ........................................................................................ 127
5.3.3. Metodología de enseñanza .............................................................. 127
5.4. Comportamiento real de los reactores en sistemas homogéneos ........... 128
5.4.1. Objetivos de la unidad .................................................................... 128
5.4.2. Contenido ........................................................................................ 128
5.4.3. Metodología de enseñanza .............................................................. 128
5.5. Reacciones en sistemas heterogéneos ................................................. 128
5.5.1. Objetivos de la unidad .................................................................... 128
5.5.2. Contenido ........................................................................................ 129
5.5.3. Metodología de enseñanza .............................................................. 129
6. Evaluación............................................................................................... 129
7. Cronograma ............................................................................................. 129
8. Disposiciones generales ........................................................................... 129
9. Bibliografía .............................................................................................. 130

iv
Índice de figuras

Figura 1: Conversión en función del tiempo (ej. 2).......................................... 20


Figura 2: Temperatura en función del tiempo (ej. 2) ....................................... 20
Figura 3: Temperatura en función del tiempo (ej. 3) ....................................... 23
Figura 4: Conversión en función del tiempo (ej.3)........................................... 23
Figura 5: Temperatura en función del tiempo para valores diferentes de D (ej.
4) ............................................................................................................. 27
Figura 6: Conversión en función del tiempo para valores diferentes de D (ej. 4)
................................................................................................................ 27
Figura 7: Temperatura en función del tiempo para valores diferentes de T0 (ej.
4) ............................................................................................................. 29
Figura 8: Conversión en función del tiempo para valores diferentes de T0 (ej. 4)
................................................................................................................ 30
Figura 9: Conversión en función de la temperatura (ej. 1) .............................. 36
Figura 10: Conversión en función de la temperatura para T0 = 300 K (ej. 2) ... 39
Figura 11: Conversión en función de la temperatura para T0 = 280 K (ej. 2)... 39
Figura 12: Conversión en función de la temperatura (ej. 3) ............................ 42
Figura 13: Conversión en función de la temperatura (ej. 4) ............................ 44
Figura 14: Curvas de remoción y generación de calor .................................... 47
Figura 15: Conversión a lo largo del reactor (ej.2) .......................................... 56
Figura 16: Temperatura a lo largo del reactor (ej.2)........................................ 56
Figura 17: Conversión en función del volumen (ej. 3) ..................................... 59
Figura 18: Temperatura en función del volumen (ej. 3) .................................. 59
Figura 19: Flujos molares en función del volumen del reactor (ej. 4) ............. 63
Figura 20: Temperatura en función del volumen del reactor (ej. 4)................. 63
Figura 21: Distribución de tiempos de residencia........................................... 66
Figura 22: Curva CT(t).................................................................................... 69
Figura 23: Curva E(t). .................................................................................... 70
Figura 24: Curva F(t). .................................................................................... 70
Figura 25: Conversión en función de la masa de catalizador para la reacción
irreversible A → B (ej. 1).......................................................................... 80

v
Figura 26: Caída de presión relativa en función de la masa de catalizador para
la reacción irreversible A → B (ej. 1) ........................................................ 80
Figura 27: Conversión en función de la masa de catalizador para la reacción
irreversible A → 3B (ej. 1) ........................................................................ 81
Figura 28: Caída de presión relativa en función de la masa de catalizador para
la reacción irreversible A → 3B (ej. 1) ...................................................... 81
Figura 29: Conversión en función de la masa de catalizador para la reacción
irreversible A → 1/3B (ej. 1) .................................................................... 82
Figura 30: Caída de presión relativa en función de la masa de catalizador para
la reacción irreversible A → 1/3B (ej. 1) .................................................. 82
Figura 31: Conversión en función de la masa de catalizador sin caída de
presión (ej. 2) ........................................................................................... 86
Figura 32: Conversión en función de la masa de catalizador con caída de
presión (ej. 2) ........................................................................................... 88
Figura 33: Caída de presión relativa en función de la masa de catalizador (ej. 2)
................................................................................................................ 88
Figura 34: Conversión en función de la masa de catalizador (ej. 3) ................ 92
Figura 35: Caída de presión relativa en función de la masa de catalizador (ej. 3)
................................................................................................................ 92
Figura 36: Temperatura en función de la masa de catalizador (ej. 3).............. 93

vi
Nomenclatura y unidades

Símbolo Definición Unidades SI

A Área de transferencia de calor m2


a Área de la superficie de la pared
por unidad de volumen del m2/m3
reactor
C Concentración del compo-
nente activo
CP Capacidad de calor J/(Kg K)
D Diámetro del reactor m
E Energía de activación J/mol
H Entalpía J/mol
∆HR Calor de reacción J/mol
K C Constante de equilibrio Variable
Químico
k Velocidad especifica de Variable
reacción o constante de
velocidad
M Peso molecular medio Kg/Kmol
N moles de de componentes mol
reactivos
P Presión total N/m2
∆P Caída de presión N/m2
Pi Presión parcial N/m2
Q Calor generado por J/mol
la reacción
R Constante del gas J/(mol K))
r Velocidad de reacción mol/(s m3), mol/(s m2)
o mol/(s Kg)
T Temperatura K o °C
t Tiempo h, min. o s

vii
Símbolo Definición Unidades SI

U Coeficiente total o global J/(s m2 K)


De transferencia de calor
V Volumen del reactor m3 o L
Z Longitud del reactor m

Símbolos Griegos

ε Distribución de tiempos adimensional


residencia
µ Viscosidad Kg/(m s )
ρ Densidad Kg/m3
τ Tiempo de residencia s

viii
Capítulo 1. Objetivos y alcance del
trabajo

1.1. Introducción

La materia de Diseño de Reactores es parte del currículo tradicional de la ca-


rrera de Ingeniería Química; es más, es ésta la que diferencia a un ingeniero
químico de las diferentes ingenierías. El segundo curso de ésta materia abarca
el análisis, comportamiento y modelado de diferentes tipos de reactores quími-
cos. Para realizar este estudio se utilizan modelos matemáticos, que en situa-
ciones muy sencillas resultan en soluciones analíticas. Pero, por lo general se
hace inevitable el uso de métodos numéricos para resolver los problemas con-
cernientes al análisis de los reactores. En el pasado la ingeniería de las reac-
ciones químicas se basaba en el empirismo y correlaciones gráficas y/o numé-
ricas; es hace 50 años que ésta empieza a desarrollarse como una disciplina
técnica y científica de la ingeniería química por los trabajos pioneros, por
ejemplo, de Hougen en los Estados Unidos y de Damköhler en Alemania [J.
Hagen, 2004]. En lo últimos años, con la disponibilidad y amplio uso de las

1
computadoras personales, el trabajo de modelado y análisis de los reactores se
ha visto facilitado y simplificado. Los textos de edición reciente hacen énfasis
en el uso de diferentes programas como MATLAB, POLYMATH, y otros. Pero,
lamentablemente estos paquetes son comerciales, por lo que su uso representa
un costo monetario para adquirir la licencia. Como alternativa, dentro la carre-
ra de Ingeniería Química de la UMSS, se ha identificado un software de distri-
bución libre; éste es GNU Octave.

¿Qué es Octave? Octave es un lenguaje de alto nivel para realizar cálculos nu-
méricos en el computador, y también es un programa interprete. Éste ofrece
una interfaz de usuario interactiva, orientada a una línea de comandos, pero
también puede ser utilizado en modo no interactivo, leyendo sus órdenes desde
un fichero.

Octave, originalmente, fue desarrollado para facilitar la tarea a los estudiantes


de Ingeniería Química de la universidad de Texas, sin que estos tuvieran que
enfrentarse a las dificultades de la programación. Su flexibilidad, en seguida,
lo hizo popular y su uso se expandió a otros problemas relacionados con el
álgebra lineal y las ecuaciones diferenciales, lo que favoreció su desarrollo.

El propósito de este trabajo es mostrar el uso y la aplicación de Octave en la


resolución de diferentes problemas o situaciones asociados con el modelado y
análisis de los reactores. No es intención elaborar un texto base de pre-grado
relacionado con la materia, mas bien éste trabajo resulta ser un documento
que complementa y llena un vacío evidente dentro las clases regulares de la
materia.

1.2. Antecedentes y justificación

Tradicionalmente la materia de Diseño de Reactores II presenta cierta dificul-


tad a los estudiantes, no por su contenido sino por la resolución numérica in-
evitable de problemas asociados al análisis de reactores, que implica necesa-
riamente el uso de métodos numéricos.

2
El objetivo de la materia no es enseñar como usar o identificar métodos numé-
ricos apropiados para resolver los problemas, y hacerlo significaría el no cum-
plimiento del propósito general. Es así que se necesita de alguna herramienta,
en este caso un software, que sea flexible, rápido y fácil de emplear. Se ha
identificado a GNU OCTAVE para utilizarlo complementariamente al curso de
Diseño de Reactores. Este trabajo, entonces, pretende proporcionar y difundir
a estudiantes y docentes el uso de este software en la materia, además de ser
un texto complementario y de referencia.

1.3. Objetivos

1.3.1 Objetivo General

El objetivo general de este trabajo de adscripción es elaborar un documento


como texto complementario y de referencia, donde ejemplos y problemas tipo
de la materia de Diseño de Reactores II son resueltos usando GNU Octave.

1.3.2. Objetivos específicos

Son objetivos específicos:


• Revisar y sintetizar el contenido de la materia de Diseño de Reactores II.
• Elaborar un manual de uso del programa Octave.
• Proporcionar un conjunto de ejemplos y problemas tipo resueltos usan-
do Octave.

1.4. Metodología del trabajo

La realización del trabajo comenzó con una revisión teórica y bibliográfica, que
permitió realizar una selección de los problemas que se presentan. El análisis y
modelado de los reactores son los dos factores que se tomaron en cuenta para

3
éste propósito. La optimación no ha sido abordada debido a que es un tema de
especialización; además que, indirectamente, a partir del análisis del compor-
tamiento de los reactores puede plantearse una estrategia de optimación

La segunda etapa, imperiosamente necesaria, fue el aprendizaje del uso ade-


cuado del software Octave. Existe un manual de uso en el idioma inglés [J.
Eaton, 1997], que ha sido resumido y su traducción constituye parte del tra-
bajo que se presenta como anexo.

Finalmente, se resolvieron los problemas escogidos escribiendo los ficheros


necesarios para su ejecución. Estos ficheros fueron revisados y se encuentran
en el CD que se proporciona junto al texto. La estructura del documento esta
divida en capítulos que corresponden al contenido de la materia o plan global
[ver Anexo 3] de Diseño de Reactores II.

4
Capítulo 2. Balances de masa y ener-
gía en sistemas homogéneos con re-
acciones químicas

2.1. Balance de masa

El análisis y diseño de un reactor debe iniciarse con el balance de materia total


y por componentes. Considérese un elemento de volumen de mezcla de reac-
ción a lo largo de un pequeño intervalo de tiempo. El balance de materia de
una especie química reactante i en la unidad de tiempo se puede resumir por
la ecuación siguiente [Baerns, 1999]:
∂C i
( )
r
= − div C iU − div(− Def. grad C i ) + Ri
{∂t 14243 14442444 3 {
IV
II III
I
r
donde C es la concentración molar, U el vector velocidad, D el coeficiente de
difusión y R la velocidad de reacción neta. Por lo que el término (I) representa

5
la acumulación de masa, (II) la entrada neta de masa al sistema por convec-
ción, (III) la entrada neta de masa por difusión y (IV) la generación neta de ma-
sa en el sistema por reacción química. Una especie química puede participar
en más de dos reacciones simultáneamente, por lo que su velocidad de forma-
ción debe considerar a cada una de estas reacciones [Baerns, 1999],
Ri = ∑ α ij r j
j

La variable α es el coeficiente estequiométrico de la especie i en la reacción j.


Cuando la composición dentro del reactor es independiente de la posición del
elemento de volumen, el balance para un elemento de volumen, es válido para
el reactor tomado en su conjunto. Pero si la composición varia con la posición
del elemento de volumen, el balance debe efectuarse en un diferencial de vo-
lumen, luego integrarse sobre todo el reactor, según la función de variación de
la composición.

Según el tipo de reactor de que se trate, la ecuación de balance puede simplifi-


carse. Así en un reactor discontinuo, los términos (II) y (III) desaparecen, y en
un reactor en estado estacionario el término (I) es nulo.

2.2. Balance de energía

Cuando el proceso se realiza en condiciones no-isotérmicas, el balance de ma-


teria debe combinarse con un balance de calor en la unidad de tiempo, que se
puede ver en la figura 1. Este balance, al igual que el anterior, puede ser válido
para un diferencial de volumen o para todo el reactor, dependiendo de las ca-
racterísticas de operación del sistema.

El balance de calor es [Baerns, 1999]:


∂ ( ρC P T )
∂t 4
(
144244
)
= − div ρC P TU − div(− λef. grad Ti ) + ∑ r j (− ∆H Rj )
r
3 144 42444 3 j
142 3 II III 14 4244 3
I IV

A diferencia del balance de masa, éste balance de calor es global y no por espe-
cie química. En la expresión anterior ρ y CP son la densidad de la mezcla de

6
reacción, respectivamente; λ la conductividad térmica, T y ∆HR las propiedades
termodinámicas temperatura y calor de reacción.

Si se integra el balance de calor sobre todo el reactor (volumen de control), el


término de conducción (III) se expresa como transmisión de calor a través de
las paredes. Un fluido, que circula por una camisa exterior o por un serpentín
en el interior del reactor, se utiliza como medio refrigerante; éste puede sumi-
nistrar o remover calor según sea el caso. La temperatura del fluido se consi-
dera constante o se emplea un valor medio, por lo que el flujo de calor a través
de las paredes es [Baerns, 1999]
Q& = UA(Ta − T )

2.3. Estequiometría de una reacción química

Tomemos la siguiente reacción química,


aA + bB → cC + dD
que reescribimos en base a una especie química de referencia, en éste caso A,
como [Fogler, 2001]
b c d
A+ B→ C+ D
a a a

En un sistema de lote, la relación de moles de las especies químicas Ni y moles


de inerte NI con la conversión son [Fogler, 2001]
N A = N A0 − N A 0 X A
N B = N B 0 − ba N A0 X A
N C = N C 0 + ac N A0 X A
N D = N D 0 + da N A0 X A
NI = NI0
N t = N t 0 + ( ac + da − ba − 1)N A0 X A
14 4244 3
δ

o bien

7
Nt N
= 1 + δ A0 X A = 1 − δy A0 X A = 1 − εX A
Nt0 Nt0

Para determinar el cambio de volumen para reacciones gaseosas en un sistema


de lote, utilizamos la ecuación de estado del gas ideal [Fogler, 2001],
PV = N t 0 RT0
PV = N t RT
que reescribimos como
N t T P0
V = V0
N T 0 T0 P

Combinando las ecuaciones anteriores resulta


T P0
V = (1 − εX A )
T0 P

Para sistemas de flujo escribimos las ecuaciones en términos de flujos volumé-


tricos y molares [Fogler, 2001],

N& T P0
V& = V&0 t
N& t 0 T0 P
T P0
V& = (1 − εX A )
T0 P

2.4. Velocidad de reacción

La velocidad de reacción para sistemas homogéneos, r, representa la velocidad


de formación expresada en cantidad de moles que se generan por unidad de
volumen y tiempo. Con referencia a la ecuación estequiométrica presentada
anteriormente, la relación entre las velocidades de formación de cada una de
las especies químicas con la velocidad de reacción es [Fogler, 2001]
rA r r r
= B = C = D =r
−a −b c d

8
que generalizando escribimos como [Fogler, 2001]
ri = α i r
donde αi es el coeficiente estequiométrico de la especie i que tiene valores nega-
tivos para los reactivos y valores positivos para los productos.

La temperatura, presión, tipo y concentración de catalizador, y concentracio-


nes de las especies químicas afectan la velocidad de reacción. La ecuación de
velocidad de reacción, o ley de velocidad, es una ecuación algebraica que con-
tiene estas variables. Por ejemplo, para la reacción irreversible A → B, la ecua-
ción de velocidad puede ser [Fogler, 2001]
r = kC An

que se conoce como ley de potencia, donde n es el orden de reacción y puede


ser un número entero o fracción. Otra forma de la ecuación de velocidad es la
ley hiperbólica [Fogler, 2001],
k1C A
r=
1 + k 2C A

La constante de velocidad (específica) k no es en realidad una constante, sino


que depende de la temperatura. La ecuación de Arrhenius describe esta de-
pendencia [Fogler, 2001],

 E 
k = k 0 exp − 
 RT 
donde k0 es el factor pre-exponencial o factor de frecuencia, E la energía de
activación, R la constante universal de los gases, y T la temperatura absoluta.

La concentración de las especies químicas son los moles por unidad de volu-
men,
Ni
Ci = para sistemas de lote
V
N&
Ci = i para sistemas de flujo
V&
Para sistemas de fase líquida, V y V& se consideran constantes.

9
2.5. Ecuaciones reversibles

Una reacción reversible se trata como dos reacciones. Por ejemplo, la reacción
A ⇔ B se escribe [Fogler, 2001]
A→B r1 = k1C A
B→A r2 = k 2 C A
La velocidad neta de formación de A es por tanto [Fogler, 2001]
R A = − r1 + r2 = − k1C A + k 2 C B
En el equilibrio RA = 0 y se tiene
C B k1
KC = =
C A k2
donde KC es la constante de equilibrio. Reescribiendo se tiene [Fogler, 2001]

 C 
− R A = k1  C A − B 
 KC 

La dependencia de la constante de equilibrio con la temperatura está dada por


la ecuación de van’t Hoff [Fogler, 2001],
d ln K C ∆H R
=
dT RT 2

10
Capítulo 3. Reactor Tanque Agitado
Discontinuo

El reactor tanque agitado discontinuo (TAD) es posiblemente el sistema de re-


acción más utilizado, debido a la sencillez y flexibilidad de su operación.

Este reactor, conocido también como reactor por lotes o batch, no tiene flujo de
entrada de reactivos ni flujo de salida de productos, N& i 0 = N& i = 0 . Para modelar

su comportamiento se considera mezclado ideal en su interior, es decir la mez-


cla de reacción es perfectamente homogénea, no hay gradientes de concentra-
ción ni de temperatura; y por lo tanto la velocidad de reacción es la misma en
todo el volumen de reacción[Levespiel, 1998].

Por lo general, estos reactores están provistos de un agitador que mejora la


transferencia de calor y que, en sistemas de contacto gas-líquido, puede llegar
a crear extensas superficies de intercambio entre ambas fases.

11
En la Tabla 1 se listan tamaños representativos (junto con el de un objeto co-
nocido comparable) y los costos de reactores tanques agitados. Todos estos
reactores están recubiertos de vidrio y los precios incluyen la chaqueta de ca-
lentamiento-enfriamiento, motor, mezclador y bafles. Los tanques agitados
pueden operar a temperaturas entre –7 °C y 230 °C, y presiones de hasta 7
atm [Fogler, 2001].

Tabla 1: Tamaño y precios representativos de reactores Pfaudler.

Volumen Precio Volumen Precio


19 Litros 27 000 USD 3 800 Litros 80000 USD
(papelera) (2 Jacuzzis)
190 Litros 35 000 USD 15 200 Litros 143 000 USD
(bote de basura) (8 Jacuzzis)
1 900 Litros 67 000 USD 304 000 Litros 253 000 USD
(Jacuzzi) (cisterna de gasolina)

La agitación, por tanto el tipo de agitador, en los tanques agitados es importan-


te para el desempeño del reactor. Es esta operación la que determina el tipo de
mezclado en el interior del aparato, siempre se tratará de que el mezclado sea
casi el ideal. La agitación y mezclado de fluidos constituyen de por si un tema
separado que se discute en la bibliografía [C. Geankoplis, 1998].

Las ecuaciones diferenciales (balances de masa y energía) que modelan el


comportamiento del TAC bajo diferentes modos de operación, se presentan a
continuación.

3.1. Operación isotérmica

Cuando el reactor o en realidad la mezcla de reacción se mantiene a una tem-


peratura constante durante todo el transcurso de la reacción, se dice que ope-
ra isotérmicamente. Para que la temperatura de reacción sea constante, debe

12
removerse o suministrarse la misma cantidad de flujo de calor generada o con-
sumida durante la reacción química. Esto último se consigue a través de una
transferencia de calor adecuada con un medio refrigerante. Resulta evidente
que para reacciones extremadamente exotérmicas o endotérmicas, no es posi-
ble conservar la temperatura constante.

Considerando mezclado ideal, la velocidad de reacción es uniforme en todo el


volumen de reacción. Por tanto, el balance de masa para la especie química i
se formula para todo el volumen de reacción con el término de acumulación
igual a la generación neta de masa por reacción química en el sistema ,
dN i
= VRi = V ∑ α ij r j
dt j

Si en el sistema transcurre solo una reacción química, el balance de masa se


simplifica a una sola ecuación diferencial en términos de la conversión,
dX A
N A0 = Vr
dt

3.2. Operación Adiabática

La operación adiabática es un caso especial de operar el reactor en forma no-


isotérmica. El tanque se aísla completamente del medio exterior de manera que
la transferencia hacia el interior o el exterior del recipiente sea nula.

Además del balance de masa, que es el mismo que el caso isotérmico, debe
resolverse el balance de energía. Todo el calor generado o consumido por reac-
ción química, se traduce en un aumento o disminución de la temperatura de la
mezcla de reacción. Así, el balance de calor (energía), asumiendo que la capa-
cidad calorífica es constante o un promedio entre las temperaturas de opera-
ción, resulta [Baerns, 1999]

= V ∑ r j (− ∆H Rj )
dT
MC P
dt j

13
o en términos de moles de cada una de las especies química participantes,

= V ∑ r j (− ∆H Rj )
dT
∑N C
i
i Pi
dt j

Cuando transcurre una sola reacción química, el balance de masa y energía se


combinan resultando en la expresión siguiente [Baerns, 1999]:
N Ao (− ∆H R )
T = T0 + X A = T0 + ∆Tad . X A
MC P
Esto último relaciona la temperatura con la conversión a través del parámetro
∆Tad . que representa el cambio de temperatura máximo que puede realizarse
durante la operación adiabática.

3.3. Operación Poli-trópica

La operación poli-trópica resulta de la transferencia de calor a través de las


paredes del recipiente. Según sea la necesidad, un fluido refrigerante remueve
el calor generado por reacción química o proporciona el calor necesario. Enton-
ces en el balance de energía se introduce el término de transferencia de calor,
asumiendo que el coeficiente global de transferencia de calor es constante, y el
medio refrigerante opera a una temperatura media constante Ta,

= UA(Ta − T ) + V ∑ r j (− ∆H Rj )
dT
MC P
dt j

escrito también como

= UA(Ta − T ) + V ∑ r j (− ∆H Rj )
dT
∑N C
i
i Pi
dt j

3.4. Ejemplos usando GNU Octave

Ejemplo 3.1. Tiempo de reacción para operación adiabática

14
Por calentamiento de un ácido di-carboxílico se produce vapor de agua y su
anhídrido correspondiente,
R(COOH)2 → H2O + R(CO)2O ∆HR = 75 kJ/mol
o bien,
A→B+C

La cinética de esta reacción esta descrita por una ley de potencia como reac-
ción de primer orden con respecto al ácido di-carboxílico,
r = kCA k = 6,4 × 1017 exp (-25 000/T ) min-1

La deshidratación se realiza en un reactor tanque agitado discontinuo operan-


do adiabáticamente. Para iniciar la reacción se introducirá en el reactor ácido
di-carboxílico a la temperatura inicial T0 = 603 K. El cambio de temperatura
adiabática tiene el valor ∆Tad. = -200 K. Se determina el tiempo de reacción pa-
ra alcanzar 40 % de conversión,

Efectuando el balance de masa para la especie A, resulta:


dN A
= R AV
dt

según la estequiometría de la reacción,

N A = N A0 (1 − X A )
NA
R A = − r = −kC A = −k
V
por lo que el balance de masa se reescribe como
dX A
= k (1 − X A )
dt
El tiempo de reacción se determina integrando la expresión anterior,
X A = 0 , 40 dX A
t=∫
X A =0 k (1 − X A )
La relación entre temperatura y conversión es
T = T0 + ∆Tad . X A

15
por lo que la constante cinética se escribe como

 25000 
k = 6,4 × 1017 exp − 
 0 T + ∆Tad . X A 

En Octave determinamos el tiempo de reacción escribiendo la función


fnc_ej1.m y el fichero ej1.m, y utilizando la función de integración (cuadratura)
quad:

fnc_ej1.m
function f=fnc_ej1(XA)

T0=603; #K
deltaTad=-200; #K
T=T0+deltaTad*XA;
k=6.4e17*exp(-25000/T); #min-1

f=1/(k*(1-XA));

endfunction

ej1.m
clear

XA0=0;
XA=0.40;
t=quad("fnc_ej1",XA0,XA) #min
disp("tiempo en min")

La solución se obtiene ejecutando el fichero ej1:

16
Ejemplo 3.2. Perfiles de conversión y temperatura para operación adiabá-
tica

Los esteres de ácido maléico, debido a sus dos grupos reactivos (doble enlace y
grupo carboxílico), son productos intermedios de interés comercial. Estos pue-
den ser producidos mediante la reacción del anhídrido maleico con un alcohol,

o bien,
A+B→C

Se tratará, como ejemplo, la producción de maleato de hexilo. La disolución del


anhídrido se efectúa de 323 K a 328 K. La reacción transcurre de acuerdo a
una cinética de segundo orden. Los datos de reacción son:

∆HR = 33 500 kJ/kmol

17
CA0 = 4,55 kmol/m3
CB0 = 5,34 kmol/m3
ρ = 990 kg/m3
CP = 2 kJ/(kg K)
E = 105 000 kJ/kmol
k0 = 4,92 × 1015 m3/(kmol h)

Para una operación adiabática en un reactor tanque agitado discontinuo, se


determinan los perfiles de conversión, XA, y temperatura, T, en el transcurso
del tiempo de reacción.

Escribimos el balance de masa para A en términos de conversión,


dX A r
=
dt C A0
La cinética de segundo-orden en términos de conversión y según la estequio-
metría de la reacción es
r = kC A C B = kC Ao
2
(1 − X A )(M B − X A )
CB0
donde M B = .
C A0
Establecemos el balance de energía para este de sistema de una sola reacción,

= Vr (− ∆H R )
dT
MC P
dt
escrita en forma explícita como
dT r (− ∆H R )
=
dt ρC P

Las dos ecuaciones diferenciales (balances de masa y energía) se integran utili-


zando el comando lsode. Escribimos el fichero de función para las ecuaciones
diferenciales, y el fichero de solución siguientes:

fnc_ej2.m
function dudt=fnc_ej2(u,t)

XA=u(1);

18
T=u(2);
CA0=4.55; #kmol/m3
CB0=5.34; #kmol/m3
deltaHR=-33500; #kJ/kmol
rho=990; #kg/m3
CP=2; #kJ/(kg K)
E=105000; #kJ/kmol
k0=4.92e15; #m3/(kmol h)
R=8.314; #kJ/(kmol K)

MB=CB0/CA0;
CA=CA0*(1-XA);
CB=CA0*(MB-XA);
k=k0*exp(-E/(R*T));
r=k*CA*CB;

dudt(1)=r/CA0;
dudt(2)=r*(-deltaHR)/(rho*CP);

endfunction

ej2.m
clear

XA0=0;
T0=323; #K
u0=[XA0 T0]';
t=linspace(0,0.6,30)'; #h
u=lsode("fnc_ej2",u0,t);
XA=u(:,1);
T=u(:,2); #K
xlabel("Tiempo, t/h"), ylabel("Conversión, XA"), plot(t,XA,"-@17;;")
pause
xlabel("Tiempo, t/h"), ylabel("Temperatura, T/K"), plot(t,T,"-@33;;")

La solución (Figura 1) muestra que después de 0,6 horas se alcanza una con-
versión casi del 100 % y una temperatura máxima y constate (típico de la ope-
ración adiabática) de 400 K. El perfil de temperatura es el mismo que el de
conversión, ya que la temperatura del sistema de reacción es una función li-
near de la conversión.

19
1

0.9

0.8

0.7
Conversión, XA

0.6

0.5

0.4

0.3

0.2

0.1

0
0 0.1 0.2 0.3 0.4 0.5 0.6
Tiempo, t/h

Figura 1: Conversión en función del tiempo (ej. 2)

400

390

380
Temperatura, T/K

370

360

350

340

330

320
0 0.1 0.2 0.3 0.4 0.5 0.6
Tiempo, t/h

Figura 2: Temperatura en función del tiempo (ej. 2)

20
Ejemplo 3.3. Perfiles de conversión y temperatura para operación poli-
trópica

La reacción anterior debe realizarse hasta alcanzar una conversión elevada.


Por razones cinéticas (reacciones competitivas), la temperatura no debe sobre-
pasar 100 °C. Por lo tanto una operación adiabática no es posible. La reacción
se llevará a cabo en un reactor tanque agitado con un sistema de refrigeración
interno, para el análisis se considerará los siguientes datos adicionales,
V = 5 m3
A = 20 m2
U = 0,5 kW/(m2 K)

Se determinan los perfiles de conversión y temperatura para dos temperaturas


medias del medio refrigerante: Ta = 330 K y Ta = 335 K.

La ecuación diferencial de balance de masa y las relaciones estequiométricas


son iguales que las del ejemplo anterior. Incluimos el término de transferencia
de calor en el balance de energía:
dT
=
UA
(Ta − T ) + r (− ∆H R )
dt ρVC P ρC P

Los ficheros de solución son:

fnc_ej3.m
function dudt=fnc_ej3(u,t)
global Ta

XA=u(1);
T=u(2);
CA0=4.55; #kmol/m3
CB0=5.34; #kmol/m3
deltaHR=-33500; #kJ/kmol
rho=990; #kg/m3
CP=2; #kJ/(kg K)
E=105000; #kJ/kmol
k0=4.92e15; #m3/(kmol h)
R=8.314; #kJ/(kmol K)
V=5; #m3
A=20; #m2
U=0.5*3600; #kJ/(h m2 K)

21
MB=CB0/CA0;
CA=CA0*(1-XA);
CB=CA0*(MB-XA);
k=k0*exp(-E/R/T);
r=k*CA*CB;

dudt(1)=r/CA0;
dudt(2)=U*A/(rho*V*CP)*(Ta-T)+r*(-deltaHR)/(rho*CP);

endfunction

ej3.m
clear
global Ta

XA0=0;
T0=323; #K
u0=[XA0 T0]';
t=linspace(0,1,30)'; #h
Tai=[330 335]'; #K
n=length(Tai);
for i=1:n
Ta=Tai(i);
u=lsode("fnc_ej3",u0,t);
XA(:,i)=u(:,1);
T(:,i)=u(:,2);
endfor
xlabel("Tiempo, t/h"), ylabel("Temperatura, T/K"), plot(t,T(:,1),"-
@17;Ta=330 K;",t,T(:,2),"-@33;Ta=335 K;")
pause
xlabel("Tiempo, t/h"), ylabel("Conversión, XA"), plot(t,XA(:,1),"-
@17;;",t,XA(:,2),"-@33;;")

La solución, que se presentan en las figuras más abajo, muestra que la tempe-
ratura media de 330 K para el fluido refrigerante causa una mayor remoción
de calor producido por la reacción química, por lo que no se sobrepasa la tem-
peratura de operación de 100 ºC. Obsérvese que un aumento de 5 ºC en el
medio refrigerante ocasiona una diferencia de 20 ºC entre las temperaturas
máximas de operación. Este efecto, que una diferencia pequeña en la tempera-
tura del medio refrigerante, causa un cambio considerable en la temperatura
de operación del reactor, se conoce como sensibilidad de parámetros.

Es importante por lo tanto tener un buen control de la temperatura del refrige-


rante, aunque la conversión que se alcanza no es tan elevada.

22
380
Ta=330 K
Ta=335 K

370

360
Temperatura, T/K

350

340

330

320
0 0.2 0.4 0.6 0.8 1
Tiempo, t/h

Figura 3: Temperatura en función del tiempo (ej. 3)

0.9

0.8

0.7
Conversión, XA

0.6

0.5

0.4

0.3

0.2

0.1

0
0 0.2 0.4 0.6 0.8 1
Tiempo, t/h
Figura 4: Conversión en función del tiempo (ej.3)

23
Ejemplo 3.4. Análisis de sensibilidad

El comportamiento de un tanque agitado discontinuo, en el cual se realiza una


reacción extremadamente exotérmica, será analizado tomando como ejemplo la
descomposición de agua oxigenada catalizada en fase homogénea por iones
Fe3+. La reacción de descomposición transcurre de acuerdo a una reacción
irreversible de primer orden con respecto a H2O2,
1
H 2 O2 → H 2 O + H2
2
escrita como
1
A→B+ C
2

La constante cinética es función de la concentración de catalizador, CFe, y la


concentración de protones, CH. Su dependencia con la temperatura es descrita
mediante la expresión de Arrhenius,

 E  C Fe  E 
k = k 0 exp −  = k0
'
exp − 
 RT  CH + K f  RT 
donde Kf es la constante de hidrolización de nitrato de hierro (III).

Ya que la descomposición de H2O2 produce oxígeno gaseoso, el cual arrastra


vapor de agua, deberá tomarse en cuenta el calor de vaporización de este últi-
mo en el balance de energía. Se hará la suposición de que a cualquier tempera-
tura del reactor habrá saturación de vapor de agua. Es así que los balances de
masa y energía resultan respectivamente,
dX A  E 
= k 0 exp − (1 − X A )
dt  RT 
dT UA  (− ∆H R )C Ao 1 PS ∆H V C Ao  dX A
= (Ta − T ) +  − 
dt MC P / V  MC P / V 2 P − PS MC P / V  dt

24
donde P es la presión de operación del reactor y Ps es la presión de saturación
de vapor de agua. Los datos cinéticos y termodinámicos son:

k’0 = 1,5 × 1016 s-1


E = 105 000 J/mol
Kf = 10 mol/m3
∆HR = 94 800 J/mol
∆HV = 40 660 J/mol
R = 8,314 J/(mol K)
CP = 4100 J/(kg K)
CFe = 20 mol/m3
CH = 100 mol/m3
Ps = 4,97 × 1010 exp (-4890/T ) Pa
CA0 = 3000 mol/m3

Se analiza, primero, el comportamiento del reactor mediante el término de


transferencia de calor D, definido como
UA
D=
MC P / V

Se determinan los perfiles de temperatura y conversión a T0 = Ta = 293 K para


los valores siguientes de D:
Nro. D/min-1 Nro. D/min-1
1 0,05 6 0,40
2 0,10 7 0,425
3 0,20 8 0,45
4 0,30 9 0,50
5 0,35 10 0,60

La flexibilidad de GNU OCTAVE permite resolver el problema utilizando un loop


para integrar numéricamente las 10 ecuaciones ordinarias diferenciales. Los
ficheros función y solución son:

25
fnc_ej4a.m
function dudt=fnc_ej4a(u,t)
global D

XA=u(1);
T=u(2);

k0prima=1.5e16*60; #min-1
E=105000; #J/mol
Kf=10; #mol/m3
deltaHR=-94800; #J/mol
deltaHV=40660; #J/mol
R=8.314; #J/(mol K)
CP=4100; #J/(kg K)
CFe=20; #mol/m3
CH=100; #mol/m3
Ps=4.97e10*exp(-4890/T); #Pa
CA0=3000; #mol/m3
P=1.01325e5; #Pa
rho=1000; #kg/m3
T0=293; #K
Ta=T0;

k0=k0prima*CFe/(CH+Kf);

dudt(1)=k0*exp(-E/(R*T))*(1-XA);
dudt(2)=D*(Ta-T)+(-deltaHR*CA0/(rho*CP)-1/2*Ps/(P-
Ps)*deltaHV*CA0/(rho*CP))*dudt(1);

endfunction

ej4a.m
clear
global D

XA0=0;
T0=293; #K
u0=[XA0 T0]';
t=linspace(0,25,30)'; #min
Di=[.05 .10 .20 .30 .35 .40 .425 .45 .50 .60]'; #min-1
n=length(Di);
for i=1:n
D=Di(i);
u=lsode("fnc_ej4a",u0,t);
XA(:,i)=u(:,1);
T(:,i)=u(:,2);
endfor
grid
xlabel("Tiempo, t/min"), ylabel("Temperatura, T"), plot(t,T,"-@")
pause
axis([0 25 0 1]);
xlabel("Tiempo, t/min"), ylabel("Conversión, XA"), plot(t,XA,"-@;;")
axis("auto"); grid

26
360
line 1
line 2
350 line 3
line 4
line 5
340 line 6
line 7
line 8
Temperatura, T

330 line 9
line 10

320

310

300

290
0 5 10 15 20 25
Tiempo, t/min

Figura 5: Temperatura en función del tiempo para valores diferentes de D (ej. 4)

0.8
Conversión, XA

0.6

0.4

0.2

0
0 5 10 15 20 25
Tiempo, t/min

Figura 6: Conversión en función del tiempo para valores diferentes de D (ej. 4)

27
Según la Figura 5 la temperatura de operación es sensible a los cambios pe-
queños en los valores D desde 0,40 min-1 a 0,60 min-1. Esta situación hace que
la operación del reactor no sea estable en este rango de valores, aunque se al-
cance 100 % de conversión (Figura 6). La estabilidad, y por tanto la seguridad,
es un factor a tomar en cuenta durante la operación del reactor

Ahora se analiza la estabilidad cuando D = 0,9 min-1 para los siguientes valo-
res de temperatura inicial (T0 = Ta)):
Nro. T0/K Nro. T0/K
1 293 5 300
2 296 6 301
3 298 7 302
4 299

Estos los ficheros correspondientes:

fnc_ej4b.m
function dudt=fnc_ej4b(u,t)
global Ta

XA=u(1);
T=u(2);

k0prima=1.5e16*60; #min-1
E=105000; #J/mol
Kf=10; #mol/m3
deltaHR=-94800; #J/mol
deltaHV=40660; #J/mol
R= 8.314; #J/(mol K)
CP=4100; #J/(kg K)
CFe=20; #mol/m3
CH=100; #mol/m3
Ps=4.97e10*exp(-4890/T); #Pa
CA0=3000; #mol/m3
P=1.01325e5; #Pa
rho=1000; #kg/m3
D=0.9; #min-1

k0=k0prima*CFe/(CH+Kf);

dudt(1)=k0*exp(-E/(R*T))*(1-XA);
dudt(2)=D*(Ta-T)+(-deltaHR*CA0/(rho*CP)-1/2*Ps/(P-
Ps)*deltaHV*CA0/(rho*CP))*dudt(1);

endfunction

28
ej4b.m
clear
global Ta

XA0=0;
t=linspace(0,10,30)'; #min
Tai=[293 296 298 299 300 301 302]'; #K
T0i=Tai;
n=length(Tai);
for i=1:n
Ta=Tai(i);
T0=T0i(i);
u0=[XA0 T0]';
u=lsode("fnc_ej4b",u0,t);
XA(:,i)=u(:,1);
T(:,i)=u(:,2);
endfor
grid
xlabel("Tiempo, t/min"), ylabel("Temperatura, T"), plot(t,T,"-@")
pause
xlabel("Tiempo, t/min"), ylabel("Conversión, XA"), plot(t,XA,"-@;;")
grid

Los perfiles de temperatura y conversión son:

340
line 1
335 line 2
line 3
line 4
330
line 5
line 6
325 line 7
Temperatura, T

320

315

310

305

300

295

290
0 2 4 6 8 10
Tiempo, t/min

Figura 7: Temperatura en función del tiempo para valores diferentes de T0 (ej.


4)

29
1

0.9

0.8

0.7
Conversión, XA

0.6

0.5

0.4

0.3

0.2

0.1

0
0 2 4 6 8 10
Tiempo, t/min

Figura 8: Conversión en función del tiempo para valores diferentes de T0 (ej. 4)

La Figura 7 muestra que un incremento en un grado de la temperatura inicial


y del refrigerante a partir de 300 K, causa una diferencia de más de 15º entre
las temperaturas máximas. Por tanto el reactor es estable si se opera a una
temperatura inicial debajo de 300 K.

30
Capítulo 4. Reactor Tanque Agitado
Continuo

Entre los reactores de flujo está el tanque agitado continuo (TAC). Este tipo de
reactor se opera en estado estacionario, es decir no hay acumulación de masa
en su interior. Para modelar su comportamiento se supone mezclado ideal y
por tanto las concentraciones y temperatura en el efluente son las mismas que
en el interior del reactor[J. Carberry, 1976].

El reactor consiste en un tanque de buena agitación en el que hay un flujo


continuo de entrada de material reaccionante y desde el cual sale continua-
mente el material que ha reaccionado parcialmente. La agitación del contenido
es esencial a causa de la forma de estos recipientes (por ejemplo, cilindros cu-
yo diámetro es igual a la altura), si no fuera así, se formaría una corriente dire-
cta de fluido entre la entrada y la salida del recipiente y gran parte del volumen
de este seria un espacio muerto [K. Denbigh, 1990]

31
La caracterísca más importante de un reactor agitado continuo es la agitación.
Una primera aproximación que describe más apropiadamente su funciona-
miento se basa en la suposición de que su contenido esta perfectamente mez-
clado. Como consecuencia de ello, la corriente de salida o efluente tiene la
misma composición que la masa de reacción contenida en el tanque.

El tamaño y la agitación de los reactores agitados continuos suele ser similar a


los discontinuos, solo que generalmente se usan en cascada (serie de tanques)
para poder mejor la conversión. La transferencia de calor generalmente se la
consigue mediante una chaqueta de calentamiento o enfriamiento [Levespiel,
1998].

A continuación resumimos los tres modos de operación y las ecuaciones que


modelan el comportamiento de este reactor.

4.1. Operación Isotérmica

Para modelar el comportamiento del TAC operando a temperatura constante,


se considera solo el balance de masa. Ya que el reactor opera en estado esta-
cionario, se tiene que [Baerns, 1999]
dN i
=0
dt
es decir, no existe acumulación de masa en el interior del tanque.

Por tanto, el balance de masa integrado sobre todo el volumen de reacción es


N& i 0 − N& i + VRi = 0
o en palabras que la entrada neta de masa de la especie i por convección (flujo
molar) más la velocidad neta de generación de masa de i es cero.

En caso de un sistema con una sola reacción química, el balance de masa se


rescribe como [Baerns, 1999]
N& A0 X A = Vr

32
4.2. Operación Adiabática

En ausencia de flujo de transferencia de calor ( Q& = 0 ), y considerando capaci-


dad calorífica constante de la masa de reacción, la entrada neta de energía al
sistema por convección más la generación neta de energía por reacción quími-
ca es nulo [Baerns, 1999],
M& C P (T0 − T ) + V ∑ r j (− ∆H Rj ) = 0
j

o en término de flujos molares de entrada [Baerns, 1999],

∑ N& i0 C Pi (T0 − T ) + V ∑ r j (− ∆H Rj ) = 0
i j

Ésta ecuación, junto al balance de masa, constituyen un sistema de ecuacio-


nes algebraicas que deben ser resueltas para modelar el reactor operando
adiabáticamente. Cuando transcurre una sola reacción química, el balance de
energía se rescribe como [Baerns, 1999]
N& Ao (− ∆H R )
T = T0 + X A = T0 + ∆Tad . X A
M& C P
que es una relación lineal entre la temperatura de operación y la conversión,
expresión similar a la operación adiabática del TAD.

4.3. Operación Poli-trópica

La transferencia de calor en reactores tanque agitado está regulada por el di-


seño del reactor en términos de la configuración del recipiente, el tipo de su-
perficie de calentamiento, el tipo de agitador y su arreglo dentro de este, etc.
En consecuencia, la correlación de transferencia de calor para reactores con
tanque agitado varía de acuerdo con el diseño específico del reactor.

En ocasiones es ventajoso imponer una operación no-isotérmica en un sistema


de TACs. Por ejemplo el rendimiento de un proceso de reacción puede incre-

33
mentarse imponiendo un perfil de temperatura sobre la serie de tanques para
suprimir reacciones secundarias no deseadas.

Asumiendo que el coeficiente global de transferencia de calor sea constante, el


balance de energía resulta [Baerns, 1999]
M& C P (T0 − T ) + UA(Ta − T ) + V ∑ r j (− ∆H Rj ) = 0
j

o en términos de flujos molares [Baerns, 1999],

∑ N& i0 C Pi (T0 − T ) + UA(Ta − T ) + V ∑ r j (− ∆H Rj ) = 0


i j

4.4. Ejemplos usando GNU Octave

Según las ecuaciones presentadas anteriormente, para modelar el comporta-


miento del TAC debe resolverse un sistema de ecuaciones algebraicas no li-
neares. GNU Octave cuenta con la función fsolve para resolver este tipo de
ecuaciones. Sin embargo la resolución tiene más significado y es más adecua-
do si se lo realiza en forma gráfica, ya que la gráfica de solución muestra las
posibles temperaturas y conversiones posibles de operación, las cuales deter-
minan la estabilidad del reactor. Este tipo de solución solo es posible para sis-
temas de una sola reacción.

Ejemplo 4.1. Operación adiabática para reacción irreversible de primer-


orden

Consideremos la reacción irreversible de primer orden en fase líquida A → B.


La densidad de la mezcla de reacción, al igual que su calor específico, se con-
sideran constantes; siendo sus valores 1,2 g/cm3 y 0,9 cal/(g ºC), respectiva-
mente. El reactor es un tanque de 10 L, al cual entra un flujo volumétrico
constante de 200 cm3/s. Se determinan las temperaturas y conversiones posi-
bles para una operación adiabática estable cuando la concentración de la ali-

34
mentación, que consiste solo en A, es 4 mol/L y entra al reactor a 20 ºC. Otros
datos son:
k = 1,8 × 105 exp (−6000/T ) s-1
∆HR = −46 000 cal/mol

Escribimos el balance de masa como


V&0 C A0 X A = Vr

El tiempo espacial τ se define como la relación V / V&0 . Para una reacción irre-

versible de primer-orden, la expresión cinética es r = kCA. Por tanto y según la


estequiometría, el balance de masa resulta
X A = kτ (1 − X A )
que reordenando da una expresión explícita de la conversión en función de la
temperatura,

XA =
1 + kτ
El balance de energía para una sola reacción es
C Ao (− ∆H R )
T = T0 + X A = T0 + ∆Tad . X A
ρC P
que rescribimos como
T − T0
XA =
∆Tad .

En Octave escribimos el fichero ej1.m para graficar las funciones XA = f (T) a


partir de los balances de masa y energía. Los puntos de intersección represen-
tan la solución:

ej1.m
clear
rho=1.2*1e3; #g/L
CP=0.9; #cal/(g K)
V=10; #L
Vpunto0=200/1e3; #L/S
CA0=4; #mol/l
T0=20+273.15; #K
deltaHR=-46000; #cal/mol

35
tau=V/Vpunto0;
deltaTad=CA0*(-deltaHR)/(rho*CP);
T=linspace(250,500)'; #K
k=1.8e5.*exp(-6000./T); #s-1
XA_bm=k.*tau./(1+k.*tau);
XA_be=(T-T0)./deltaTad;

axis([250 500 0 1]);


plot(T,XA_bm,"1;;",T,XA_be,"3;;")
xlabel("Temperaura, T/K"), ylabel("Conversión, XA")
axis("auto");

0.8
Conversión, XA

0.6

0.4

0.2

0
250 300 350 400 450 500
Temperaura, T/K

Figura 9: Conversión en función de la temperatura (ej. 1)

La línea roja representa el balance de masa y la azul el balance de energía. Las


temperaturas de operación posibles, según la Figura 9, son 295 K, 370 K y 453
K y con conversiones de 0,02; 0.45 y 0.94; respectivamente. La primera solu-
ción da una conversión muy baja lo cual no es conveniente, la segunda, por
ser una inflexión, es inestable; por tanto es deseable operar el reactor a la
temperatura de 453 K que resulta en una conversión elevada.

36
Ejemplo 4.2. Operación adiabática para reacción irreversible de segundo-
orden

La reacción irreversible catalizada en fase líquida A → B, se efectúa adiabáti-


camente en un reactor tanque agitado continuo. La reacción es de segundo
orden con respecto a A. La alimentación, que es equimolar en el solvente (que
contiene al catalizador) y A, entra al reactor a la velocidad volumétrica de 10
dm3/min conteniendo 4 mol/L de A. La temperatura de este flujo de entrada es
300K. Se determinan la conversión y temperatura a la salida de un tanque de
1000 dm3.

Datos adicionales:

∆HR(300K) = −3300 cal/mol


CPA = 15 cal/(mol K)
CPB = 15 cal/(mol K)
CPI = 18 cal/(mol K)
k(300K) = 0,0005 dm3/(mol min)
E = 15 000 cal/mol

Escribimos el balance de masa para esta reacción de segundo-orden:

N A0 X A = Vr = VkC A2 = VkC A2 0 (1 − X A )
2

El desarrollo algebraico de este balance da una ecuación de segundo grado con


respecto a XA, que tiene por solución la expresión:

1 + 2kτC A0 − 1 + 4kτC A0
XA =
2kτC A0

El balance de energía formulado en término de flujos molares es


(N& A0 C PA + N& I 0 C PI )(T0 − T ) + Vr (− ∆H R ) = 0
Nótese la inclusión del solvente como inerte en el balance. Combinando esta
expresión con el balance de masa y reacomodando algébricamente se tiene

37
T = T0 +
(− ∆H R ) XA
C PA + C PI
que escrita como XA = f (T) es
C PA + C PI
X A = (T − T0 )
(− ∆H R )

El fichero correspondiente y la solución gráfica (Figura 10) son:

ej2.m
clear

CPA=15; #cal/(mol K)
CPI=18; #cal/(mol K)
V=1000; #dm3
Vpunto0=10; #dm3/S
CA0=4; #mol/l
T0=300; #K

deltaHR=-3300; #cal/mol
E=15000; #cal/mol
kref=0.0005; #dm3/(mol min) a 300K
Tref=300; #K
R=1.987; #cal/(mol K)

tau=V/Vpunto0;
deltaTad=-deltaHR/(CPA+CPI);
T=linspace(250,450)'; #K
k=kref.*exp(E/R.*(1./Tref-1./T));
XA_bm=(1+2.*k.*tau.*CA0-(1+4.*k.*tau.*CA0).^0.5)./(2.*k.*tau.*CA0);
XA_be=(T-T0)./deltaTad;

axis([250 450 0 1]);


xlabel("Temperatura, T/K"), ylabel("Conversión, XA")
plot(T,XA_bm,"1;;",T,XA_be,"3;;")
axis("auto");

Por tanto, bajo las condiciones de operación, solo es posible una temperatura y
conversión, que son 388 K y 0,88; respectivamente.

Veamos que sucede si la temperatura del flujo de entrada se reduce 20 grados,


es decir la alimentación entra al reactor a 280 K. Basta con modificar la varia-
ble T0 en el fichero anterior con el nuevo valor, y ejecutándolo resulta la solu-
ción que se muestra en la Figura 11.

38
1

Conversión, XA 0.8

0.6

0.4

0.2

0
250 300 350 400 450
Temperatura, T/K

Figura 10: Conversión en función de la temperatura para T0 = 300 K (ej. 2)

0.8
Conversión, XA

0.6

0.4

0.2

0
250 300 350 400 450
Temperatura, T/K

Figura 11: Conversión en función de la temperatura para T0 = 280 K (ej. 2)

39
Éste decremento de 20 grados en la temperatura de entrada resultada en tres
estados posibles de operación. Es evidente que habría que operar el reactor a
la temperatura de 345 K para alcanzar la conversión de 0,66.

Ejemplo 4.3. Operación poli-trópica para reacción reversible

Analizamos, ahora, el caso de una reacción reversible. La reacción A ↔ B, se


efectúa en un tanque agitado en forma continua. Determinamos, por tanto, los
estados estacionarios posibles. Los datos para este ejemplo son:
∆HR = −80 kJ/mol

N& A0 = 10 mol/s
CA0 = 2 mol/dm3
UA = 2000 J/(s K)
V = 500 dm3
Ta = 40 °C
k1 (373 K) = 0,001 s-1
CPA = CPB = 40 J/(mol K)
E1 = 150 kJ/mol
KC (350 K) = 100
T0 = 27 °C

Formulamos, primero, el balance de masa:


N& A0 X A = V (− R A ) = V (k1C A − k 2 C B )
que escrito en términos de conversión y utilizando la relación de la constante
de equilibrio KC = k1/k2 es

 C X 
V&0 C A0 X A = Vk1 C A0 (1 − X A ) − A0 A 
 KC 
Por manipulación algebraica, expresamos la conversión como función única de
la temperatura:

40
k1τ
XA =
 1 
1 + k1τ 1 + 
 KC 

Para una reacción reversible operando en un TAC poli-trópicamente, el balance


de energía se formula como
N& A0 C PA (T0 − T ) + UA(Ta − T ) + V (− R A )(− ∆H R ) = 0
que combinado con el balance de masa resulta
N& A0 C PA (T0 − T ) + UA(Ta − T ) + N& A0 X A (− ∆H R ) = 0
Finalmente expresamos éste balance de la forma XA = f (T):
UA N& A0 (T − T0 ) + C PA (T − T0 )
XA =
(− ∆H R )

Resolviendo gráficamente las ecuaciones usando GNU OCTAVE:

ej3.m
clear

NpuntoA0=10; # mol/s
CA0=2; #mol/dm3
UA=2000; #J/(s K)
V=500; # dm3
Ta=40+273.15; #K
k1ref= 0.001; #s-1 a 373 K
CPA=40; #J/(mol K)
CPB=CPA;
E1=150e3; #J/mol
KCref=100; #a 350 K
T0=27+273.15; #K
R=8.314; #J/(mol K)
deltaHR=-80e3; #J/mol

Vpunto0=NpuntoA0/CA0;
tau=V/Vpunto0;
T=linspace(350,500)'; #K
k1=k1ref.*exp(E1/R.*(1/373-1./T));
KC=KCref.*exp(deltaHR/R.*(1/350-1./T));
XA_bm=k1.*tau./(1+k1.*tau.*(1+1./KC));
XA_be=(UA.*(T-Ta)./NpuntoA0+CPA.*(T-T0))./-deltaHR;

axis([350 500 0 1]);


xlabel("Temperaura, T/K"), ylabel("Conversión, XA")
plot(T,XA_bm,"1;;",T,XA_be,"3;;")
axis("auto");

41
1

Conversión, XA 0.8

0.6

0.4

0.2

0
360 380 400 420 440 460 480 500
Temperaura, T/K
Figura 12: Conversión en función de la temperatura (ej. 3)

Los resultados indican que son posibles dos estados estacionarios de operación
que corresponden a temperaturas de 381 K y 431 K, con conversiones de 0,21
y 0,36; respectivamente.

Ejemplo 4.4. Operación poli-trópica para reacción irreversible de primer-


orden

La reacción exotérmica irreversible de primer-orden en fase líquida A → B se


efectuará en tanque agitado continuo que tiene una chaqueta de enfriamiento.
La especie A y un inerte I se alimentan al reactor en cantidades equimolares.
La velocidad de flujo molar de alimentación de A es 80 mol/min. Para la tem-
peratura de alimentación de 450 K se determina la temperatura de operación
del reactor. Otros datos son:
CPI = 30 cal/(mol ºC)
CPA = CPB = 20 cal/(mol ºC)
UA = 8000 cal/(min ºC)

42
Ta = 300 K
τ = 100 min
∆HR = −7500 cal/mol
k(350K) = 6,6 × 10-3 min-1
E = 40 000 cal/mol

Se resuelven simultáneamente las ecuaciones correspondientes al balance de


masa y energía, expresados como XA = f (T), que son:

XA =
1 + kτ
UA N& A0 (T − Ta ) + (C PA + C PI )(T − T0 )
XA =
(− ∆H R )

ej4.m
clear

CPA=20; #cal/(mol K)
CPI=30; #cal/(mol K)
UA=8000; #cal/(min K)
Ta=300; #K
NpuntoA0=80; #mol/min
T0=450; #K
deltaHR=-7500; #cal/mol
E=40000; #cal/mol
kref=6.6e-3; #min-1 a 350 K
Tref=350; #K
R=1.987; #cal/(mol K)
tau=100; #min

T=linspace(300,420)';#K
k=kref.*exp(E/R.*(1./Tref-1./T));
XA_bm=(k.*tau)./(1+k.*tau);
XA_be=(UA/NpuntoA0.*(T-Ta)+(CPA+CPI).*(T-T0))./-deltaHR;
axis([300 420 0 1]);
xlabel("Temperaura, T/K"), ylabel("Conversión, XA")
plot(T,XA_bm,"1;;",T,XA_be,"3;;")
axis("auto");

43
1

Conversión, XA 0.8

0.6

0.4

0.2

0
300 320 340 360 380 400 420
Temperaura, T/K

Figura 13: Conversión en función de la temperatura (ej. 4)

Bajo estas condiciones se alcanza la conversión total de reactivo operando el


reactor a 400 K.

Ejemplo 4.5. Reacciones en serie

Las reacciones elementales en fase líquida


A → B r1 = k1CA
B → C r2 = k2CB
se efectúan de forma continua en un tanque agitado de 10 dm3. Se determinan
cuales son las concentraciones en el efluente cuando la alimentación entra a
1000 dm3/min y contiene 0,3 mol/dm3 de A. La temperatura de entrada al re-
actor es 283 K.

Datos adicionales:
CPA = CPB = CPC = 200 J/(mol K)

44
k1(300K) = 3,3 min-1
E1 = 9900 cal/mol
k2(500K) = 4,58 min-1
E2 = 27 000 cal/mol
∆HR1 = -55 000 J/mol
∆HR2 = -71 500 J/mol
UA = 40 000 J/(min K)
Ta = 57 ºC

Balance de masa para A:


N& A0 − N& A + VR A = 0

ya que R A = − r1 = − k1C A , éste balance resulta


C A0
CA =
1 + k1τ

Balance de masa para B:


N& B 0 − N& B + VR B = 0

RB = r2 = k 2 C A , entonces

k1τC A k1τC A0
CB = =
1 + k 2τ (1 + k1τ )(1 + k 2τ )
Formulamos el balance de energía:
N& A0 C PA (T0 − T ) + UA(Ta − T ) + V [r1 (− ∆H R1 ) + r2 (− ∆H R 2 )] = 0
sustituyendo r1 y r2, luego reacomodando se tiene
(− ∆H R1 )k1τ
(− ∆H R 2 )k1τk 2τ
+ = C PA (1 + κ )(T − TC )
1 + k1τ (1 + k1τ )(1 + k 2τ ) 144
1444442444443
42444
R (T )
3
G (T )

donde
UA
κ=
&
N A0 C PA
y

45
T0 + κTa
Tc =
1+ κ
G(T) es la llamada curva de generación de calor, y R(T) la curva de remoción de
calor. La intersección de ambas representa la temperatura de operación del
reactor.

Fichero solución:
ej5.m
clear

CA0=0.3; #mol/dm3
UA=40000; #J/(min K)
V=10; # dm3
Vpunto0=1000; #dm3/min
Ta=57+273.15; #K
k1ref= 3.3; #min-1 a 300 K
k2ref= 4.58; #min-1 a 500 K
CPA=200; #J/(mol K)
CPB=CPA;
E1=9900; #cal/mol
E2=27000; #cal/mol
T0=283; #K
R=1.987; #cal/(mol K)
deltaHR1=-55000; #J/mol
deltaHR2=-71500; #J/mol

tau=V/Vpunto0;
T=linspace(250,750)'; #K
k1=k1ref.*exp(E1/R.*(1/300-1./T));
k2=k2ref.*exp(E2/R.*(1/500-1./T));
kapa=UA/(Vpunto0*CA0*CPA);
Tc=(T0+kapa*Ta)/(1+kapa);
rem_calor=CPA*(1+kapa).*(T-Tc);
gen_calor=(-deltaHR1*tau.*k1)./(1+tau.*k1)+(-
deltaHR2.*k1*tau.*k2*tau)./((1+tau.*k1).*(1+tau.*k2));

xlabel("Temperaura, T/K"), ylabel("R(T), G(T)")


plot(T,rem_calor,"1;R(T);",T,gen_calor,"3;G(T);")

46
160000
R(T)
G(T)
140000

120000

100000
R(T), G(T)

80000

60000

40000

20000

-20000
200 300 400 500 600 700 800
Temperaura, T/K

Figura 14: Curvas de remoción y generación de calor

Como resultado se encuentran 5 estados estacionarios de operación. Las posi-


bles temperaturas y concentraciones en el efluente se resumen en la tabla si-
guiente:

Tabla 2: Concentraciones en función de la temperatura


T CA CB CC
311 0.2831 0.0168 0.0000
361 0.1940 0.1059 0.0000
448 0.0334 0.2661 0.0005
556 0.0042 0.1732 0.1225
675 0.0008 0.0056 0.2935

47
Capítulo 5. Reactor Tubular Conti-
nuo

Además de los reactores TAC y por lotes, otro tipo de reactor de uso más gene-
ral en la industria es el reactor tubular continuo (RTC), que consiste en un tu-
bo cilíndrico y normalmente operado en estado estacionario. Para los fines de
ésta exposición, se considera sistemas en los que el flujo es altamente turbu-
lento y el campo de flujo se puede describir a través del modelo de flujo pistón
o tapón. Como consecuencia de esta suposición no se establecen gradiente ra-
diales de concentración y temperatura, pero si varían a lo largo del reactor.

5.1. Operación Isotérmica

En el reactor tubular, los reactivos se consumen continuamente a medida que


fluyen a lo largo del reactor. Al modelar el reactor suponemos que la concen-
tración varia continuamente en la dirección axial a todo lo largo del reactor.

48
Por consiguiente, la velocidad de reacción, que es una función de la concentra-
ción para todas las reacciones con excepción de las de orden cero, también
varía axialmente. Resulta más conveniente tener el volumen del reactor V como
variable independiente en lugar de la longitud del reactor, y por tanto el balan-
ce de moles sobre el reactor tubular se escribe como
dN& i
= Ri
dV

5.2. Operación Adiabática

Para la operación adiabática en estado estacionario, el balance de la energía


para el reactor tubular de flujo pistón se reduce a [Baerns, 1999]

= ∑ r j (− ∆H Rj )
dT
M& C P
dV j

debiendo resolverse esta ecuación juntamente con la ecuación del balance de


masa.

Resulta útil expresar la ecuación anterior en términos de flujos molares,

= ∑ r j (− ∆H Rj )
dT
∑ N& C
i
i Pi
dV j

Cuando transcurre una sola reacción química, el balance de masa y energía se


combinan resultando en la expresión siguiente [Baerns, 1999]:
N& Ao (− ∆H R )
T = T0 + X A = T0 + ∆Tad . X A
M& C P

5.3. Operación Poli-trópica

Cuando la temperatura varía en el reactor tubular, la ecuación de velocidad


debe incluir los efectos de la temperatura antes que el diseño pueda ser esta-

49
blecido. Si la temperatura es conocida en cada punto del reactor puede susti-
tuirse en las ecuaciones de velocidad y luego utilizarse un procedimiento de
integración numérica de la ecuación de diseño.

Para reactores donde la transferencia de calor Q& es importante, la temperatura


es una función de la longitud del reactor, como de la conversión. Bajo estas
condiciones, la ecuación de diseño y las expresiones del balance de energía
deben integrarse simultáneamente por métodos numéricos como por ejemplo el
método de Runge-kutta.

El balance de energía para un reactor flujo en pistón es [Baerns, 1999]

M& C P
dT
=U
dA
(Ta − T ) + ∑ r j (− ∆H Rj )
dV dV j

donde el término dA/dV representa el área específica a que para un tubo cilín-
drico recto es 4/D,

5.4. Ejemplos usando GNU Octave

Ejemplo 5.1. Tiempo espacial requerido para la conversión de una reac-


ción de primer-orden

La descomposición no-catalítica de buteno a butino debe efectuarse adiabáti-


camente en un Steam-Cracker,
C 4 H 8 → C4 H 6 + H 2
A→B+C r = kPA kmol/(h m3)
donde k = 1,75 × 1015 exp (−30200/T ) kmol/(m3 h bar). Los flujos molares a la
entrada del reactor son
N& A0 = 1 kmol/h

N& I = 10 kmol/h (vapor de agua como gas inerte)

50
La temperatura a la entrada es 923 K y la presión total de 1 bar se considera
constante a lo largo del reactor. La reacción es endotérmica, ∆HR = 126
kJ/mol. La capacidad calorífica de la mezcla de reacción para el rango de tem-
peratura de operación tiene el valor CP = 2,2 kJ/(kg K). Se determinar el valor
del tiempo espacial τ requerido para alcanzar 50 % de conversión.

Establecemos el balance de masa para A:

dN& A
= RA
dV
o bien
dX A
C A0V&0 =r
dV
El tiempo espacial τ se define como V V&0 , por lo tanto se tiene que

0,5 C A0 dX A
τ =∫
0 r
Se debe expresar ahora r como función únicamente de la conversión:
1− X A
r = kPA = kPA0
1 + εX A
ya que PA0 = C A0 RT0 ,

0,5 dX A
τ =∫
0 1− X A
kRT0
1 + εX A
1
donde ε = δy A0 =
11
Finalmente k es función de la temperatura, la que a su vez es función de la
conversión según la relación
N& Ao (− ∆H R )
T = T0 + XA
M& C P

Resolviendo usando GNU Octave:

fnc_ej1.m
function f=fnc_ej1(XA)

51
NpuntoA0=1; #kmol/h
NpuntoI=10; #kmol/h
T0=923; #K
deltaHR=126e3; #kJ/kmol
CP=2.2; #kJ/(kg K)
R=8.3086e-2; #(Pa m3)/(kmol K)
MA=56; #Kg/Kmol peso molecular
MI=18; #Kg/Kmol peso molecular
epsilon=1/11;

Mpunto=NpuntoA0*MA+NpuntoI*MI; #Kg/h
deltaTad=(NpuntoA0*-deltaHR)/(Mpunto*CP); #K
T=T0+deltaTad*XA;
k=1.75e15*exp(-32000/T); #Kmol/(m3 h bar)

f=(1+epsilon*XA)/(k*R*T0*(1-XA));

endfunction

ej1.m
clear

XA0=0;
XA=0.50;
tau=quad("fnc_ej1",XA0,XA) #h
disp("tiempo en horas")

52
Ejemplo 5.2. Perfiles de conversión y temperatura para operación adiabá-
tica de una reacción reversible

La reacción elemental en fase gaseosa A + B ⇔ 2C se efectuará en un reactor


tubular continuo. La alimentación contiene solo A y B en proporciones este-
quiométricas a 580,5 kPa y 77 ºC. La velocidad molar de alimentación de A es
20 mol/s. La reacción se lleva a cabo adiabáticamente. Se debe:
a) Determinar el volumen del reactor necesario para alcanzar el 85 % de la
conversión adiabática de equilibrio.
b) XA y T como función del largo del reactor si el área de sección transver-
sal es 0,01 m2.

Datos adicionales:
k(273K) = 0,035 dm3/(mol min)
E = 70 000 J/mol
HºA(25 ºC) = −40 kJ/mol
HºB(25 ºC) = −30 kJ/mol
HºC(25 ºC) = −45 kJ/mol
CPA = 25 J/(mol K)
CPB = 15 J/(mol K)
CPC = 20 J/(mol K)
KC(25 ºC) = 25 000

Escribimos, primeramente, el balance de masa para A:


dN& A
= RA
dV
que expresamos en términos de conversión,
dX A (− R A )
=
dV N& A0

 C C2 
en la que (− R A ) = k1  C A C B − 
 KC 

53
Para ésta operación adiabática, el balance de energía es

(N& A C PA + N& B C PB + N& C C PC )


dT
dV
= (− R A )(− ∆H R )

que rescribimos como


dT
=
(− R A )(− ∆H R )
dV N& A0 (1 − X A )C PA + N& A0 (1 − X A )C PB + 2 N& A0 X A C PC

Expresamos ahora las concentraciones como función de la conversión y tempe-


ratura:
T0 1 − X A
C A = C A0
T 1 + εX A
T0 1 − X A
C B = C A0
T 1 + εX A
T0 X A
C C = 2C A0
T 1 + εX A
P0
Para ésta reacción ε = 0 y C A0 = 0,5
RT0

Entonces se debe resolver dos ecuaciones diferenciales ordinarias:

fcn_ej2.m
function dudt=fnc_ej2(u,t)

XA=u(1);
T=u(2);

T0=77+273.15; #K
P0=508.5e3; #Pa
NpuntoA0=20; #mol/s
HA0=-40e3; #J/mol a 25 ºC
HB0=-30e3; #J/mol a 25 ºC
HC0=-45e3; #J/mol a 25 ºC
CPA=25; #J/(mol K)
CPB=15; #J/(mol K)
CPC=20; #J/(mol K)
k1ref= 0.035/60/1000; #m3/(mol s) a 273 K
E1=70e3; #J/mol
KCref=25000; #a 298 K
R=8.314; #J/(mol K)

deltaHR=2*HC0-HA0-HB0;
k1=k1ref*exp(E1/R*(1/273-1/T));

54
KC=KCref*exp(deltaHR/R*(1/298-1/T));
CA0=0.5*P0/(R*T0);
CA=CA0*T0/T*(1-XA);
CB=CA0*T0/T*(1-XA);
CC=2*CA0*T0/T*XA;
RA=-k1*(CA*CB-CC^2/KC);

dudt(1)=-RA/NpuntoA0;
dudt(2)=-RA*-deltaHR/(NpuntoA0*(1-XA)*CPA+NpuntoA0*(1-
XA)*CPB+2*NpuntoA0*XA*CPC);

endfunction

ej2.m
clear

XA0=0;
T0=77+273.15; #K
u0=[XA0 T0]';
V=linspace(0,0.25,30)'; #m3
u=lsode("fnc_ej2",u0,V);
XA=u(:,1);
T=u(:,2); #K
A=0.01; #m2
z=V/A;
xlabel("Longitud, z/m"), ylabel("Conversión, XA"), plot(z,XA,"-@17;;")
pause
xlabel("Longitud, z/m"), ylabel("Temperatura, T/K"), plot(z,T,"-@33;;")

dando como resultado los perfiles mostrados en la Figura 15 y Figura 16. De la


primera se estima que el volumen necesario de reactor para alcanzar una con-
versión de 85 % la de equilibrio (XA = 0,74) es un poco menos que 0,20 m3.

55
0.9

0.8

0.7

0.6
Conversión, XA

0.5

0.4

0.3

0.2

0.1

0
0 5 10 15 20 25
Longitud, z/m

Figura 15: Conversión a lo largo del reactor (ej.2)

800

750

700

650
Temperatura, T/K

600

550

500

450

400

350
0 5 10 15 20 25
Longitud, z/m

Figura 16: Temperatura a lo largo del reactor (ej.2)

56
Ejemplo 5.3. Perfiles de conversión y temperatura para operación poli-
trópica de una reacción de primer orden

La reacción elemental en fase gaseosa A → 2B se lleva a cabo en un tubo pro-


visto de una chaqueta de enfriamiento que mantiene la pared a 630 ºR. La ali-
mentación, que es puro A, entra al reactor a 650 ºR y 50 atm. Otros datos se
presentan más abajo. Se determinan los perfiles de temperatura y conversión a
lo largo del reactor para la operación poli-trópica del reactor.

D = 1/6 ft
CPA = 20 Btu/(lbmol ºR)
CPB = 15 Btu/(lbmol ºR)
∆HR = −8000 Btu/lbmol

 3000  −1
k = exp 7,82 − h
 T / °R 
U = 5 Btu/(ft2 h ºR)

Formulamos el balance de masa para A:


dX A r
=
dV N& A0
en la que la cinética de reacción es elemental, es decir r = kC A .

La concentración de A es función de la conversión y temperatura según

N& A N& A0 (1 − X A ) T 1− X A
CA = = = C A0 0
V& T P0 T 1 + εX A
V&0 (1 + εX A )
T0 P

P0
donde ε = 1 , ya que entra puro A, y C A0 = .
RT0

Escribimos el balance de energía:

N& A C PA
dT 4U
= (Ta − T ) + r (− ∆H R )
dV D
o bien

57
dT
4U
(Ta − T ) + r (− ∆H R )
= D
dV N& A0 (1 − X A )C PA

Resolvemos las ecuaciones diferenciales mediante los ficheros siguientes:

fnc_ej3.m
function dudt=fnc_ej3(u,V)

XA=u(1);
T=u(2);
D=1/6; #ft
T0=650; #ºR
Ta=630; #ºR
P0=50; #atm
CPA=20; #Btu/(lbmol ºR)
CPB=15; #Btu/(lbmol ºR)
deltaHR=-8000; #Btu/lbmol
k=exp(7.82-3000/T); #h-1
U=5; #Btu/(ft2 h ºR)
R=0.7302; #(ft3 atm)/(lbmol ºR)
epsilon=1;

CA0=P0/(R*T0); #lbmol/ft3
CA=CA0*T0/T*(1-XA)/(1+epsilon*XA);
r=k*CA;
NpuntoA=1; #lbmol/h

dudt(1)=r/NpuntoA;
dudt(2)=(4*U/D*(Ta-T)+r*-deltaHR)/(NpuntoA*(1-XA)*CPA);

endfunction

ej3.m
clear

XA0=0;
T0=650; #ºR
u0=[XA0 T0]';
V=linspace(0,1,30)'; #ft3
u=lsode("fnc_ej3",u0,V);
XA=u(:,1);
T=u(:,2); #K
xlabel("Volumen, V/ft3"), ylabel("Conversión, XA"), plot(V,XA,"-@17;;")
pause
xlabel("volumen, V/ft3"), ylabel("Temperatura, T/K"), plot(V,T,"-
@33;;")

58
0.9

0.8

0.7

0.6
Conversión, XA

0.5

0.4

0.3

0.2

0.1

0
0 0.2 0.4 0.6 0.8 1
Volumen, V/ft3

Figura 17: Conversión en función del volumen (ej. 3)

740

730

720

710
Temperatura, T/ºR

700

690

680

670

660

650

640
0 0.2 0.4 0.6 0.8 1
volumen, V/ft3

Figura 18: Temperatura en función del volumen (ej. 3)

59
Ejemplo 5.4. Operación poli-trópica para reacciones en paralelo

Las reacciones en fase gaseosa siguientes ocurren en un reactor tubular,


A→B r1 = k1CA
2A → C r2 = k2CA2
Puro A se alimenta a una velocidad de 100 mol/s, a 150 ºC y a una concentra-
ción de 0,1 mol/dm3. Se quiere determinar los perfiles de temperatura y velo-
cidades molares a lo largo del reactor.

Datos adicionales:
∆HR1 = -20 000 J/mol
∆HR2 = -120 000 J/mol
CPA = CPB = 90 J/(mol K)
CPC = 180 J/(mol K)
Ua = 4000 J/(s dm3 K)
Ta = 100 ºC

E  1 1 
k1 = 10 exp  1  − s −1
 R  300 T 
E1 = 8000 cal/mol

E  1 1 
k 2 = 0,045 exp  2  − s −1
 R  300 T 
E2 = 18 000 cal/mol

Este constituye un problema en el que ocurre más de una reacción química,


por tanto se deben efectuar tantos balances de masas como especies químicas
reaccionantes hay.

Balance de masa para A:


dN& A
= RA
dV
Balance de masa para B:
dN& B
= RB
dV

60
Balance de masa para C:
dN& C
= RC
dV
Las velocidades netas de formación se relacionan con las de reacción según la
estequiometría mediante las relaciones siguientes,
R A = −r1 − 2r2
R B = r1
RC = r2
Ahora relacionamos la concentración de A con los flujos molares y la tempera-
tura,
N& A N& A T N& A
CA = = = Ct 0 0
V& &
T P0 N t T N& t
V&0
T0 P N& t 0

donde C t 0 = C A0 + C B 0 + C C 0 y N& t = N& A + N& B + N& C .

Por último establecemos el balance de energía como


dT Ua(Ta − T ) + r1 (∆H R! ) + r2 (∆H R 2 )
=
dV (N& AC PA + N& B C PB + N& C C PC )

Resolviendo usando GNU Octave:

fnc_ej4.m
function dudt=fnc_ej4(u,t)

NpuntoA=u(1);
NpuntoB=u(2);
NpuntoC=u(3);
T=u(4);

T0=150+273.15; #K
NpuntoA0=100; #mol/s
CA0=0.1; #mol/dm3
deltaHR1=-20000; #J/mol
deltaHR2=-120000; #J/mol
CPA=90; #J/(mol K)
CPB=CPA;
CPC=180; #J/(mol K)
Ua=4000; #J/(S dm3 K)

61
Ta=100+273.15; # K
E1=8000; #cal/mol
E2=18000; #cal/mol
R=1.987; #cal/(mol K)
Ct0=CA0;

k1=10*exp(E1/R*(1/300-1/T)); #s-1
k2=0.045*exp(E2/R*(1/300-1/T)); #s-1
Npuntot=NpuntoA+NpuntoB+NpuntoC;
CA=Ct0*T0/T*NpuntoA/Npuntot;
r1=k1*CA;
r2=k2*CA^2;
RA=-r1-2*r2;
RB=r1;
RC=r2;

dudt(1)=RA;
dudt(2)=RB;
dudt(3)=RC;
dudt(4)=(Ua*(Ta-T)+r1*(-deltaHR1)+r2*(-
deltaHR2))/(NpuntoA*CPA+NpuntoB*CPB+NpuntoC*CPC);

endfunction

ej4.m
clear

NpuntoA0=100; #mol/s
NpuntoB0=0;
NpuntoC0=0;
T0=150+273.15; #K
u0=[NpuntoA0 NpuntoB0 NpuntoC0 T0]';
V=linspace(0,1,40)'; #dm3
u=lsode("fnc_ej4",u0,V);
NpuntoA=u(:,1);
NpuntoB=u(:,2);
NpuntoC=u(:,3);
T=u(:,4);
xlabel("Volumen,V/dm3"), ylabel("Flujo molar/(mol/s)"),
plot(V,NpuntoA,"-@;Flujo de A;",V,NpuntoB,"-@;Flujo de B;",V,NpuntoC,"-
@;Flujo de C;")
pause
xlabel("Volumen,V/dm3"), ylabel("Temperatura,T/K"), plot(V,T,"-@;;")

Ejecutando el fichero ej4.m da como resultado los perfiles que se muestran a


continuación:

62
100
Flujo de A
Flujo de B
Flujo de C
Flujo molar/(mol/s) 80

60

40

20

0
0 0.2 0.4 0.6 0.8 1
Volumen,V/dm3

Figura 19: Flujos molares en función del volumen del reactor (ej. 4)

850

800

750

700
Temperatura,T/K

650

600

550

500

450

400
0 0.2 0.4 0.6 0.8 1
Volumen,V/dm3

Figura 20: Temperatura en función del volumen del reactor (ej. 4)

63
Como se observa existe un máximo en el perfil de temperatura para un volu-
men de aproximadamente 0,4 dm3. En esta misma posición se consume total-
mente el reactivo A, es por eso que las reacciones ya no generan calor y por
tanto empieza a descender la temperatura.

64
Capítulo 6. Distribución de Tiempos
de Residencia

Para poder describir el comportamiento real de los reactores se deberá conocer


lo que sucede exactamente en su interior; es decir, si se dispusiese de una re-
presentación completa de la distribución de velocidades del fluido, se podría
predecir su comportamiento. Aunque esta técnica sería magnífica, la compleji-
dad que implica es tal que resultaría impracticable.

En realidad, en muchos casos no es necesario conocer muchas cosas; simple-


mente cuanto tiempo permanece cada una de las moléculas en el recipiente, o
más exactamente la distribución de tiempos de residencia (DTR) de la corriente
del fluido. Esta información puede determinarse de manera fácil y directa por
un método de investigación empleado ampliamente que es el estímulo-
respuesta[J. Gonzales, 1999].

65
6.1. Función de distribución de tiempos de residencia

El tiempo que transcurre para que una molécula pase por un reactor recibe el
nombre de tiempo de residencia t. Son dos las propiedades importantes de t: el
tiempo transcurrido desde que la molécula entró al reactor (su edad) y el resto
del tiempo que estará en el reactor (su vida residual).

Es evidente que, en general, los distintos elementos del fluido al seguir diferen-
tes caminos a lo largo del reactor tardarán tiempos diferentes en pasar a través
de él. La distribución de estos tiempos en la corriente de fluido que sale del
recipiente se denomina distribución de edad a la salida descrita por la función
E(t), o más conocida como distribución del tiempo de residencia (DTR) del flui-
do[C. Hill, 1999].

Es conveniente representar la DTR de tal manera que el área bajo la curva sea
la unidad, es decir [Fogler, 2001],

∫ E (t )dt = 1
0

Este procedimiento se denomina normalización de la distribución, y en la


Figura 21 se muestra esta distribución en forma normalizada. Otra forma de
visualizar es que si uno espera un tiempo suficientemente largo, todo el traza-
dor tendrá que salir.

Figura 21: Distribución de tiempos de residencia.

66
De acuerdo con esta representación la fracción de corriente de salida cuya
edad está comprendida entre t y t + dt es E (t ) dt .

Otra función útil, para describir la DTR, es la función de distribución acumu-


lativa F(t) [Fogler, 2001]:
t
F (t ) = ∫ E (t )dt
0

6.2. Medición de la DTR

La DTR se determina experimentalmente inyectando una sustancia, molécula o


átomo inerte, llamada trazador, en el reactor en algún instante t = 0 y midien-
do después la concentración del trazador CT en la corriente del efluente en fun-
ción del tiempo. Los dos métodos de inyección más utilizados son el de entrada
por pulso y el de entrada por escalón.

A continuación solo resumimos las relaciones que determinan la DTR a partir


de las mediciones de la concentración de trazador.

En el caso de un experimento por pulso se tiene que [Fogler, 2001]


C T (t )
E (t ) = ∞

∫ C (t )dt
0
T

Si en cambio se ejecuta un experimento por escalón utilizando un trazador con


concentración de entrada constante CT0, se tiene [Fogler, 2001]
C T (t )
F (t ) =
CT0

67
6.3. Momentos de la DTR

Es muy común comparar las DTRs utilizando sus momentos en lugar de tratar
de comparar todas sus distribuciones. Para este fin se usan normalmente tres
momentos. El primero es el tiempo de residencia medio definido como

t m = ∫ tE (t )dt
0

El segundo momento de uso común se toma alrededor de la media y se llama


varianza, o desviación estándar al cuadrado. La varianza se define como

σ = ∫ (t − t m ) E (t )dt
2 2

6.4. Ejemplos usando GNU Octave

Ejemplo 6.1. Construcción de las curvas CT(t), E(t), F(t) y cálculos de tiem-
po de residencia medio y varianza

Una muestra del trazador hytane se inyecto a 320 K en forma de pulso en un


reactor y se midió su concentración en el efluente en función del tiempo, obte-
niéndose los siguientes datos:

t/min 0 1 2 3 4 5 6 7 8 9 10 12 14
CT/(g/m3) 0 1 5 8 10 8 6 4 3 2,2 1,5 0,6 0

Para efectuar los cálculos se debe integrar numéricamente los datos experi-
mentales. En GNU Octave la función adecuada para realizar ésta tarea es
trapz, que implementa el método trapezoidal. La secuencia de cálculos y resul-
tados se presentan en el fichero ej1.m:

68
ej1.m
clear

t=[0 1 2 3 4 5 6 7 8 9 10 12 14]'; #min


CT=[0 1 5 8 10 8 6 4 3 2.2 1.5 0.6 0]'; #g/m3
xlabel("Tiempo, t/min"), ylabel("Concentración de trazador, CT/(gm3)")
plot(t,CT,"-@r;;"), pause
int_CT=trapz(t,CT);
E=CT./int_CT;
xlabel("Tiempo, t/min"), ylabel("E(t)")
plot(t,E,"-@g;;"),pause
n=length(CT);
F=zeros(n,1);
for i=1:n
F(i)=trapz(t(1:i),E(1:i));
endfor
xlabel("Tiempo, t/min"), ylabel("F(t)")
plot(t,F,"-@b;;")
tmedio=trapz(t,t.*E)
disp("Tiempo de residencia medio en min")
sigma2=trapz(t,(t-tmedio).^2.*E)
disp("varianza en min2")

Los resultados son los siguientes:

10
Concentración de trazador, CT/(gm3)

0
0 2 4 6 8 10 12 14
Tiempo, t/min

Figura 22: Curva CT(t).

69
0.2

0.18

0.16

0.14

0.12
E(t)

0.1

0.08

0.06

0.04

0.02

0
0 2 4 6 8 10 12 14
Tiempo, t/min

Figura 23: Curva E(t).

0.8

0.6
F(t)

0.4

0.2

0
0 2 4 6 8 10 12 14
Tiempo, t/min

Figura 24: Curva F(t).

70
71
Capítulo 7. Reactor de Lecho Empa-
cado

Los análisis considerados hasta ahora corresponden al diseño de reactores con


reacciones homogéneas. Ahora en éste capítulo se trata el análisis de reactores
con reacciones heterogéneas, al inicio se indica los fundamentos esenciales de
catálisis y la determinación de las ecuaciones velocidades catalíticas, para que
posteriormente sean usadas en las ecuaciones de diseño de reactores, de lecho
empacado juntamente con los efectos de caída de presión.

El análisis de sistema heterogéneos considera los factores que normalmente se


toman en cuenta en sistemas homogéneos junto con una especial atención en
la complejidad de la ecuación cinética y los modelos de contacto. Los sistemas
heterogéneos pueden tener distintas combinaciones de fases: Gas- sólido, Li-
quido - sólido y Gas – sólido – liquido. Pero, por lo general son del tipo sólido–
fluido, donde el sólido puede ser un reactivo o simplemente un catalizador ca-
racterizado por su selectividad y actividad catalítica[S. Peraz, 1998].

72
Catálisis se define como la habilidad de una sustancia para actuar como cata-
lizador en un sistema específico y depende de su naturaleza química. En la
catálisis heterogénea este fenómeno catalítico está relacionado con las propie-
dades químicas de la superficie del sólido que se elige como catalizador, siendo
por supuesto estas propiedades superficiales un reflejo de la química del sóli-
do.

Los procesos catalíticos se dividen en dos grupos: homogéneos y heterogéneos


que se desarrollan mediante reacciones complejas, donde se considera que el
catalizador se combina con alguno de los reactantes para dar un compuesto
intermedio, el cual a continuación reacciona para formar el producto de la re-
acción principal y dejar en libertad al catalizador que puede reaccionar nue-
vamente[J. Santamaría, 1999].

Por lo general, en reacciones catalizadas por sólidos se toman en cuenta las


siguientes consideraciones: — Al compararse o combinarse velocidades, es nece-
sario definirlas con respecto a la misma base. Por ejemplo, si se combina la
etapa de transporte de materia con la velocidad de reacción, la velocidad de
reacción debe basarse en la unidad de superficie y no en la de volumen como
suele hacerse en las reacciones homogéneas debido a que la velocidad de
transporte se define como el flujo de material por unidad de superficie.

Simplificar las ecuaciones en función de la etapa controlante que será el que


presentar mayor contribución en la resistencia global (la etapa de transporte
de materia o la etapa de velocidad de reacción). — Tomar en cuenta los efectos
de la temperatura en la velocidad de reacción.

Para reactores de sistemas sólido-fluido, la fase sólida tiene dos formas típicas
de presentación:
• Lecho relleno: puede ser fijo o móvil
• Lecho fluido

73
En cualquiera de los dos casos el fluido circula a través del lecho de longitud
frecuentemente mayor que el diámetro y cuya forma de mezclado ideal más
probable es el flujo pistón (Reactor de lecho relleno móvil). La mejor idealiza-
ción para su dinámica de flujo es el flujo pistón, particularmente si el lecho es
relleno (fijo o móvil). Para el lecho fluido el flujo pistón es menos probable, pero
aun así sigue siendo la idealización más favorable, a menos que por la geome-
tría del reactor se determine lo contrario, pero por lo general es muy difícil que
se cumpla el mezclado total. La mayor parte de los procesos catalíticos indus-
triales se llevan a cabo en reactores de lecho fijo, para los cuales existen dos
procedimientos generales de diseño[R. Perry, 1993].

7.1. Caída de presión en lechos empacados

En las reacciones en fase líquida, el efecto de los cambios en la presión total,


aun si son relativamente grandes, sobre la concentración de los reactivos es
insignificante. Por lo tanto, podemos hacer caso omiso del efecto de caída de
presión sobre la velocidad de reacción al dimensionar reactores químicos en
fase líquida. Sin embargo, en las reacciones en fase gaseosa la concentración
de las especies que reacciona es proporcional a la presión total y, por ello, una
consideración apropiada de los efectos de la caída de presión sobre el sistema
de reacción puede, en muchos casos, ser un factor clave para el éxito o fracaso
de la operación[Fogler, 2001].

La mayoría de las reacciones en fase gaseosa se canalizan haciendo pasar el


reactivo a través de un lecho empacado de partículas de catalizador. La ecua-
ción que más se usa para calcular la caída de presión en lechos porosos empa-
cados es la ecuación de Erguí [Fogler, 2001]:

dP G  1 − φ  150(1 − φ )µ 
=−    + 1.75G 
dz ρg c D P  φ  DP 

74
Utilizando la relación entre z y m (masa de catalizador), podemos cambiar las
variables para expresar la ecuación de Ergun en términos de peso del cataliza-
dor[4] [Fogler, 2001]:

dP α T P0  N& t 
−  
dm 2 T0 P P0 &
 N t0 

donde α es un parámetro de caída de presión para un lecho definido como [Fo-


gler, 2001]
2β 0
α=
Ac ρ c (1 − φ )P0

7.2. Ecuaciones de modelado para un reactor lecho empa-


cado

Los balances de masa y energía son similares a los del reactor tubular conti-
nuo con la diferencia que estos ya no se basan en el volumen del reactor donde
se llevan acabo reacciones homogéneas si no en la masa del catalizador por ser
heterogéneas[Fogler, 2001].

Balance de masa [Fogler, 2001]:


dN& i
= Ri′
dm

Balance de energía [Fogler, 2001]:

M& C P
dT Ua
= (Ta − T ) + ∑ r j′ (− ∆H Rj )
dm ρ b j

donde ρb es la densidad volumétrica del catalizador definida por la masa divi-


dida por el volumen del reactor:
m
ρb =
V

75
Existen los tres tipos de operaciones: isotérmico, adiabático, y poli-trópico. Es-
tos tres tipos de operaciones ya se discutieron en el Capitulo 5.

7.3. Ley de velocidad para reacciones heterogéneas

La determinación de parámetros cinéticos en una reacción catalizada es impor-


tante desde muchos puntos de vista. Por ejemplo, la determinación de los ór-
denes de reacción respecto a reactivos y productos es esencial para el estable-
cimiento del mecanismo de la reacción cuyo conocimiento es indispensable
para optimizar el catalizador. Asimismo, la información concerniente a los ór-
denes de reacción se utiliza para el diseño de reactores, tamaño y forma del
lecho catalítico, etc. Otro parámetro cinético de gran importancia, la energía de
activación, nos da información acerca de cómo la temperatura afectará la velo-
cidad de la reacción[4].

La velocidad de reacción se expresa en función de la diferencia global de con-


centración, la cual puede resultar simple si las expresiones cinéticas para to-
das las etapas del proceso son lineales respecto a la concentración. Caso con-
trario, la expresión resultante será compleja[J. Smith, 1970].

En las reacciones homogéneas la cinética esta da por r que se basa en el volu-


men del reactor mientras que la cinética en un reactor de lecho empacado esta
da por r´ y se basa en la masa del catalizador su forma general es la siguiente:

término cinético × término potencial propulsor


r′ =
terminos de adsorción

Cinética de Langmuir-Hinshelwood (L-H)

Para
A( g ) + B( g ) ⇔ C ( g )
se tiene que

76
k (PA PB − PC K P )
r′ =
(1 + K A PA + K B PB + K C PC )2
La reacción se efectúa en la superficie del catalizador donde las especies A, B y
C son adsorbidas.

Ecuación de Ely Rideal

Para
A( g ) + B( g ) ⇔ C ( g )
se tiene que [Fogler, 2001]
k (PA PB − PC K P )
r′ =
1 + K A PA + K C P C
La reacción se efectúa en la superficie del catalizador donde las especies A y C
son adsorbidas y la especie B reacciona desde la fase gaseosa.

7.4. Ejemplos usando GNU Octave

Ejemplo 7.1. Reacción en fase gaseosa en un reactor de lecho empacado


con caída de presión

La reacción catalítica en fase gaseosa A → B se efectuará en un rector tubular


de lecho empacado operando a temperatura constante. El reactivo es A puro
con una concentración a la entrada del reactor de 1 mol/dm3, la presión de
entrada es 25 atm, y el flujo volumétrico de entrada es 1 dm3/min. La constan-
te de reacción de primer-orden k es 1 dm3/(kg min).

a) Estudie el efecto de la caída de presión sobre la conversión, y grafique la


conversión XA y la presión relativa y como función del peso de catalizador m
para tres valores diferentes del parámetro de caída de presión α. Considere

77
que 0,05 kg-1 < α < 0,2 kg-1. Grafique XA y y contra m desde m = 0 kg hasta
m = 2 kg.
b) Repita la parte a) para una reacción de primer-orden en la cual hay un
cambio en el número de moles durante la reacción, A → 3B (δ > 0).
c) Repita la parte a) para la reacción de primer-orden A → 1/3B (δ < 0).

Procedemos a la solución escribiendo la ecuación de balance de masa para A,


dX A − rA′
=
dm N& A0
donde la ley cinética de primer-orden viene dada por
− rA′ = k ′C A
y según la estequiometría de la reacción se tiene que
1− X A
C A = C A0 y
1 + εX A

La caída de presión relativa en este rector de lecho empacado esta descrita por
la ecuación
dy α 1 + εX A
=−
dm 2 y

Los ficheros de las funciones descritas anteriormente y su solución son:

fcn_ej1a.m
function dudm=fnc_ej1(u,m)
global alfa delta

XA=u(1);
y=u(2);
CA0=1; #mol/dm3
Vpunto0=1; #dm3/min
kprima=1; #dm3/(kg min)
yA0=1;

NpuntoA0=CA0*Vpunto0; #mol/min
epsilon=delta*yA0;
CA=CA0*y*(1-XA)/(1+epsilon*XA);
rA=-kprima*CA;

dudm(1)=-rA/NpuntoA0;

78
dudm(2)=-alfa/2*(1+epsilon*XA)/y;

endfunction

ej1a.m
clear
global alfa delta

XA0=0;
y0=1;
u0=[XA0 y0]';
deltaj=[0 3 -2/3]';
alfai=[0.05 0.125 0.2]';
m=linspace(0,2,30)'; #kg
n=length(deltaj);
o=length(alfai);
for j=1:n
delta=deltaj(j);
for i=1:o
alfa=alfai(i);
u=lsode("fnc_ej1",u0,m);
XA(:,i)=u(:,1);
y(:,i)=u(:,2);
endfor
xlabel("Masa de catalizador, m/kg"), ylabel("Conversión, XA"),
plot(m,XA,"-@;;")
pause
xlabel("Masa de catalizador, m/kg"), ylabel("Caída de presión relati-
va, y"), plot(m,y,"-@")
pause
endfor

Obsérvese el uso de ciclos for para resolver los tres incisos al mismo tiempo.
Se fijaron tres valore de α: 0,05 kg-1, 0,125 kg-1 y 0,2 kg-1; que corresponden a
las líneas 1,2, y 3 respectivamente. Los perfiles de conversión y caída de pre-
sión se muestran a continuación,

79
0.9

0.8

0.7

0.6
Conversión, XA

0.5

0.4

0.3

0.2

0.1

0
0 0.5 1 1.5 2
Masa de catalizador, m/kg

Figura 25: Conversión en función de la masa de catalizador para la reacción


irreversible A → B (ej. 1)

1
line 1
line 2
line 3
0.95
Caída de presión relativa, y

0.9

0.85

0.8

0.75
0 0.5 1 1.5 2
Masa de catalizador, m/kg

Figura 26: Caída de presión relativa en función de la masa de catalizador para


la reacción irreversible A → B (ej. 1)

80
0.7

0.6

0.5
Conversión, XA

0.4

0.3

0.2

0.1

0
0 0.5 1 1.5 2
Masa de catalizador, m/kg

Figura 27: Conversión en función de la masa de catalizador para la reacción


irreversible A → 3B (ej. 1)

1
line 1
line 2
0.9 line 3
Caída de presión relativa, y

0.8

0.7

0.6

0.5

0.4

0.3
0 0.5 1 1.5 2
Masa de catalizador, m/kg

Figura 28: Caída de presión relativa en función de la masa de catalizador para


la reacción irreversible A → 3B (ej. 1)

81
1

0.9

0.8

0.7
Conversión, XA

0.6

0.5

0.4

0.3

0.2

0.1

0
0 0.5 1 1.5 2
Masa de catalizador, m/kg

Figura 29: Conversión en función de la masa de catalizador para la reacción


irreversible A → 1/3B (ej. 1)

1
line 1
line 2
line 3
0.98
Caída de presión relativa, y

0.96

0.94

0.92

0.9

0.88
0 0.5 1 1.5 2
Masa de catalizador, m/kg

Figura 30: Caída de presión relativa en función de la masa de catalizador para


la reacción irreversible A → 1/3B (ej. 1)

82
Al observar las figuras anteriores, se establece los siguiente; La conversión fi-
nal entre los diferentes valores del parámetro α no varía considerablemente,
prácticamente el perfil es el mismo; pero al existir un incremento de moles en
la reacción (A → 3B ), la conversión es menor. Por el contrario si existe un de-
cremento en los moles (A → 1/3B ), la conversión se ve favorecida (valores cer-
ca de 1) por la caída de presión a lo largo del reactor. En todos los casos los
perfiles de caída de presión son similares, haciendo notar que ésta es más sua-
ve para un decremento en el número de moles (valores por encima de 0,88) en
oposición con caídas bruscas para un aumento en el número de moles (valores
por debajo de 0,4).

Ejemplo 7.2. Diseño de un reactor de lecho empacado para una reacción


catalítica en fase gaseosa

La reacción catalítica irreversible en fase gaseosa A + B → C + D se efectuará


en un reactor de lecho empacado con cuatro catalizadores diferentes. Para ca-
da catalizador la expresión cinética tiene una forma diferente, tal como sigue:
k ′C A C B
− rA′1 =
1 + K AC A
k ′C A C B
− rA′ 2 =
1 + K AC A + K C CC
k ′C A C B
− rA′ 3 =
(1 + K A C A + K B C B )2
k ′C A C B
− rA′ 3 =
(1 + K A C A + K B C B + K C CC )2

La velocidad de flujo de alimentación molar de A es N& A0 = 1,5 mol/min, y las

concentraciones inicial de reactivos a la entrada del reactor son CA0 = CB0 = 1


mol/dm3. Hay una masa total m = 2 kg de cada catalizador en el reactor. La
constante cinética de reacción y los diferentes parámetros cinéticos catalíticos
son:

83
k´ = 10 dm6/(kg min)
KA = 1 dm3/mol
KB = 2 dm3/mol
KC = 20 dm3/mol

a) Calcule y grafique la conversión XA contra la masa de catalizador m para


cada una de la expresiones cinéticas catalíticas cuando la operación del re-
actor es a presión constante.
b) Repita la parte a) cuando la razón de presión relativa dentro el reactor esta
dado por
dy α
=−
dm 2y
donde y = P/P0 y α es una constante con valor de 0,4 kg-1.

Escribimos la ecuación de balance de masa para A:


dX A − rA
=
dm N& A0

Según la estequiometría, las concentraciones se expresan como función de la


conversión y la caída de presión,
C A = C B = C A0 y (1 − X A )
C C = C D = C A0 yX A

Para el primer caso, el parámetro de caída de presión es constante e igual a la


unidad, y = 1. Escribimos los ficheros considerando las diferentes cinéticas
correspondientes a cada uno de los catalizadores:

fnc_ej2a.m
function dudm=fnc_ej2a(u,m)

XA1=u(1);
XA2=u(2);
XA3=u(3);
XA4=u(4);

84
CA0=1; #mol/dm3
CB0=CA0; #mol/dm3
NpuntoA0=1.5; #mol/min
kprima=10; #dm6/(kg min)
KA=1; #dm3/mol
KB=2; #dm3/mol
KC=20; #dm3/mol
alfa=0.4; #kg-1

CA1=CA0*(1-XA1);
CA2=CA0*(1-XA2);
CA3=CA0*(1-XA3);
CA4=CA0*(1-XA4);
CB1=CA1;
CB2=CA2;
CB3=CA3;
CB4=CA4;
CC1=CA0*XA1;
CC2=CA0*XA2;
CC3=CA0*XA3;
CC4=CA0*XA4;
rA1=-(kprima*CA1*CB1)/(1+KA*CA1);
rA2=-(kprima*CA2*CB2)/(1+KA*CA2+KC*CC2);
rA3=-(kprima*CA3*CB3)/(1+KA*CA3+KB*CB3)^2;
rA4=-(kprima*CA4*CB4)/(1+KA*CA4+KB*CB4+KC*CC4)^2;

dudm(1)=-rA1/NpuntoA0;
dudm(2)=-rA2/NpuntoA0;
dudm(3)=-rA3/NpuntoA0;
dudm(4)=-rA4/NpuntoA0;

endfunction

ej2a.m
clear

XA10=0;
XA20=0;
XA30=0;
XA40=0;
u0=[XA10 XA20 XA30 XA40]';
m=linspace(0,2,30)'; #kg
u=lsode("fnc_ej2a",u0,m);
XA=u;
xlabel("Masa de catalizador, m/kg"), ylabel("Conversión, XA"),
plot(m,XA,"-@")

El perfil de conversiones se muestra más abajo, donde la numeración de las


líneas corresponde con la de las leyes cinéticas. Es evidente que la forma de la

85
ecuación cinética determina un perfil de conversión que es diferente para cada
caso.

1
line 1
0.9 line 2
line 3
line 4
0.8

0.7
Conversión, XA

0.6

0.5

0.4

0.3

0.2

0.1

0
0 0.5 1 1.5 2
Masa de catalizador, m/kg

Figura 31: Conversión en función de la masa de catalizador sin caída de pre-


sión (ej. 2)

Ahora tomamos en cuenta la caída de presión:

fnc_ej2b.m
function dudm=fnc_ej2b(u,m)

XA1=u(1);
XA2=u(2);
XA3=u(3);
XA4=u(4);
y=u(5);

CA0=1; #mol/dm3
CB0=CA0; #mol/dm3
NpuntoA0=1.5; #mol/min
kprima=10; #dm6/(kg min)
KA=1; #dm3/mol
KB=2; #dm3/mol
KC=20; #dm3/mol
alfa=0.4; #kg-1

CA1=CA0*y*(1-XA1);

86
CA2=CA0*y*(1-XA2);
CA3=CA0*y*(1-XA3);
CA4=CA0*y*(1-XA4);
CB1=CA1;
CB2=CA2;
CB3=CA3;
CB4=CA4;
CC1=CA0*y*XA1;
CC2=CA0*y*XA2;
CC3=CA0*y*XA3;
CC4=CA0*y*XA4;
rA1=-(kprima*CA1*CB1)/(1+KA*CA1);
rA2=-(kprima*CA2*CB2)/(1+KA*CA2+KC*CC2);
rA3=-(kprima*CA3*CB3)/(1+KA*CA3+KB*CB3)^2;
rA4=-(kprima*CA4*CB4)/(1+KA*CA4+KB*CB4+KC*CC4)^2;

dudm(1)=-rA1/NpuntoA0;
dudm(2)=-rA2/NpuntoA0;
dudm(3)=-rA3/NpuntoA0;
dudm(4)=-rA4/NpuntoA0;
dudm(5)=-alfa/(2*y);

endfunction

ej2b.m
clear

XA10=0;
XA20=0;
XA30=0;
XA40=0;
y0=1;
u0=[XA10 XA20 XA30 XA40 y0]';
m=linspace(0,2,30)'; #kg
u=lsode("fnc_ej2b",u0,m);
XA=u(:,1:4);
y=u(:,5);
xlabel("Masa de catalizador, m/kg"), ylabel("Conversión, XA"),
plot(m,XA,"-@")
pause
xlabel("Masa de catalizador, m/kg"), ylabel("Caída de presión relativa,
y"), plot(m,y,"-@;;")

El resultado de la Figura 32 muestra que los perfiles de conversión son prácti-


camente similares al caso de presión constante, pero ligeramente los valores
que se alcanzan son menores debido a la caída de presión a lo largo del reac-
tor.

87
0.9
line 1
line 2
0.8 line 3
line 4
0.7

0.6
Conversión, XA

0.5

0.4

0.3

0.2

0.1

0
0 0.5 1 1.5 2
Masa de catalizador, m/kg

Figura 32: Conversión en función de la masa de catalizador con caída de pre-


sión (ej. 2)

0.9
Caída de presión relativa, y

0.8

0.7

0.6

0.5

0.4
0 0.5 1 1.5 2
Masa de catalizador, m/kg

Figura 33: Caída de presión relativa en función de la masa de catalizador (ej. 2)

88
Ejemplo 7.3. Reacción exotérmica reversible en fase gaseosa en un reac-
tor de lecho empacado

La reacción elemental en fase gaseosa 2A ⇔ C se lleva a cabo en un reactor de


lecho empacado. Alrededor del reactor se encuentra un intercambiador de ca-
lor y a lo largo hay caída de presión.

La expresión general de diseño de un reactor para una reacción catalítica en


términos de conversión es un balance de masa en moles del reactivo A dado
por
dX A − rA
=
dm
N& A0
La expresión cinética catalítica para esta reacción reversible es

 C 
− rA =  kC A2 − C 
 KC 
donde la constante cinética obedece la expresión de Arrhenius,

 E  1 1 
k = k (T1 ) exp   − 
 R  T1 T 
y la variación de la constante de equilibrio con la temperatura se puede deter-
minar a partir de la ecuación de van’t Hoff,

 ∆H R  1 1 
K C = K C (T1 ) exp   − 
 R  T1 T 

La estequiometría de la reacción gaseosa 2A ⇔ C permite expresar las concen-


traciones en función de la conversión y temperatura tomando en cuenta los
cambios volumétricos debido al decremento en el número de moles durante la
reacción. Es así que
1 − X A T0
C A = C A0 y
1 + εX A T
0.5C A0 X A T0
CC = y
1 + εX A T

89
La caída de presión se puede expresar como una ecuación diferencial,
dy 2 1 − εX A T0
=−
dm α y T

El balance de energía se puede escribir como

ρ b (Ta − T ) + r (− ∆H R )
Ua ′
dT
=
dm N& A0 C PA

Los valores de los diferentes parámetros para este problema son

CPA = 40,0 J/(mol K)


CPC = 80,0 J/(mol K)
∆HR = -40 000 J/mol
E = 41 800 J/(mol K)
k(450K) = 0,5 dm6/(kg min mol)
KC(450K) = 25 000 dm3/mol
CA0 = 0,271 mol/dm3
T0 = 450K
R = 8,314 J/(mol K)
N& A0 = 5,0 mol/min
Ua/ρb = 0,8 J/(kg min K)
Ta = 500K
α = 0,015 kg-1
P0 = 10 atm

Grafique la conversión XA, presión relativa y y temperatura T a lo largo del re-


actor desde m = 0 kg hasta m = 20 kg.

Solución:

fnc_ej3.m

function dudm=fnc_ej3(u,m)

90
XA=u(1);
y=u(2);
T=u(3);
T0=450; #K
NpuntoA0=5; #mol/min
CA0=0.271; #mol/dm3
deltaHR=-40000; #J/mol
CPA=40; #J/(mol K)
CPC=80; #J/(mol K)
kprimaref=0.5; #dm6/(kg min mol) a 450
KCref=25000; #dm3/mol a 450
Ua_rhob=0.8; #J/(Kg min K)
Ta=500; # K
E=41800; #J/(mol K)
R=8.314; #J/(mol K)
alfa=0.015; #Kg-1
P0=10; #atm
delta=-0.5;
yA0=1;

epsilon=delta*yA0;
kprima=kprimaref*exp(E/R*(1/450-1/T));
KC=KCref*exp(deltaHR/R*(1/450-1/T));
CA=CA0*y*(1-XA)/(1+epsilon*XA)*T0/T;
CC=0.5*CA0*XA*y/(1+epsilon*XA)*T0/T;
rprima=kprima*(CA^2-CC/KC);
rAprima=-rprima;

dudm(1)=-rAprima/NpuntoA0;
dudm(2)=-alfa/2*(1+epsilon*XA)/y*T/T0;
dudm(3)=(Ua_rhob*(Ta-T)+rprima*(-deltaHR))/(NpuntoA0*CPA);

endfunction

ej3.m
clear

XA0=0;
y0=1;
T0=450; #K
u0=[XA0 y0 T0]';
m=linspace(0,20,30)'; #kg
u=lsode("fnc_ej3",u0,m);
XA=u(:,1);
y=u(:,2);
T=u(:,3);
xlabel("Masa de catalizador, m/Kg"), ylabel("Conversion, XA"),
plot(m,XA,"-@r+;;")
pause
xlabel("Masa de catalizador, m/Kg"), ylabel("Caída de presión relativa,
y"), plot(m,y,"-@g*;;")
pause
xlabel("Masa de catalizador, m/Kg"), ylabel("Temperatura, T/K"),
plot(m,T,"-@bo;;")

91
0.8

0.7

0.6
Conversion, XA

0.5

0.4

0.3

0.2

0.1

0
0 5 10 15 20
Masa de catalizador, m/Kg

Figura 34: Conversión en función de la masa de catalizador (ej. 3)

0.95
Caída de presión relativa, y

0.9

0.85

0.8

0.75
0 5 10 15 20
Masa de catalizador, m/Kg

Figura 35: Caída de presión relativa en función de la masa de catalizador (ej. 3)

92
1200

1100

1000
Temperatura, T/K

900

800

700

600

500

400
0 5 10 15 20
Masa de catalizador, m/Kg

Figura 36: Temperatura en función de la masa de catalizador (ej. 3)

93
Capítulo 8. Conclusiones y
recomendaciones

8.1. Conclusiones

• Se logró la revisión y resumen de la materia de Diseño de Reactores II


ya que existía mucha información respecto a este punto y mas bien que
se trato de enfocar toda la información hacia la aplicación del programa
para sacarle mayor provecho.

• Se encontraron problemas tipo y ejemplos mediante los cuales su obtu-


vo los códigos para la aplicación del programa y así poder demostrar la
utilidad y versatilidad que nos brinda GNU Octave al resolver las ecua-
ciones diferenciales que resultan de los balances de masa y energía.

94
• La utilización del programa será muy fácil ya que ahora se cuenta con el
manual en español y con ejemplos que son muy didácticos que facilitan
el aprendizaje de los alumnos y puedan aplicar a la materia de diseño de
reactores II.

• Se resolvieron los problemas escogidos escribiendo los ficheros necesa-


rios para su ejecución. Estos ficheros fueron revisados y se encuentran
en el CD que se proporciona junto al texto. La estructura del documen-
to esta divida en capítulos que corresponden al contenido de la materia
o plan global [ Anexo 3 ] de Diseño de Reactores II.

8.2 Recomendaciones

• Se recomienda introducir el programa GNU Octave como parte de la ma-


teria de diseño de reactores II por ser una herramienta muy útil en la
resolución de problemas.

• Se puede utilizar este documento como un texto complementario en la


materia de diseño de reactores I y II, ya que en el se muestran una serie
de ejemplos resueltos que son muy útiles para que el alumno aprenda
las asignaturas .

• Se debería dar un curso de unas dos semanas tiempo suficiente para


que el alumno aprenda sobre el manejo del programa y así poder resol-
ver todas las dudas que se le puedan presentar.

• Se recomienda buscar otros tipos de aplicaciones sobre la carrera ya


que el programa es muy versátil y puede ser de mucha ayuda en otras
asignaturas que también presentan ecuaciones difíciles de resolver ana-
líticamente o numéricamente.

95
• Es aconsejable la difusión del programa ya que este no es muy conocido
y así poder llegar a más personas que necesitan una herramienta que
les facilita el cálculo de ecuaciones diferenciales.

96
Referencias bibliográficas

• Baerns M. , H. Hofmann & A. Renken, “Chemische Reaktionstechnik.


Georg Thieme”, 1999.

• Bockhorn H., “Einführung in die Chemische Reaktionstechnik”, Springer,


2004.

• Carberry, J.J., “Chemical and Catalytic Reactors”, Mc Graw-Hill. Tradu-


cido al castellano: 1980, Géminis, Madrid.

• Coulson, J.M. y J.F. Richardson, 1979. "Chemical Engineering, Vol.


III", 2ª edición, Pergamon. Traducido al castellano: 1984, Reverté.

• Denbigh, K.G.; Turner, J.C.R., "Introducción a la Teoría de los Reacto-


res Químicos", 3ª ed.Limusa, S.A., 1990, Méjico.

• Eaton Jhon W., “A high-level interactive language for numerical computa-


tions”, GNU OCTAVE , 2004

• Fitzer, Fritz & Emig. “Technische Chemie. Springer”, 1995.

• Fogler, H. S., "Elementos de Ingeniería de las Reacciones Químicas", 3ª


ed., Prentice-Hall, 2001, México.

• Froment, G. y K.B. Bischoff, "Chemical Reactor Analysis and Design",


2ª edición. J. Wiley, 1990.

• Geankoplis Christie J., “Procesos de Transporte y Operaciones Unita-


rias”, Tercera Edición, Editorial Continental, 1998, México.

• González, J.R., “Cinética Química Aplicada”. Editorial Síntesis, 1999,


Madrid.

97
• Hill, C.G., Jr., “An Introduction to Chemical Engineering Kinetics and
Reactor Design”, John Wiley

• Hagen J., “Chemiereaktoren.”, Wiley-VCH, 2004.

• Levespiel, O., "Ingeniería de las Reacciones Químicas". Reverté. 2ª edi-


ción, 1974. Barcelona.

• Müller E.-Erlwein., “Chemische Reaktionstechnik. B.G. Teubner”, 1998.

• Pérez, S.O. y A. Gómez, “Problemas y Cuestiones en Ingeniería de las


Reacciones Químicas”. Bellisco. Ediciones Técnicas y Científicas, 1998,
Madrid.

• Perry Robert H., “Manual del Ingeniero Químico”, Sexta Edición, Edito-
rial McGraw-Hill, Tomo II, 1993, México.

• Santamaría J.M., “Ingeniería de Reactores”. Editorial Síntesis, 1999,


Madrid.

• Smith J.M., "Cinética en Ingeniería Química", 2ª edición. Mc. Graw-Hill.


New York. Traducido al castellano: 1977, C.E.C.S.A., Mexico.

98
Anexo 1. Instalación de GNU Octave

A1.1. Cómo Instalar GNU Octave en tu Computador.

1-. Aquí comienzas con los pasos de la instalación en tu PC. El primer paso es
aceptar el contrato de GNU OCtave. Para seguir con la instalación debes pre-
sionar "I Agree".

99
2-. Luego, te ofrece cual opción de instalación debes elegir. Te recomendamos
la opción "Install for All Users" y presionar "next".

3-. En este paso, te indica donde guardará la aplicación GNU Octave. Como
predeterminado viene la opción de guardarlo en la carpeta "archivos de pro-
grama" (recomendado). Para continuar presiona "Install".

100
4-. Este paso te permite elegir el tipo de sistema que tienes para usar el mejor
GNU Octave en tu computador. El numero 3: es para Pentium II y el 4: es para
Pentium IV . Para continuar presiona el numero entre el 1 y el 4, por ejemplo el
4 si tu computador es Pentium IV y luego presiona "Enter".

5-. Por ultimo presiona "Close".

101
6-. Ya haz finalizado la instalación de GNU Octave. Para empezar a usar el
programa tienes que buscar el icono de GNU Octave en el escritorio de tu PC.

GNU Octave 2.1.42.lnk

A1.2. Como guardar y correr un archivo de GNU Octave

Para poder correr los archivos de GNU Octave se deben guardar en la carpeta
que se encuentra en:
C:\Archivos de programa\GNU Octave 2.1.50\octave_files

Para poder guardar un archivo se tiene que colocar el nombre seguido de la


extensión .m por ejemplo:
fnc_ej3.m

En esta carpeta octave_files uno puede crear otras carpetas con distintos nom-
bres, para poder acceder a ellas se usa el comando “cd” por ejemplo
cd reactor_tubular_continuo

102
Anexo 2. Manual de Uso de GNU Oc-
tave

A2.1. Introducción a Octave

A2.1.1. ¿Qué es Octave?

Octave es un lenguaje de alto nivel para realizar cálculos numéricos en el com-


putador, y también es un programa capaz de interpretar éste lenguaje y reali-
zar cálculos. Ofrece una interfaz de usuario interactiva, orientada a una línea
de comandos, pero también puede ser utilizado en modo no-interactivo leyendo
sus órdenes de fichero.

El programa fue desarrollado originalmente para facilitar la tarea a los estu-


diantes de Ingeniería Química de la universidad de Texas, sin que estos tuvie-
ran que enfrentarse a las dificultades de la programación. Su flexibilidad, en
seguida, lo hizo popular y su uso se expandió a otros problemas relacionados

103
con el álgebra lineal y las ecuaciones diferenciales, lo cual favoreció su desa-
rrollo.

Otros programas de características similares, y hasta ciertos puntos compati-


bles, son el lenguaje R de la FSF, Matlab y Scilab. Octave es un software libre
(bajo licencia GNU), lo que significa que se puede usar y redistribuir libremen-
te, y que cualquiera puede ayudar para mejorarlo. El programa está disponible
en Internet en la página http://www.octave.org.

A2.1.2. Usar Octave

En la mayoría de los casos, la forma de arrancar Octave en sistemas LINUX es


desde la línea de comandos tecleando octave, en WINDOWS basta con hacer
doble click sobre el icono correspondiente o seleccionar el programa en el me-
nú Programas. Octave muestra un mensaje inicial y un prompt indicando que
está esperando órdenes del usuario:
GNU Octave, version 2.1.42 (i686-pc-cygwin).
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 John W.
Eaton.
This is free software; see the source code for copying conditions.
There is ABSOLUTELY NO WARRANTY; not even for MERCHANTIBILITY or
FITNESS FOR A PARTICULAR PURPOSE. For details, type `warranty'.

Please contribute if you find this software useful.


For more information, visit http://www.octave.org/help-wanted.html

Report bugs to <bug-octave@bevo.che.wisc.edu>.

>>

Para terminar Octave, basta con teclear quit o exit en el prompt:


>> exit

Ejemplos sencillos

Las secciones siguientes describen las características de Octave en mayor de-


talle, pero antes de continuar es recomendable mostrar (e intentar) algunos

104
ejemplos. Cada vez que se complete una línea con una pulsación de retorno de
carro, el programa responderá con un segundo prompt para seguir recibiendo
entrada del usuario, o con la respuesta (puede tardar más o menos según el
número de operaciones necesaria para computarla) si el usuario introdujo una
orden completa.

Según se van introduciendo los comandos, Octave los almacena en un "histo-


rial de comandos" y permite su recuperación y edición. Simplemente pulsando
las flechas del teclado numérico, o si esto no funcionara con las teclas Con-
trol+b o Control+f para mover el cursor a la izquierda o derecha en el comando
que estamos tecleando, y con Control+p y Control+n para recuperar órdenes
anteriores (retroceder en la historia) o volver a las últimas órdenes.

Ejemplo. Definición de números

El siguiente ejemplo define dos números, el primero el número real 2, y el se-


gundo el número complejo 2+2j:
>> a = 2.1
a = 2.1
>> b = a+2j
b = 2.1 + 2i

Inicialmente, los símbolos i y j son representaciones de la unidad imaginaria.


Ambos símbolos son equivalentes. Ésto es cierto siempre y cuando no se asig-
ne otro valor a las variables i y j o a sus correspondientes mayúsculas. Por eso
motivo se desaconseja su uso como variable. Lo mismo sucede con las cons-
tantes pi (relación entre la longitud de la circunferencia y su diámetro) y e (ba-
se del logaritmo neperiano).

En la definición de la variable b se ha usado la variable a. Así, si una variable


está a la izquierda del signo = se estará asignando valor a esa variable, y si es-
tá a la derecha será sustituida por su valor a la hora de hacer los cálculos.

105
También se observa que no hay ninguna diferencia a la hora de definir un nú-
mero real, complejo o imaginario, o al usarlo, lo que supone una gran comodi-
dad a la hora de programar.

Octave usa el punto (.) para definir números decimales (exactamente igual que
en las calculadoras).

Para obtener el valor de una variable basta con teclear el nombre de la variable
a continuación del prompt,
>> b
b = 2.1 + 2i

Ejemplo. Creación de un vector

Si queremos crear un vector de fila con los elementos 1, 2, 1:


>> v = [1 2 1]
v =
1 2 1

Para crear un vector columna,


>> w = [1;-1;2]
w =
1
-1
2

Los símbolos [] se usan para definir vectores y matrices. Si se trata de un vec-


tor fila, se introducen los elementos separados por espacios (o tabulaciones) o
por coma (,). Si es un vector columna se introducen los elementos separados
por retornos de carro o por punto y coma (;). En el caso de las matrices, los
elementos se introducen por filas. Está permitido usar cualquier cantidad de
espacios para separar elementos.

Ejemplo. Creación de una matriz

106
Para almacenar la matriz identidad de rango 3 en una variable escribiríamos lo
siguiente:
>> I = [1 0 0;0 1 0; 0 0 1]
I =
1 0 0
0 1 0
0 0 1

Octave responde imprimiendo por pantalla la matriz correctamente formatea-


da. A partir de este momento la variable I contendrá la matriz identidad de or-
den 3. El mismo resultado hubiéramos podido conseguir usando la función
eye(3). Otros ejemplos de funciones que crean matrices son ones(), zeros() y
rand(). Si desea saber como utilizar estas funciones teclee en el prompt help
seguido del comando correspondiente.

A2.2. Sintaxis de Octave

Una de las características principales de Octave y que hacen de él una herra-


mienta de fácil aprendizaje es la simplicidad e intuitividad de su lenguaje de
programación. En los siguientes apartados se describen las reglas básicas para
escribir órdenes y programas usando este lenguaje.

Octave ofrece soporte para datos predefinidos, que incluyen escalares (reales y
complejos), vectores, matrices, cadenas de caracteres y estructuras. También
es posible la definición de nuevos datos por parte el usuario, programados en
algún lenguaje que produzca código máquina (FORTRAN, C++), aunque esta
posibilidad aún no ha sido documentada suficientemente. Por este motivo en
esta sección nos centraremos únicamente en los datos predefinidos (Built-in).

A2.2.1. Objetos numéricos

Los objetos numéricos predefinidos son los escalares (reales y complejos), y las
matrices (los vectores se consideran matrices especiales, en que una de sus
dimensiones es 1). Todos los datos numéricos son almacenados como números

107
de doble precisión, lo que significa que en sistemas que usan el formato en
punto flotante de la IEEE se pueden representar números en el rango 2.2e-308
a 1.7e+308 y la precisión aproximada de 2.2e-16. Los valores exactos se en-
cuentran en las variables realmin, realmax y eps, respectivamente.

Escalares

Los números escalares se pueden especificar en formato decimal, hexadecimal


(precedidos por el prefijo 0x). Los números en formato hexadecimal sólo pue-
den ser enteros. Los números decimales, además permiten usar notación cien-
tífica, pudiéndose utilizar los símbolos e, E, d o D seguidos por un número n
para significar multiplicado por 10 elevado a la potencia n. Algunos ejemplos
son:
105
1.05e2
1050E-1
0x69

Todos ellos representan el número 105. Para representar el número complejo


10+11i:
10 + 11i
1.0d1 + 0xBi
10 + 110D-1j
0xA + 0xbj

Recordar que i y j y sus correspondientes mayúsculas representan la unidad


imaginaria, y que debe ser el último dígito de la cantidad imaginaria y sin es-
pacios con el resto del número. Tanto 100je-1, j100 o 100j son incorrectos.

Rangos numéricos

Un rango es una forma más cómoda de escribir un vector con elementos equi-
espaciados. Un rango se define como una base o primer valor del rango, un
valor opcional de incremento entre elementos y un valor máximo que el rango
no superará. Estos tres elementos se separan por el símbolo dos puntos (:). El

108
incremento puede ser positivo o negativo, y en caso de omitirse se asumirá va-
lor 1. Por ejemplo:
>> 1:10
ans =
1 2 3 4 5 6 7 8 9 10
>> 1:2:10
ans =
1 3 5 7 9

El máximo del rango puede que no sea alcanzado en la expansión del rango. Si
es necesario que forme parte del conjunto de elementos y se conoce el número
de elementos que debe contener, se recomienda usar la función linspace() en
su lugar.

Matrices

Es muy simple definir matrices. La definición se hace introduciendo los ele-


mentos por filas, o bien concatenando otras matrices. Las dimensiones de la
matriz son determinadas automáticamente a partir de los datos. Se produce
un error si alguna de las filas o columnas de la matriz final tiene distinto nú-
mero de elementos que el resto. Para separar filas usamos punto y coma (;) o
presionar un retorno de carro:
>> a = [1 2; 3 4]
a =
1 2
3 4
>> b = [a a]
b =
1 2 1 2
3 4 3 4

Para recuperar un elemento de una matriz, simplemente tenemos que indicar


el nombre de la variable seguido por unos paréntesis, y dentro éste el índice de
fila y el de columna del elemento que queramos recuperar:
>> b(2,3)
ans = 3

En el caso de un vector basta con indicar un sólo índice (el de la posición del
elemento), o se puede usar la notación de dos índices, pero en este caso si el

109
vector es un vector fila el primer índice valdrá uno y si es un vector columna
será el segundo índice el que valga uno.

Para recuperar varios elementos consecutivos de una misma fila de una matriz
(esto es un vector fila), usaremos un rango como segundo índice. Si en cambio
queremos recuperar un vector columna, usaremos un rango como primer índi-
ce. Y si lo que queremos es recuperar una sub-matriz usaremos rangos tanto
para el primer como para el segundo índice:
>> b(1,2:3)
ans =
2 1
>> b(1:2,3)
ans =
1
3
>> b(:,2:3)
ans =
2 1
3 4

Si se desean todos los elementos de una fila o de una columna, basta con indi-
car el rango sólo con los dos puntos: b(1,:) nos devolvería la primera fila de b.
Para más información, desde el prompt de Octave teclear help -i matrices.

A2.2.2. Variables

Las variables nos permiten dar nombre a los valores que nos interesa guardar
y poder referirnos a ellos más tarde. Ya se han visto muchos ejemplos de va-
riables en los ejemplos anteriores. El nombre de una variable debe ser una se-
cuencia de letras, dígitos, y subrayados (guión bajo), pero no puede empezar
por dígito. Octave no impone ninguna restricción a la longitud de los nombres
de variables.

Sin embargo nombres que empiecen por dos subrayados se reservan para el
uso interno y sólo se deberán en el código para acceder a las variables predefi-
nidas (y documentadas).

110
El nombre de una variable es una expresión válida. Representa el valor alma-
cenado en la variable. Una variable se define cuando se le asigna valor por
primera vez, y no hay ningún problema en asignarle posteriormente distintos
valores, aunque sean de otros tipos. Se da valor a una variable utilizando el
operador igual (=) y si se trata de variables numéricas, con los operadores de
incremento.

Existen algunas variables predefinidas que tienen un significado especial, por


ejemplo algunas permiten configurar la forma en que se comporta Octave, y
otras almacenan constantes matemáticas útiles. Algunas de ellas son constan-
tes y no pueden cambiarse, otras son pueden ser modificadas exactamente
igual que una variable normal. Las variables no tienen tipo fijo, así que es po-
sible almacenar distintos tipos de dato en la misma variable. Únicamente
hemos de ser cuidadosos para no utilizar una variable antes de haberla defini-
do.

Un tipo especial de variable son las variables globales. Una variable global es
aquella que se declara utilizando la palabra reservada global. Una variable de-
clarada de esta manera puede ser accedida desde cualquier ámbito, indepen-
dientemente de dónde se haya definido.

A2.2.3. Operadores

Los operadores permiten construir sentencias más complejas. Es posible con-


catenar operaciones. Su precedencia es semejante a la de otros lenguajes, pero
es posible modificarla agrupando las expresiones entre paréntesis. Para obte-
ner la lista completa de la precedencia de los operadores teclear help -i prece-
dence.

Operadores aritméticos

Operan sobre escalares y matrices.

111
Tabla de operadores aritméticos:
Operador Descripción
Suma. Si los dos operadores son matrices las dimensiones deben
x+y
coincidir. Si no el escalar se suma a cada elemento de la matriz.
x .+ y Suma elemento a elemento. Esta operación es equivalente a +.
Resta. El resultado es equivalente a x + (-y), donde -y representa el
x–y
opuesto de y.
x .- y Resta elemento a elemento. Esta operación equivale a -.
Multiplicación de matrices. El número de columnas de x debe coin-
x*y
cidir con el número de filas de y.
x .* y Multiplicación de matrices elemento a elemento.
División derecha. Conceptualmente es equivalente a (inverso (y') *
x/y x')', pero sin necesidad de calcular la inversa de y ni calcular las
transpuestas de las matrices.
División elemento a elemento, de los elementos de x divididos por
x ./ y
los elementos de y.
x\y División izquierda. Conceptualmente es equivalente a inverso (x) * y.
División elemento a elemento, de los elementos de y entre los ele-
x .\ y
mentos de x
Operación de exponenciación. Ambos operadores no pueden ser
x ^ y o x ** y
matrices, y si alguno es matriz, deberá ser cuadrada.
Exponenciación, elemento a elemento. Si ambos operadores son
x .^ y o x .** y
matrices, deberán tener igual dimensión.
Negación. Se obtiene el escalar opuesto o la matriz de igual dimen-
-x
sión y cuyos elementos son los opuestos de la matriz original.
Operador suma unitario. No tiene ninguna consecuencia sobre el
+x
operando.
Conjugado complejo y transpuesta. Para números reales es equiva-
x'
lente a la transposición.
x.' Transposición de los elementos de x. No se conjugan los elementos.
Operador de preincremento. Equivalente a ejecutar la expresión
++x
x=x+1 antes de acceder al valor de x
Operador de predecremento. Equivalente a ejecutar la expresión
--x
x=x-1 antes de acceder al valor de x
Operador de postincremento. Equivalente a ejecutar la expresión
x++
x=x+1 después de acceder al valor de x

112
Operador de postdecremento. Equivalente a ejecutar la expresión
x--
x=x-1 después de acceder al valor de x

Operadores de comparación

Todos los operadores de comparación devuelven un valor 1 si la comparación


es cierta, y 0 si es falsa. Para matrices las operaciones se realizan operando a
operando. Por ejemplo:
>> [1 2; 3 4] == [1 3; 2 4]
ans =
1 0
0 1

Si un operador es escalar y el otro una matriz, el escalar se compara con cada


elemento de la matriz y el resultado tiene las mismas dimensiones que la ma-
triz.

Tabla de operadores de comparación:


Operador Descripción
x<y Cierto si x es menor que y.
x <= y Cierto si x es menor o igual que y.
x == y Cierto si x es igual que y.
x>y Cierto si x es mayor que y.
x >= y Cierto si x es mayor o igual que y.
x != y o x ~= y o x <> y Cierto si x no es igual a y.

Operadores booleanos

El resultado de un operador booleano es una matriz de dimensión equivalente


a los operandos, donde cada elemento es el resultado de aplicar el operador
booleano a los elementos correspondientes. Se considera como cierto un valor
distinto de cero, y falso un valor igual a cero. Los operadores booleanos se
pueden emplear en las mismas situaciones que los operadores de compara-

113
ción. Si además se utilizan en estructuras de control de flujo (if o while) sólo
serán cierto si todos los elementos son distintos de cero:
>> [1 0] & [1 1]
ans = 1 0

Únicamente hay tres operadores booleanos:

Tabla de operadores voléanos:


Operador Descripción
boolean1 & boo- Operador 'and' lógico. Cada elemento del resultado es cierto si los elemen-
lean2 tos correspondientes de los operandos lo son.
boolean1 | boo- Operador 'or' lógico. Cada elemento del resultado es cierto si alguno de los
lean2 elementos correspondientes de los operandos lo es.
! boolean o ~ boo- Operador 'not' lógico. Cada elemento del resultado toma el valor booleano
lean opuesto al del operando.

Operador de asignación

El signo igual (=) es el operador de asignación. Después de una asignación una


variable cambia de valor y de tipo para acomodarse al del nuevo valor. El ope-
rador asignación es la única manera de poder almacenar valores. En el lado
derecho puede aparecer cualquier expresión de las descritas anteriormente en
este capítulo, o funciones que devuelvan un valor. En el lado izquierdo pode-
mos tener variables, elementos de una matriz o vector, o listas de valores de
retorno (este concepto se aclarará en el apartado dedicado a funciones). Ejem-
plos:
>> a = 1;
>> b = ones(2,3);
>> b(:,1) = 2
b =
2 1 1
2 1 1
>> [d c] = size(b);
>> e = ["esta " "es " "una " "cadena"];

114
A2.2.4. Expresiones de control de flujo

Las expresiones de control de flujo influyen en la forma en que el código es eje-


cutado, y dividen el código en bloques. Los bloques empiezan con una palabra
reservada, por ejemplo while y terminan con la palabra reservada endwhile,
formada por el prefijo end y la misma palabra que empezó el bucle. También es
posible acabar un bloque con la palabra end. El código que se entre dichas
palabras se denomina el cuerpo de la expresión de control. Las siguientes
construcciones son posibles:

Sentencia if

if (condición)
cuerpo-entonces
endif

if (condición)
cuerpo-entonces
else
cuerpo-alternativa
endif

if (condición)
cuerpo-entonces
elseif (condición)
cuerpo-entonces
else
cuerpo-alternativa
endif

Si la condición del if es cierta, entonces se ejecuta el cuerpo-entonces que está


a continuación. Si es falso se pasa a evaluar la condición del siguiente elseif,
ejecutando se el código correspondiente si su condición es cierta, o pasando al
siguiente en caso contrario. Finalmente, si ninguna condición evaluó cierta se
ejecuta el cuerpo-alternativa. Tanto los elseif, como el else son opcionales, sin
embargo puede haber tantos elseif como sean necesarios.

Sentencia while

115
La sintaxis es la siguiente:
while (condición)
cuerpo
endwhile

Las sentencias del cuerpo se ejecutaran mientras condición se siga evaluando


a cierto. Si en el cuerpo no se modifica alguna de las variables que se evalúan
en la condición entraremos en un bucle infinito.

Sentencia for

La sintaxis de la sentencia for es muy semejante a la del while:


for var = expresión
cuerpo
endfor

En el bucle for se evalúa la expresión una vez al principio y se asigna a la va-


riable var. Sin embargo la expresión de asignación del for funciona un poco
distinto que en el resto de los casos. En lugar de asignar la expresión comple-
ta, se asigna sólo una columna y el bucle va iterando en todas las columnas.
Por ejemplo:
>> for a = ones(2,1)*[1:3]
>> a
>> endfor
a =
1
1
a =
2
2
a =
3
3

Normalmente el bucle for se usa cuando se quieren hacer las cosas cierto nú-
mero de veces (tantas como columnas tenga el resultado de evaluar la expre-
sión).

Sentencias break y continue

116
Estas sentencias sólo pueden usarse dentro de bucles for y while. La sentencia
break salta fuera del bucle más interno que lo encierra. En el siguiente ejem-
plo, el bucle terminará cuando la variable var valga 3:
for var = 1:10
a
if(a==3)
break
endif
endfor

La sentencia continue es semejante, pero en lugar de terminar el bucle termina


sólo la iteración actual. Ejemplo:
for var = 1:10
if(a==3)
continue
endif
a
endfor

En este caso el bucle llegará hasta el final (a=10), pero no se imprimirá el valor
de a cuando esta valga 3.
Normalmente estas dos sentencias se usan desde dentro de condiciones if.

Funciones y scripts de usuario

Las funciones y scripts son el mecanismo que ofrece Octave para simplificar la
escritura de programas o la carga de datos iniciales. Se pueden escribir direc-
tamente en la línea de comandos de Octave, o en ficheros externos. En ese ca-
so los scripts y las funciones se invocan exactamente igual que cualquier otra
función predefinida de Octave. La única condición es que esos ficheros se en-
cuentren en un directorio dentro del path de Octave . Para más información
sobre el path de búsqueda de ficheros de Octave consultar help -i LOADPATH.

Los ficheros de scripts y funciones de Octave tienen extensión ".m" por compa-
tibilidad con Matlab. Las funciones tienen el siguiente formato:
function variable_retornada = nombre_funcion (lista_argumentos)
cuerpo_de_función
endfunction

El formato tiene los siguientes campos:

117
Empiezan con la palabra clave function que indica el inicio de la declaración de
una función de octave. Opcionalmente sigue la declaración de las variables
retornadas. Puede ser una única variable (de cualquier tipo permitida en octa-
ve) o una lista de variables entre corchetes ([]). Las variables pueden ser de dis-
tintos tipos. Si no existe la lista de variables, tampoco deberá aparecer el signo
igual y la función no devolverá ningún valor.

El nombre de la función opcionalmente sigue la lista de argumentos entre pa-


ren tesis () y separados por comas. Si no aparece la lista de argumentos la fun-
ción no tendrá parámetros de entrada. A continuación sigue el código o cuerpo
de la función. La función termina con la palabra end o endfunction. Por ejem-
plo:
function [x y] = polar2cartesiano(radio, angulo)
x = radio*cos(angulo);
y = radio*sin(angulo);
endfuncion

Para que sea posible la devolución de algún valor, dentro del cuerpo de la fun-
ción deben existir variables de igual nombre que las que aparecen en el campo
variable_retornada. No es necesario devolver ningún valor explícitamente. De-
ntro del cuerpo de la función son accesibles las variables declaradas en la lista
de argumentos, que tendrán el valor que se les asignó al hacer la llamada (la
forma de asignar los valores a las variables es por la posición, es decir, el pri-
mer valor será asignado a la primera variable de la lista de argumentos). Si el
último de los argumentos de la función es el símbolo ..., significa que la fun-
ción admite un número indeterminado de parámetros. Es responsabilidad del
programador afrontar el tratamiento de los parámetros no declarados explíci-
tamente. Se puede terminar en cualquier momento la ejecución de la función
usando la palabra return. Además de lo anterior, dentro del cuerpo de la fun-
ción está disponible la variable nargin. Su valor es asignado automáticamente
al número de parámetros que se han pasado en la llamada. Esto puede permi-
tirnos hacer un pequeño chequeo antes de continuar con la ejecución del resto
del código y evitar fallos por falta de parámetros. Por ejemplo:
function [x y] = polar2cartesiano(radio, angulo)
if(nargin!=2)
fprintf(2,"Error, el número de parámetros debe ser 2\n");

118
return
endif
x= radio*cos(angulo);
y= radio*sin(angulo);
endfuncion

Excepto para pequeños "programillas de juguete", no es práctico tener que de-


finir todas las funciones cada vez. En lugar de ello es posible guardarlos en
ficheros de texto y así conservarlos para futuros usos.

Octave no requiere que se carguen las funciones antes de usarlas. Simplemen-


te es necesario que se guarden en un fichero con extensión ".m", en un directo-
rio de los indicados en la variable LOADPATH, y que el nombre del fichero co-
incida con el de la función.

Los scritps son simples ficheros de texto en el que se introducen las sentencias
de la misma manera que se introducen en la línea de comandos. Su principal
utilidad es definir un entorno de trabajo en cualquier momento, definiendo una
serie de variables y/o funciones. Cada vez que queramos recuperar ese estado
deberemos volver a invocar el script por su nombre (sin la extensión). La única
restricción es que la primera sentencia no debe ser la definición de una fun-
ción. En caso contrario Octave pensará que se trata de un fichero de función y
los resultados no serán los esperados.

A2.3. Funciones de entrada/salida

A2.3.1. Funciones básicas de escritura en disco

Estas funciones son save y load. La primera guarda variables a un fichero, la


segunda carga variables de un fichero al espacio de trabajo. Para más informa-
ción, remitirse al comando help,
help load
help save

119
A2.3.2. Gráficas

Octave normalmente está configurado para usar gnuplot para representar sus
gráficos. El programa externo elegido puede configurarse con la variable gnu-
plot_binary. Existen cuatro funciones para representar gráficas en Octave:
plot() y mesh() para representaciones en 2 y 3 dimensiones respectivamente.
Admiten como parámetros vectores y matrices para representar (cuidado con
las dimensiones).

Las otras dos funciones son gplot y gsplot. Son simples interfaces para las fun-
ciones plot y splot del programa gnuplot, y por lo tanto admiten la misma sin-
taxis.

Para obtener más información: help plot. Éstos son unos ejmplos del comando
plot:

plot (x, y, "@12", x, y2, x, y3, "4", x, y4, "+")

Éste comando graficará y con punto del tipo 2 (mostrados como +) y color 1
(rojo), y2 con líneas, y3 con líneas de color 4 (magenta) y y4 con punto mostra-
dos como + .

t = 0:0.1:6.3;
plot (t, cos(t), "-;cos(t);", t, sin(t), "+3;sin(t);");

Éstos graficará las funciones coseno y seno con su leyenda correspondiente.

A2.4. Ecuaciones diferenciales ordinarias

En esta sección se nombrarán una de las utilidades que posee Octave para
resolver problemas de ecuaciones diferenciales ordinarias (EDOs).

La función lsode se usa para resolver ODEs de la forma


dx

120
-- = f (x, t)
dt

su sintaxis es
lsode (“nombre_funcion”, x0, t)

que devuelva una matriz de x como una función de t, dada el estado inicial del
sistema x0. Cada uno resultados en la matriz corresponde a uno de los ele-
mentos en el vector t. El primer elemento de t corresponde al estado x0 inicial,
para que la primera fila del rendimiento sea x0. Por ejemplo:

>> function dxdt = f (x, t)


>>
>> r = 0.25;
>> k = 1.4;
>> a = 1.5;
>> b = 0.16;
>> c = 0.9;
>> d = 0.8;
>>
>> dxdt(1) = r*x(1)*(1 - x(1)/k) - a*x(1)*x(2)/(1 + b*x(1));
>> dxdot(2) = c*a*x(1)*x(2)/(1 + b*x(1)) - d*x(2);
>>
>> endfunction

dada la condición inicial


x0 = [1; 2];

y u conjunto de tiempos solución como un vector de columna (notesé que el


primer elemento de t corresponde a la condición inical dada anteriormente,
t = linspace (0, 50, 200)';

La integración es entonces
x = lsode ("f", x0, t);

A2.5. Referencias
Octave es un programa muy extenso (y fácilmente extensible), de gran utilidad
en el mundo de la ingeniería, las ciencias, la informática y muchos otros cam-
pos de la ciencia en que se necesite una herramienta suficientemente potente

121
para realizar todo tipo de cálculo numérico, y a la vez sencilla que permita un
fácil aprendizaje

Este documento ha tratado de ser una introducción a Octave, centrándose


principalmente en las particularidades del lenguaje. Si se desea profundizar
más en el aprendizaje de Octave, se recomiendan las siguientes referencias:

La ayuda en línea: desde el prompt de Octave tecleando "help".

La página oficial de Octave: http://www.octave.org


Esta página centraliza toda la información de Octave. Es el principal punto de
referencia.

La página http://sourceforge.net/projects/matlinks/. Proyecto Open Source


que pretende desarrollar, coordinar y organizar funciones y código de cálculo
matemático. El objetivo final es desarrollar "ToolBoxes" similares a las de Ma-
tlab.

Octave forma parte de prácticamente todas las distribuciones de Linux, por lo


que obtener el programa y la documentación es tan simple como instalar los
paquetes correspondientes.

122
Anexo 3. Plan Global de la Materia

1. Identificación

Asignatura: Diseño de Reactores II

Código SIS: 2004180


Facultad: Ciencias y Tecnología
Carrera: Ingeniería Química
Departamento: Química
Nivel: Noveno semestre
Pre-requisitos: Diseño de Reactores I (2004161)

Área de coordinación curricular:

Horizontal: Laboratorio de Reactores (2004186)


Análisis y Diseño de Proceso Químicos
(2004079)
Diseño de Plantas Químicas (2004182)

123
Dinámica y Control de Procesos (2004083)
Laboratorio Operaciones Unitarias II
(2004188)

Vertical: Diseño de Reactores I (2004161)

Gestión: Semestre II/05

Horarios: Lunes de 08:15 a 10:45, aula 660


Martes de 08:15 a 10:45, aula 660
Jueves de 08:15 a 10:45, aula 661

Nombre del docente: Sergio Carballo


Dirección: Calle Javier Baptista s/n
Teléfono: 4287487

2. Justificación general

En los procesos industriales existe alguna etapa de transformación química en


la que los materiales son convertidos en productos. Ésta etapa es considerada
el centro del proceso, y la viabilidad de éste último depende en gran medida de
las condiciones a las que se efectúan las transformaciones o reacciones quími-
cas.

Las reacciones químicas transcurren en el interior de equipos como tanques y


otras configuraciones llamados reactores. La ingeniería de la reacciones quími-
cas es la rama que estudia los fundamentos de la cinética de las reacciones
químicas y los tipos de reactores en las que se efectúan éstas. Es más, ésta
rama es la que distingue a un ingeniero químico de las demás ingenierías.

Un ingeniero químico debe tener la capacidad de diseñar, analizar y optimizar


reactores químicos. Para este propósito se necesita conocer los fundamentos
de la ingeniería de las reacciones químicas, y aplicarlos en forma integral junto
con la termodinámica, fisicoquímica y otras disciplinas. Es también necesario

124
conocer los distintos tipos y configuraciones de reactores químicos que se utili-
zan en los procesos industriales.

3. Propósitos generales

Se pretende que los estudiantes de la carrera de ingeniería química adquieran


los conocimientos fundamentales de la ingeniería de las reacciones químicas,
así como técnicas para analizar el comportamiento de los reactores químicos.
Esto les permitirá tener la capacidad y criterio para diseñar y optimizar proce-
sos industriales en los que los materiales son transformados en productos a
través de algún tipo de reactor.

4. Objetivos generales

El objetivo general de la asignatura es analizar los reactores químicos emplea-


dos en los procesos industriales, presentando todos los fundamentos y herra-
mientas necesarios para que el estudiante adquiera un dominio teórico de la
materia.

5. Estructuración en unidades didácticas y su descripción


5.1. Balances de masa y energía en sistemas homogéneos con reac-
ciones Químicas

Duración: 6 horas académicas.

5.1.1. Objetivos de la unidad

• Formular las ecuaciones diferenciales de balance de masa y energía.


• Formular las ecuaciones integrales de balance de masa y energía sobre
un control de volumen V .

5.1.2. Contenido

• Cálculo y notación tensorial.

125
• Las ecuaciones de continuidad, balance de masa.
• La ecuación de energía, balance de calor.

5.1.3. Metodología de enseñanza

• Exposición dialogada y resolución de problemas como ejemplos.

5.2. Estequiometría de las reacciones químicas

Duración: 6 horas académicas.

5.2.1. Objetivos de la unidad

• Revisar los conceptos y cálculos estequiométricos asociados a las reac-


ciones químicas.

5.2.2. Contenido

• Definición de velocidad de reacción.


• Definición de conversión.
• Relaciones estequiométricas en una reacción química.
• Sistemas de fase líquida y gaseosa.

5.2.3. Metodología de enseñanza

• Exposición dialogada y resolución de problemas como ejemplos.

5.3. Modelado y análisis de reactores ideales homogéneos

Duración: 40 horas académicas.

126
5.3.1. Objetivos de la unidad

• Formular las ecuaciones de diseño de reactores ideales para sistemas


homogéneos.
• Modelar y analizar el comportamiento de los reactores ideales a diferen-
tes condiciones de operación para diferentes sistemas de reacciones
químicas.

5.3.2. Contenido

• Reactor tanque agitado discontinuo.


• Operación isotérmica.
• Operación adiabática.
• Operación poli-trópica.

• Reactor tanque agitado continuo.

• Operación isotérmica.
• Operación adiabática y estabilidad.
• Operación poli-trópica y estabilidad.

• Reactor tubular.

• Operación isotérmica.
• Operación adiabática.
• Operación poli-trópica.

• Reactor tanque agitado semi-continuo.


• Arreglo de reactores continuos.

5.3.3. Metodología de enseñanza

Exposición dialogada y resolución de problemas como ejemplos.

127
5.4. Comportamiento real de los reactores en sistemas homogéneos

Duración: 20 horas académicas.

5.4.1. Objetivos de la unidad

• Analizar el comportamiento de los reactores mediante la distribución de


tiempos de residencia.
• Formular diferentes modelos para describir el comportamiento real de
los reactores.

5.4.2. Contenido

• Distribución de tiempos de residencia en reactores.


• Modelos de reactores reales.
• Modelo de segregación.
• Modelo de dispersión.
• Modelo de tanques en serie.
• Modelo de tanque real.

5.4.3. Metodología de enseñanza

Exposición dialogada y resolución de problemas como ejemplos.

5.5. Reacciones en sistemas heterogéneos

Duración: 26 horas académicas.

5.5.1. Objetivos de la unidad

• Describir los pasos y mecanismo de las reacciones heterogéneas catalíti-


cas.
• Formular leyes de velocidad para las reacciones catalíticas.
• Describir y modelar el reactor catalítico de lecho empacado.

128
5.5.2. Contenido

• Reacciones heterogéneas y pasos de reacción.


• Cinética de reacciones catalíticas.
• Difusión y reacción en catalizadores porosos.
• Reactor de lecho empacado.

5.5.3. Metodología de enseñanza

Exposición dialogada y resolución de problemas como ejemplos.

6. Evaluación

La evaluación de la asignatura se realiza mediante dos exámenes escritos. La


duración de éstos no excederá los 120 minutos. El primer examen comprende
las unidades 1 a 3, y el segundo las unidades 4 a 5. Otros exámenes, como el
final, segunda instancia y los de mesa, se efectuarán según reglamento.

Los estudiantes están obligados a asistir a los exámenes los días que el docen-
te fijará las primeras semanas de clases. Si algún estudiante no se presentase
a un examen, no se le asignará nota alguna, además que no se le otorgará la
posibilidad de rendir éste examen en otra fecha, salvo autorización justificada
ante autoridad facultativa pertinente.

7. Cronograma

La materia se desarrollará en sesiones de aula de dos horas académicas cada


una. Se realizan tres sesiones por semana durante aproximadamente 20 se-
manas.

8. Disposiciones generales

La asistencia de los estudiantes a las sesiones de aula es totalmente libre. Los


ejercicios resueltos en clase pretenden demostrar como desarrollar estrategias

129
y técnicas de solución utilizando los fundamentos que se transmiten. Se espera
que el estudiante desarrolle estas cualidades mediante el estudio auto-didacta
y la resolución de problemas planteados. La solución parcial o total de prácti-
cas por parte del estudiante no representa algún valor en la nota de evalua-
ción.

Con respecto al proceso de evaluación, los exámenes consistirán en problemas


reales que tienen que ser resueltos numéricamente. En caso que la solución
numérica no sea posible con las herramientas que dispone el estudiante, éste
deberá plantear una estrategia de solución. Los estudiantes no podrán utilizar
durante la realización de los exámenes algún tipo de apuntes, formularios o
ayuda-memorias. Los exámenes contendrán toda la información necesaria y
adecuada para su desarrollo y solución.

9. Bibliografía

1. Scott Fogler. Elementos de Ingeniería de las Reacciones Químicas.


2. Octave Levenspiel. Ingeniería de las Reacciones Químicas.

130

Vous aimerez peut-être aussi