resolución mediante continuación numØrica del...

79
Resolucin mediante continuacin numØrica del problema de reaccin-difusin en el interior de un catalizador plano. Javier Retamero Palacios Mayo 2006

Upload: tranhanh

Post on 07-Oct-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Resolución mediante continuación numéricadel problema de reacción-difusión en elinterior de un catalizador plano.

Javier Retamero Palacios

Mayo 2006

Índice general

1. Introducción 11.1. Objetivos del proyecto . . . . . . . . . . . . . . . . . . . . . . 1

1.2. Introducción a los catalizadores . . . . . . . . . . . . . . . . . 11.2.1. Ecuación de velocidad para la cinética de super�cie . . 4

1.2.2. Resistencia a la difusión intraparticular (caso isotermo) 61.2.3. Resistencia a la difusión intraparticular (caso no isoter-

mo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2. Metodología 162.1. Método de resolución empleado . . . . . . . . . . . . . . . . . 162.2. Programas utilizados (Matlab y CL_Matcont) . . . . . . . . . 17

2.2.1. Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.2.2. CL_MATCONT . . . . . . . . . . . . . . . . . . . . . 17

3. Resolución matemática del problema 193.1. Diagrama de �ujo . . . . . . . . . . . . . . . . . . . . . . . . . 193.2. Ecuación Balance de Materia . . . . . . . . . . . . . . . . . . 20

3.3. Ecuación Balance de energía . . . . . . . . . . . . . . . . . . . 22

3.4. Métodos numéricos empleados . . . . . . . . . . . . . . . . . . 243.4.1. Metodo de las Diferencias Finitas . . . . . . . . . . . . 243.4.2. Continuación numérica . . . . . . . . . . . . . . . . . . 29

3.5. Continuación numérica de equilibrios . . . . . . . . . . . . . . 333.5.1. Desarrollo del programa con que realizar la contin-

uación (bmatf.m) . . . . . . . . . . . . . . . . . . . . . 333.5.2. Rutinas realizadas en MATCONT para la continuación

de equilibrios . . . . . . . . . . . . . . . . . . . . . . . 36

1

4. Discusión de los resultados 404.1. Cinéticas de reacción n=1,1.5 y 2. . . . . . . . . . . . . . . . . 404.2. Resultados para = 10; 20 y 30: . . . . . . . . . . . . . . . . . 40

5. Conclusiones 505.1. EXTENSION: inclusión de la resistencia externa . . . . . . . . 51

A. Software de MATCONT. 54

B. Los archivos �Bmatf.m�y �Jacob.m� 70

C. Tabla de unidades 73

2

Resumen

El factor de e�cacia intrafásico �, sirve para cuanti�car los efectos difusion-ales dentro del catalizador. Si se procede al cálculo de sus valores frentea otro parámetro adimensional denominado módulo de Thiele � (siendo elcatalizador plano y en condiciones no isotermas) pueden aparecer solucionesmúltiples estacionarias para algunos intervalos de éste. La representación deestas curvas ��� es taréa compleja, y en este proyecto se ha realizado medi-ante continuación numérica de equilibrios. Es por todo ésto que se emplearáuna herramienta o Toolbox del MATLAB denominado CL_MATCONT parallevar a cabo la continuación de equilibrios.

Capítulo 1

Introducción

1.1. Objetivos del proyecto

El objetivo que se presenta en el proyecto es el cálculo del valor del coe�-ciente de efectividad intrafásico no isotermo � en función del módulo de Thiele� en un problema de reacción-difusión no isotermo en régimen permanente,el problema se resuleve mediante las ecuaciones diferenciales existentes demateria y energía adimensionalizadas considerando sus condiciones de con-torno. Éstas serán a su vez simpli�cadas mediante discretización por difer-encias �nitas, por lo que se obtendrá un sistema de ecuaciones diferencialesde primer orden que una vez se implementa correctamente en un programainterpretable por CL_MATCONT, permitirá la ejecución por parte de éstede la continuación numérica de equilibrios con la que obtener las curvas ���en las que se observa la multiplicidad de soluciones.Del análisis de éstas, habrá que interpretar los resultados obtenidos con

el �n de poder explicar la multiplicidad de soluciones que se obtiene en unintervalo de valores de �, y que implica una situación que no se puede daren la realidad.

1.2. Introducción a los catalizadores

La velocidad de un gran número de reacciones es afectada por la presenciade materiales que no son reactivos originales ni productos de la reacción.Estas sustancias, llamadas catalizadores, pueden acelerar un millón de veces,o más, la velocidad de la reacción, o también pueden disminuir la velocidad(catalizadores negativos).

1

Existen dos grandes grupos de catalizadores: aquellos que operan a unatemperatura cercana a la ambiente, en sistemas bioquímicos, y los catal-izadores hechos por el hombre que operan a alta temperatura.Los catalizadores fabricados por el hombre, la mayoría sólidos, general-

mente apuntan a lograr la ruptura o la síntesis de materiales a alta tem-peratura. Y aunque un catalizador fácilmente puede acelerar la velocidad delas reacciones en miles o millones de veces, cuando se encuentra una ampliavariedad de reacciones simultáneas aparece otra característica muy impor-tante de los catalizadores; su selectividad. Esto signi�ca que el catalizadorsólo cambie la velocidad de ciertas reacciones, muchas veces la de una solareacción, sin afectar a ninguna de las demás. Así en presencia del catalizadoradecuado es posible obtener productos que contengan predominantementelos compuestos deseados a partir de una alimentación dada.

Las siguientes son algunas indicaciones de tipo general:

Aunque un catalizador puede aumentar la velocidad de una reacción,nunca in�uye en el equilibrio o punto �nal de una reacción, que estágobernado únicamente por la termodinámica. Así, con o sin catalizador,la constante de equilibrio para la reacción es siempre la misma.

Ya que la super�cie sólida es la responsable de la actividad catalítica,es deseable que los catalizadores sean materiales fáciles de manejar

2

y que tengan una gran super�cie fácilmente accesible. Con el empleode distintos métodos, es posible obtener áreas super�ciales activas deltamaño de campos de fútbol por centímetro cúbico de catalizador.

No se conoce bien el modo de seleccionar un catalizador para promoveruna reacción especí�ca; por lo tanto, en la práctica se necesita realizaruna amplia serie de pruebas antes de lograr un catalizador satisfactorio.

La reproducción de la constitución química de un buen catalizador nogarantiza que el sólido obtenido tenga actividad catalítica. Esta ob-servación sugiere que la actividad del catalizador viene dada por suestructura física o cristalina; este punto de vista se refuerza al con-siderar el hecho de que al calentar un catalizador por encima de unatemperatura crítica éste podría perder su actividad, a menudo perma-nentemente. Así, la investigación actual de los catalizadores se centraen gran medida en la estructura de la super�cie de los sólidos.

Para explicar la acción de los catalizadores se considera que las molécu-las reaccionantes de algún modo son cambiadas, adquieren energía o re-sultan afectadas para formar sistemas intermedios en las regiones próx-imas a la super�cie del catalizador. Se han propuesto varias teorías paraexplicar los detalles de esta acción. En una de las teorías, el produc-to intermedio es visto como la asociación de una molécula de reactivocon una región de la super�cie; en otras palabras, las moléculas estánligadas de algún modo a la super�cie. En otra teoría se supone que lasmoléculas se mueven a la atmósfera cercana a la super�cie y están bajola in�uencia de las fuerzas de super�cie. En esta teoría las moléculasson aún móviles aunque están modi�cadas por las fuerzas de super�cie.En una tercera teoría se supone que se forma un complejo activado, unradical libre, en la super�cie del catalizador. Este radical libre se mueveluego hacia el cuerpo principal de la corriente gaseosa, provocando unacadena de reacciones con nuevas moléculas antes de ser �nalmente de-struido. En contraste con las dos primeras teorías que consideran que lareacción tiene lugar en la vecindad de la super�cie, esta tercera teoríaconsidera a la super�cie del catalizador como un generador de radicaleslibres, produciéndose la reacción en el cuerpo principal del gas.

De acuerdo con la teoría del estado de transición, el catalizador reducela barrera de energía potencial que los reactivos han de salvar paraformar productos.

Aunque existe una amplia lista de problemas referentes a los catalizadoressólidos, aquí sólo se consideran aquellos que tienen que ver con el desarrollo

3

de la ecuación de velocidad necesaria para el diseño.

1.2.1. Ecuación de velocidad para la cinética de super-�cie

Debido a la gran importancia industrial de las reacciones catalíticas, se hatrabajado mucho a �n de elaborar teorías a partir de las cuales sea posibledesarrollar ecuaciones cinéticas fundamentales. La teoría más útil para los�nes del proyecto es la que supone que la reacción se da en un sitio activode la super�cie del catalizador. De este modo se suponen tres etapas en seriesucesivas en la super�cie.

Etapa1: Se adsorbe una molécula en la super�cie y queda ligada a unsitio activo.

Etapa2: La molécula reacciona bien sea con otra molécula localizada enun sitio adyacente, con una molécula procedente de la corriente principal degas, o bien simplemente se descompone mientras está ligada al sitio.

Etapa3: Los productos se desorben de la super�cie, lo que deja entonceslibre al sitio activo.

Además se hace la suposición de que están en equilibrio todas las especiesde moléculas, los reactivos libres y los productos libres, así como los reactivosligados al sitio activo, productos intermedios y productos que intervienen enestos tres procesos. Las expresiones de velocidad deducidas a partir de losdistintos mecanismos postulados son de la forma:

Velocidad de reacción = (término cinético)�(furza impulsora)(término de resistencia)

Cada mecanismo de reacción detallado con su factor controlante, tiene suecuación de velocidad correspondiente, que incluye de tres a siete constantesarbitrarias; los valores K, por razones que se aclararán más adelante, no seemplearán en estas ecuaciones. En consecuencia, no se entra en los detallesde su deducción. Ahora bien, la mayoría de los datos de conversión catalíticapueden ajustarse adecuadamente, en función del tiempo de contacto o delespacio-tiempo, mediante expresiones de velocidad relativamente sencillas deprimer orden o de orden n. Se pasan ahora a enumerar las razones del usode ecuaciones empíricas sencillas:

4

Probabilidad de hacer predicciones de la realidad. El argumentomás sólido a favor de la búsqueda del mecanismo real es que si se encuentrauno que se crea representa lo que realmente ocurre, se puede extrapolar conmayor seguridad a condiciones de operación nuevas y más favorables.

Problemas para encontrar el mecanismo. A �n de probar que secuenta con un mecanismo de tal naturaleza, se debe demostrar que la familiade curvas que representa el tipo de ecuación de velocidad correspondiente almecanismo escogido ajusta los datos, de modo mucho mejor que todas lasdemás familias, de tal suerte que es posible rechazar estas últimas. Si se tieneen cuenta que es posible escoger un gran número de parámetros (de tres asiete) para cada mecanismo de control de velocidad, se requiere un programaexperimental muy extenso que utilice datos reproducibles muy precisos, loque por sí constituye un problema muy complicado.Se debe tener siempre presente que no es su�ciente con seleccionar el

mecanismo que ajuste bien los datos, o incluso el que los ajuste mejor. Lasdiferencias en los ajustes se pueden explicar completamente en función delerror experimental. En términos estadísticos, estas diferencias podrían no sersigni�cativas. Desafortunadamente, si otros mecanismos ajustan los datosde manera similar, se debe reconocer que la ecuación seleccionada puedeconsiderarse sólo como una de buen ajuste, no una que represente la realidad.Una vez admitido esto, no hay razón para no usar la ecuación más simple yfácil de manejar que ofrezca un ajuste satisfactorio de los datos.

Problemas con la combinación de resistencias. Suponer que se haencontrado el mecanismo correcto y la ecuación de velocidad resultante paralos fenómenos de super�cie. La combinación de esta etapa con cualquiera delas otras etapas de resistencia, como la difusión en los poros o en la película,resulta bastante impracticable. Cuando se tiene que hacer esta combinación,es mejor sustituir la ecuación de velocidad con múltiples constantes por unaexpresión de velocidad equivalente de primer orden, que puede luego combi-narse con otras etapas de reacción para llegar a una expresión de velocidadglobal.

Resumen sobre la cinética de super�cie. A partir de esta discusiónse concluye que es una decisión bastante buena emplear la correlación develocidad disponible más sencilla, en consecuencia de primer orden o de ordenn, para representar la reacción de super�cie.

5

1.2.2. Resistencia a la difusión intraparticular (casoisotermo)

Debido a que la reacción catalítica tiene lugar en la interfase sólido-�uido,es necesario que el catalizador presente una gran super�cie interfacial, así co-mo la difusión de los reactivos a través de ésta. Pero al ser la super�cie delcatalizador porosa, no se podrá evitar la presencia de una cierta resistenciaa la difusión de materia, de cuyo valor dependerá el per�l de concentraciónde reactivo dentro del catalizador, y por lo tanto también dependerá la ve-locidad con que se está llevando a cabo la reacción dentro de éste. Cuandoaparecen los efectos difusionales, toma sentido hablar de factor de efectividadintrafásico, ya que es éste el que describe el efecto de las resistencias sobre lavelocidad de reacción real dentro del catalizador, y el que permite tambiénreferir (la velocidad de reacción) a las condiciones más facilmente evaluablesde la super�cie del catalizador. Es por todo ello necesario el cálculo de � parapoder evaluar la velocidad de reacción dentro del catalizador en condicionesreales.

Se va a desarrollar primero un caso en el que hay presentes resistencia ala difusión interna de materia, combinada con la reacción química que se daen la propia super�cie del catalizador, con el que se pretende explicar comose obtendría un modelo que simulara la velocidad de reacción dentro delcatalizador. En este primera experiencia no se contemplará la existencia degradientes de temperatura dentro del catalizador, porque se considerará quela conductividad térmica dentro del catalizador es alta y no hay presencia degradientes térmicos.En lo que respecta a los gradientes de temperatura y concentración en

la capa de gas externa sólido-gas, no se considerará la existencia de tales yaque partimos de la imposición de que los números de Biot (Bih y Bim) sonelevados. Estos se de�nen como:

Bim =LkGDe

indica la relación entre velocidad relativa de la trans-ferencia de materia externa y la interna.

Bih =Lh�e

indica la relación entre velocidad relativa de la transfer-encia de energía externa y la interna.

Si la resistencia que opone el �uido que rodea al catalizador a la trans-ferencia de materia y energía es importante, se presentarán gradientes de Ty C de forma que C0 > CS y T0 6= Ts, por lo que se tendría que corregir laecuación de velocidad:

6

(�RA) = �kSCnS

Habría que calcular previamente TS y CS a partir de T0 y C0:Sin embargo,un número de Biot muy elevado, implicará una baja resistencia a la difusiónexterna, comparada con la difusión interna,

�Bim >> 1 C0 ' CSBih >> 1 T0 ' TS

�Descripción de un problema isotermo:Se analizará de entre los casos posibles, el de la placa plana de cata-

lizador (homogéneo), para una cinética de reacción de orden 1 (fácilmentegeneralizable para el caso de orden n). La �pastilla� tendrá una dimensióncaracterística L y una difusividad efectiva De, que es constante por ser laestructura del catalizador homogénea.

Per�les de concentración y temperatura

Esta difusividad dependerá de la propia difusividad molecular del reactivoen el �uido y de propiedades o características geométricas de la pastilla porosatales como porosidad, tortuosidad y factor de constricción de los poros. Setendrá por tanto la siguiente expresión de la velocidad de reacción:

�rA =�1S�@NA@t

= k�CA (1.1)

7

donde k es la constante cinética dependiente de la temperatura (que alser el caso isotermo no presenta problemas por ser la T = cte). Esta aprox-imación es razonable para reacciones con un equilibrio muy desplazado a laderecha (irreversibles) y altas temperaturas ya que, en estas condiciones, lasconstantes de equilibrio de adsorción son muy bajas y el denominador de laecuación de velocidad super�cial tiende a 1. La reacción se llevará a cabo enlas paredes del poro, y tras él se formará un producto que se difunde haciael exterior y que producirá contradifusión equimolar. Si se aplica la ecuaciónde conservación de A, aplicada a la partícula de catalizador de placa plana,se obtendrá:

0 =�@NA@z

� (�rA) (1.2)

donde NA es el �ujo molar de reactivo A ( molm2�s) y (�rA) la velocidad deconsumo de A por unidad de volumen de pastilla ( mol

m3�s). Asumiéndose quela velocidad media molar es nula, lo cual es cierto por haber contradifusiónequimolar, se puede escribir:

JA = NA = De�@CA@z

(1.3)

siendo C la concentración molar a una distancia z del plano de simetría.Si se sustituye la expresión de la velocidad de reacción en la ecuación deconservación, se obtendrá:

De�@2C

@z2= k�CA (1.4)

Las condiciones de contorno que se establecen para esta ecuación difer-encial son:

C = Cs en Z = L@C@z= 0 en Z = 0 (condición de simetría)

8

Si se adimensionaliza la ecuación y se aplican las condiciones de contornode acuerdo con,

C� = CCs

Z� = ZL

se obtendrá:

@2C�

@z�2= �2�C� (1.5)

donde � es el módulo de Thiele que se de�ne como,

�2 =kCsL

DeCsL

(1.6)

En esta última expresión, el numerador representa la velocidad de reac-ción por unidad de super�cie exterior que se alcanzaría si la concentración dereactivo en todo el interior de la partícula de catalizador fuese CS, ya que Les el volumen de partícula por unidad de super�cie exterior. El denominadores la velocidad de difusión que habría si CS

Lfuese el gradiente de concen-

tración. Por lo tanto, un módulo de Thiele elevado implicará que el fenómenoquímico de reacción es mucho más rápido o presenta menos resistencia queel fenómeno físico de difusión, por lo que la caída de concentración entre lasuper�cie exterior y el centro de la partícula será apreciable e incluso llegaral extremo de que la super�cie interna del catalizador sea inefectiva por nollegarle el reactivo. El caso de un módulo de Thiele bajo, implicará que lavelocidad de reacción es baja comparada con la velocidad de difusión porlo que los gradientes de concentración serán prácticamente inexistentes y laconcentración en el interior de la partícula será muy aproximadamente iguala CS; en tal caso se dirá entonces que la difusión interna de reactivo no afectaa la velocidad que estará limitada por la velocidad de reacción química.

9

Per�les de concentración de reactivo para distintos valores del módulo deThiele

Para el estudio detallado de la resistencia a la difusión del reactivo, elfactor de efectividad intrafásico "�" (isotermo) cuya de�nición es,

� =(velocidad real para todo el catalizador)

(velocidad que habría si C=Cs)=rprs

(1.7)

� =(�RA)kCs

=NAkCs

(1.8)

Siendo,

NA = �De� @CA@z��z=L

Sustituyendo y adimensionalizando se obtiene �nalmente,

� =�1�2� @CA@z�

����z�=1

(1.9)

Para el caso de partícula de catalizador de placa plana, integrándose laecuación diferencial adimensionalizada, para una cinética de primer orden,se obtendrá:

C(z) =cosh(�(1� z))cosh(�)

(1.10)

10

Y sustituyendo en la ecuación(1.9) se obtiene:

� =tanh(�)

�(1.11)

Del análisis de los valores de � frente al � se resuelve que, cuando elmódulo de Thiele es menor que 0.4, y la velocidad de difusión no limita a la dereacción, el valor del factor de efectividad tiende a 1 ya que tanh (�) tiende a�. Esto implicará que la velocidad real (global) en la partícula de catalizador,es la misma que habría si C = Cs en toda la partícula de catalizador, y éstapor tanto no se verá afectada por la difusión a través de la partícula decatalizador. Para el caso en que � es mayor que 4, la � tenderá a 1

�ya

que tanh (�) tiende a 1. Bajo esta situación el factor de efectividad es muyinferior a 1, por lo que la resistencia a la difusión de reactivo por el interiorde la partícula de catalizador es elevada, y la velocidad global de reacción esinferior a la que habría si dentro del catalizador la concentración de reactivofuese igual a Cs.

Se podrá pasar de un módulo de Thiele bajo a otro alto, sin más queincrementar la temperatura a la cual opera el catalizador que favorece mása la velocidad de reacción que a la de difusión, debido a que la energíade activación de la reacción es muy superior a la del fenómeno físico de ladifusión. Este incremento de temperatura provocará un aumento del módulode Thiele pero también conllevará una reducción del factor de efectividad �,aunque la velocidad global de reacción aumentará.

1.2.3. Resistencia a la difusión intraparticular (caso noisotermo)

Este es el caso en el que se presentan la multiplicidad de estados parala velocidad de reacción, y es también el que va a someterse a estudio en elproyecto. Esta situación no isoterma se puede producir en reacciones exotér-micas dentro del reactor y siempre y cuando el calor de reacción sea consid-erable, ya que es entonces cuando los gradientes de temperatura intrapartic-ulares pueden tener tanto o más efecto sobre la velocidad por partícula decatalizador, que los gradientes de concentración. Aún cuando �Hr sea baja,las temperaturas del centro y de la super�cie pueden diferir apreciablemente,debido a que las partículas de catalizador pueden tener una conductividad

11

térmica efectiva baja. No obstante, el efecto combinado de las transferenciasde masa y energía sobre rp puede seguirse representando mediante la ecuación(1.12):

rp = ��rs (1.12)

Esto será posible, siempre y cuando � sea el factor de efectividad "noisotérmico". Éste se puede evaluar de la misma forma que el isotérmico, conla diferencia de que debe combinarse un balance de masa con un balance deenergía (en la partícula de catalizador):

@CA@t

=�@NA@z

� (�rA) (1.13)

B:Materia

��Cp�@T

@t= ke�

@2T

@z+ k�C�(��Hr) (1.14)

B:Energ�{a

Inicialmente se tendrían que resolver simultaneamente las dos soluciones,ya que ambas están acopladas por la dependencia con respecto a la temper-atura de la constante de velocidad k, esto representará problemas a la horadel cálculo de � debido a la mayor di�cultad del cálculo de las dos ecuacionesdiferenciales de forma simultanea.

Pero si se realiza un cálculo del �T mediante un balance de energía en lapelícula que rodea a la super�cie de catalizador, y se iguala el calor generadoy eliminado en ésta, se tendría:

Qgenerado = (Vpastilla)�(�rA;obs)�(��Hr)Qe l��m inado = h�Spastilla�(Tg � Ts)

12

Y combinando se encuentra,

�Tpel�{cula = (Tg � Ts) =L� (�rA;obs) � (��Hr)

h(1.15)

donde L es la longitud característica de la pastilla. Para �T dentro de lapartícula, el sencillo análisis efectuado por Prater para cualquier geometría ycinética de la partícula da la expresión deseada. Puesto que la temperaturay la concentración dentro de la partícula están representadas por la mismaforma de la ecuación diferencial (ecuación de Laplace), Prater demostró quelas distribuciones de T y C deben tener la misma forma; por lo tanto, encualquier punto z de la pastilla,

kef �@T

@z= De�@CA

@z� (��Hr) (1.16)

Y para la pastilla como un todo,

�Tpast�{cula = (Tcentro � Ts) =De� (CAs � CA;centro) � (��Hr)

kef(1.17)

donde kef es la conductividad térmica efectiva dentro de la pastilla. Esteresultado obtenido de la simpli�cación de Prater, se puede emplear en cinéti-cas de cualquier orden, puesto que el término de velocidad no aparece en él.Por otro lado, la máxima elevación de temperatura (�) que puede alcanzarseen el granulo se presenta cuando todo el reactivo se ha consumido en el centrodel catalizador, este �T dependerá del calor de reacción, las propiedades detransporte del gránulo y de la concentración super�cial del reactante, cons-tituyendo un método simple para estimar si las diferencias de temperaturasintragranulares son importantes.

� =(Tm � Ts)

Ts= (��Hr) �De�

CAskef �Ts

(1.18)

13

Gracias a la relación de Prater, se podrán desacoplar las ecuaciones deconservación de materia y energía, ya que ahora se conoce una relación entrela temperatura y la concentración dentro de la partícula de catalizador:

T = 1 + �� (1� C) (1.19)

Por tanto ya no será necesario el cálculo simultaneo de ambas ecuacionesdiferenciales, y bastará con la resolución de la ecuación de conservación demateria, donde el término de la temperatura T se sustituye por la expresiónde (1.19)Regresando de nuevo al factor de efectividad intrafásico no isotermo, en

la representación de sus valores, los resultados que se obtienen serán los quea continuación se presentan:

Representación del factor de e�cacia frente al módulo de Thiele paraBiot=30 y Ganma=20

14

En la �gura se aprecia como � puede ser mayor que 1 en reacciones exo-térmicas (� > 0) debido a que la temperatura interior es mayor que la super-�cial. Se observa demás que para (� > 0;2) puede darse una multiplicidad deestados en régimen permanente. Si se considera la curva correspondiente a� = 0;6, para valores de � comprendidos entre 0;08 y 0;6 aproximadamente,son posibles tres valores diferentes del factor de efectividad, y en consecuen-cia, tres valores distintos de la velocidad de reacción.

15

Capítulo 2

Metodología

2.1. Método de resolución empleado

La primera simpli�cación por la que se optó fue la aplicación del criteriode Weisz-Prater, para el desacoplamiento de las ecuaciones de conservaciónde la energía y materia, que permite operar simplemente con esta última (quees la que calcula la concentración).En lo que respecta a la resolución numérica de la ecuación diferencial de

segundo orden con condiciones de contorno, se probó inicialmente con un pa-quete especí�co del MATLAB, elBVP4C, que se encarga de la resolución deeste tipo de sistemas, en las que tenemos ecuaciones diferenciales ordinariasde primer orden con condiciones de contorno. Otras clases de paquetes (comoel ODE45,ODE23...etc) no eran de utilidad por emplear condiciones inicialesen lugar de condiciones de contorno. Tras una transformación del sistema deecuaciones diferencias de segundo orden por otro análogo de primer orden,se procedió al cálculo de las concentraciones, para lo que no se alcanzaronresultados debido a la no convergencia del sistema de colocación empleadopor el BVP4C, de manera interna.

Es por ello por lo que en la búsqueda de alternativas se optó por el em-pleo de otro programa el CL_MATCONT, que se encarga de la resoluciónde continuaciones de equilibrio. Para la ejecución del programa se optó poraproximar la ecuación diferencial de segundo orden mediante un método dediscretización por diferencias �nitas (centradas). Se actuó sobre la deriva-da segunda espacial utilizando N puntos, Por tanto se pasó a un sistemade N ecuaciones diferenciales de primer orden en el tiempo, con las que secalculan y continuan los equilibrios que se corresponden con las solucionesestacionarias de éstas.

16

2.2. Programas utilizados (Matlab y CL_Matcont)

2.2.1. Matlab

MATLAB es un entorno de computación y desarrollo de aplicaciones to-talmente integrado orientado para llevar a cabo proyectos en donde se en-cuentren implicados elevados cálculos matemáticos y la visualización grá�cade los mismos. MATLAB integra análisis numérico, cálculo matricial, procesode señal y visualización grá�ca en un entorno completo donde los problemasy sus soluciones son expresados del mismo modo en que se escribirian tradi-cionalmente, sin necesidad de hacer uso de la programación.MATLAB dispone también en la actualidad de un amplio abanico de

programas de apoyo especializados, denominados Toolboxes, que extiendensigni�cativamente el número de funciones incorporadas en el programa prin-cipal. Estos Toolboxes cubren en la actualidad prácticamente casi todas lasáreas principales en el mundo de la ingeniería y la simulación, destacan-do entre ellos los de proceso de imágenes, señal, control robusto, estadísti-ca, análisis �nanciero, matemáticas simbólicas, redes neurales, lógica difusa,identi�cación de sistemas, simulación de sistemas dinámicos, etc. Es pues unentorno de cálculo técnico, que se ha convertido en estándar de la industria,con capacidades no superadas en computación y visualización numérica.De forma coherente y sin ningún tipo de �suras, integra los requisitos

claves de un sistema de computación técnico: cálculo numérico, grá�cos, her-ramientas para aplicaciones especi�cas y capacidad de ejecución en múltiplesplataformas. Esta familia de productos proporciona al estudiante un mediode carácter único, para resolver los problemas más complejos y difíciles.

2.2.2. CL_MATCONT

MATCONT es una serie de rutinas que corren en MATLAB y que sirvenpara el estudio numérico e interactivo de sistemas dinámicos. Permite obtenercurvas de equilibrio con sus correspondientes singularidades, además de laposibilidad de continuarlos numéricamente.

El objetivo de MATCONT es proporcionar una herramienta de conti-nuación numérica que sea compatible con la forma estándar de representaciónde ecuaciones diferenciales del programa MATLAB. Así el usuario puedeutilizar su modelo sin tener que reescribirlo en un paquete especí�co. Ellenguaje de programación de MATLAB consigue que la manipulación del

17

paquete MATCONT no tenga mayor complicación. Más información acercade MATCONT en el Apéndice.

18

Capítulo 3

Resolución matemática delproblema

3.1. Diagrama de �ujo

19

3.2. Ecuación Balance de Materia

Para el cálculo del factor de efectividad intrafásico no isotermo, es nece-sario el conocimiento de las concentraciones dentro de la partícula de catal-izador. Por tanto se empleará la Ecuación de Conservación de la Materiapara el conocimiento de éstas.Ecuación de Conservación de la Materia:

@CA@t

=�@NA@z

� (�rA) (2.12)

NA = CAv �De@CA@z

(3.1)

(Suponiendo contradifusión equimolecular: NA = �De@CA@z)

20

@CA@t

= De@2CA@z2

� kCnA (3.2)

Adimensionalizamos la Ecuación de Conservación de la Materia:

C� = CC0

z� = zL

t� = tL2

De

0 � C� � 1 0 � z� � 1 0 � t� � 1(nota: C = CA)

@C�

@t�C0L2

De

= DeC0L2@2C�

@z�2� kC�nCn0 (3.3)

@C�

@t�= De

C0L2DeL

2

C0De

@2C�

@z�2� kC�nCn0

L2

DeC0(3.4)

Adimensionalizamos k: k� = kk0

Determinamos la expresión de k�:

k� =Ae

�ERT

Ae�ERT0

= e

��ERT

+ ERT0

�= e

��ER

�1T� 1T0

��= e

��ERT0(T0T �1)

�= (3.5)

= e(� (1T��1)) = e(� (

11+�(1�C�)�1)) = e

�(1�C�)1+�(1�C�)

donde se de�ne como el número de Arrhenius:

=EaRTS

De modo que la Ecuación de Conservación de la Materia queda:

@C�

@t�=@2C�

@z�2� e

�(1�C�)1+�(1�C�)C�n

L2k0Cn0

DeC0(3.6)

21

Teniendo en cuenta que el módulo de Thiele se de�ne como �2 = Cn0 L2k0

DeC0,

la Ecuación de Conservación de la Materia adimensionalizada �nalmente esla que sigue:

@C�

@t�=@2C�

@z�2� e

�(1�C�)1+�(1�C�)C�n�2 (3.7)

Se trata pues, de una ecuación en derivadas parciales del tipo reaccióndifusión.Condiciones iniciales y de contorno:

t� = 0 0 � z� � 1 C� = 0 No hay reactivo en el catalizador

z� = 0 t� > 0 @C�

@z� = 0 Condición de simetría

z� = 1 t� > 0 @C�

@z�

��z�=1

= kGLDe(1� C�) = Bim(1� C�)

Dato: La condición de contorno última se obtiene de un balance de mate-ria en la super�cie del catalizador, donde kG es la constante de transferenciaglobal en el medio que rodea a la partícula de catalizador.De la resolución de la ecuación diferencial (3.7) se revela el valor de C�

necesario para el cálculo posterior del coe�ciente de transferencia intrafásicono isotermo.

3.3. Ecuación Balance de energía

Cuando el calor de reacción es elevado o la conductividad térmica efectivade la partícula es baja, se establecerán gradientes importantes de temperaturadentro de la partícula de catalizador que evitarán la igualdad de temperaturaen cualquier punto del interior del catalizador, es por ello, que será necesarioel empleo de un Balance de Energía dentro de la partícula de catalizadorpara el posterior calculo de la temperatura dentro de éste. El conocimientode la temperatura dentro del catalizador es imprescindible debido a la de-pendencia de la velocidad de reacción con respecto e ésta. Para una partículade catalizador con geometría de placa plana, la ecuación de conservación dela energía es:

22

�Cp@T

@t= �@q

@z+ (�rA)(��HR) (3.8)

q = �ke@T

@z(3.9)

�Cp@T

@t= ke

@2T

@z2+ kCnA(��HR) (3.10)

Adimensionalizamos la Ecuación de Conservación de Energía:

k� = kk0

C� = CC0

z� = zL

t� = tL2

De

T � = TT0

�CpT0L2

De

@T �

@t�= ke

@2T

@z2T0L2+ k�k0C

�nCn0 (��HR) (3.11)

@T �

@t�=keT0

L2

De

�CpL2T0

@2T

@z2+ k�C�n

24k0Cn0 (��HR)�CpT0L2

De

35 (3.12)

@T �

@t�= Le

@2T

@z2+ k�C�n

�k0C

n0 (��HR)L2T0�CpDe

�(3.13)

Considerando que:

k� = e �(1�C�)1+�(1�C�) �2 =

Cn0 L2k0

DeC0(��HR) = �keT0

DeC0

se llega a:

@T �

@t�= Le

@2T

@z2+ e

�(1�C�)1+�(1�C�)C�n�2

C0(��HR)T0�Cp

(3.14)

@T �

@t�= Le

@2T

@z2+ Lee

�(1�C�)1+�(1�C�)C�n�2� (3.15)

La Ecuación de Conservación de la Energía adimensionalizada es, �nal-mente:

23

L�1e@T �

@t�=@2T

@z2+ e

�(1�C�)1+�(1�C�)C�n�2� (3.16)

Condiciones iniciales y de contorno:

t� = 0 0 � z� � 1 @T �

@z� = 0 Temperatura constante

z� = 0 t� > 0 @T �

@z� = 0 Condición de simetría

z� = 1 t� > 0 @T �

@z�

��z�=1

= Lhke(1� T �) = Bih(1� T �)

Dato: La condición de contorno última se obtiene de un balance de energíaen la super�cie del catalizador.

La resolución de la ecuación de conservación de la energía no será nece-saria gracias a la aproximación de Weisz-Cramer, ya que, como se explicó enla introducción, ésta nos permite desligar el acoplamiento existente (por latemperatura) entre las ecuaciones de conservación de la energía y materia.

T = 1 + �� (1� C) (2.18)

3.4. Métodos numéricos empleados

3.4.1. Metodo de las Diferencias Finitas

Introducción

Para la resolución numérica de las ecuaciones en derivadas parciales desegundo orden que se plantean el el proyecto, hemos recurrido al método delas diferencias �nitas (abreviado DF) que consiste en aproximar las ecua-ciones diferenciales por ecuaciones en diferencias usualmente a partir deltruncamiento de series de Taylor. El conjunto de ecuaciones en diferencias re-sultante constituye un sistema de ecuaciones lineales, el cual se puede resolvernuméricamente en un computador obteniendo una solución aproximada delproblema original.Si el problema carece de dependencia temporal el método se denomina

simplemente método de las diferencias �nitas (DF). Si el problema incluye lavariable temporal se denomina método de las diferencias �nitas en el dominiotemporal (DFDT)

24

Tipos de ecuaciones diferenciales

Se revisarán los aspectos más relevantes del método de las diferencias�nitas relativo a ecuaciones diferenciales de segundo orden en derivadas par-ciales. Estas ecuaciones pertenecen a la familia de ecuaciones diferencialescuadráticas de la forma:

��

�x

�t

��A BB C

�� ��x��t

�u+ (D E)

� ��x��t

�u+ Fu = G (3.17)

donde A, B, C, D, E, F y G son funciones de x (espacio) y t (tiempo),las cuales son continuas en cierto subespacio R del plano (x; t).Dependiendo del signo del determinante de la matriz cuadrada de la forma

cuadrática de la ecuación(3.17) se obtiene una de las siguientes categorias deecuaciones diferenciales.

����A BB C

���� = AC �B2>0, ecuación diferencial elíptica;

=0, ecuación diferencial parabólica;

<0, ecuación diferecial hiperbólica;

Esta denominación se debe a la similitud de la ecuación(3.17) con laecuación general de las secciones cónicas. Una forma explícita de la ecuación(3.17)se obtiene resolviendo el producto de matrices:

A@2u

@x2+ 2B

@2u

@x@t+ C

@2u

@t2+D

@u

@x+ E

@u

@t+ Fu = G (3.18)

25

Condiciones iniciales y de borde En un problema típico se cuenta con

cierta región espacial y su frontera � y ciertas condiciones de contorno einiciales.

Forma de las condiciones iniciales Las condiciones iniciales se re�eren

a conocer en t = 0 el valor de a función incógnita u para todos los puntos dela región espacial :

u (x; 0) = u0(x); 8x 2

Forma de las condiciones de contorno Las condiciones de contorno sere�eren a conocer para todos los instantes de tiempo el valor de u, ó de suderivada parcial @u

@x, o de una combinación de ambas en la frontera � de :

au(x; t) + b@u(x;t)@x

= c; 8x 2 @; 8t;

b = 0; Condiciones de Dirichlet;

a = 0; Condiciones de Neumann;

c = 0; Condiciones de Robin o mixtas;

El problema

La resolución de un problema de�nido por la ecuación(3.18) y el conjuntode condiciones iniciales y de contorno consiste en hallar una función u =u(x; t) que sea continua en + �;que sea diferenciable dos veces en , quesatisfaga en la ecuación(3.18), y que cumpla con las condiciones inicialesy de contorno.El primer paso del método de las diferencias �nitas consiste en selecionar

(muestrear) un conjunto de puntos discretos (malla de puntos) de la región ;un subdominio temporal de observación y un intervalo �t de muestreo tem-poral. El segundo paso consiste en aproximar la ecuación diferencial medianteuna ecuación en diferencias. El tercer paso comprende evaluar la ecuación endiferencias en cada uno de los puntos de la malla y del subdominio temporalseleccionado. Finalmente se procede a resolver numéricamente el sistema deecuaciones lineales que resulta.

26

Muestreo de la región: construcción de la malla de puntos El con-junto de puntos discretos fxig se puede construir seleccionando una sepa-ración espacial�x constante, lo cual no es restrictivo, de modo que xi = i�x;para el caso unidimensional .

Aproximación de las derivadas por cocientes de diferencias �nitas.Tomando como referencia la �gura (3.4.1), poniendo �x = h, y asumiendoque la función u(x) posee derivadas de cualquier orden, es posible expandiru(xi+1) � u(xi+ h) y u(xi�1) � u(xi� h) en sendas series de Taylor a partirdel valor de la función u(x) y sus derivadas en xi:

u(xi + h) = u(xi) + hdu

dx

����xi

+h2

2

d2u

dx2

����xi

+h2

6

d3u

dx3

����xi

+1Xn=4

hn

n!

dnu

dxn

�����xi

(3.19)

u(xi � h) = u(xi)� hdu

dx

����xi

+h2

2

d2u

dx2

����xi

� h2

6

d3u

dx3

����xi

+

1Xn=4

hn

n!

dnu

dxn

�����xi

(3.20)

donde �(hn) es la notación empleada para indicar el orden del error quese comete cuando el valor deseado, por ejemplo u(xi + h) en la (3.20), esaproximado por una cantidad �nita de elementos de la serie suprimiendolos términos a partir de n inclusive, asumiendo que h es muy pequeño. Lapotencia más pequeña de h de los términos suprimidos determina el ordendel error porque los términos siguientes son despreciables bajo la premisa deque h << 1. Si llamamos e(h) al error, siendo el orden de error de �(hn), sepuede demostrar que:

e(h) =hn

n!

dnu

dxn

�����

27

donde � 2 [x; x+ h] para h > 0 -ecuación(3.19)- ó para h < 0 -ecuación(3.20)-Una expresión más compacta de las ecuaciones (3.19) y (3.20) se obtieneponiendo xi = x, dudx � u

0 y dnudxn

� un:

u(x+ h) = u(x) + hu0(x) +h2

2u00(x) +

h2

6u000(x) +

1Xn=4

hn

n!un(x) (3.21)

= u(x) + hu0(x) +h2

2u00(x) +

h2

6u000(x) + �(h4)

u(x� h) = u(x)� hu0(x) + h2

2u00(x)� h

2

6u000(x) +

1Xn=4

(�1)nhn

n!un(x)

(3.22)

= u(x)� hu0(x) + h2

2u00(x)� h

2

6u000(x) + �(h4)

De las ecuaciones (3.21) y (3.22) y de su combinación se obtienen lasaproximaciones de primero y segundo orden siguientes, respectivamente, parala primera derivada de la función u(x):

u0(x) =u(x+ h)� u(x)

h�

1Xn=2

hn�1

n!un(x) (3.23)

=u(x+ h)� u(x)

h+ �(h)

� u(x+ h)� u(x)h

u0(x) =u(x)� u(x� h)

h�

1Xn=2

(�1)nhn�1

n!un(x) (3.24)

=u(x)� u(x� h)

h+ �(h)

� u(x)� u(x� h)h

28

u0(x) =u(x+ h)� u(x� h)

2h�

1Xn=3

n impar

hn�1

n!un(x) (3.25)

=u(x+ h)� u(x� h)

2h+ �(h2)

� u(x+ h)� u(x� h)2h

Las ecuaciones (3.23), (3.24) y (3.25) se conocen como fórmulas de aprox-imación en diferencias hascia delante, hacia atrás y central de la primeraderivada de u(x), respectivamente.De modo análogo, combinando apropiadamente las ecuaciones (3.21) y

(3.22), se obtiene una aproximación en diferencias centradas de la segundaderivada de u(x):

u00(x) =u(x+ h)� u(x� h) + 2u(x)

h2�Xn=4n par

2hn�2

n!un(x) (3.26)

=u(x+ h)� u(x� h) + 2u(x)

h2+ �(h2)

� u(x+ h)� u(x� h) + 2u(x)h2

3.4.2. Continuación numérica

Principios de continuación numérica

Las ideas básicas de continuación numérica aparecen por primera vez enlos años sesenta, y en esa misma época los procedimientos de continuaciónfueron introducidos en aplicaciones cientí�cas y de ingeniería, como inge-niería civil, reacciones químicas, solidi�cación y combustión. Hoy en día lautilización de los métodos de continuación está ampliamente extendida.Consideremos el sistema de ecuaciones no lineales

F (y) = 0 (3.27)

29

donde F : Rn+1 ! Rn es una función su�cientemente diferenciable. Sep-arando cada una de las componentes, podríamos escribir el sistema (3.27)como: 8>>><>>>:

f1(x1; x2; : : : ; xn+1)=0f2(x1; x2; : : : ; xn+1)=0

...fn(x1; x2; : : : ; xn+1)=0

siendo y = (x1 x2 : : : xn+1)T y F = (f1 f2 : : : fn)T .

Supongamos que tenemos un punto y(j) 2 Rn+1, para un cierto j enterono negativo, que veri�ca las siguientes condiciones:

c.1 (Pertenencia a la curva) F (y(j)) = 0,

c.2 (No degeneración) rango de (Fy(y(j))) = n.

La notación Fy usada en c.2 corresponde a la matriz jacobiana, n�(n+1),de F , es decir,

Fy(y) =

0B@@@x1f1(x1; x2; : : : ; xn+1) � � � @

@xn+1f1(x1; x2; : : : ; xn+1)

.... . .

...@@x1fn(x1; x2; : : : ; xn+1) � � � @

@xn+1fn(x1; x2; : : : ; xn+1)

1CABajo estas circunstancias, el Teorema de la Función Implícita garantiza

la existencia, en un entorno del punto y(j), de una única curva solución delsistema 3.27, que pasa por dicho punto. Nos planteamos, de ese modo, encon-trar otro punto y(j+1) sobre la curva, partiendo de los datos conocidos sobrey(j).La técnica del método de continuación consta de tres pasos: elección del

paso de continuación, h(j), predicción ~y(j+1) del nuevo punto tomando unvector tangente a la curva y corrección del valor obtenido mediante el métodode Newton. Veamos cada una de estas etapas con más detalle:

30

Elección del Paso de Continuación Hay diversos métodos para elegir elpaso de continuación en cada iteración del algoritmo. El más simple es �jara priori un valor del paso h(0) y mantenerlo igual en todas las iteraciones,es decir, poner h(j) = h(0), j = 1; 2; 3; : : : Otra posibilidad consiste en variarel paso en cada iteración dependiendo de la velocidad de convergencia delmétodo de Newton que se utiliza en la etapa de corrección, de modo queuna convergencia lenta nos hará disminuir el paso y una rápida permitiráaumentarlo.

Predicción Se calcula en esta etapa un punto ~y(j+1) a partir del puntoconocido y(j) y de un vector v(j), tal que kv(j)k = 1 y que es tangente a lacurva en dicho punto. Más concretamente, pondremos:

~y(j+1) = y(j) + h(j)v(j)

¿Cómo se calcula v(j)? Supongamos, para llegar a la ecuación corre-spondiente, que nuestra curva estuviese parametrizada por y(s), siendo sel parámetro. Como la función F se anula sobre la curva (F (y(s)) = 0),derivando obtendríamos la ecuación Fy(y(s)) _y(s) = 0, donde _y(s) denota elvector tangente en el punto y(s). Eligiendo s(j) tal que y(s(j)) = y(j), quedaríala condición:

Fy(y(j)) v(j) = 0

que consiste en un sistema de n ecuaciones con n+1 incógnitas. Podemosañadir otra condición, en función del vector tangente de la iteración anterior,que nos permite asegurar que el vector tangente no va a apuntar hacia laparte ya obtenida de la curva:

(v(j�1))T v(j) = 1:

De ese modo, para calcular el vector tangente, planteamos el sistema deecuaciones:

Fy(y(j))(v(j�1))Tv(j) = 0

que podemos garantizar que tiene una única solución siempre que se ve-ri�que la condición de no degeneración c.2 y que el paso de continuación seasu�cientemente pequeño.Para terminar, es conveniente normalizar el vector v(j) dividiendo por su

norma.

31

Corrección Tomando ~y(j+1) como una primera aproximación, calculamosel siguiente punto sobre la curva, y(j+1), utilizando el método de Newton.Recordemos que el método de Newton en varias variables, para obtener

una solución del sistema de ecuaciones G(z) = 0 (con mismo número deecuaciones que de incógnitas) a partir de una aproximación de la mismaz(0), consiste en generar una sucesión z(0), z(1), z(2), : : :, tal que el término(k + 1)-ésimo se obtiene del (k)-ésimo resolviendo la ecuación linealizada enz(k),

G(z(k)) +Gz(z(k))(z(k+1) � z(k)) = 0

Esto se suele realizar en dos pasos, primero se obtiene�z(j), como soluciónde

Gz(z(k)) �z(k) = �G(z(k))

y luego se calculaz(k+1) = z(k) +�z(k):

Volviendo ya al problema que se está considerando, comprobamos queno es posible utilizar el método de Newton directamente sobre el sistema deecuaciones F (y) = 0 a partir de la condición inicial ~y(j+1), porque se tieneuna variable más que ecuaciones. De ese modo se ha de completar con unaecuación añadida, la cual se puede elegir de varias formas. Una de las másutilizadas es la condición de pseudo-longitud de arco, que se formula a partirdel punto conocido sobre la curva y(j), del vector tangente v(j) y del paso decontinuación h(j), como:

g(j)(y) = (y � y(j))Tv(j) � h(j) = 0:Una interpretación geométrica de dicha condición se puede observar en

la �gura 3.1, donde se observa que la proyección ortogonal del vector y� y(j)sobre v(j) se toma de longitud h(j). Otro modo de verlo es comprobar que laecuación g(j)(y) = 0 se corresponde con la del espacio ortogonal a v(j) quepasa por y(j) + h(j)v(j)

En de�nitiva, hemos de aplicar el método de Newton en varias variablesal sistema de ecuaciones �

F (y)g(j)(y)

�=

�00

�;

a partir de la condición inicial ~y(j+1).

32

y (j) h(j)v (j) v (j)

y

Figura 3.1: Grá�ca de pseudo-longitud

3.5. Continuación numérica de equilibrios

De lo explicado anteriormente sobre las ecuaciones y simpli�caciones uti-lizadas, podremos deducir que sólo será necesario continuar numéricamentelas ecuaciones algebraicas obtenidas de la ecuación de conservación de la ma-teria. Éstas se resolverán gracias a una utilidad de MATLAB denominadaMATCONT, con la que se obtendrán y representarán las curvas de equilibrio(� frente a �) del sistema.

3.5.1. Desarrollo del programa con que realizar la con-tinuación (bmatf.m)

El modelo empleado se caracterizaba por un sistema de dos ecuacionesdiferenciales en derivadas paciales de segundo orden (las Ecuaciones de Bal-ance de Materia y Energía) acopladas, que gracias a la aproximación deWeisz-Prater permite la operación sólo con la Ecuación de Balance de Mate-ria. Por lo que se tendrá un sistema con 1 ecuación, 2 variables independientes(z; t), 1 variable dependiente (C), y 5 parámetros adimensionales ( ; �;Bim; ny �) de los cuales 4 tendrán valores �jos ( ; �;Bim; n) y el módulo de Thieleserá el empleado para la continuación.

@C�

@t�=@2C�

@z�2� e

�(1�C�)1+�(1�C�)C�n�2

Condiciones iniciales y de contorno:

t� = 0 0 � z� � 1 C� = 0 No hay reactivo en el catalizador

z� = 0 t� > 0 @C�

@z� = 0 Condición de simetría

33

z� = 1 t� > 0 @C�

@z�

��z�=1

= kGLDe(1� C�) = Bim(1� C�)

En la continuación numérica el número de incógnitas sólo puede ser unomas que el de ecuaciones, pues sólo puede haber un parámetro de contin-uación. Para cada valor de éste, se irán obteniendo una serie de puntos quepermitirá el trazado de las curvas de equilibrio. Es posible que aparezcanen las curvas algunos puntos especiales (puntos límite, puntos de Hopf, pun-tos de Bifurcación, etc...) la continuación de éstos puntos implicará tenerdos parámetros de continuación en lugar de uno, pues se estará imponiendouna ecuación más, como es el caso de los puntos límite, donde uno de losautovalores vale cero.

Se parte de una ecuación reacción-difusión de tipo parabólico, que al seruna ecuación diferencial en derivadas parciales de segundo orden y al operarúnicamente CL_MATCONT con ecuaciones diferenciales de primer orden,hace necesaria la aproximación por discretización por diferencias �nitas en eldominio espacial (muestreamos z en N puntos). Con lo que al �nal se alcan-zará un sistema de "N.ecuaciones diferenciales ordinarias de primer orden conrespecto al tiempo, para las que habrá que calcular y continuar los equilibriosque se corresponden con las soluciones estacionarias de éstas.

i = 1dC�1dt=(2C�2�2C�1)

h2� e

�(1�C�1)1+�(1�C�1)C�n1 �

2

i = 2dC�2dt=(C�1�2C�2+C�3)

h2� e

�(1�C�2)1+�(1�C�2)C�n2 �

2

i = 3dC�3dt=(C�2�2C�3+C�4)

h2� e

�(1�C�3)1+�(1�C�3)C�n3 �

2

...

i = N � 1 dC�N�1dt

=(C�N�2�2C�N�1+C�N)

h2� e

�(1�C�N�1)1+�(1�C�

N�1)C�nN�1�2

i = NdC�Ndt=

(2C�N�1�C�N (2hBim+2)+2hBim)h2

� e �(1�C�N )

1+�(1�C�N)C�nN �

2

Donde las ecuaciones correspondientes a los valores de 2 � i � N � 1 segeneran apartir de la expresión:

i : 2; 3; :::N � 1 dC�idt

=

�C�i�1 � 2C�i + C�i+1

�h2

� e �(1�C�i )1+�(1�Ci)C�ni �

2 (3.28)

mientras que los valores en los extremos (i = 1) y (i = N), se obtienen dela combinación de las ecuaciones de (3.28) con las condiciones de contornosiguientes:

34

z� = 0 t� > 0 dC�

dz� = 0 Condición de simetría

z� = 1 t� > 0 dC�

dz�

��z�=1

= kGLDe(1� C�) = Bim(1� C�)

Y de la de�nición de la derivada se sabe que:

dCidz

' Ci+1 � Ci�12h

Por lo que basándose en las condiciones de contorno, se obtiene que:

i = 1 dC1dz= C1�C�1

2h= 0 ) C�1 = C1

i = N dCNdz= CN+1�CN�1

2h= Bim(1� CN) )

CN+1 = 2hBim � 2hBimCN + CN�1

Posteriormente tras su sustitución en la ecuación (3.28) se obtendrían lasecuaciones para i = 1 e i = N . Todas ellas fueron almacenadas en el archivobmatf.m (contenido detallado en el apendice), así como la matriz jacobianay un valor inicial de equilibrio x0, con el que iniciar la conti-nuación numéri-ca. Es importante reseñar que a la hora de implementar las ecuaciones, paraque se produzca continuación numérica se impone que las derivadas primeray segunda con respecto al tiempo sean igual a cero en las ecuaciones difer-enciales adimensionalizadas ecs.(3.28), del modelo empleado (condiciones deequilibrio estático) con lo que se garantiza el cálculo óptimo de la contin-uación de equilibrios. Por lo que las ecuaciones introducidas en bmatf.m sondel tipo:

i = 1 0 =(2C�2�2C�1)

h2� e

�(1�C�1)1+�(1�C�1)C�n1 �

2

i = 2 0 =(C�1�2C�2+C�3)

h2� e

�(1�C�2)1+�(1�C�2)C�n2 �

2

i = 3 0 =(C�2�2C�3+C�4)

h2� e

�(1�C�3)1+�(1�C�3)C�n3 �

2

...

i = N � 1 0 =(C�N�2�2C�N�1+C�N)

h2� e

�(1�C�N�1)1+�(1�C�

N�1)C�nN�1�2

i = N 0 =(2C�N�1�C�N (2hBim+2)+2hBim)

h2� e

�(1�C�N )

1+�(1�C�N)C�nN �

2

Por otro lado, el tamaño de los intervalos "h" se de�nirá como: h =1

N�1 : Por lo que ya podría pasarse a realizar la continuación, tomando comoparámetro libre el módulo de Thiele � que es al �n y al cabo el parámetrode cuya evolución histórica depende el valor de �.

35

Decisiones previas adoptadas en la programación

Se van a tener en consideración unas suposiciones (en los valores delos parámetros adimensionales) y simpli�caciones a la hora de programarel archivo con que realizar la continuación.

n = 1: la reacción química es de primer orden.

Los parámetros adimensionales (�; �; ; Bim) están evaluados en el senodel �uido pero son los mismos que en la super�cie, debido a lo que yase ha comentado acerca de las bajas resistencias externas a la difusiónde energía y materia.

0;1 � � � 0;9: Las grá�cas están parametrizadas en función de � y losvalores que se le darán a estas serán positivos por lo que las reaccionesserán todas exotérmicas.

= 30 (Número de Arrhenius) ya que para que haya histéresis en lascurvas de � � �, 10 � � 40:

Bim = 30 (poca resistencia a la transferencia externa de materia)

El valor aproximado de equilibrio x0 desde el que iniciar la contin-uación, será: Ci = 0;9 para � = 0;01:

3.5.2. Rutinas realizadas en MATCONT para la con-tinuación de equilibrios

El objetivo de MATCONT es proporcionar una herramienta de conti-nuación numérica que sea compatible con la forma estándar de representaciónde ecuaciones diferenciales del programa MATLAB. Así el usuario puedeutilizar su modelo sin tener que reescribirlo en un paquete especí�co. Ellenguaje de programación de MATLAB consigue que la manipulación delpaquete MATCONT no tenga mayor complicación. Más información acercade MATCONT en el Apéndice.La síntaxis para la continuación de equilibrios es:

>>[x, v, s, h, f]=cont(@equilibrium, x0, v0, opt);

x0 y v0 son respectivamente un punto inicial y el vector tangente a dichopunto, donde comenzará la continuación numérica del equilibrio opt es unaestructura de la que se hablará después.

36

Los argumentos v0 y opt pueden ser omitidos en cuyo caso el vectortangente a x0 será calculado internamente por MATCONT y se utilizaránlos valores por defecto de la estructura opt.x y v son dos vectores que devuelve la función cont. En cada columna

de ellos se puede encontrar un punto de la curva de equilibrio, así como elvector tangente a dicho punto.s es una estructura que contiene información de las singularidades (puntos

especiales) que se hubiesen hallado.h es una matriz donde cada columna contiene información correspondi-

ente a un punto calculado para la curva como puede ser el paso utilizado encada iteración, el numero de iteraciones necesarias para hallar puntos singu-lares, etc.f su valor depende de la curva que esté utilizando.Si se quisiera extender a más puntos la curva de equilibrio, la sintaxis a

emplear sería la siguiente:

>>[x, v, s, h, f]=cont(x, v, s, h, f, cds);

donde cds es una variable global que contiene la descripción de la curvahallada más recientemente.

Iniciación de la continuación de equilibrios

Para empezar la continuación se necesita queMATCONT genere un puntoinicial x0 así como su vector tangente v0. En pantalla se escribe:

>>init;>>[x0,v0]=init_EP_EP(@ode�le,x,p,ap);

x es un vector quer contiene los valores de las incógnitas del sistema paraun punto de equilibrio.p es otro vector que contiene los valores de los parámetros del sistema

para el mismo punto de equilibrio.ap es un número que indica la posición dentro de p del parámetro que se

va a continuar.init_EP_EP devuelve el vector x0, que contendrá todos los valores de

las variables y del parámetro de continuación, y un vector v0 que estarávacio.ode�le es el nombre de un archivo especial, donde el usuario previamente

especi�ca el problema mediante la introducción de las ecuaciones diferencalesde primer orden. Para aumentar la robustez y mejorar la precisión del algo-ritmo, se introduce además el jacobiano del sistema.

37

La estructura opt

Cuando se quiere continuar numéricamente, además de un punto inicialx0, y su vector tangente v0, se podrán especi�car varias opciones gracias auna estructura denominada opt. Por ejemplo se puede establecer un pasoinicial para el algoritmo, un paso mínimo en el cálculo de cada punto de lacurva, un paso máximo, el número máximo de puntos que se desean para lacurva, etc. Para ello sólo hay que inicializar la estructura con el comandoconset y a continuación introducir las opciones que se deseen. La sintaxissería la siguiente:

>>opt=contset;>>opt=contset(opt,�optionname�,optionvalue);

donde �optionname� es el nombre de la opción que se desee especi�car yoptionvalue es el valor que se le quiera asignar a esa opción.Algunos ejemplo de las opciones más empleadas:

InitStepSize: es el paso inicial para el algoritmo (valor por defecto: 0,01).MaxNumPoints: es el número máximo de puntos sobre la curva (valor

por defecto: 300).MinStepSize: es el paso mínimo para calcular un punto siguiente en la

curva (valor por defecto: 0,0001).MaxStepSize: es el paso máximo para calcular un punto siguiente en la

curva (valor por defecto: 0,1).Singularities: booleano que indica que se detecten todos los puntosespe-

ciales durante la continuación (valor por defecto: 0).Eigenvalues: booleano que indica que se calculen los autovalores (valor

por defecto: 0).Backward: booleano que indica que la continuación se realizará en sen-

tido contrario (valor po defecto: 0).

Continuación del equilibrio

En el momento en que MATCONT tenga un punto inicial de equilibrio(x0,v0) y que todas las opciones que se deseen estén especi�cadas en opt, elprograma podrá realizar la continuación. Como se dijo en principio, sólo setendría que escribir por pantalla:

>>[x, v, s, h, f]=cont(@equilibrium, x0, v0, opt);

También es conveniente recordar que si se quiere extender la curva a máspuntos, basta teclear:

38

>>[x, v, s, h, f]=cont(x, v, s, h, f, cds);

Si se deseara una representación grá�ca de los resultados, se escribiría porpantalla:

>>cpl(x, v, s, e);

cpl(x, v, s, e) proporciona una representación en dos o tres dimen-siones. El cuarto argumento e es opcional. x, v y s son los resultados dela continuación previa, mientras que e es un vector cuyos elementos de�nenlas coordenadas del sistema que se deseea representar. Es decir, e tendrádos componentes (para representaciones en 2D) ó tres (para representacionesen 3D). Si e no fuera especi�cado y x tuviera dos (respectivamente tres)componentes, se tendría una representación bidimensional (respectivamentetridimensional). En cualquier otro caso se generaría un mensaje de error.

Para terminar se mostrará un resumen de las instrucciones necesariaspara el cálculo y representación de una curva de equilibrio:

>>init;>>[x0,v0]=init_EP_EP(@ode�le, x, p, ap);>>opt=contset;>>opt=contset(opt,�optionname�, optionvalue);>>[x, v, s, h, f]=cont(@equilibrium, x0, v0, opt);>>cpl(x, v, s, e);

Otros cálculos realizados con MATLAB (Autovalores)

Una vez ha �nalizado con éxito la continuación numérica de equilibrios,se elegirán los resultados de C para una � en la que se presente histéresis y acontinuación, se sustituirán los valores obtenidos de la C para cada valor de�, en la matriz Jacobiana y se calcularán los autovalores correspondientes deésta para cada valor de �. Todo el trabajo para el cálculo de los autovaloresse realiza mediante la invocación del archivo jacob.m desde el imput deMATLAB. El archivo jacob.m viene descrito en el apéndice.

39

Capítulo 4

Discusión de los resultados

Con estos valores iniciales, se recurre al MATLAB y desde dentro de él, seinvoca al CL_MATCONT que devolverá resultados de las concentraciones,con los que se obtienen las siguientes grá�cas � � �:

4.1. Cinéticas de reacción n=1,1.5 y 2.

4.2. Resultados para = 10; 20 y 30:

De los resultados obtenidos en las grá�cas, se puede apreciar como � puedeser superior a la unidad debido a los gradientes internos de temperatura, queprovoca que la temperatura dentro de la partícula de catalizador sea superiora la que hay en la super�cie de éste, por lo que la velocidad de reaccióntambién lo será con respecto a la que se da en el interior de la partícula.Del análisis de los resultados se observa como para � � 0;3 es decir, un

aumento del 30% de la T dentro del catalizador, y para ciertos valores delmódulo de Thiele �; se produce una multiplicidad de estados para el factorde efectividad intrafásico �, donde para un mismo �, pueden obtenerse tresvalores distintos de �. Esto resulta imposible porque implicaría tres veloci-dades de reacción diferentes, para unas mismas condiciones de operación enel permanente. La respuesta a este problema, reside en la dependencia delos valores de � frente al histórico de valores de �, entendiendo el históricode valores fuera del campo temporal t y referido éste concretamente a losvalores de C y T . Es decir, de la evolución histórica de los distintos valoresde equilibrio de C y T , dependerá el valor alcanzado de � en la partícula decatalizador.

40

41

42

43

44

45

46

Se pasa a discutir el proceso de histéresis con ayuda de la �gura adjunta,y el comportamiento que se obtiene en un proceso real:

Si se parte de J que estará a una T baja (velocidad de reacción baja,factor de efectividad próximo a 1) y se va incrementando la temperatura porel propio calor de reacción ó por una fuente externa de calor, el módulo deThiele � se irá incrementando y el sistema pasará del punto J al U. A partirde aquí, un ligero incremento adicional de temperatura T , produce un saltobrusco al punto M (ignición) produciéndose un auménto súbito de � queprovocará que tanto el factor de efectividad intrafásico �, como la velocidadde reacción se multipliquen por 500. Una vez alcanzadoM, el sistema seguiráevolucionando (con el aumento de T y por lo tanto de �) hasta alcanzarP (J�U�M�P�) disminuyendo el factor de efectividad pero aumentando lavelocidad de reacción (ya que el sistema está aumentando su T ) . Si por elcontrario se inician las condiciones de operación desde un punto a alta T que

47

se denomina P, si el sistema evoluciona disminuyendo el módulo de Thiele �,hasta un punto a menor T llamado L, en ese punto una pequeña disminuciónde la T producirá una violenta disminución del factor de efectividad �, queacabará en el punto O (apagado), si el sistema sigue disminuyendo � ésteacabará en el punto K; Siendo el recorrido total de (P�L�O�K�).

En la sección superior L�M�P de la curva ���, el interior de la partículaesta caliente, la velocidad es rápida, el reactante se agota en el interior yCjz=0 ' 0. En la sección inferior J�O�U�K de esta curva la partícula esprácticamente isoterma, � ' 1 y Cjz=0 ' Cjz=1.

De esta explicación de los valores de � frente a � se revela que los valorescomprendidos entre L y U son inestables y no se darán nunca en larealidad, ya que como se ha explicado anteriormente, se ha comprobado queantes que llegue a esos valores se produce el salto o descenso brusco en elvalor de � produciendose una variación brusca en la velocidad de la reaccióny por ende, en las condiciones de operación.

En lo referente a la sensibilidad del factor de efectividad con re-specto a la cinética de reacción, se comprueba del análisis de los resulta-dos que cuanto menor es éste, más importante es el efecto en la variación de�, por lo que cuanto más alto sea el órden de reacción más importante será elcontrol y mantenimiento de las condiciones de operación en su régimen óp-timo, puesto que una pequeña variación en las condiciones de C y T dentrodel reactor pueden derivar en una variación violenta de las condiciones enque se da la reacción.

Del análisis de los resultados obtenidos para distintos valores de , unincremento en el valor de éste produce un aumento en el valor de �lo cual es lógico ya que éste es directamente proporcional al valor de . Todoesto nos lleva a decir que un valor alto de conlleva una mayor posibilidadde que se den soluciones inestables con efectos a su vez más violentos.

También es importante reseñar que todos los cálculos realizados en elproyecto se han hecho bajo la premisa de un alto valor del número de Biot,lo contrario hubiera supuesto distintos valores de C y T en el seno del �uido yla super�cie de la partícula, que hubiera hecho necesario un proceso iteraivopara el cálculo de los parámetros adimensionales (que dependen de C y T )en la super�cie del catalziador.Por otro lado, de forma general se puede a�rmar que en todos los casos,

las soluciones inestables estacionarias aparecen y agraban su efecto conformeaumenta el valor de �, ya que el incremento de éste produce un aumento del

48

intervalo de valores de � para lo que hay soluciones inestables y un aumentoen el valor del salto de � experimentado.En lo que respecta a los autovalores de la matriz jacobiana, éstos son

los exponentes característicos de la linealización de los equilibrios; por tanto,tendrían todos parte real negativa en condiciones de estabilidad asíntótica ycuando se produce la inestabilidad uno de ellos cruza el eje imaginario por elorigen y se hace positivo; es lo que se llama un punto límite. Para verlo deforma práctica se eligen los valores de C de la curva � = 0;7, y se calcularánlos autovalores de la matriz jacobiana para cada valor de �. Si se representanlos valores de la curva � = 0;7 frente al mínimo de los autovalores en cadapunto �, se observa que el mínimo de los autovalores para cada � se aproximaa 0 cuando se llega a un punto límite.

Mínimo de los autovalores en cada punto frente al factor de e�cacia.

49

Capítulo 5

Conclusiones

El método numérico seguido, es decir, discretización del problema dereacción-difusión y uso de técnicas de continuación, constituye una metodologíade amplia aplicabilidad en problemas de ingeniería de reactores químicos.

En algunas de las curvas de continuación, coexisten hasta tres solucionesde equilibrio, dos de ellas estables y la intermedia inestable. Este fenómenoes genérico en sistemas no lineales y signi�ca la coexistencia de distintosequilibrios en un mismo sistema dinámico.

En las curvas obtenidas se observa además, que los diferentes equilibriosestán conectados via el parámetro de continuación � (módulo de Thiele)mediante puntos que denominamos límite o de pliegue, y que constituyen asímismo una conducta típica de bifurcación en los sistemas no lineales.

Del análisis de las grá�cas ���, se puede concluir que la variación súbitade � que se produce en las reacciones exotérmicas cuando nos encontramosen los intervalos con soluciones inestables estacionarias, no es necesariamenteun factor positivo para el desarrollo de la reacción aunque pueda suponer unaumento súbito de la velocidad de reacción (caso de la ignición), puestoque el cambio que se da en las condiciones de operación cuando ésto seproduce, puede acarrear consecuencias negativas tanto en el reactor como enel producto que sale de éste (disminución de la selectividad, desactivacióndel catalizador...etc).

Es por todo ello que cuando se opere en reacciones exotérmicas (� � 0;3)y bajo condiciones de operación en las que se de el fenómeno de solucionesinestables estacionarias de �, se deberá tener sumo cuidado de que no operarbajo situaciones próximas a los fenómenos de apagado o ignición, por loscambios violentos que se dan en la velocidad de reacción. Por tanto serán los

50

puntos límite los que habrá que evitar a la hora de trabajar en el reactor, yaque es en ellos donde se produce el apagado y la ignición.

5.1. EXTENSION: inclusión de la resistenciaexterna

Aparte de los casos estudiados en el proyecto, existe la posibilidad de quela resistencia a la difusión externa de materia y energía sean representativas,complicándose entonces los pasos a seguir para la resolución del problema.En ese caso, se debería tener en cuenta lo siguiente:

En lo que respecta a los números adimensionales de Biot, el valor de estossería bajo y se presentarían fuertes gradientes de concentración y temperaturaen el �uido que rodea a la partícula,

Bim << 1 C0 >> CSBih << 1 T0 << TS (reacción exotérmica)Bih << 1 To >> TS (reacción endotérmica)

En lo concerniente a las ecuaciones, éstas se tendrían que extender conlas condiciones de contorno de temperatura en la frontera, por lo que seemplearía:

dC�

dt�=

d2C�

dz�2� e

�(1�C�)1+�(1�C�)C�n�2

T = 1 + �� (1� C)dT �

dz�

����z�=1

=Lh

ke(1� T �) = Bih(1� T �)

dC�

dz�

����z�=1

=kGL

De

(1� C�) = Bim(1� C�)

Y si se deriva la ecuación de Weisz-Prater se obtendría:

dT �

dz�= �

dC�

dz�

Y para z = 1

dC�

dz�

����z�=1

= Bim(1� C�)

51

dT �

dz�

����z�=1

= Bih(1� T �) = �Bim(1� C�)

Y se tendría �nalmente una nueva relación T � C:

1

BihBim

(1� T �) = (1� C�)����z=1

Por lo que al ser la C y T distintos en la super�cie y el seno del �uido, losparámetros adimensionales (�; �; ; Bim) que empleamos en el cálculo de laC, son distintos si los evaluamos en la super�cie del catalizador o en el senodel �uido, por lo que sería necesario recurrir a un proceso iterativo comoel de la �gura adjunta si se deseara resolver el problema no isotermo conresistencia a la difusión externa de materia y energía. Se partiría de:8<: dC�

dt� =d2C�

dz�2 � e �(1�C�)1+�(1�C�)C�n�2

1�BihBim(1� TS

T0) = (1� CS

C0)���z=1

Se supondrían unos valores iniciales para los parámetros adimensionalesy se iniciarían los cálculos con iteración:

52

Diagrama de operación

Para el cálculo de las iteraciones se podría emplear un método comoNewton-Raphson con el que se alcanzaría la convergencia en las solucionesen pocos pasos con total seguridad. Una vez calculados los parámetros adi-mensionales evaluados en la super�cie, a continuación operariamos como enel caso estudiado en el proyecto para el cálculo de las grá�cas � � �.

53

Apéndice A

Software de MATCONT.

1. Continuer.

La síntaxis para la continuación es:

[x, v, s, h, f] = cont(@curve, x0, v0, options);

donde curve es un archivo de MATLAB donde se encuentra especi�cadoel problema (bmatf.m), x0 y v0 son respectivamente un punto iinicial parala continuación y el vector tangente a dicho punto, y por último options setrata de una estructura que está descrita en la sección 2.4. Los argumentosde entrada v0 y options pueden omitirse. En este caso el vector tangentea x0 es calculado internamente y las opciones por defecto serán las que seutilicen.

La función devuelve:x y v , que son respectivamente puntos de la curva de equilibrio y sus

vectores tangentes. Cada columna de x y v corresponde a un punto de lacurva. s es un vector con estructuras que contiene información acerca de lassingularidades encontradas. Esta estructura está formada por los siguientescampos:

s.index índice del punto singular en xs.label etiqueta de la singularidads.msg una cadena con un mensaje para esta singularidad particulars.data información extra

h se utiliza para la producción del algoritmo, en general contiene unacolumna para cada punto con los siguientes componentes:

54

Stepsize El tamaño de paso para calcular el punto (cero para puntosiniciales y singulares)Número de iteraciones Newton Para puntos singulares será el número

de iteraciones de localizaciónUser functions values Los valores de las user functions activasTest functions values Los valores de todas las test functions activasf puede tratarse de cualquier cosa dependiendo del archivo para la curva

que estemos usando.

También es posible extender la curva de equilibrio calculada a más puntoscon las mismas opciones (también el mismo número de puntos). La sintaxispara extender esta curva es:

[x, v, s, h, f] = cont(x, v, s, h, f, cds);

x, v, s, h y f son los resultados de una llamada previa al continuer ycds es una variable global que contiene la descripción de la curva obtenidamás recientemente.

2. Curve �le.

MATCONT utiliza un archivo especial creado por el usuario donde seespeci�ca el problema (curve.m). Este archivo contiene las siguientes partes(el asterisco indica que esa parte del archivo es requerida):

Función primaria (*)

De�nición del problema (*)

Opciones (*)

Default processor (*)

Derivadas simbólicas del problema

Test functions

User functions

Special processors

Locators

Matriz de singularidad

Work space

55

Adaptation (*)

2.1 Función primaria.

El archivo de�ne la función primaria y una serie de subfunciones llamadascurve func, options, default processor, adapt... La subfunción, por de�nición,sólo es visible dentro del ámbito de su propio archivo. Por supuesto, éstosigni�ca que sólo se puede utilizar por otras funciones dentro de ese archivo.El continuer (cont.m) necesita esas subfunciones. El continuer hace una lla-mada de la forma feval(curve), almacenándose las salidas de las subfuncionesque son necesarias.

2.2 De�nición del problema.

El continuer ha almacenado la salida para la de�nicion del problema enla variable cds.curve_func. El problema es codi�cado de modo que unallamada a feval(cds.curve_func,x) devuelve F(x) evaluado en el puntox. El punto x es un vector columna de tamaño n. Normalmente el valor deretorno debe ser un vector de tamaño n-1. Si el valor devuelto es el vacio([]), el continuer considera que ha habido un fracaso para evaluar F(x) y lointentará de nuevo con un tamaño de paso más pequeño.

2.3 Derivadas simbólicas.Para incrementar la rapidez y/o mejorar la precisión del algoritmo, se

pueden proporcionar las derivadas simbólicas de F(x). El continuer ha al-macenado la saida para las derivadas simbólicas en cds.curve_jacobian ycds.curve_hessians.(variables) La opción SymDerivative indica que ordende las derivadas será facilitado.Si SymDerivative> 1; una llamada a feval(cds.curve_jacobian,x) de-

volverá la matriz (n� 1)� n Jacobiana evaluada en el punto x.Si SymDerivative> 2; una llamada a feval(cds.curve_hessians,x) de-

volverá la matriz 3D (n� 1� n� n) H tal que H(i; j; k) = @2Fi(x)@xj@xk

Mientras que con valores vacios de F(x) devueltos en las llamadas ante-riores, implicará decrementar el tamaño de paso.

2.4 Opciones

Es posible especi�car varias opciones. El continuer almacena la salidapara las opciones en las variables cds.curve_options. Una llamada a fe-val(cds.curve_options) devolverá una estructura creada con conset:

56

options=contset;

Con ésto queda inicializada la estructura. Las opciones pueden luego in-troducirse mediante

options=contset(options,�optionname�,optionvalue);

donde optionname es una opción de la lista siguiente.InitStepsize el tamaño de paso inicial (por defecto: 0.01)MinStepsize el tamaño mínimo de paso para computar un punto sigu-

iente de la curva (por defecto: 10�5)MaxStepsize el tamaño máximo de paso para computar un punto sigu-

iente de la curva (por defecto:0; 1)MaxCorrIters número máximo de iteraciones de corrección (por defecto:

10)MaxNewtonIters máximo número de iteraciones de Newton-Raphson

antes de cambiar a iteraciones de correción tipo Newton-Chords (por defecto:3)MaxTestIters máximo número de iteraciones para localizar un cero de

una testfunction (valor por defecto: 10)MoorPenrose booleano indicando la utilziación de la continuación tipo

Moore-Penrose (por defecto: 1)SymDerivative el orden más alto de la derivada simbólica que esté pre-

sente (por defecto: 0)SymDerivativeP el orden más alto de la derivada simbólica con respecto

al parámetro o parámetros libres (por defecto: 0)Increment el incremento para computar derivadas numéricamente (por

defecto: 10�5)FunTolerance tolerancia de los valores de la función: kF (x)k �FunTolerance

es el primer criterio de convergencia de la iteración de Newton (por defecto:10�6)VarTolerance tolerancia de las coordenadas: k�xk � VarTolerance es el

segundo criterio de convergencia de la iteración Newton (por defecto: 10�5)TestTolerance tolerancia de las test functions (por defecto: 10�5)Singularities booleano indicando la presencia de test functions y de una

matriz de singularidad (por defecto: 0)MaxNumPoints máximo número de puntos de una curva (por defecto:

300)

57

Backward booleano indicando la dirección de la continuación (signo delvector tangente inicial v0) (por defecto: 0)CheckClosed número de puntos indicando cuando comprobar si la curva

es cerrada (por defecto: 50)TestFunctions booleano indicando la presencia de test functions y de

una matriz de singularidad (por defecto: 0)Locators vector booleano indicando que el usuario su propio código para

localizar ceros de las test functions. De lo contrario el localizador por defectoserá el usado (por defecto: vacio)Adapt número de puntos indicando cuando adaptar el problema mientras

se obtiene la curva (por defecto: 1 = adaptar siempre)IgnoreSingularity vector que contiene los índices de las singularidades

que se van a ignorar (por defecto: vacio)ActiveParams vector que contiene los índices de los parámetros activos

(por defecto: vacio)Multipliers booleano indicando el cómputo de los multiplicadores (por

defecto: 0)EigenValues booleano indicando el cómputo de los autovalores (por de-

fecto: 0)UserFunctions booleano indicando la presencia de user functions (por

defecto: 0)UserFunctionsInfo es un vector con estructuras que contienen informa-

ción acerca de las userfunctions. Esta estructura tiene la siguientes partes:

.label etiqueta de la userfunction

.name nombre de la userfunction

.state booleano indicando si la userfunction debe ser evaluada o no.

Symderivative,SymderivativeP,Workspace,Locators,ActiveParamsno deben utilizarse utilizando contset; se relacionan con determinados tiposde curvas y son creadas en la descripción de estos tipos.

2.5 singularidades y test functions

Para detectar singularidades sobre ua curva debemos tener activa la op-ción Singularities. Los puntos singulares se de�nen utilizando una matriz desingularidad. El continuer almacena la salida para las singularidades, las test-functions y la detección de singularidades respectivamente en las variablescds.curve_singmat, cds.curve_testf y cds.curve_process.

Una llamada a:

58

[S,L]=feval(cds.curve_singmat) obtiene una matriz S y un vector decadenas de 2 caracteres cosnsistentes en abreviaturas de las singularidades.

Una llamada a:feval(cds.curve_testf,ids,x,v) realizada a continuación de la anteri-

or devuelve la evaluación de todas las testfunctions (cuyos índices están enel vector ids) en x (v es el vector tangente a x). Además de un segundoargumento de salida, se devolverá un vector con todos los ids de las testfunc-tions que no pudieran ser evaluados; si este vector no está vacio, entonces eltamaño de paso se verá disminuido.

Cuando se detecte una singularidad, una llamada a :[failed,s]=feval(cds.curve_process,i,x,v,s) estará lista para procesar

la singularidad i en x. Con ésto se pueden procesar autovalores... ect, del pun-to singular. Estos resultados pueden salvarse luego en s.data y reutilizadospara otros análisis. Hay que indicar que tanto el primer como el último puntode la curva son tratados como puntos singulares.

2.6 Locators.

Podría ser necesario disponer de un código especí�co para localizar ciertassingularidades. Para usar un localizador especí�co tiene que estar activa laopción Locators. Se trataria de un vector con el índice de un elemento quecorresponde al índice de una singularidad. Poner la entrada a 1 signi�cala presencia un �Locator� de�ndo por el usuario. El continuer almacena lasalida para los �locators� en la variable cds.curve_locators y creará unallamada a [x,v]=feval(cds.curve_locate,i,x1,v1,x2,v2) para encontraruna singularidad i que sea detectada entre x1 y x2 con sus correspondientesvectores tangentes v1 y v2. Se devolvería el punto localizado y su vectortngente. Si el localizador no encontrara ningún punto se devovería x=[].

2.7 User functions.

Para la detección de funciones de usuario (userfunctions) sobre la curva,tiene que estar activa la opciónUserfunctions. El continuer almacena la salidapara las usefunctions en la variable cds.curve_userf. Lo primero sería re-alizar una llamada aUserinfo=conget(cds.options,�UserfunctionsInfo�,[])para conseguir información sobre las userfunctions. Una llamada a:feval(cds.curve_userf, UserInfo,ids,x,v) devolverá la evaluación de

todas las ids userfunctions (cuya información se encuentra en la estructuraUserInfo) en x (v es el vector tangente a x). Además de un segundo argu-mento de salida, se devolverá un vector con todos los ids de las testfunctions

59

que no pudieran ser evaluados; si este vector no está vacio, entonces el tamañode paso se verá disminuido.Cuando se detecte un cambio de signo en la userfuntion, la userfunction

i será procesada en x. En este punto, los resultados (valores de las userfunc-tions) pueden salvarse en la estructura s.data y reutilziarse para posterioresanálisis.

2.8 Default processor.

En muchos casos es necesaro hacer algunos cómputos para cada punto dela curva. Los resultados de estos cómputos pueden ser utilizados más tarde,por ejemplo, por las testfunctions. El continuer almacena la salida para el de-faultprocessor en la variable cds.curve_defaultprocessor. La llamada seharía como [failed,f,s]=feval(cds.curve_defaultprocessor,x,v,s) dondex y v son el punto sobre la curva y su vector tangente. El argumento s sólose suministra en caso de que el punto sea singular. Si por alguna razón, eldefaultprocessor fallara, failed tendría el valor 1. Esto provocaría una reduc-ción del tamaño de paso, con lo cual una reentrada resolvería el problema.Cualquier información que se quiera conservar, se colocará en f. El argumen-to f será un vector columna y tendrá el mismo tamaño para cada llamada aldefaultprocessor.

2.9 Especial processors.

Después de que se haya detectado un punto singular, una estructura tipodata será creada. Si algunos datos especiales (como autovalores) fueran deinterés para un punto singular en particular, una llamada a:[failed,s]=feval(cds.curve_process,i,x,v,s) almacenaría este resulta-

do en el campo s.data. Aquí i indica la singularidad detectada y x y v sonel punto y el vector tangente donde la singularidad fue encontrada.

2.10 Workspace.

Durante el cómputo de una curva es a veces necesario introducir vari-ables y hacer cómputos adicionales que son comunes a todos los puntos. Elcontinuer almacena la salida para la limpieza e inicialización del workspaceen las variables cds.curve_init y cds.curve_done. La llamada sería fe-val(cds.curve_init,x,v) Esta opción sólo se porporcionará en el caso deque la variableWorkSpace esté activada en cds.options. En este caso unallamada feval(cds.curve_done,x,v) limpiará el workspace. Las variablescreadas en el workspace serán globales.

2.11 Adaptación.

60

Es posible adaptar el problema durante la generación de la curva. Si Adapttiene un valor, por ejemplo 5, entonces cada 5 puntos computados se generaráuna llamada a [reeval,x,v]=feval(cds.curve_adapt,x,v).

En algunas aplicaciones es necesario cambiar o modi�car las testfunctionsusadas mientras se está generando la curva. Para conservar los signos correc-tos de las testfuntions a veces es necesario reevaluar las testfunctions tras laadaptación. En este caso reeval tendría valor 1. En caso contrario, 0. Lasvariables de salida x y v serán las variables actualizadas x y v, las cualespodráin haber cambiado debido a las modi�caciones hechas al sistema.

3. Directorios

Los archivos de MATCONT están organizados en los siguientes directo-rios:

Continuer

Aquí se pueden encontrar todos los archivos necesarios para calcular ydibujar cualquier curva.

Equilibrium

Aquí encontramos todos los archivos necesarios para continuar una cur-va de equilibrio. Esto incluye los inicializadores y el archivo de de�niciónde la curva de equilibrio.

LimitCycle

Aquí se encuentran los archivos necesarios para una continuación deórbitas, incluyendo los inicializadores y el archivo d de�nición de lacurva.

Limitpoint

En este directorio tenemos los archivos necesarios para la continuaciónde un punto límite. Esto incluye los inicializadores y el archivo de de�ni-ción de la curva.

Hopf

Aquí se tienen los archivos necesarios para la continuación de un puntoHopf, incluyendo los inicializadores y el archivo en que se de�ne lacurva.

61

PeriodDoubling

En este directorio están los archivos necesarios para realizar una con-tinuación de una bifurcación de duplicación de período. Esto incluyeun inicializador y los archivos de de�nición de la curva.

LimitPointCycle

Aquí se encuentran todos los archivos necesarios para realizar una con-tinuación de órbitas periódicas desde una bifurcación de punto límite.Esto incluye un inicializador y los archivos de de�nición de la curva.

NeimarkSacker

Aquí se encuentran todos los archivos necesarios para realizar una con-tinuación de órbitas desde una bifurcación toro. Incluye un inicializadory los archivos de de�nición de la curva.

BranchPoint

En este directorio están los archivos necesarios para realizar una con-tinuación de un punto de rami�cación. Esto incluye un inicializador ylos archivos de de�nición de la curva.

BranchPointCycle

Aquí se tienen los archivos necesarios para la continuación de un puntode rami�cación de órbitas. Esto incluye un inicializador y los archivosde de�nición de la curva.

Systems

Aquí se encuentran todas las de�niciones de los sistemas de los ejemplosde MATCONT.

Testruns

Aquí se encuentran todas las rutinas para los ejemplos.

Los únicos archivos que no se encuentran en ninguno de estos directoriosson init.m y cpl.m la función init debe ser llamada antes de hacer cualquiercosa con MATCONT. La función cpl se utiliza para dibujar los resultadosde la continuación.

4. Ejemplo simple.

En este apartado presentamos un simple ejemplo que ilustra el funcionamien-to básico del continuer. En este ejemplo se generará una curva g en el plano

62

(x,y) tal que x2+ y2 = 1. Así que si el usuario especi�ca un punto razonable-mente cercano a esta curva, nosotros generaremos la circunferencia unidad.La de�nición de la función es:

F (x; y) = x2 + y2 � 1

function out = curve%% Curve �le of circle%out{1} = @curve_func;out{2} = @defaultprocessor;out{3} = @options;out{4} = [];%@jacobian;out{5} = [];%@hessians;out{6} = [];%@testf;out{7} = [];@userf;out{8} = [];@process;out{9} = [];@singmat;out{10} = [];@locate;out{11} = [];@init;out{12} = [];@done;out{13} = @adapt;%� � � � � � � � � � � � � � � � � � �function func = curve_func(arg);x = arg;func = x(1)^2+x(2)^2-1;%� � � � � � � � � � � � � � � � � � �function option= optionsoption = contset;varargout{1} = option;%� � � � � � � � � � � � � � � � � � � -function varargout = defaultprocessor(varargin)if nargin > 2s = varargin{3};varargout{3} = s;end

% no special datavarargout{2} = nan;

63

% all done succesfullyvarargout{1} = 0;%� � � � � � � � � � � � � � � � � � � -function [res,x,v] = adapt(x,v)res = [];% no re-evaluations neededComo punto de partida tomaremos el (x; y) = (1; 0). Tendremos que

introducir en MATLAB lo siguiente:

>>init;>> [x,v,s]=cont(@curve,[1;0]);�rst point foundtangent vector to �rst point foundClosed curve detected at step 70elapsed time = 0.2 secsnpoints curve = 70

Con cpl(x,v,s,e) tendremos un dibujo en dos o tres dimensiones. El cuar-to argumento e es opcional. x,v y s son los resultados de la continuación real-izada, mientras que e es un vector cuyos elementos de�nen que coordenadasdel sistema son las representadas. Por tanto, e debe tener dos componentes(dibujo bidimensional) o tres (dibujo tridimensional). Si e se omite y x tienedos (respectivamente tres) componentes, entonces se obtendrá un dibujo 2D(rspectivamente 3D). En los demás casos se generará un mensaje de error.La curva generada es ploteada mediante el comando:

>>cpl(x,v,s)

64

En este caso x tiene dimensión 2, así que el dibujo será en 2D con laprimera componente del vector x (valor de la variable x) en el eje de abscisas,y la segunda componente del vector x (valor de la variable y) en el eje deordenadas.

5. Continuación de equilibrios.

En el siguiente ejemplo mostraremos como se continua un equilibrio deuna ecuación diferencial de�nida en un �chero estandar de MATLAB.

5.1 De�nición matemática.

Consideremos la ecuación diferencial

du

dt= f(u; �); u 2 Rn; � 2 R f : Rn+1 ! Rn

Estamos interesados en una curva de equilibrio, es decir, f(u; �) = 0. Lafunción de de�nición es por tanto:

F (x) = f(u; �) = 0

donde x = (u; �) 2 Rn+1. Llamaremos v 2 Rn+1 al vector tangente a lacurva de equilibrio en x.

5.2 Bifurcaciones.fold, también conocido como punto límite. Denotaremos esa bifur-cación con LP.

punto Hopf, denotado por H.

La curva de equilibrio también puede presentar puntos de rami�cación,denotados por BP.

5.3 Inicialización del equilibrio.

La orden inmediata para empezar a continuar un equilibrio es:

[x,v,s,h,f ]=cont(@equilibrium,x0,v0,opt)

Sin embargo, el archivo de curvas de equilibrios tiene que conocer:

65

cual �chero de ecuaciones diferenciales tiene que usar,

los valores de todas las variables,

los valores de todos los parámetros,

cual es el parámetro activo.

Toda esta información puede ser proporcionada mediante una de las sigu-ientes funciones. Ambas devuelven un punto inicial x0, as ´como su vectortangente v0.

[x0,v0]=init_EP_EP(@ode�le,x,p,ap)

Esta rutina almacena la información en una estructura global eds. Elresultado de init_EP_EP es un vector x0 conteniendo todas las vari-ables además de un parámetro activo, y un vector v0 que estará vacío.Aquí ode�le es el nombre del �chero de ecuaciones diferenciales que vaa ser utilizado, x es un vector con los valores de las variables, p es unvector con los valores de los parámetros, y ap es el parámetro activo.

[x0,v0]=init_BP_EP(@ode�le,x,p,s,h)

Calcula un punto inicial para el comienzo de una nueva rama desdeun punto de rami�cación detectadosobre una curva de equilibrio. Estarutina almacena la información en una estructura global eds. Aquíode�le es el nombre del �chero de ecuaciones diferenciales que va aser utilizado, x es un vector que contiene los valores de las variablesretornados en una continuación previa de la curva, p es un vector conlos valores de los parámetros, y h contiene el valor de la amplitudinicial.

5.4 Ejemplo de aplicación.

Este ejemplo es una discretización a 4 puntos del problema de Bratu-Gelfand. El modelo es el siguiente:

x0 = y � 2x+ aex

y0 = x� 2y + aey

66

A continuación presentamos el �chero �bratu.m�, donde está el sistemaespeci�cado:

function out = bratuout{1} = @init;out{2} = @fun_eval;out{3} = @jacobian;out{4} = [];out{5} = @hessians;out{6} = [];out{7} = [];out{8} = [];out{9} = [];out{10}= @userf1;% � � � � � � � � � � � � � � � � � � � � � � � � �function dydt = fun_eval(t,kmrgd,a)dydt=[kmrgd(2)-2*kmrgd(1)+a*exp(kmrgd(1));kmrgd(1)-2*kmrgd(2)+a*exp(kmrgd(2));];% � � � � � � � � � � � � � � � � � � � � � � � � �function [tspan,y0,options] = inithandles = feval(bratu);y0=[0,0];options = odeset(�Jacobian�,handles(3),�JacobianP�,handles(4),�Hessians�,handles(5),�HessiansP�,handles(6));tspan = [0 10];% � � � � � � � � � � � � � � � � � � � � � � � � �function jac = jacobian(t,kmrgd,a)jac=[[-2+a*exp(kmrgd(1)),1];[1,-2+a*exp(kmrgd(2))]];% � � � � � � � � � � � � � � � � � � � � � � � � �function jacp = jacobianp(t,kmrgd,a)% � � � � � � � � � � � � � � � � � � � � � � � � �function hess = hessians(t,kmrgd,a)hess1=[[a*exp(kmrgd(1)),0];[0,0]];hess2=[[0,0];[0,a*exp(kmrgd(2))]];hess(:,:,1) =hess1;hess(:,:,2) =hess2;% � � � � � � � � � � � � � � � � � � � � � � � � �function hessp = hessiansp(t,kmrgd,a)%� � � � � � � � � � � � � � � � � � � � � � � � �function tens3 = der3(t,kmrgd,a)

67

%� � � � � � � � � � � � � � � � � � � � � � � � �function tens4 = der4(t,kmrgd,a)%� � � � � � � � � � � � � � � � � � � � � � � � �function tens5 = der5(t,kmrgd,a)%� � � � � � � � � � � � � � � � � � � � � � � � �function userfun1 = userf1(t,kmrgd,a)userfun1 = a-0.2;

Como podemos ver, hay de�nida una userfunction para detectar todoslos puntos donde a = �0;2. Este sistema tiene un equilibrio en (x; y; �) =(0; 0; 0), el cual continuaremos con respecto a �. Primero computamos 50puntos y luego extenderemos la curva a otros 50 puntos.

>> global cds>> ap=1; p=0;>> [x0,vO]=init_EP_EP(@bratu,[0;0], p, ap);>> opt=contset;opt=contset(opt,�MaxNumPoints�,50);>> opt=contset(opt,�Singularities�,1);>> opt=contset(opt,�Userfunctions�,1);>> UserInfo.name=�userf1�;UserInfo.state=1;UserInfo.label=�u1�;>> opt=contset(opt,�UserfunctionsInfo�,UserInfo);>> [x,v,s,h,f ]=cont(@equilibrium,x0,[],opt);�rst point foundtangent vector to �rst point foundlabel = u1, x = ( 0.259171 0.259171 0.200000 )label = LP, x = ( 1.000000 1.000000 0.367879 )a=3.535534e-001label = H , x = ( 2.000000 2.000000 0.270671 )Neutral saddlelabel = u1, x = ( 2.542641 2.542641 0.200000 )

elapsed time = 0.8 secsnpoints curve = 50

>> [x,v,s,h,f ]=cont(x,v,s,h,f,cds);start computing extended curvelabel = BP, x = ( 3.000000 3.000000 0.149361 )

elapsed time = 0.2 secsnpoints curve = 100>> cpl(x,v,s,[3 1 2]);

68

En (x; v; �) = (3; 0; 3; 0; 0; 15) el sistema tiene un punto de rami�caciónBP. Para selecionar este punto utilizamos el argumento de salida s. Debidoa que el primer y el último punto de la curva son tratados como puntossingulares, el vector de estructuras s tiene 7 componentes.El �chero cpl.m permite dibujar curvas en 2 o 3 dimensiones. Esta rutina

coloca automaticamente puntos singulares. cpl(x,v,s,[3 1 2]); dibuja unacurva 3D con el parámetro � en el eje x y la primera y la segunda variablecon respectivamente en el eje y y z.

69

Apéndice B

Los archivos �Bmatf.m�y�Jacob.m�

Presentación del archivo �bmatf.m�:

function out = bmatf%% Ode�le of the reaction/difusion model%out{1} = @init;out{2} = @fun_eval;out{3} = @jacobian;out{4} = @jacobianp;out{5} = [];out{6} = [];out{7} = [];out{8} = [];out{9} = [];%� � � � � � � � � � � � � � � � � � � � � � � � �function dfdt = fun_eval(t,x,Et,N,Bi,Beta,m)Ganma = 30;h = 1/(N-1);dxdt = zeros(N,1);dxdt(1) = (2*x(2)-2*x(1))/(h*h) - exp((Ganma*Beta*(1-x(1)))/(1+Beta*(1-

x(1))))*x(1)^m*Et^2;%x(1)dxdt(N) = (2*x(N-1)-x(N)*((2*h*Bi)+2)+2*h*Bi)/(h*h) - exp((Ganma*Beta*(1-

x(N)))/(1+Beta*(1-x(N))))*x(N)^m*Et^2;%x(N)for i=2:N-1

70

dxdt(i) = (x(i-1)-2*x(i)+x(i+1))/(h*h) - exp((Ganma*Beta*(1-x(i)))/(1+Beta*(1-x(i))))*x(i)^m*Et^2;enddfdt = dxdt;%� � � � � � � � � � � � � � � � � � � � � � � � �function [tspan,x0,options] = init(N)%De�nimos el INIThandles=feval(@bmatf);tspan = [0 10];x0=zeros(N,1);for j=1:Nx0(j)=0.9;endoptions = odeset(�Jacobian�,handles(3),�Jacobianp�,handles(4));%� � � � � � � � � � � � � � � � � � � � � � � � �function dfdz = jacobian(t,x,Et,N,Bi,Beta,m)Ganma = 30;h = 1/(N-1);global dxdz;%% Calculo del Jacobiano%dxdz = zeros(N,N);dxdz(N,N) = -2/(h*h)-2*Bi/h + exp((Ganma*Beta*(1-x(N)))/(1+Beta*(1-

x(N))))*x(N)^(m-1)*Et^2*((Ganma*Beta*x(N))/((1+Beta*(1-x(N)))^2)-m);dxdz(N,N-1) = 1/(h*h);dxdz(1,1) = -2/(h*h) + exp((Ganma*Beta*(1-x(1)))/(1+Beta*(1-x(1))))*x(1)^(m-

1)*Et^2*((Ganma*Beta*x(1))/((1+Beta*(1-x(1)))^2)-m);dxdz(1,2) = 2/(h*h);for i=2:N-1dxdz(i,i-1) = 1/(h*h);dxdz(i,i) = -2/(h*h) + exp((Ganma*Beta*(1-x(i)))/(1+Beta*(1-x(i))))*x(i)^(m-

1)*Et^2*((Ganma*Beta*x(i))/((1+Beta*(1-x(i)))^2)-m);dxdz(i,i+1) = 1/(h*h);enddfdz = dxdz;%� � � � � � � � � � � � � � � � � � � � � � � � �function dfdp = jacobianp(t,x,Et,N,Bi,Beta,m)Ganma = 30;h = 1/(N-1);global dfdp;Pzt = zeros(N,1);

71

for i=1:NPzt(i) = -2*Et*exp((Ganma*Beta*(1-x(i)))/(1+Beta*(1-x(i))))*x(i)^m;enddfdp = Pzt;%� � � � � � � � � � � � � � � � � � � � � � � � �

Presentación del �chero �jacob.m�:

N=40;Ganma = 30;h = 1/(N-1);Bi = 30;m=1;Beta = 0.7;lambda=[];for j=1:2000dxdz = zeros(N,N);dxdz(N,N) = -2/(h*h)-2*Bi/h + exp((Ganma*Beta*(1-x(N,j)))/(1+Beta*(1-

x(N,j))))*x(N,j)^(m-1)*(x(41,j))^2*((Ganma*Beta*x(N,j))/((1+Beta*(1-x(N,j)))^2)-m);

dxdz(N,N-1) = 1/(h*h);dxdz(1,1) = -2/(h*h) + exp((Ganma*Beta*(1-x(1,j)))/(1+Beta*(1-x(1,j))))*x(1,j)^(m-

1)*(x(41,j))^2*((Ganma*Beta*x(1,j))/((1+Beta*(1-x(1,j)))^2)-m);dxdz(1,2) = 2/(h*h);for i=2:N-1dxdz(i,i-1) = 1/(h*h);dxdz(i,i) = -2/(h*h) + exp((Ganma*Beta*(1-x(i,j)))/(1+Beta*(1-x(i,j))))*x(i,j)^(m-

1)*(x(41,j))^2*((Ganma*Beta*x(i,j))/((1+Beta*(1-x(i,j)))^2)-m);dxdz(i,i+1) = 1/(h*h);endeig(dxdz);lambda(:,j) =ans;�nal(1,j)=min(abs(ans));�nal(2,j)=x(41,j);end

72

Apéndice C

Tabla de unidades

Símbolo Especi�cación UnidadesNA �ujo molar de reactivo A por unidad de super�cie mol

m2s

CA concentración de A molm3

t variable temporal sz variable espacial m

(�rA) velocidad de consumo de A por unidad de volumen molm3s

v velocidad media molar ms

k coe�ciente cinético de reacción s�1

De difusividad efectiva cm2

s

R constante universal de los gases ideales JmolK

Ea energía de activación Jmol

T temperatura KkG coe�ciente convectivo de transferencia de materia m

s

h coe�ciente convectivo de transferencia de calor Jm2s

�Hr incremento de entalpía de reacción Jmol

q �ujo de calor por unidad de super�cie Jm2s

Cp calor especí�co JmolK

� densidad kgm3

ke conductividad térmica efectiva Jm3s

73

Bibliografía

[1] Rodríguez Cornejo, Jose Ma: Simulación con MATCONT de un sistemamecánico autoparamétrico (Proyecto �n de carrera) Marzo 2005.

74

Bibliografía

[1] Ollero de Castro, P., García López, A.: Cinética Química E.S.I.Universidad de Sevilla

[2] Elnashaie S.S.E.H., Elshishini, S.S.: Dinamic Modelling, Bifurca-tion and Chaotic Behaviour of Gas-Solid Catalytic Reactors.Gordon and Breach Publishers

[3] Levenspiel, O.: Chemical Reaction Engineering : An introductionto the design of chemical reactors.New York: John Wiley andSons, 1967

[4] Dhooge A., Govaerts W., Kuznetsov Yu.A., Mestrom W., RietA.M.:CL_MATCONT: A continuation toolbox in Matlab.GhentUniversity, Belgium. Julio 2004

[5] Sánchez López-Ibáñez, I., González Galavís, L.: Manual básico deLatex Departamento de Matemática Aplicada II. E.S.I. Sevilla2003.

[6] Marroquín de la Rosa, J.O., Viveros García, T., Ochoa-Tapia,J.A.: Aproximate Isothermal Global E¤ectiveness Factor. Re-vista Mexicana de Ingeniería Química Vol.2 (2003)

75