Anda di halaman 1dari 112

Proyecto Fin de Carrera

Ingeniera Industrial

Desarrollo de un simulador para el anlisis y


control del ensuciamiento en
intercambiadores de Carcasa y Tubos
Autor: Mara Rodrguez-Sols Snchez
Tutor: Roco Gonzlez Falcn

Dept. de Ingeniera Energtica


Escuela Tcnica Superior de Ingeniera
Universidad de Sevilla
Sevilla, 2014

Proyecto Fin de Carrera


Ingeniera Industrial

Desarrollo de un simulador para el anlisis y control del


ensuciamiento en intercambiadores de Carcasa y Tubos

Autor:
Mara Rodrguez-Sols Snchez

Tutor:
Dra. Roco Gonzlez Falcn

Dept. de Ingeniera Energtica


Escuela Tcnica Superior de Ingeniera
Universidad de Sevilla

Sevilla, 2014

Proyecto Fin de Carrera: Desarrollo de un simulador para el anlisis y control del ensuciamiento en
intercambiadores de Carcasa y Tubos

Autor:

Mara Rodrguez-Sols Snchez

Tutor:

Roco Gonzlez Falcn

El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros:
Presidente:

Vocales:

Secretario:

Acuerdan otorgarle la calificacin de:

Sevilla, 2014

El Secretario del Tribunal

A mis padres, por su ilusin y entusiasmo


A mi hermana, Cristina, por su cario
A Julio, por su apoyo y comprensin
A mi tutora, Roco Gonzlez, por su ayuda y dedicacin

Resumen

El ensuciamiento en intercambiadores de calor da lugar a una reduccin en la eficiencia de la


transmisin de calor, un aumento de la cada de presin en el intercambiador y otros problemas
como la corrosin o la obstruccin de los tubos. As, este fenmeno tiene asociado un coste
econmico considerable, tanto por el decremento de la eficiencia, como por las prdidas de
produccin asociadas a las paradas para limpieza y el coste asociado al mantenimiento y la
reparacin de los equipos.
La importancia de este proceso ha motivado la realizacin del presente Proyecto Fin de Carrera,
cuyos objetivos son:

Conocer el proceso de ensuciamiento en intercambiadores de calor, sus causas y


consecuencias, y los mecanismos fsico-qumicos que intervienen en dicho proceso

Desarrollar una herramienta informtica que permita:


o

Estudiar y comparar los distintos modelos matemticos que describen el proceso


de ensuciamiento,

Utilizar los distintos modelos existentes para simular el proceso de


ensuciamiento en diferentes situaciones.

El primer objetivo se desarrolla en los dos primeros captulos del Proyecto. En el Captulo 1, se
presenta un desarrollo terico sobre el proceso de ensuciamiento en intercambiadores de calor,
los mecanismos que intervienen en el proceso, las consecuencias del fenmeno y las medidas
que se pueden tomar para reducir o eliminar el ensuciamiento. En el Captulo 2 se plantean los
modelos matemticos que describen tanto el proceso general de ensuciamiento como los
mecanismos particulares que componen dicho proceso, y se seleccionan los modelos que se van
a integrar en la herramienta informtica.
El Captulo 3 se dedica al desarrollo de la herramienta informtica. Tras una breve introduccin
al entorno de desarrollo elegido, se explica la programacin y el funcionamiento de todos los
componentes de la aplicacin.
En el Captulo 4 se exponen y analizan los resultados obtenidos con la herramienta desarrollada,
incluyendo el ajuste de los modelos elegidos a distintos conjuntos de datos, la comparacin y
validacin de dichos modelos, el uso de los modelos para simular el proceso de ensuciamiento,
y el anlisis de la sensibilidad de los modelos a distintas variables de influencia.
Finalmente, en el Captulo 5 se recopilan las conclusiones alcanzadas durante el desarrollo del
Proyecto, y se proponen varias aplicaciones prcticas de la herramienta desarrollada y algunas
posibles lneas de desarrollo a partir del trabajo realizado.

vii

ndice

Resumen ......................................................................................................................................... vii


ndice ............................................................................................................................................... ix
Notacin ......................................................................................................................................... 11
1

Introduccin al fouling .............................................................................................................. 13


1.1. Mecanismos de ensuciamiento ........................................................................................................ 13
1.1.1
Cristalizacin ......................................................................................................................... 13
1.1.2
Sedimentacin ...................................................................................................................... 13
1.1.3
Fouling biolgico ................................................................................................................... 14
1.1.4
Reaccin qumica .................................................................................................................. 14
1.1.5
Corrosin............................................................................................................................... 14
1.1.6
Congelacin........................................................................................................................... 14
1.2. Efectos del ensuciamiento ................................................................................................................ 15
1.3. Minimizacin y eliminacin del ensuciamiento................................................................................ 15
1.3.1
Medidas preventivas en el diseo ........................................................................................ 15
1.3.2
Minimizacin del fouling durante la operacin del intercambiador .................................... 17
1.3.3
Eliminacin del fouling y mantenimiento ............................................................................. 17
1.4. Fouling en funcin del tipo de intercambiador ................................................................................ 18

Modelado matemtico.............................................................................................................. 21
2.1. Parmetros representativos del fouling ........................................................................................... 21
2.2. Planteamientos ................................................................................................................................ 22
2.3. Modelos globales ............................................................................................................................. 24
2.3.1
Saleh ...................................................................................................................................... 24
2.3.2
Ebert y Panchal ..................................................................................................................... 24
2.3.3
Polley..................................................................................................................................... 25
2.3.4
Jafari Nasr y Majidi Givi......................................................................................................... 25
2.3.5
Francesco Coletti y Sandro Macchietto ................................................................................ 25
2.3.6
Kern y Seaton ........................................................................................................................ 26
2.3.7
Konak .................................................................................................................................... 26
2.3.8
Epstein................................................................................................................................... 27
2.4. Modelos especficos para los distintos mecanismos de fouling ....................................................... 27
2.4.1
Deposicin de partculas ....................................................................................................... 27
2.4.2
Cristalizacin y formacin de incrustaciones ........................................................................ 28
2.4.3
Congelacin o solidificacin de lquidos ............................................................................... 29
2.4.4
Corrosin............................................................................................................................... 29
2.4.5
Reaccin qumica .................................................................................................................. 29
2.4.6
Crecimiento biolgico ........................................................................................................... 31
2.5. Eleccin de modelos ......................................................................................................................... 33

Programacin del simulador ...................................................................................................... 35


3.1. Herramientas de desarrollo.............................................................................................................. 35
3.1.1
Matlab ................................................................................................................................... 35

3.1.2
GUIDE .................................................................................................................................... 39
3.1.3
Deployment tool ................................................................................................................... 40
3.2. Estructura de la aplicacin ............................................................................................................... 42
3.2.1
Calcular modelo .................................................................................................................... 42
3.2.2
Importar modelo ................................................................................................................... 46
3.2.3
Simular y comparar ............................................................................................................... 46
3.3. Entrada y salida de informacin....................................................................................................... 48
3.3.1
Importacin de datos ............................................................................................................ 48
3.3.2
Recuperacin de modelos guardados ................................................................................... 48
3.3.3
Configuracin de anlisis de sensibilidad.............................................................................. 49
3.3.4
Salidas ................................................................................................................................... 49
3.4. Elementos auxiliares......................................................................................................................... 49
3.4.1
Mensajes de aviso ................................................................................................................. 49
3.4.2
Ayuda .................................................................................................................................... 50
3.4.3
Salir ........................................................................................................................................ 50
4

Anlisis de resultados ............................................................................................................... 51


4.1. Datos utilizados ................................................................................................................................ 51
4.2. Clculo y validacin de modelos....................................................................................................... 51
4.2.1
Conjunto de datos Light Australian Crude Oil ....................................................................... 51
4.2.2
Conjunto de datos Light Sour Blend ...................................................................................... 53
4.2.3
Conjunto de datos Cold Lake ................................................................................................ 55
4.3. Simulacin de modelos ..................................................................................................................... 56
4.3.1
Ejemplo de simulacin .......................................................................................................... 56
4.3.2
Simulacin de un modelo con datos correspondientes a otro escenario............................. 62
4.4. Anlisis de sensibilidad ..................................................................................................................... 64
4.4.1
Sensibilidad de un modelo a varios parmetros ................................................................... 64
4.4.2
Comparacin de anlisis de sensibilidad de distintos modelos ............................................ 70

Conclusiones y lneas de ampliacin .......................................................................................... 73


5.1. Conclusiones ..................................................................................................................................... 73
5.2. Lneas de ampliacin ........................................................................................................................ 73

Anexos ..................................................................................................................................... 75
6.1. Interfaz grfica del simulador .......................................................................................................... 75
6.2. Cdigo del programa ........................................................................................................................ 77
6.2.1
Cdigo principal (sim_fouling) .............................................................................................. 77
6.2.2
Funcin reg_saleh ................................................................................................................. 94
6.2.3
Funcin reg_ebert ................................................................................................................. 95
6.2.4
Funcin reg_polley ................................................................................................................ 97
6.2.5
Funcin simular ..................................................................................................................... 98
6.2.6
Funcin calc_err_rel ............................................................................................................ 100
6.2.7
Funcin calc_err_cuad ........................................................................................................ 102
6.3. Datos utilizados para la simulacin................................................................................................ 104
6.3.1
Light Australian Crude Oil ................................................................................................... 104
6.3.2
Light Sour Blend .................................................................................................................. 105
6.3.3
Cold Lake ............................................................................................................................. 106

Referencias ................................................................................................................................... 107


7

ndice de Tablas ...................................................................................................................... 109

ndice de Figuras ..................................................................................................................... 111

Notacin

Re

Nmero de Reynolds

Velocidad del fluido en el interior de los tubos

Dimetro de los tubos

Viscosidad cinemtica del fluido

Caudal



  

Resistencia trmica asociada al ensuciamiento


Coeficientes de los modelos matemticos

Presin en los tubos

Energa de activacin

Constante universal de los gases

Temperatura de pelcula

Esfuerzo cortante en la pared del tubo

Densidad del fluido



Temperatura de la masa fluida

Factor de friccin

Temperatura superficial de los tubos

Viscosidad dinmica del fluido

12

Introduccin al fouling

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

13

1 INTRODUCCIN AL FOULING
El trmino fouling se refiere a la acumulacin de residuos y sedimentos sobre la superficie de
intercambio de calor durante el funcionamiento de un intercambiador de calor. Esta
acumulacin de material tiene como consecuencias una reduccin de la transferencia de calor,
la obstruccin del flujo y un incremento de la cada de presin en el intercambiador [1]. En
definitiva, el fouling reduce la eficiencia de la transmisin de calor, lo cual puede dar lugar a
otros problemas en la instalacin o planta, y tiene, adems, un costo asociado considerable.
Los costes asociados al ensuciamiento de intercambiadores de calor incluyen tanto las prdidas
de produccin debidas al decremento de la eficiencia y a las paradas, planeadas o imprevistas,
como los costes de mantenimiento resultantes de la limpieza qumica y/o mecnica o de la
sustitucin del equipamiento corrodo o atascado. Segn Pritchard y Thackery (Harwell
Laboratories), en torno al 15% de los costes de mantenimiento de una planta de proceso pueden
ser atribuidos a intercambiadores de calor y calderas. Afirman que, probablemente, el coste que
supone la mitad de dicho porcentaje sea a causa del fouling [2].
Debido al impacto econmico mencionado, es importante conocer el proceso para tomar
medidas preventivas en el diseo y planificar la limpieza, seleccionando el mtodo ms
adecuado.

1.1. Mecanismos de ensuciamiento


Existen varios mecanismos bsicos por los que se pueden crear depsitos de fouling. Cada uno
depende de varias variables, y se pueden encontrar combinados en una misma aplicacin:

1.1.1

Cristalizacin

Algunas sales comunes en aguas naturales (en su mayor parte sulfato de calcio) ven reducida su
solubilidad al aumentar la temperatura del agua. Si el fluido entra en contacto con una pared
que est a una temperatura superior a la temperatura de saturacin de la sal disuelta, dicha sal
cristalizar. La nucleacin comenzar, tras un periodo de induccin, en lugares favorables como
grietas y fisuras. El proceso de acumulacin continuar siempre que la superficie en contacto
con el fluido tenga una temperatura por encima de la de saturacin. Las incrustaciones
resultantes son fuertes y adherentes, por lo que sern necesarios fuertes tratamientos mecnicos
o qumicos para retirarlas [3].

1.1.2

Sedimentacin

Muchos fluidos, entre ellos el agua de refrigeracin, contienen partculas en suspensin que se
pueden depositar en la superficie de transferencia de calor. Este tipo de depsito no es
especialmente adherente, y es autolimitante: al aumentar su grosor, tiende a desprenderse
(debido a la reduccin del rea de paso efectiva y el consiguiente aumento de presin de la
corriente fluida). De este modo, el grosor del depsito, con el tiempo, tiende a un valor

Introduccin al fouling

14

asinttico [3].
El ensuciamiento por sedimentacin depende en gran medida de la velocidad del fluido y, en
menor medida, de la temperatura de la pared. Sin embargo, las altas temperaturas pueden
provocar un aumento de la adhesin del fluido a la pared, dificultando su eliminacin [2].
La adhesin tambin depende de las propiedades superficiales del material de depsito y de la
rugosidad y la mojabilidad de la superficie donde se va a dar el ensuciamiento. Aunque las
superficies lisas pueden retrasar el ensuciamiento, su rugosidad aumenta al depositarse
partculas en ellas, por lo que habr que tener en cuenta esta rugosidad. Por otro lado, la
deposicin de partculas muy finas en superficies inicialmente rugosas puede tender a rellenar
los huecos, suavizndolas [2].

1.1.3

Fouling biolgico

Algunas corrientes de proceso y aguas de refrigeracin contienen organismos, que van desde
algas y limos microbianos hasta crustceos y moluscos. La resistencia trmica asociada a estos
organismos puede ser considerable, incluso para capas de depsito muy finas.
Cuando los organismos presentes tienen forma macroscpica, el principal problema ya no es la
reduccin de la transferencia de calor, sino la obstruccin de los conductos.
Las soluciones ms comunes para este tipo de fouling son: eliminar los organismos por
cloracin, ya sea continua o cloraciones intermitentes, o impedir el asentamiento de los
organismos en la superficie de transferencia de calor seleccionando aleaciones con alto
contenido en cobre para los tubos (por ejemplo, C70600) [3].

1.1.4

Reaccin qumica

Otra fuente comn de fouling en el lado del fluido de proceso son las reacciones qumicas, que
pueden dar lugar a una fase slida en la superficie de transmisin de calor, o cerca de ella.
Algunos ejemplos son la formacin de depsitos de carbono (denominados coque) debido a la
degradacin trmica de algn componente de la corriente de proceso, o la formacin de una
capa dura de plstico de bajo grado o goma sinttica debido a un proceso de polimerizacin. En
general, estos depsitos son muy tenaces, y pueden requerir medidas tan extremas como el
quemado del fouling para devolver el intercambiador a un estado de operacin satisfactorio [3].

1.1.5

Corrosin

Las impurezas presentes en el fluido, como el sulfuro de hidrgeno, el amoniaco y el cloruro de


hidrgeno, pueden contribuir en gran medida al proceso de corrosin [2].
La corrosin puede destruir zonas de la superficie de los intercambiadores de calor. Sin
embargo, los productos de corrosin pueden ser esenciales para proteger el metal restante de
ms corrosin. En este caso, cualquier intento de limpiar la superficie slo provocar una
corrosin acelerada y el fallo del intercambiador [3].

1.1.6

Congelacin

El fouling por congelacin se produce como resultado de un subenfriamiento en la superficie de


transferencia de calor, dando lugar a la solidificacin de algunos componentes del fluido [1].

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

15

1.2. Efectos del ensuciamiento


El fouling consiste en la formacin de un depsito esencialmente slido sobre la superficie, a
travs del cual el calor debe ser transferido por conduccin. Conocidos el grosor y la
conductividad trmica del fouling, el problema de transferencia de calor puede ser tratado de
forma sencilla incluyendo una resistencia de conduccin en serie con la asociada a la pared del
tubo. Sin embargo, estos valores no suelen ser conocidos, por lo que en el clculo del coeficiente
global de transferencia de calor, la resistencia adicional se considera en forma de factor de
ensuciamiento [2].
En un intercambiador de carcasa y tubos, el efecto del ensuciamiento en el interior de los tubos
no suele causar especial problema si en el diseo se han previsto la reduccin de la
transferencia de calor y el pequeo incremento de la resistencia al flujo. Sin embargo, el
ensuciamiento fuera de tubos con aletas puede ser ms complicado, ya que en situaciones
extremas es posible que el espesor de la capa de suciedad llegue a impedir el flujo entre las
aletas. Por esto, los tubos con muchas aletas normalmente se utilizan slo con aire y otros gases
relativamente limpios y a baja presin. El ensuciamiento es en mayor parte deposicin de
polvo, que se puede eliminar fcilmente mediante soplado [3].
Adems de la reduccin de la eficiencia de la transferencia de calor, el fouling, al reducir el rea
efectiva de paso y aumentar la velocidad del fluido, provoca un aumento en la cada de presin
en el intercambiador.
Todo esto tiene, como se coment al principio del captulo, un impacto econmico considerable:
los costes de limpieza se estiman entre 40000 y 50000$ por intercambiador y limpieza [2].

1.3. Minimizacin y eliminacin del ensuciamiento


Existen distintos tipos de medidas y estrategias para reducir el fouling tanto en el diseo como
en la operacin del intercambiador, adems de los procedimientos de limpieza para su
eliminacin:

1.3.1

Medidas preventivas en el diseo

En el diseo del intercambiador se tendrn en cuenta consideraciones para la minimizacin del


fouling relacionadas tanto con el diseo geomtrico del mismo como con la eleccin de
materiales. Adems, se utilizarn factores de seguridad (factores de ensuciamiento) para el
dimensionado del intercambiador, y se tomarn medidas para facilitar en lo posible las futuras
limpiezas del dispositivo.
Los niveles de turbulencia altos reducen la probabilidad de deposicin de sedimentos en la
superficie del intercambiador, y favorecen el desprendimiento de los residuos ya depositados.
Por ello, resulta conveniente el uso de velocidades altas y uniformes en todo el intercambiador,
minimizando el nmero de giros a baja velocidad y zonas de remanso [1].
Por este mismo motivo se recomienda situar el fluido ms sucio del lado de los tubos, donde
hay menor probabilidad de que aparezcan zonas de remanso, y se dispone de un mayor control
de la velocidad. Adems, esta es la zona del intercambiador ms fcil de limpiar.
Aunque, en principio, las superficies lisas dificultan el ensuciamiento (debido a la escasez de
poros, grietas y otras zonas favorables para la nucleacin del depsito), se ha demostrado que el
uso de tubos corrugados reduce los efectos de al menos dos de los tipos de ensuciamiento ms

Introduccin al fouling

16

frecuentes [2]:

Ensuciamiento por deposicin viscosa: se genera un mayor nivel de turbulencia a bajas


velocidades.

Ensuciamiento qumico: el aumento de los coeficientes de transferencia de calor


producido por el tubo corrugado hace que la temperatura de la pared sea ms cercana a
la del fluido, evitando as la degradacin trmica de los componentes del mismo.

Otro aspecto a tener en cuenta es la orientacin del intercambiador, pues puede facilitar la
limpieza del mismo, o reducir el ensuciamiento por efecto de la gravedad si el intercambiador
se dispone en posicin vertical [2].
La seleccin de materiales se ver afectada por el tipo de fouling ms probable (y, por tanto, el
que se desea evitar):

Para minimizar el fouling de tipo corrosivo se deber elegir un material que no se corroa
fcilmente ni produzca grandes depsitos de los productos de corrosin, por ejemplo,
acero inoxidable o aleaciones de titanio o nquel. Si se planea hacer las limpiezas de tipo
qumico, el material seleccionado tambin deber ser resistente al ataque de las
soluciones de limpieza [2].

Para minimizar el fouling biolgico se seleccionarn aleaciones de cobre como 90-10


cobre-nquel o 70-30 cobre-nquel. En general, las aleaciones con un contenido de cobre
superior al 70% son efectivas en la prevencin o minimizacin de este tipo de fouling.
Sin embargo, conviene tener en cuenta que no se debe utilizar cobre en intercambiadores
de alta presin, y que existen medidas medioambientales que limitan su uso [3].

Adems, si se va a emplear una velocidad de flujo alta como medida para controlar o minimizar
el fouling, se deber considerar la posible erosin del metal y elegir materiales resistentes a sta,
como el titanio o los aceros inoxidables [3]. Tambin ser necesario restringir la velocidad y/o la
duracin de los periodos de empleo de altas velocidades para que el tubo tenga una vida til
aceptable.
A la hora de disear el intercambiador no slo habr que elegir el material de construccin,
tambin el tratamiento superficial. Existe una gran variedad de tratamientos que contribuyen a
la minimizacin del fouling: ionizacin, revestimientos, radiacin ultravioleta, acstica o
elctrica y tratamiento con plsticos, vidrios o polmeros [2].
El efecto del fouling tambin se tendr en cuenta a la hora de dimensionar el equipo, dotando al
intercambiador de una capacidad extra para compensar la prdida de rendimiento, con el
objetivo de cumplir las condiciones de diseo durante todo el periodo transcurrido entre
paradas para limpieza. A efectos de clculo, esto se traduce en el uso de factores de
ensuciamiento, que a menudo dan lugar a un aumento de la superficie del intercambiador.
Con la intencin de hacer un diseo ms seguro, se podra especificar un factor de
ensuciamiento mayor del necesario, lo cual resultara contraproducente. Especificar un factor de
ensuciamiento demasiado grande dar lugar a un rea de paso mayor y, por tanto, velocidades
ms bajas, que propiciarn el ensuciamiento. Adems, un intercambiador sobredimensionado
operando limpio tendr un desempeo mejor del esperado, y una posible reaccin sera reducir
el flujo de agua refrigerante, lo que reducira la velocidad, aumentando el ensuciamiento [2].
Por ltimo, el diseo debe considerar qu disposiciones mecnicas son necesarias para facilitar
el proceso de limpieza.

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

1.3.2

17

Minimizacin del fouling durante la operacin del intercambiador

Algunas tcnicas para prevenir o mitigar el fouling durante la operacin del intercambiador
son: evitar el contacto de la alimentacin con aire u oxgeno mediante un bao en nitrgeno, el
tratamiento previo de la alimentacin, el uso de anti-foulants y aplicacin de estrategias
mecnicas de mitigacin continua o en lnea (sin necesidad de detener el funcionamiento del
equipo) [2].
El tratamiento previo de la alimentacin incluye procedimientos tales como limpieza custica,
desalacin, filtrado o sedimentacin. Tanto la limpieza custica, que elimina los compuestos de
sulfuro, como la desalacin, que reduce la contaminacin metlica, reducen la polimerizacin
[2].
El diseo de un filtro dependera de los parmetros del sistema (temperatura, viscosidad,
presin, concentracin de slidos, distribucin de los tamaos de partculas y compatibilidad
del fluido con el material del filtro). Sin embargo, no siempre es conveniente utilizar esta
medida. El filtro slo elimina las partculas ms grandes y, adems, requiere mantenimiento,
por lo que hay que considerar la posibilidad de que el coste del filtrado sea mayor que el que
provoca el ensuciamiento [2].
Algunos ejemplos de estrategias y dispositivos para la mitigacin y reduccin continua del
fouling son [2]:

Inversin peridica del sentido del flujo para retirar depsitos poco adheridos

Inyeccin intermitente de aire

Aumento de la velocidad de flujo o del nivel de turbulencia. Para aumentar la retirada


de depsitos de suciedad, la velocidad en los tubos debera ser >2 m/s, y ~1 m/s en el
lado de la carcasa.

Utilizacin de bolas o cepillos, hacindolos circular por el interior de los tubos (Sistema
Amertap, Sistema M.A.N)

1.3.3

Eliminacin del fouling y mantenimiento

A pesar de las medidas de control y mantenimiento, el proceso de fouling se produce, por lo


que es necesaria la limpieza peridica del intercambiador para su eliminacin. Esto requiere
paradas despus de un perodo de baja eficiencia, lo cual tiene asociado un alto coste
econmico. Las principales tcnicas utilizadas son las limpiezas qumica y mecnica, aunque
hay otros procedimientos tiles para aplicaciones especficas, como la limpieza ultrasnica y la
abrasiva, o tratamientos trmicos en caso de ensuciamiento biolgico [2].
La limpieza qumica es la tcnica ms conveniente (en los casos en los que puede ser utilizada),
ya que no exige la retirada del equipo o la extraccin de los tubos [3].
En cuanto a la limpieza mecnica, existen varas tcnicas. El raspado o cepillado rotativo est
limitado a las superficies a las que se puede acceder con la herramienta de raspado. En el lado
de la carcasa, este problema se puede resolver utilizando grandes espacios entre los tubos. El
uso de chorros de agua a gran velocidad tambin es muy comn, tanto dentro como fuera de
los tubos, aunque en el lado de la carcasa no ser muy efectivo para grandes bancos de tubos
[3].
En situaciones en las que es muy rentable mantener un alto grado de limpieza, por ejemplo,
condensadores de grandes plantas de potencia, es posible instalar un sistema para la limpieza
continua de las superficies interiores del tubo:

Introduccin al fouling

18

El Sistema Amertap utiliza bolas de goma que son constantemente recirculadas a


travs de los tubos de forma aleatoria. En su recorrido por los tubos, las bolas eliminan
las incrustaciones y la acumulacin de productos de corrosin. Una cesta en la tubera
de salida recoge las bolas, y una bomba las reinyecta en el flujo de agua de entrada. Las
bolas que tienen un abrasivo fijado a la superficie exterior debe utilizarse con gran
precaucin, ya que la accin abrasiva continuada puede acortar la vida del tubo debido
a la eliminacin de la pelcula protectora formada en la corrosin del cobre y las
aleaciones de cobre [3].

El Sistema M.A.N. consiste en la limpieza mediante el paso de cepillos por los tubos.
Se instalan cestas en ambos extremos de cada tubo, y se coloca el cepillo en una de ellas.
Peridicamente se invierte el sentido del flujo en los tubos, forzando el paso de los
cepillos a travs de los tubos hasta la otra cesta. Tras esto, se restaura la direccin
normal de flujo. El cepillo vuelve a la cesta en el lado de descarga del tubo. Como el
sistema es relativamente simple, se puede utilizar en intercambiadores de cualquier
tamao, siempre que sea posible invertir el sentido del flujo [3].

Tabla 1-1. Tipos de fouling y sus tratamientos


Tipo de fouling

Solucin comn

Cristalizacin

Reducir la temperatura de la
superficie de transferencia de
calor

Sedimentacin

Control de velocidad

Biolgico

Seleccin de material

Qumico

Reducir la diferencia de
temperatura entre el fluido y la
superficie de transferencia de
calor

Corrosin

Seleccin del material

Congelacin

Reducir la diferencia de
temperatura entre el fluido y la
superficie de transferencia de
calor

1.4. Fouling en funcin del tipo de intercambiador


El ensuciamiento depende del tipo de intercambiador y de la clase de fluido de trabajo. Debido
a la variedad de diseos, composiciones y fluidos, cada tipo de intercambiador sufrir el
ensuciamiento de una forma distinta. En un intercambiador de carcasa y tubo, el lado de los
tubos suele ser fcil de limpiar, pero el de la carcasa puede ser de ms difcil acceso. Los
intercambiadores de placas se pueden desmontar para limpiarlos por cambas caras. Algunos
intercambiadores se pueden limpiar cada noche cuando el equipo no est en uso, mientras otros

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

19

slo se pueden limpiar una vez cada varios meses o aos. Para reducir la cantidad de
ensuciamiento en un intercambiador, el equipo debera limpiarse con la mayor frecuencia
posible [1].
Si se prev que un intercambiador de placas va a sufrir ensuciamiento y el espacio lo permite, se
pueden aadir placas extra para mejorar su rendimiento [1].
Tabla 1-2. Tipos de intercambiadores y fouling asociado
Tipo de intercambiador

Riesgo de fouling

Efecto del fouling

Carcasa y tubo

Muy bajo

Bajo

Placas

Muy bajo

Alto

Espiral

Alto

Alto

Aerorrefrigerado

Bajo

Muy bajo

Superficie aleteada

Bajo

Muy bajo

Doble tubo

Medio

Medio

Grafito

Medio

Bajo

Placas corrugadas

Muy alto

Alto

20

Introduccin al fouling

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

21

2 MODELADO MATEMTICO
Como se ha visto en el captulo 1, el fouling tiene un importante impacto econmico, por lo que
ser deseable tomar medidas para minimizar su efecto. Conocer el proceso de fouling y el efecto
de las posibles medidas es fundamental para tomar una buena decisin a la hora de programar
las paradas para limpieza del intercambiador o elegir otras posibles actuaciones para eliminar o
minimizar el fouling. El propsito de un modelo de fouling es asistir al diseador o al operador
en la valoracin del impacto del fouling en el rendimiento del intercambiador de calor, dadas
unas determinadas condiciones de operacin [4].

2.1. Parmetros representativos del fouling


Existen varios parmetros para cuantificar el fouling, su evolucin o su efecto: el espesor del
depsito (medido en ), la porosidad (%), el factor de ensuciamiento, la tasa de ensuciamiento
o incluso la variacin del coeficiente de transferencia de calor.
La tasa de ensuciamiento es la carga media de superficie de depsitos por unidad de rea en
una unidad de tiempo [2].
El factor de ensuciamiento representa la cantidad de ensuciamiento que se dar en un
intercambiador en unas determinadas condiciones, y se considera como una resistencia trmica
en serie con las dems a la hora de calcular la resistencia trmica total (o su inversa, el
coeficiente de transferencia total). No existe un clculo directo para determinar el factor de
ensuciamiento correspondiente a un fluido determinado en una aplicacin particular, aunque
existen unas directrices para hallar un factor de ensuciamiento apropiado [1]. Existen mtodos
(empricos o de otro tipo) para predecir la tasa de ensuciamiento en intercambiadores o estimar
el factor de ensuciamiento a utilizar en los clculos de transferencia de calor. Adems, la
Tubular Exchanger Manufacturers Association (TEMA) proporciona una compilacin de los
factores de ensuciamiento ms comunes, para diversos fluidos y aplicaciones:
Tabla 2-1: Factores de ensuciamiento ms comunes [1]
Fluido

Resistencia de fouling (     )

Aceite de transformador

0.001

Vapor

0.0005

Aire comprimido

0.001

Fluido hidrulico

0.001

Soluciones de glicol

0.002

Aceite lubricante refinado

0.001

Modelado aeico

22

0.0005 (hasta 125 ) 0.001 (ms de 125 )

Agua de mar
Agua de torre de refrigeracin
Agua de ro (mnimo) (velocidad del tubo

3 fps)

Agua de ro (mnimo) (velocidad del tubo ! 3 fps)


Agua de ro (medio) (velocidad del tubo

3 fps)

Agua de ro (medio) (velocidad del tubo ! 3 fps)

0.001 (hasta 125 ) 0.002 (ms de 125 )

0.002 (hasta 125 ) 0.003 (ms de 125 )


0.001 (hasta 125 ) 0.002 (ms de 125 )
0.003 (hasta 125 ) 0.004 (ms de 125 )
0.002 (hasta 125 ) 0.003 (ms de 125 )

Agua de ro (turbia o limosa) (velocidad del tubo 0.003 (hasta 125 ) 0.004 (ms de 125 )
3 fps)
Agua de ro (turbia o limosa) (velocidad del tubo 0.002 (hasta 125 ) 0.003 (ms de 125 )
! 3 fps)

2.2. Planteamientos
Existen diversas formas de plantear un modelo de ensuciamiento: basado en los efectos,
modelado de cada uno de los procesos que contribuyen al ensuciamiento (biofouling, corrosin,
etc.), o desarrollo de un modelo genrico, en el que se expresa el ensuciamiento como una
funcin de las variables que influyen en l (como la temperatura o la velocidad).
Un modelo basado en los efectos del fouling es el de Bott y Walker [4], que expresa la variacin
del coeficiente de transferencia de calor como suma de las consecuencias del fouling:

Adicin de la resistencia a la transmisin de calor de la capa de ensuciamiento

Reduccin de la velocidad: el aumento del grosor de la capa de ensuciamiento conlleva


una reduccin del rea de paso efectiva. As, para el mismo caudal, aumenta la
velocidad y, por tanto, el nmero de Reynolds:
"# $ % 

&
() &
()
$
 $

' *& ' *&'

(1)

/0#123 ) $ 45# 6 4373 8 & 9 "# :

Variacin del nivel de turbulencia cerca de la superficie debido al cambio en su


rugosidad (que podra aumentar o disminuir). Si la rugosidad aumenta, el nivel de
turbulencia tambin lo hace, lo que favorece la transferencia de calor.

Sin embargo, este planteamiento requiere la inclusin de un conjunto extensivo de condiciones


en un modelo matemtico, lo cual puede ser realmente difcil, o incluso imposible.
Para la construccin de modelos globales se consideran distintos posibles tipos de
comportamiento de la tasa de ensuciamiento, que dependern de los mecanismos de
ensuciamiento y de las condiciones del problema [2]:
1. Comportamiento lineal: se considera una tasa de ensuciamiento estable, por lo que la
resistencia de ensuciamiento y el grosor del depsito aumentan linealmente con el

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

23

tiempo. Es el tipo ms comn, y ocurre cuando la temperatura del depsito en contacto


con el fluido permanece constante.
Se puede aadir a este modelo una condicin umbral, identificando una combinacin de
temperatura y velocidad bajo la cual la tasa de ensuciamiento es despreciable.
2. Tendencia decreciente: la tasa de ensuciamiento decae con el tiempo, aunque sin caer
nunca por debajo de un determinado valor mnimo, por lo que el grosor del depsito no
llega a alcanzar un valor constante.
3. Comportamiento acelerado: la tasa de ensuciamiento aumenta con el tiempo. Esto
ocurre cuando los depsitos son fuertes y adherentes, y la autolimpieza y el
envejecimiento son despreciables, as como cuando el ensuciamiento incrementa la
rugosidad de la superficie, o cuando la superficie del depsito es ms propensa
qumicamente al ensuciamiento que el material que tiene debajo.
4. Comportamiento asinttico: la tasa de ensuciamiento decrece con el tiempo hasta que la
tasa de deposicin iguala a la de eliminacin, momento en el que la tasa de
ensuciamiento es nula y el grosor del depsito se mantiene constante.
5. Dientes de sierra: representa un comportamiento cclico de formacin y
desprendimiento de la capa de ensuciamiento. Esta variacin peridica puede ser
debida a pulsos de presin, desconchamiento o retencin de aire en el interior de los
depsitos superficiales, y suele darse durante paradas, arranques y otros periodos de
funcionamiento transitorio.

Figura 2-1. Tipos de comportamiento de la tasa de


ensuciamiento

En principio, debera considerarse un periodo de iniciacin antes de que la tasa de


ensuciamiento comience a crecer o decrecer [4]. Sin embargo, la mayora de los modelos
matemticos no lo tienen en cuenta, cometiendo un error mnimo, ya que:

Modelado aeico

24

En muchos casos, el tiempo de iniciacin es despreciable.

Cuando el periodo de iniciacin es mayor, la tasa de ensuciamiento tambin suele ser


menor, por lo que las limpiezas del intercambiador se realizan tras grandes periodos de
tiempo. De esta forma, el periodo de iniciacin representa una pequea fraccin del ciclo
de trabajo.

2.3. Modelos globales


Los modelos globales establecen una relacin general entre la tasa de ensuciamiento y las
magnitudes fsicas (o parmetros adimensionales obtenidos a partir de stas) de influencia (que
varan de un modelo a otro), sin describir cada uno de los procesos fsicos y qumicos que
tienen lugar. En estos modelos slo se propone la existencia de dicha relacin, siendo necesario
calcular los coeficientes que ponderan cada trmino de la ecuacin para cada caso particular.

2.3.1

Saleh

El modelo de Saleh [5] considera la evolucin de la resistencia de fouling como una funcin de
la presin, la velocidad del flujo y la temperatura de pelcula. Se trata de un modelo de tasa de
ensuciamiento creciente y no asinttica, ya que no incluye un trmino negativo representante
de la retirada del fouling debido al aumento de la presin en el conducto, consecuencia de la
reduccin del rea de paso efectiva al aumentar el grosor de la capa de ensuciamiento.
2";
D
$ <  =>  % ?  #@A BC
F
25
"  E;

Los coeficientes <, H y I servirn para ajustar el modelo a la aplicacin concreta.

2.3.2

(2)

Ebert y Panchal

El modelo de Ebert y Panchal (1997) incluye un trmino negativo, estableciendo el efecto de la


retirada del fouling como una funcin de la tensin cortante. La componente positiva se define
como una funcin de la temperatura de pelcula y nmeros adimensionales como el nmero de
Reynolds y el de Prandtl.
Este modelo se ha encontrado formulado de distintas formas (aunque similares) en la
bibliografa [2] [5]:
2";
D
$ <  "# >  =J K  #@A BC
F C I  LM
25
"  E;

(3)

2";
D
$ <  "# >  #@A BC
F C I  LM
25
"  E;

(()

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

25

Donde
LM $

Siendo

2.3.3

(5)

O
 P  % 
2

1S
 ATJT OU%V3 UT701TJ
"#
]
O$R
WX2S(
WXWW35 Y ZX[  ATJT OU%V3 5%J\%U#153
"#

(S)

Polley

El modelo de Polley [5], similar al de Ebert y Panchal, considera el trmino negativo como una
funcin del nmero de Reynolds, en vez de la tensin cortante:
2";
D
$ <  "# ^ZX_  =J ^ZX``  #@A aC
b C I  "# ZX_
25
"  EM

Donde EM es la temperatura de la pared del tubo.

2.3.4

(7)

Jafari Nasr y Majidi Givi

Jafari Nasr y Majidi Givi proponen un modelo similar al de Polley, basado en los resultados
experimentales de Saleh, y probado con otros conjuntos de datos. Los valores de los parmetros
se ajustan a los datos obtenidos para un petrleo crudo ligero de densidad 0.792 g/ml,
viscosidad 1.969 Mpa y un porcentaje en peso de asfaltenos del 0.05% [5]:
2";
D
$ <  "# >  #@A BC
F C I  "# ZX[
25
"  E;

(8)

E; $ Ee Y WX55  (Ef C Ee )

(9)

Donde E; es la temperatura de pelcula, que se calcula como:

Siendo Ef la temperatura de la superficie y Ee la temperatura de la masa fluida.

2.3.5

Francesco Coletti y Sandro Macchietto

Se trata de un modelo distribuido, propuesto para intercambiadores tubulares multipaso que


sufren de fouling causado por petrleo crudo en el lado de los tubos. Las ecuaciones que lo
componen son [6]:

Lado de la carcasa:

yz

h
h
h
hEf
1
iPf 4jf Ef k $ C20Jf iPf 4jf Ef %f k Y amf
b Y o =pq rf iEf C Esq ]tuvwx k
h5
h5
hl
hl
nf
qv{

(1W)

Modelado aeico

26

Pared del tubo:


Ps |js hEsq 1 hEsq h  Esq
$
Y
ms
h5
J hJ
hJ 

2.3.6

(11)

Lado del tubo:

h
iP 4 E n
k$
h5 q jq q ;}~Mq
h
h
hEq
$ C20Jq iPq 4jq Eq %q n;}~Mq k Y amq n;}~Mq
b Y =q rq Eq ]tuvw C Eq
hl
hl
hl

(12)

Kern y Seaton

Kern y Seaton proponen un modelo asinttico, sin periodo de iniciacin, para la evolucin de la
resistencia de fouling [7]:
"; $ ";  i1 C #@A(H  5)k

(13)

Donde "; y H dependen del tipo de fouling y de las condiciones de operacin por lo que, en
general, slo se puede hallar experimentalmente.
Se tienen las siguientes particularizaciones para flujos tubular y turbulento (combinando, en
este ltimo caso, el modelo con la relacin de Blasius):

Flujo tubular:
2@;
$ {  4  C   L  @;
25

(1()

Donde
L $ O  P  %

Flujo turbulento:
@; $ B2  { 

2.3.7

(15)

4 *    P  U[  `
F

;  (A )[

(1S)

Konak

Este modelo [4], tambin asinttico, considera como fuerza motriz del desarrollo del
ensuciamiento la diferencia entre la resistencia de ensuciamiento asinttica y la resistencia en t:
2";
q
$  i"; C "; k
25

(17)

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

De donde tenemos que:

2.3.8

Epstein

BU C "; F

";

}^q

q^{
C U $  ";
 5  ATJT 1 U

";
CU1 B1 C
F $  5  ATJT 1 $ U
";

27

(18)

El modelo propuesto por Epstein [4] considera una tasa de deposicin de ensuciamiento
decreciente:
2";

q{
$
C "q{ $  (1 C 1)  5
q 9 i" Y "; k
25
i" Y "; k

(19)

Donde
" $

1
1
$ 
<

(2W)

siendo el coeficiente de transferencia de calor para condiciones limpias y < el coeficiente


de transferencia de calor superficial.

2.4. Modelos especficos para los distintos mecanismos de fouling


Los modelos especficos describen cada uno de los procesos fsicos o qumicos que dan lugar al
fouling. Aunque constituyen una descripcin ms precisa de la realidad que los modelos
globales, tambin necesitan ms informacin, medidas de magnitudes que no siempre van a ser
accesibles. Adems, el uso de estos modelos se complica cuando aparecen combinados (en la
mayora de los casos), ya que los distintos procesos pueden estar relacionados entre s (por
ejemplo, una reaccin qumica podra dar lugar a un producto corrosivo con el que no se
contaba inicialmente).

2.4.1

Deposicin de partculas

Este proceso est descrito por el modelo de Watkinson y Epstein [8], desarrollado sobre el
modelo de Kern y Seaton:
27
$ C w $  (4e C 4M ) $  4e  (C=)
25

(21)

En el que = es la probabilidad de que la partcula de fouling se adhiera a la pared, y 4e y 4M son


las concentraciones de partculas en la masa fluida y en la pared, respectivamente. Estas
concentraciones se encuentran relacionadas mediante la probabilidad de adhesin:
4M $ 4e  (1 C =)

(22)

Modelado aeico

28

2.4.2

Cristalizacin y formacin de incrustaciones

Se han desarrollado varios modelos para describir este fenmeno [9]:


2.4.2.1

Hasson y Bott

Considera un tiempo de induccin 5 aunque, como se justific anteriormente, ste es


despreciable en la mayora de los procesos industriales:
"; $ ";  1 C #@A a

5 C 5
b
5

(23)

Con:
"; $ B

27;
1

FB
Fa b
25
n P; mf

(25)

{
D
 #@A aC
b  i1 C #@A(C 5)k

" Ef

(2S)

5 $

Donde P; es la densidad del depsito, el parmetro de adhesin y el esfuerzo cortante.


2.4.2.2

(2()

Taborek

La ecuacin de este modelo es:


"; $

Donde Ef es la temperatura de la superficie, y las constantes { y  se calculan como sigue:


{ $ 4{  =  q
 $ 4  L 

mf

(27)
(28)

Los parmetros que aparecen en estas ecuaciones representan:

= AJ3\T\0U02T2 2# 2#A30401 2# 014J%5T4031#


OT453J 2# 4TU02T2 2#U T%T
]
L #O%#Jl3 43J5T15#
m 4312%45002T2 5J704T 2# UT 014J%5T401
f

OT453J 2# J#05#140T 2# UT 014J%5T401

2.4.2.3

Hasson

El modelo es:
27;
D
$  n  =   #@A aC
b
25
"  Ef

(29)

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

29

Donde n representa el rea donde se produce la cristalizacin, = la probabilidad de adhesin, y


es un parmetro emprico que caracteriza la composicin del agua y la fuerza impulsora de la
sobresaturacin.

2.4.3

Congelacin o solidificacin de lquidos

El modelo para este proceso es [10]:


@f $

mf E; C E
@ 1

C mf  a Y b
< E C E;
m <

(3W)

Donde mf y m son las conductividades trmicas de la capa helada y del metal, respectivamente.
< y < son los coeficientes de transferencia de calor entre el fluido caliente y la capa congelada,
y entre el metal y el refrigerante, respectivamente. @ es el espesor de la pared metlica y E; , la
temperatura de congelacin.
De aqu se tiene que la temperatura mnima para evitar este tipo de fouling es:
Eq $ E; Y a

2.4.4

E; C E
1
b
@ 1
<
Y
m <

(31)

Corrosin

Este modelo [11] describe la dependencia de la tasa de corrosin J con la concentracin de


oxgeno 4~ en la masa fluida:
J $ {  &Z  P 

4

7 C  P Y &Z 

(32)

Se explica a continuacin el significado de los parmetros que intervienen en el modelo:


&Z $ 20O%002T2 2#U 3@#13
P $ 2#102T2 2#U 7#5TU
7 $ 7TT 2# 7#5TU A#J2023 A3J UT 43JJ301 (A3J %102T2 2# J#T)]

$ #A#3J 2# 7T5#J0TU J#50JT23 2# UT %A#JO040#

$ 43#O040#15# 2# 5JT1O#J#140T 2# 7TT 2# 3@#13

2.4.5

Reaccin qumica

Existen varios modelos referentes a este proceso [12]:


2.4.5.1

Atkin

Referido a procesos petrolferos, propone el clculo de la resistencia de ensuciamiento "; en


funcin del coeficiente de transferencia de calor < en el interior del tubo, y las resistencias
trmicas debidas a las capas de coque y alquitrn formadas: ";~ y ";uu , respectivamente:
"; $

1
Y ";~ Y ";uu
<

(33)

Modelado aeico

30

2.4.5.2

Nijsing

Es un modelo para el clculo de la tasa de ensuciamiento media en funcin de la concentracin


del precursor de la reaccin en la masa fluida:
J $  <  (4e  &  "#)ZX_ 

2.4.5.3

/4 ZX``
2

(3()

Fernndez-Baujin y Solomon

Modela el flujo de masa de reactivo hacia la superficie. Supone que todo el material que llega a
la pared reacciona segn una reaccin de orden n:
u $  (4e C 4M ) $  4Mq

Parmetros:

2.4.5.4

(35)

$ 43#O040#15# 2# 5JT1O#J#140T 2# 7TT


$ 4315T15# 2# #U3402T2 2# J#T4401 ATJT UT J#T4401 2# 3J2#1 1]
R
4e $ 4314#15JT401 2# AJ#4%J3J #1 UT 7TT OU%02T
4M $ 4314#15JT401 2# J#T4503 #1 UT ATJ#2

Crittenden y Kolaczkowski

Este modelo viene descrito por la siguiente ecuacin:




P  (2 C 2  @){X_ 

Donde:

2"O
1
$

25
P; m;
4ue

(/4u )ZX
4
1
Y
C 1X213  m{  ZX  ZX_ 
1X213  m{  ZX  ZX_ n  #@A C D
P  (2 C 2  @){X_  (/4 )ZX
"E

E $ Ee Y

WXW23  "# ZX_  =J ZX[

A temperaturas muy altas, se puede considerar 4 $ W.

2.4.5.5

(3S)

(37)

Onifer y Knudsen

Este modelo de la polimerizacin de estireno es vlido para condiciones de ebullicin


subenfriada:
u $ P;  m; 

2.4.5.6

2";
L
Y 4`   ";
25

Otros

Otros modelo para el fouling por reaccin qumica es:

(38)

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos
2@
1
$
 (u C )
25 P;

31

(39)

Donde los flujos msicos del precursor hacia la zona de reaccin (u ) y del foulant fuera de la
zona de reaccin ( ) se calculan como:
R

2.4.6

q
u $ u  (4ue C 4u ) $  4u
$

$  (4 C 4e )

Crecimiento biolgico

4ue
1
1
Y ]
u

((W)

Este proceso tambin cuenta con una amplia variedad de modelos que lo describen [13]:
2.4.6.1

Trulear y Characklis

Cuya ecuacin es:


nP

2.4.6.2

2@
$ C w
25

((1)

Bryers y Characklis

Descrito por la ecuacin:


2
$ (O{ ) Y (O ) C f (O` )
25

2.4.6.3

((2)

Capdeville

Capdeville establece que la biomasa total es la suma de la masa de microorganismos activos y la


masa de microorganismos desactivados:
$ Y

((3)

Modela el crecimiento de la masa de microorganismos activos como sigue:


a

2
nZ C n
b $ J~   
25
nZ

((()

Siendo, para tiempos cortos:


$ ( )Z  #@A(JZ  5)

Donde ( )Z es la biomasa activa inicial por unidad de rea.


2.4.6.4

Belkhadir

Este modelo tiene la siguiente forma:

((5)

Modelado aeico

32

2
b $ J C J
25

((S)

Donde cada uno de los trminos se calcula como sigue:


J $ J~  ]

J $ {  4q 

2.4.6.5

((7)

Otros

Existen otros cinco modelos para este proceso:

Transferencia de masa de los microorganismos a la superficie:


$ C(& Y D ) 

24
2@

((8)

Integrando esta ecuacin, se tiene:


$  4

((9)

Donde:
$  'u 

=
Y %u  =

(5W)

Transferencia de masa total como suma de masa activa y desactivada:


~} $ Y

(51)

Donde:
$  4 ]

$  4

(52)

Modelo de adhesin y crecimiento:


$  4  (1 C )

(53)

@ $ @ 

(5()

Donde es la fraccin de superficie cubierta por clulas adheridas:

@ $ 17#J3 2# 4U%UT A3J %102T2 2# J#T


]

@ $ 17#J3 2# 4U%UT J#%#J02T ATJT 4%\J0J UT %A#JO040# 437AU#5T

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

Suponiendo que la tasa de fijacin de clulas se puede describir como una reaccin de
primer orden:
Jf $ f  4

33

(55)

Tasa de cambio en la concentracin de biomasa:


24
$ J  4 C  4q  4
25

(5S)

2.5. Eleccin de modelos


Como se coment anteriormente, los modelos especficos para cada mecanismo de fouling
necesitan una gran cantidad de informacin, y parte de ella es difcil o imposible de obtener.
Adems, se desconoce la influencia entre los distintos procesos cuando se dan de forma
simultnea. Por ello, se ha decidido incluir modelos globales en el simulador.
De entre los modelos globales, tras descartar los basados en parmetros distribuidos (por la
complejidad de toma de datos que implicara su uso), finalmente se han elegido los modelos de
Saleh, Ebert y Panchal, y Polley.
Sin embargo, debido a la necesidad de linealidad de los modelos para el correcto
funcionamiento del simulador, no se ha utilizado el modelo de Ebert y Panchal tal y como se ha
presentado en este captulo, sino la versin utilizada por D. Butterworth [8]:
2";
D
$ <  "# ^ZX__  #@A BC
FCIL
25
"  E;

(57)

Aunque existen tablas de valores tpicos para varias aplicaciones, el comportamiento del
ensuciamiento depende de muchas variables e interacciones muy complejas (como se puede
observar en los modelos especficos para los distintos mecanismos de fouling), por lo que cada
problema debe ser examinado en busca de consideraciones especiales.
Por ello, varios autores muestran la necesidad de ajustar los modelos a cada caso concreto. As
pues, la primera tarea del simulador a desarrollar ser el clculo de los coeficientes del modelo
de modo que ste se adapte a un conjunto de medidas proporcionadas por el usuario. Debido a
la forma de las ecuaciones que definen los modelos seleccionados (varias variables
independientes se combinan para dar la respuesta dependiente, es decir, la tasa de
ensuciamiento), este clculo se har mediante un Anlisis de Regresin Mltiple (MRA).

34

Modelado aeico

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

35

3 PROGRAMACIN DEL SIMULADOR


Como se ha comentado anteriormente, el objetivo de este Proyecto Fin de Carrera es la
programacin de una herramienta informtica capaz de calcular y simular los modelos
matemticos seleccionados en el Captulo 2. Las mltiples utilidades de dicha herramienta
(calcular y validar modelos adaptados a nuevos escenarios, predecir la evolucin del
ensuciamiento para controlarlo, etc.) se expondrn en el Captulo 4.

3.1. Herramientas de desarrollo


La herramienta elegida para desarrollar la aplicacin ha sido Matlab, ya que se trata de un
lenguaje de programacin especfico para el clculo numrico, que adems cuenta con
herramientas que facilitan la creacin de interfaces grficas (GUIDE).
MATLAB es un lenguaje de alto nivel y un entorno interactivo para el clculo numrico, la
visualizacin y la programacin. Mediante MATLAB, es posible analizar datos, desarrollar algoritmos y
crear modelos o aplicaciones. El lenguaje, las herramientas y las funciones matemticas incorporadas
permiten explorar diversos enfoques y llegar a una solucin antes que con hojas de clculo o lenguajes de
programacin tradicionales, como pueden ser C/C++ o Java. [4]

3.1.1

Matlab

Efectivamente, Matlab es la herramienta apropiada para la programacin de la aplicacin


antes explicada, ya que algunas de sus caractersticas son [4]:

Lenguaje de alto nivel para el clculo numrico, la visualizacin y el desarrollo de


aplicaciones

Funciones matemticas para lgebra lineal, estadstica, filtrado, optimizacin, etc.

Herramientas para crear grficos personalizados

Herramientas de desarrollo para mejorar la calidad y el rendimiento cdigo

Herramientas para crear aplicaciones con interfaces grficas personalizadas

Funciones para integrar algoritmos basados en MATLAb con aplicaciones y lenguajes


externos tales como C y Microsoft Excel

3.1.1.1

Variables

En Matlab no es necesario declarar las variables al comienzo del cdigo: stas se crearn al
ejecutar la primera sentencia que les asigne un valor. El tipo de variable depender de dicha
asignacin inicial.
Algunos tipos de variables son:

Escalar: corresponde a una asignacin del tipo:

Programacin del simulador

36

a=5.3;
El formato del nmero (short, long, short e, long e, etc.) se puede cambiar con el
comando format, aunque esto slo afecta a la representacin por pantalla de la variable,
no a us valor ni a las operaciones que se realicen con ella.

Vector: se crea asignando a la variable un conjunto de valores, entre corchetes,


separados por espacios o comas si se quiere crear un vector fila, o por ; si se trata de un
vector columna. Otra forma de crear un vector columna es asignar a la variable un
vector fila traspuesto.
As, las siguientes rdenes:

a=[1 2 3];
b=[1, 2, 3];
c=[1; 2; 3];
d=[1 2 3];
Crean los siguientes vectores:
T $ \ $ 1

1
4 $ 2 $ 2
3

Para acceder a una componente de un vector, el nombre de la variable debe ir seguido


de la posicin de la componente entre parntesis. Por ejemplo, para cambiar la segunda
componente del vector a anterior, la sentencia sera:
a(2)=5;
Con lo que quedara:

T $ 1

Tambin es posible acceder a un subconjunto de componentes, indicando un vector de


posiciones entre parntesis. Por ejemplo, la orden:
c([1 3])=2;
Cambiar el valor de las componentes primera y tercera, quedando el vector como
sigue:
2
4 $ 2 $ 2
2

Matriz: se crea con una asignacin similar a la del vector (un vector es una matriz de una
dimensin), separando los elementos de una misma fila por espacios o comas, y unas
filas de otras con ;. La lnea de cdigo:

A=[1 2 3; 4 5 6; 7 8 9];
Crea la matriz:

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos
1
n $ (
7

2
5
8

37

3
S
9

Al igual que con los vectores, es posible acceder a componentes particulares de las
matrices, y a subconjuntos de componentes. Por ejemplo:
A(1,2)=1;
A(3,[1 2])=0;
Con lo que la matriz A quedara:

1
n $ (
W

1
5
W

3
S
9

Tambin es posible acceder a filas o columnas completas de la matriz, con el operador dos
puntos:
A(2,:)=[10 11 12];
Esta sentencia asigna un nuevo valor a la segunda fila de la matriz, que queda:
1
n $ 1W
W

1
11
W

3
12
9

Las matrices pueden ser de tantas dimensiones como se desee, y es posible trababajar
con ellas manejando subconjuntos de dos dimensiones mediante el operador dos puntos.

Carcter: para asignar un carcter a una variable, ste se debe escribir entre :

letra=a;

String: tambin se puede asignar una cadena de caracteres a una variable, que se puede
tratar como un vector:

palabra=abcde;
La asignacin:
palabra(5)=f;
Hara que el contenido de la variable palabra quedase abcdf.
Es posible crear una lista de cadenas, asignando a cada fila de una matriz una cadena
de caracteres. Al hacer esto, es necesario que todas las cadenas tengan la misma
longitud, para que las dimensiones de la matriz sean consistentes.

Cell array: es una variable formada por un conjunto de celdas. Cada celda puede
contener datos de distinto tipo y tamao. Puede ser til, por ejemplo, para crear una
lista de cadenas de caracteres de distinta longitud. La asignacin sera de la siguiente
forma:

lista={rojo,verde,amarillo};

Programacin del simulador

38

Hay varias formas de acceder a las componentes de la variable: indicando la posicin


entre parntesis (como se haca con los vectores), se accede a la celda; indicando la
posicin entre llaves, se accede al contenido de la celda.

Estructuras: Matlab tambin permite crear estructuras, es decir, agrupaciones de datos


(que pueden ser de distinto tipo), que sern almacenados en los distintos campos de la
misma variable. Por ejemplo:

estructura.campo1=ejemplo;
estructura.campo2=[1 2 3];
estructura.campo3={cell,array};
Tras esto, al representar la variable estructura por pantalla, obtendremos lo siguiente:
estructura =
campo1: 'ejemplo'
campo2: [1 2 3]
campo3: {'cell' 'array'}
3.1.1.2

Sintaxis

Como se ha visto en los ejemplos de asignaciones en el apartado anterior, las sentencias de


Matlab tienen la siguiente forma:
variable=expresin;
Donde expresin puede ser otra variable, un valor (un nmero o una cadena asignados
directamente, no calculados ni copiados), una expresin matemtica o una llamada a una
funcin.
Los operadores disponibles para conformar expresiones matemticas son los comunes:
Tabla 3-1. Operadores de Matlab
+

Suma

Resta

Multiplicacin

Divisin

Potencia

Adems, se pueden agrupar expresiones con parntesis, y se puede utilizar el operador punto
(precediendo al operador algebraico) para que la operacin entre matrices se realice
componente a componente, y no de forma matricial. Por ejemplo, el cdigo:
A=[1 2; 3 4];
B=[3 3; 2 2];
C=A*B;
D=A.*B;

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

Dar como resultado:

7
|$
17

17

&$

3
S

39

Es posible escribir comentarios (lneas de cdigo que no se ejecutan), comenzando con el


carcter %.
Adems, se pueden utilizar bucles y bifurcaciones. Se presenta a continuacin la sintaxis de los
utilizados para programar la aplicacin: if, switch y for.
if condicion1
%conjunto de sentencias
else if condicion2
%conjunto de sentencias

else
%conjunto de sentencias
end

switch expresin
case 1
%conjunto de sentencias
case 2
%conjunto de sentencias

end

for ndice=valor_inicial:valor_final
%conjunto de sentencias para cada iteracin
end

Donde condicion1 y condicion2 son expresiones lgicas, para las que se pueden utilizar los
siguientes operadores relacionales: <, <=, ==, >=, >, ~=, y lgicos: &&, ||.
3.1.1.3

Funciones

La aplicacin creada est formada por un conjunto de funciones de dos tipos: unas llamadas al
interactuar con los elementos que component la interfaz grfica, otras anidadas en las
anteriores. Todas las funciones tienen la siguiente forma:
function [var_out1 var_out2] = nombre_funcion ( var_in1, var_in2)
%...
%conjunto de sentencias
%...
Donde var_out1 y var_out2 son las variables de salida de la funcin, y var_in1 y var_in2, las
de entrada. En ambos casos, puede haber tantas variables como se desee.
Por defecto, las variables utilizadas en una funcin sern consideradas variables locales,
inaccesibles desde la funcin padre a menos que se establezcan como variables de salida, o
que se declaren como variables globales:
global var;
Donde var es el nombre de la variable. Esta sentencia se debe incluir en todas las funciones en
las que se desee utilizar la variable global.

3.1.2

GUIDE

La herramienta de Matlab GUIDE es el editor de GUI (Graphical User Interface, es decir,


interfaz grfica de usuario). Se trata de un editor grfico e interactivo que, de forma automtica,

Programacin del simulador

40

genera las funciones asociadas a cada elemento de la interfaz.


Los elementos disponibles para disear la interfaz son [5]:

Push Button: botn que genera una accin al ser pulsado.

Slider: barra deslizadora que permite una entrada numrica dentro de un rango.

Radio Button: similar a una Check Box, con la particularidad de que la seleccin Radio
Buttons del mismo grupo esmutuamente excluyente.

Check Box: cuadro que puede generar una accin al ser marcado, e indicar su estado
(marcado/no marcado).

Edit Text: campo de texto editable.

Static Text: texto esttico, que no puede ser modificado de forma interactiva por el
usuario, aunque la aplicacin s puede cambiarlo durante su ejecucin.

Pop-up Menu: men emergente que muestra una lista de opciones al pulsar la flecha.

Listbox: cuadro que muestra una lista de elementos, permitiendo al usuario seleccionar
uno o ms.

Toggle Button: botn que genera una accin, y necesita ser pulsado una segunda vez
para liberarse.

Table: representa una tabla que puede ser esttica o editable.

Axes: permite representar grficos e imgenes.

Panel: permite agrupar componentes.

Button Group: permite agrupar Radio Buttons y Toggle Buttons para habilitar el
comportamiento de seleccin excluyente.

El archivo de cdigo generado por GUIDE est compuesto por una serie de funciones que habr
que editar para conseguir que la interfaz tenga el comportamiento deseado. El editor genera por
defecto una variable de tipo estructura llamada handles en la que se almacenan los handles
(identificadores de las figuras y elementos de la aplicacin) e informacin personalizada. La
funcin guidata, llamada al final de varias de las funciones que componen el cdigo, almacena
informacin en los datos de la aplicacin.

3.1.3

Deployment tool

Mencionar los pasos para la exportacin a un archivo ejectutable autnomo.


Deployment Tool es una herramienta de desarrollo de Matlab que permite exportar un proyecto
GUI a aplicaciones en otros lenguajes (C++, Java, .NET). En este caso se ha utilizado para
crear un archivo ejecutable autnomo para Windows (un archivo con extensin .exe).

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

Figura 3-1. Deployment Tool

41

Programacin del simulador

42

3.2. Estructura de la aplicacin


Como se muestra en la figura, la aplicacin est compuesta por tres bloques:

Figura 3-2. Aplicacin "Simulafor Fouling"

3.2.1

Calcular modelo

La funcin de este bloque es calcular, por regresin, los coeficientes de un modelo que se ajuste
a los datos proporcionados. Para ello, cuenta con:

Un men desplegable que permite elegir el tipo de modelo a calcular:


Tabla 3-2. Modelos integrados en la herramienta

Saleh

Ebert y Panchal

Polley

2";
D
$ <  A>  % ?  #@A BC
F
25
"  E;

2";
D
$ <  "# ^ZX__  #@A BC
F C I  LM
25
"  E;

2";
$ <  "# ^ZX__  =J
25

^ZX``

 #@A BC

D
F C I  "# ZX_
"  E;

(2)

(57)
(7)

Una casilla de texto editable para introducir el nombre que se le quiere dar al modelo
calculado

Un cuadro de texto que representar los datos necesarios para calcular el modelo, una
vez seleccionado el tipo

El botn Importar medidas, que abre un explorador de archivos en el que se debe


seleccionar el documento de Microsoft Excel (.xls) que contiene las medidas (variables

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

43

con el tiempo) indicadas en el cuadro de texto anterior, con el formato indicado en el


documento de ayuda que acompaa a la aplicacin.

Una serie de casillas de texto editable en las que se deben introducir las medidas
constantes necesarias para calcular el modelo (segn las indicaciones del texto sobre
cada casilla).

El botn CALCULAR MODELO que, en funcin de toda la informacin introducida


anteriormente, calcula los coeficientes del modelo, quedando ste en el espacio de
trabajo (se aadir a la lista de Modelos disponibles).

El botn Mostrar ajuste, que genera dos grficas tiles para la validacin del modelo: la
primera muestra la tasa de ensuciamiento calculada con el modelo y la tasa de
ensuciamiento medida; la segunda, muestra la evolucin del error relativo en el clculo
de la tasa de ensuciamiento.

El botn Guardar modelo, que guarda (en el directorio donde se encuentra el archivo
ejecutable) un archivo .mat, con el nombre elegido para el modelo, y cuyo contenido es
un vector coef de cuatro componentes:
43#O $ 50A3 D < H I

Donde tipo es un ndice que representa el tipo de modelo (1 = Saleh, 2 = Ebert y


Panchal, 3 = Polley), E es la energa de activacin y    son los coeficientes del
modelo (con valor 0 si el modelo no contiene dicho coeficiente).
3.2.1.1

Clculo de la energa de activacin

Tal y como plantean M.R.J. Nasr y M.M. Givi [6], la energa de activacin se ha calculado por
regresin lineal, como proporcional a la pendiente de la recta que relaciona el logaritmo de la
tasa de ensuciamiento con la inversa de la temperatura de pelcula. A esta relacin se llega
considerando un modelo de ensuciamiento que slo considere un trmino positivo de
deposicin, sin tener en cuenta el trmino negativo asociado a la retirada natural del
ensuciamiento (el modelo de Saleh sera de este tipo, aunque no los otros dos modelos
considerados):
2";
2";
D
D
$ n  #@A aC b 9 U1 B
F $ U1(n) C
25
"E
25
"E

(58)

As, caracterizando la recta:


6 $ T  @ Y \

(59)

donde:
6 $ U1 a

2"O
1
b@ $ 
25
E

(SW)

44

se obtendr un valor de la pendiente T, que ser:

Programacin del simulador

D
T$C 
"

(S1)

por lo que es posible calcular la energa de activacin como:


D $ CT  "

(S2)

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

45

Figura 3-3. Clculo de la energa de activacin

Para esto se ha utilizado la funcin integrada de Matlab polyfit, que calcula los coeficientes
del polinomio (del grado indicado en los argumentos de la funcin) que mejor se ajusta a los
datos proporcionados en el sentido de los mnimos cuadrados.
3.2.1.2

Clculo de los coeficientes

Los tres modelos considerados se pueden expresar como ecuaciones lineales en mltiples
variables:
Tabla 3-3. Expresin lineal de los modelos

Saleh

Ebert y Panchal

Polley

9 U1 B

2";
D
$ <  A>  #@A BC
F9
25
"  E;

2";
D
F $ U1(<) Y H  U1(A) Y I  U1(%) C
25
"  E;

2";
D
$ <  "# ^ZX__  #@A BC
F C I  LM
25
"  E;

2";
$ <  "# ^ZX__  =J
25

^ZX``

 #@A BC

D
F C I  "# ZX_
"  E;

(2)

(S3)
(57)
(7)

Los coeficientes (  ) se han obtenido haciendo uso de la funcin integrada de Matlab
regress, que ejecuta una regresin lineal mltiple con los datos proporcionados, permitiendo
as el clculo de los coeficientes de los modelos.

Programacin del simulador

46

3.2.2

Importar modelo

Este bloque permite importar modelos calculados previamente con la herramienta, o mediante
otros mtodos, siempre que se almacene en un archivo .mat con el formato adecuado. Para
ello, el bloque cuenta con los siguientes elementos:

Una casilla de texto editable para introducir el nombre con el que aparecer el modelo
en la lista de Modelos disponibles del bloque Simular y comparar.

El botn IMPORTAR MODELO, que abre un explorador de archivos en el que se debe


seleccionar el archivo .mat que contiene el vector coef con los cuatro valores
representativos del modelo.

3.2.3

Simular y comparar

Este bloque permite el anlisis, la validacin y la comparacin de los modelos calculados e


importados previamente. Para ello cuenta con los siguientes elementos:

Una lista de Modelos disponibles para el anlisis, que permite hacer una seleccin mltiple
de hasta 10 modelos.

La casilla de verificacin Anlisis para verificacin de los modelos, que har que se
represente tambin la tasa de ensuciamiento medida en las grficas resultantes de las
simulaciones, permitiendo as validar los modelos.

El botn Ver informacin necesaria que, al ser pulsado, har que se muestren en los dos
cuadros inferiores las medidas (variables y constantes) necesarias para simular los
modelos seleccionados.

El botn Importar medidas, que abre un explorador de archivos en el que se debe


seleccionar el o los (las variables y las constantes deben estar en documentos separados)
documentos de Microsoft Excel (.xls) que contienen las medidas indicadas en los
cuadros de texto anteriores, con el formato indicado en el documento de ayuda que
acompaa a la aplicacin.

Una lista de Anlisis disponibles para realizar sobre los modelos seleccionados. Esta lista
(cuyos elementos se explican a continuacin) permite hacer una seleccin mltiple para
ejecutar varios anlisis simultneamente.

Tabla 3-4. Anlisis disponibles en la herramienta


Simular

Crea una figura para cada modelo seleccionado,


en la que representa la evolucin de la tasa de
ensuciamiento calculada (y la medida si la casilla
de verificacin est marcada).

Comparar simulaciones

Crea una nica figura en la que representa la


evolucin de las tasas de ensuciamiento
calculadas con todos los modelos seleccionados
(y la medida si la casilla de verificacin est
marcada).

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

Calcular errores relativos

Crea una figura para cada modelo seleccionado,


en la que representa la evolucin del error
relativo en el clculo de la tasa de ensuciamiento.
(*)

Comparar errores relativos

Crea una nica figura en la que representa la


evolucin de los errores relativos de todos los
modelos seleccionados. (*)

Calcular errores cuadrticos

Crea una figura para cada modelo seleccionado,


en la que representa la evolucin del error
cuadrtico en el clculo de la tasa de
ensuciamiento. (*)

Comparar errores cuadrticos

Crea una nica figura en la que representa la


evolucin de los errores cuadrticos de todos los
modelos seleccionados. (*)

Sensibilidad al dimetro

Crea una figura para cada modelo seleccionado


en la que representa las tasas de ensuciamiento
para distintos valores del dimetro.

Sensibilidad a la densidad

Crea una figura para cada modelo seleccionado


en la que representa las tasas de ensuciamiento
para distintos valores de la densidad.

Sensibilidad a la viscosidad

Crea una figura para cada modelo seleccionado


en la que representa las tasas de ensuciamiento
para distintos valores de la viscosidad.

Sensibilidad a la energa de
activacin

Crea una figura para cada modelo seleccionado


en la que representa las tasas de ensuciamiento
para distintos valores de la energa de activacin.

Sensibilidad a la velocidad

Crea una figura para cada modelo seleccionado


en la que representa las tasas de ensuciamiento
para distintos conjuntos de valores de la
velocidad.

Sensibilidad a la temperatura
superficial

Crea una figura para cada modelo seleccionado


en la que representa las tasas de ensuciamiento
para distintos conjuntos de valores de la
temperatura.

47

(*)Para ejecutar este anlisis, es necesario que la casilla de verificacin est marcada.

El botn EJECUTAR ANLISIS, que da comienzo a los clculos seleccionados (que


aparecern representados en forma de grficas en ventanas emergentes).En caso de
haber seleccionado uno o varios anlisis de sensibilidad, se abrir una ventana
emergente con una tabla editable en la que se debern introducir los parmetros que

Programacin del simulador

48

configuran dicho anlisis: tamao del paso (incremento en la magnitud que se va a


considerar variable en el anlisis ) y nmero de pasos (nmero de valores distintos de la
variable que se van a simular).

3.3. Entrada y salida de informacin


Se explica a continuacin el desarrollo de los elementos de entrada y salida de informacin.

3.3.1

Importacin de datos

La importacin de datos consiste en leer archivos de Excel (.xls), seleccionados mediante un


explorador de archivos que se abre al pulsar el botn correspondiente de la aplicacin. Para esto
se han utilizado las siguientes funciones integradas de Matlab:

uigetfile: abre el explorador de archivos, mostrando slo los archivos con la extensin

especificada como argumento de la funcin, y, una vez hecha la seleccin, devuelve la


ruta y el nombre del archivo elegido.

xlsread: lee el archivo de Excel proporcionado como argumento de la funcin, y

devuelve una matriz con el contenido nmerico del archivo y una cadena de celdas,
cada una con el texto de las celdas de texto del Excel.
Al pulsar los botones Importar medidas de la aplicacin, se ejecuta el siguiente cdigo:
[FileName Path]=uigetfile({'*.xls'},'Importar medidas');
[datos nom_datos]=xlsread(strcat(Path,FileName));
msgbox('Datos importados con exito','Fin tarea');
Con lo que los nombres de las variables quedan almacenados en la cadena de celdas nom_datos,
y el contenido de dichas variables (vectores columna) queda en la matriz datos.
Como la informacin importada vara de un modelo a otro, son stas las variables que se
pasarn como argumento a las funciones anidadas (las que calculan los coeficientes de los
modelos y las simulaciones). Es dentro de estas funciones donde se interpretan los datos,
creando variables con los nombres contenidos en nom_datos y asignndoles la columna de
valores correspondiente de datos, con un bucle del tipo:
for i=1:length(nom_datos)
eval([nom_datos{i} '=datos(:,i);']);
end

3.3.2

Recuperacin de modelos guardados

En el bloque Importar modelo tambin se utiliza la funcin uigetfile para abrir el archivo .mat
que contiene los coeficientes del modelo. En este caso, debido al tipo de archivo (y como se ha
establecido la condicin de que contenga un vector llamada coef), tras obtener el nombre y la
ruta se carga la variable contenida en el archivo al espacio de trabajo con la funcin load, y
despus se copia el contenido de la variable coef a la variable que contiene todos los modelos
disponibles. Todo esto se hara con el siguiente cdigo:
[FileName Path]=uigetfile({'*.mat'},'Importar coeficientes');
load(strcat(Path,FileName));
num_mod=num_mod+1;
lista_modelos{num_mod}=nombre_mod_i;

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

49

handles.coefmodelos(num_mod,:)=coef;
set(handles.s_lista_MODELOS,'String',lista_modelos);
guidata(hObject, handles);

3.3.3

Configuracin de anlisis de sensibilidad

Como se coment anteriormente, en el bloque Simular y comparar, si se selecciona alguno de los


anlisis de sensibilidad en la lista de anlisis disponibles, al pulsar el botn EJECUTAR se abrir
una pantalla emergente con una tabla editable en la que se deben introducir el tamao del paso
y el nmero de pasos a simular para cada uno de los anlisis de sensibilidad seleccionados.
La primera simulacin se realizar con las medidas importadas y, tras esto, se sumar el
incremento especificado y se volver a simular hasta alcanzar el nmero de simulaciones
indicadas en la tabla. En el caso de los anlisis de sensibilidad a la velocidad y a la temperatura
superficial, ambas variables en el tiempo, se sumar el incremento a todas las componentes del
vector que representa la evolucin temporar de la variable.

3.3.4

Salidas

Grficos, con valores significativos en la leyenda, pero no variables (porque se iba a exporter a
.exe).
Las salidas del programa son las grficas que aparecen en ventanas emergentes al pulsar el
botn EJECUTAR. El programa no devuelve ninguna variable, ya que se program con el
objetivo de convertirlo en un fichero ejecutable autnomo. Sin embargo, s se proporcionan
algunos valores numricos de inters en las leyendas de algunas de las grficas generadas.
Adems, ejecutando la aplicacin desde Matlba, es posible acceder a la variable handles que,
como se explic en el apartado sobre GUIDE, contiene los handles de los elementos e
informacin personalizada (por ejemplo, los coeficientes de los modelos disponibles).

3.4. Elementos auxiliares


Adems de los clculos numricos y la entrada y salida de informacin, la aplicacin cuenta con
algunas funcionalidades para facilitar su uso:

3.4.1

Mensajes de aviso

La aplicacin cuenta con mensajes de error que advierten del mal uso de la misma. Por ejemplo,
si se pulsa el botn CALCULAR MODELO sin haber seleccionado previamente el tipo de
modelo, se abrir una ventana de dilogo avisando del fallo. Esto se consigue llamando a la
funcin integrada de Matlab errordlg cuando se d la situacin de error.
opc=errordlg('No ha seleccionado ningn modelo','Error');

Programacin del simulador

50

Figura 3-4. Mensaje de error

La herramienta tambin cuenta con mensajes de aviso de fin de tarea, por ejemplo, a la hora de
importar datos desde Excel o al ejecutar las simulaciones, ya que estas tareas no son inmediatas,
y no se debe interactuar con la aplicacin durante su ejecucin.
msgbox('Datos importados con exito','Fin tarea');

Figura 3-5. Aviso de


fin de tarea

3.4.2

Ayuda

El botn Ayuda abre un documento de ayuda, en formato PDF, que explica la utilidad de todos
los elementos de la aplicacin y comenta las precauciones a tener en cuenta para su uso.

3.4.3

Salir

El botn Salir abre una ventana de dilogo que pide la confirmacin para cerrar el programa,
procediendo a un cierre seguro si se pulsa S y volviendo a la aplicacin si se pulsa No.

4 ANLISIS DE RESULTADOS
Una vez desarrollado el simulador (ver Anexos), se ha utilizado esta herramienta para calcular
los coeficientes de los modelos elegidos para varios conjuntos de datos, y as poder estudiar el
comportamiento de los modelos en distintas situaciones.

4.1. Datos utilizados


Se han calculado y simulado los modelos con varios conjuntos de datos (ver Anexos): el
correspondiente a los experimentos de Saleh et al. [5] [17], con un petrleo crudo ligero de
procedencia australiana (que en adelante se nombrar como en la bibliografa: Light Australian
Crude Oil), y a dos conjuntos de datos de crudo pesado canadiense: Light Sour Blend y Cold Lake
[18].

4.2. Clculo y validacin de modelos


A continuacin se presenta el ajuste de los modelos calculados, as como una comparacin entre
dichos modelos, para cada conjunto de datos.

4.2.1

Conjunto de datos Light Australian Crude Oil

Los valores para la energa de activacin y los modelos de Saleh, Ebert y Panchal, y Polley para
este conjunto de datos son:
Tabla 4-1: Coeficientes de los tres modelos para Light Australian Crude Oil

<

H
I

Saleh

Ebert y Panchal

Polley

2731.7068

2731.7068

3315.8993

0.1009

2449.2466

303.8027

0.30711

-1.2068

156.2489

0.00023187

Es posible observar que la energa de activacin es diferente para el modelo de Polley. Esto se
debe a que este modelo se basa en la temperatura superficial, en lugar de utilizar la temperatura
de pelcula.
Al comparar las tasas de ensuciamiento calculadas con los tres modelos y la medida (Figura
4-1), se observa que el modelo de Saleh se ajusta mejor a las cadas en la tasa de ensuciamiento y
a las zonas en las que sta vara poco. El modelo de Polley se ajusta mejor a los incrementos
bruscos de la tasa de ensuciamiento, mientras que el modelo de Ebert y Panchal muestra unas
caractersticas intermedias, ajustndose mejor que el modelo de Polley a los descensos bruscos y

52

Anlisis de resultados

mejor que el modelo de Saleh a los ascensos bruscos.

Figura 4-1. Comparacin de la tasa calculada con los tres modelos y la medida
para Light Australian Crude Oil

Efectivamente, el error relativo (Figura 4-2) cometido por el modelo de Polley aumenta
considerablemente en los puntos con grandes descensos de la tasa de ensuciamiento (llegando a
alcanzar el 40%). Finalmente, es el modelo de Ebert y Panchal el que presenta un error relativo
medio menor (10%), aunque la diferencia entre la media de errores relativos de los tres modelos
es mnima.

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

53

Figura 4-2. Comparacin de los errores relativos de los tres modelos para Light
Australian Crude Oil

4.2.2

Conjunto de datos Light Sour Blend

Para este conjunto de datos, los modelos obtenidos son:


Tabla 4-2: Coeficientes de los tres modelos para Light Sour Blend

<

H
I

Saleh

Ebert y Panchal

Polley

3883.4144

3883.4144

7185.8255

4.1845e13

333200.7556

96424.7901

0.-3.5096

-0.46712

-20117.7972489

-0.024555

Al comparar la tasa medida y la calculada con cada uno de los tres modelos para este conjunto
de datos (Figura 4-3), se observa una tendencia similiar a la anterior: el modelo de Saleh se
ajusta mejor a los descensos de la tasa de ensuciamiento, mientras que el de Polley es ms
preciso en los ascensos.

54

Anlisis de resultados

Figura 4-3. Comparacin de la tasa calculada con los tres modelos y la medida
para Light Sour Blend

Aunque esta simulacin ha sido til para el estudio y la comparacin de los distintos modelos
integrados en el simulador, los errores (Figura 4-4) cometidos para este conjunto de datos son
excesivos. Si se necesitase predecir la tasa de ensuciamiento para este escenario, sera
recomendable estudiar otros modelos.

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

55

Figura 4-4. Comparacin de los errores relativos de los tres modelos para Light
Sour Blend

4.2.3

Conjunto de datos Cold Lake

Para este conjunto de datos se han obtenido los siguientes valores caractersticos de los
modelos:
Tabla 4-3: Coeficientes de los tres modelos para Cold Lake

<

H
I

Saleh

Ebert y Panchal

Polley

159.922

159.922

829.9229

121139.9463

113938.0953

0.66707

28350.9808

0.79638

Para este conjunto de datos, como para Light Australian Crude Oil, los errores relativos (Figura
4-5) tienen valores medios en torno al 10%, aunque en este caso es el modelo de Polley el que
mejor se ajusta. Esto demuestra la conveniencia (como se sugir para el conjunto de datos
anterior) de comparar distintos modelos para elegir el que mejor se adapte a la situacin que se
desea simular.

56

Anlisis de resultados

Figura 4-5. Comparacin de los errores relativos de los tres modelos para Cold
Lake

4.3. Simulacin de modelos


4.3.1

Ejemplo de simulacin

Se presenta a continuacin un ejemplo del uso de la herramienta para la prediccin de la tasa de


ensuciamiento. Se han calculado los coeficientes del modelo de Ebert y Panchal para una parte
de los datos Light Australian Crude Oil, reservando la parte restante del conjunto para su uso en
simulacin.

Tabla 4-4: Coeficientes del modelo de Ebert y Panchal para una parte del conjunto de datos
Light Australian Crude Oil
E
Ebert y Panchal

4391.8765

<

6933.03355

-106.2739

El modelo calculado tiene un comportamiento muy bueno, con un error relativo (Figura 4-6)
menor que en todos los ejemplos anteriores (7%):

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

57

Figura 4-6. Error relativo del modelo de Ebert y Panchal parcial para Light
Australian Crude Oil

La simulacin para el resto de datos del conjunto da como resultado el mostrado en laFigura
4-7:

58

Anlisis de resultados

Figura 4-7. Simulacin del modelo Ebert y Panchal parcial para el resto de datos
de Light Australian Crude Oil

Al hacer uso de las opciones del simulador para la validacin de modelos, simulando para el
conjunto de datos completo (Figura 4-8), se observa que, a partir del octavo ensayo, el error
relativo (Figura 4-9) aumenta considerablemente, ya que el modelo no simula de forma
adecuada los descensos bruscos de la tasa de ensuciamiento. Esto se debe a que los coeficientes
se han calculado para ajustarse a un comportamiento bastante estable de la tasa de
ensuciamiento (ensayos 1 a 8).

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

Figura 4-8. Simulacin del modelo de Ebert y Panchal parcial para todo el
conjunto de datos Light Australian Crude Oil

59

60

Anlisis de resultados

Figura 4-9. Errores relativos en la simulacin del modelo de Ebert y Panchal


parcial para Light Australian Crude Oil

Aunque la prediccin no sea exacta, la simulacin puede ser til para estimar la tendencia de la
tasa de ensuciamiento, haciendo una prediccin algo mayor que dar lugar a una prediccin
algo mayor que el valor real, por lo que el control basado en esta prediccin quedara del lado
de la seguridad.
Al hacer el ensayo contrario (calcular el modelo para la zona de mayor variacin de la tasa de
ensuciamiento, y predecir la zona estable), se obtienen unos resultados considerablemente
mejores, con un error relativo medio del 11% (Figura 4-11):

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

Figura 4-10. Simulacin del modelo de Ebert y Panchal parcial opuesto para
Light Australian Crude Oil

61

62

Anlisis de resultados

Figura 4-11. Errores relativos de la simulacin del modelo de Ebert y Panchal


parcial opuesto para Light Australian Crude Oil

De esto se deduce que no slo es importante la eleccin del modelo a utilizar, sino tambin el
conjunto de datos al que se va a ajustar dicho modelo. Para que el modelo calculado se adapte
de forma aceptable a cambios en la tasa se ensuciamiento, los datos utilizados deben
corresponder a un conjunto de situaciones lo suficientemente variadas, de modo que sean
representativos del comportamiento del sistema.

4.3.2

Simulacin de un modelo con datos correspondientes a otro escenario

Al utilizar el conjunto de datos Cold Lake para simular los modelos calculados para Light Sour
Blend, la estimacin de la tasa de ensuciamiento obtenida es muy deficiente. Aunque el modelo
de Polley sigue mejor la tendencia, no se ajusta los suficientemente bien a los valores medidos.
Los otros dos modelos tienen una repsuesta todava ms lenta.

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

63

Figura 4-12. Modelos calculados para los datos Light Sour Blend y simulados
para Cold Lake

Efectivamente, en la Figura 4-13 se puede observar que el modelo de Polley es el que comete un
error menor, aunque los errores en los tres casos son considerables (el modelo de Ebert y
Panchal llega a cometer un error del 76%). Con esto se confirma la necesidad de ajustar los
coeficientes del modelo para cada escenario (fluido, equipos, etc).

64

Anlisis de resultados

Figura 4-13. Errores relativos cometidos al simular los modelos calculados para
Light Sour Blend con los datos Cold lake

4.4. Anlisis de sensibilidad


4.4.1

Sensibilidad de un modelo a varios parmetros

Por ltimo, la herramienta desarrollada permite hacer anlisis de sensibilidad de los modelos a
distintas variables. Al realizar dicho anlisis sobre el modelo que mejor se ajusta a los valores
medidos (Ebert y Panchal para Light Australian Crude Oil), se obtienen los siguientes resultados:
Aplicando cinco incrementos del 10% sobre el dimetro, es decir, cinco pasos de tamao 1.5
mm, se obtiene un decremento uniforme de la tasa de ensuciamiento de un 8%.

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

65

Figura 4-14. Sensibilidad del modelo de Ebert y Panchal al dimetro

Aplicando cinco incrementos del 10% sobre la densidad, es decir, cinco pasos de tamao 0.08
g/ml, se obtiene un decremento uniforme de la tasa de ensuciamiento de un 11%.

Figura 4-15. Sensibilidad del modelo de Ebert y Panchal a la densidad

Aplicando cinco incrementos del 10% sobre la viscosidad, es decir, cinco pasos de tamao 0.2
mPas, se obtiene un aumento medio de la tasa de ensuciamiento del 10%. Se puede observar
que el primer paso produce una variacin mayor que los dems.

66

Anlisis de resultados

Figura 4-16. Sensibilidad del modelo de Ebert y Panchal a la viscosidad

Aplicando cinco incrementos del 10% sobre la energa de activacin, es decir, cinco pasos de 270
J/mol, se observa un descenso medio de un 24% del valor medio de la tasa de ensuciamiento.

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

67

Figura 4-17. Sensibilidad del modelo de Ebert y Panchal a la energa de


activacin

Tambin es posible estudiar la sensibilidad a variaciones en el valor medio de la evolucin


temporal de variables como la velocidad o la temperatura superficial.
Aplicando el anlisis de sensibilidad a la velocidad con cinco pasos de tamao 0.03 m/s (10% de
la media de velocidades), se obtiene un descenso medio de la tasa de ensuciamiento del 15%.

68

Anlisis de resultados

Figura 4-18. Sensibilidad del modelo de Ebert y Panchal a la velocidad

Aplicando el anlisis de sensibilidad a la temperatura superficial con cinco pasos de tamao 25


(10% de la media de temperaturas superficiales), se obtiene un aumento medio de la tasa de
ensuciamiento del 15%.

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

69

Figura 4-19. Sensibilidad del modelo de Ebert y Panchal a la temperatura


superficial

Al comparar el incremento relativo del valor medio de la tasa de ensuciamiento frente a


incrementos del 10% de cada uno de los parmetros estudiados, se observa que la energa de
activacin es la que ms influencia tiene sobre la tasa de ensuciamiento. Se trata de un
parmetro calculado por regresin de los datos proporcionados, por lo que se deber prestar
especial atencin tanto a la seleccin de dichos datos como al propio clculo de la variable para
conseguir una prediccin acertada de la tasa de ensuciamiento.
Tambin se puede observar que la sensibilidad del modelo decrece al aumentar la viscosidad o
la temperatura superficial, y aumenta con la energa de activacin y la velocidad.

70

Anlisis de resultados

Figura 4-20. Comparacin de la sensibilidad del modelo de Ebert y Panchal a


distintos parmetros

4.4.2

Comparacin de anlisis de sensibilidad de distintos modelos

Adems de la herramienta para la simulacin ya explicada, se ha desarrollado una pequea


herramienta complementaria que permite la comparacin de la sensibilidad de distintos
modelos a un mismo parmetro.
Se presentan a continuacin los anlisis de sensibilidad al dimetro y a la energa de activacin,
configurados con el mismo tamao de paso y nmero de pasos que en el apartado anterior, y
aplicados a los tres modelos calculados con los datos Light Australian Crude Oil.
En la comparacin de la sensibilidad al dimetro (Figura 4-21), se observa que el modelo de
Ebert y Panchal y el modelo de Polley tienen una tendencia muy similar, mientras que el de
Saleh no se ve afectado por el cambio de dimetro. Esto se debe a que se han considerado el
resto de condiciones de ensayo constantes, y el dimetro no aparece en la ecuacin de Saleh,
que utiliza variables como la presin y la velocidad, en lugar de parmetros adimensionales
(Re, Pr), como hacen los otros dos modelos.

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

71

Figura 4-21. Comparacin de la sensibilidad de los


tres modelos al dimetro

La energa de activacin s da lugar a una variacin de la tasa de ensuciamiento similar en los


tres modelos.

72

Anlisis de resultados

Figura 4-22. Comparacin de la sensibilidad de los


tres modelos a la energa de activacin

5 CONCLUSIONES Y LNEAS DE AMPLIACIN

5.1. Conclusiones
Tras estudiar el proceso de ensuciamiento en intercambiadores de calor de carcasa y tubos, los
distintos mecanismos fsico-qumicos que intervienen en dicho proceso, se han presentado las
ecuaciones matemticas que modelan el proceso de forma general o cada mecanismo particular.
Despus de comparar los modelos matemticos expuestos, se han seleccionado tres de ellos
(modelo de Saleh, modelo de Ebert y Panchal y modelo de Polley) como base para el desarrollo
de una herramienta informtica que permita tanto la validacin y comparacin de los modelos
matemticos como su utilizacin para simular el proceso de ensuciamiento.
La herramienta informtica, desarrollada con MATLAB (y despus exportada a un archivo
ejecutable autnomo), cumple con los objetivos propuestos:

Adapta los modelos integrados a distintos conjuntos de datos, calculando los


coeficientes que ponderan cada trmino mediante una regresin lineal mltiple.

Incluye funcionalidades para la validacin de los modelos, as como la comparacin


entre el desempeo de los distintos modelos calculados.

Permite estudiar la sensibilidad de los modelos a distintas variables de influencia.


Adems, se ha desarrollado una pequea herramienta complementaria para hacer una
representacin alternativa de dicho anlisis, permitiendo la comparacin de los anlisis
de sensibilidad de distintos modelos a una misma variable.

Utiliza los modelos calculados para simular la evolucin de la tasa de ensuciamiento en


un escenario determinado.

Finalmente se han valorado los resultados obtenidos con la herramienta desarrollada,


confirmando la necesidad de adaptar el modelo a cada situacin particular. Se han comparado
los comportamientos de los tres modelos (el modelo de Saleh se adapta mejor a datos estables y
a los descensos de la tasa de ensuciamiento, el de Polley se adapta mejor a los ascensos bruscos,
y el de Ebert y Panchal tiene un comportamiento intermedio), llegando a la conclusin de que
es conveniente comparar cul de los tres se adapta mejor al escenario que se desee estudiar, y
que en algunos casos ser necesario considerar tambin otros modelos.
Tambin se ha puesto de manifiesto la necesidad de utilizar un conjunto de datos
representativo del sistema (con valores lo suficientemente variados) para que el modelo
calculado estime una tasa de ensuciamiento acertada en el futuro.

5.2. Lneas de ampliacin


Adems del estudio terico de los modelos matemticos, se proponen varias aplicaciones

74

Conclusiones y lneas de ampliacin

prcticas de la herramienta desarrollada:

Utilizacin de la prediccin de la tasa de ensuciamiento proporcionada por el


intercambiador para la planificacin de las paradas para la limpieza del mismo,
mediante el establecimiento de umbrales de ensuciamiento aceptable.

Utilizacin de la prediccin de la tasa de ensuciamiento proporcionada por el


intercambiador para desarrollar un sistema de control o automatismo que gestione de
manera autnoma los sistemas de limpieza en lnea del intercambiador.

Deteccin de problemas y anomalas en el sistema mediante la comparacin del


ensuciamiento previsto y el medido.

Tambin se proponen algunas posibles ampliaciones de la herramienta informtica


desarrollada:

Integracin de ms modelos generales.

Integracin de modelos para los mecanismos particulares, cuyo uso puede ser til para
simular sistemas conocidos en detalle en los que haya un mecanismo claramente
predominante sobre los dems. Tambin puede aadirse la posibilidad de hacer una
suma ponderada de la prediccin segn los distintos mecanismos, permitiendo al
usuario variar la ponderacin con el objetivo de encontrar un modelo general (para un
sistema concreto) combinacin de modelos particulares.

Incluir la simulacin del sistema completo, integrando la tasa de ensuciamiento para


sumar la resistencia de ensuciamiento a la resistencia del sistema y calcular la
transferecia de calor del intercambiador, as como su rendimiento.

6 ANEXOS

6.1. Interfaz grfica del simulador


Se presenta a continuacin el diseo de la interfaz grfica del simulador, con las etiquetas que
servirn para identificar cada elemento en el cdigo el programa:

76

Anexos

Figura 6-1. Etiquetas de los bloques "Calcular modelo" e "Importar modelo"

Figura 6-2. Etiquetas del bloque "Simular y comparar"

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

6.2. Cdigo del programa


A continuacin se presenta el cdigo de todas las funciones que conforman la aplicacin.

6.2.1

Cdigo principal (sim_fouling)

function varargout = sim_fouling(varargin)


% SIM_FOULING M-file for sim_fouling.fig
%
SIM_FOULING, by itself, creates a new SIM_FOULING or raises the existing
%
singleton*.
%
%
H = SIM_FOULING returns the handle to a new SIM_FOULING or the handle to
%
the existing singleton*.
%
%
SIM_FOULING('CALLBACK',hObject,eventData,handles,...) calls the local
%
function named CALLBACK in SIM_FOULING.M with the given input arguments.
%
%
SIM_FOULING('Property','Value',...) creates a new SIM_FOULING or raises the
%
existing singleton*. Starting from the left, property value pairs are
%
applied to the GUI before sim_fouling_OpeningFcn gets called. An
%
unrecognized property name or invalid value makes property application
%
stop. All inputs are passed to sim_fouling_OpeningFcn via varargin.
%
%
*See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
%
instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help sim_fouling
% Last Modified by GUIDE v2.5 07-Sep-2014 17:43:22
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @sim_fouling_OpeningFcn, ...
'gui_OutputFcn', @sim_fouling_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback',
[]);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before sim_fouling is made visible.
function sim_fouling_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject
handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% varargin
command line arguments to sim_fouling (see VARARGIN)
% Choose default command line output for sim_fouling
handles.output = hObject;
%Inicializacion de variables:
handles.modelo=4;
handles.check_val=0;
global num_mod;
global lista_modelos;
global T_s T_inf u p dR_f
num_mod=0;

77

78

Anexos
lista_modelos={' '};
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes sim_fouling wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = sim_fouling_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject
handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.output;
% --- Executes on selection change in c_menu_MODELO.
function c_menu_MODELO_Callback(hObject, eventdata, handles)
% hObject
handle to c_menu_MODELO (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)

% Hints: contents = cellstr(get(hObject,'String')) returns c_menu_MODELO contents as


cell array
%
contents{get(hObject,'Value')} returns selected item from c_menu_MODELO
% Determine the selected data set.
str = get(hObject, 'String');
val = get(hObject,'Value');
% Set current data to the selected data set.
switch str{val};
case 'Saleh'
handles.modelo = 1;
case 'Ebert y Panchal'
handles.modelo = 2;
case 'Polley'
handles.modelo = 3;
case '--'
handles.modelo = 4;
end
med_mod(:,:,1)=['Temperatura superficial(C)
';'Temperatura infinito(C)
';'Tasa de ensuciamiento((m^2*K/kJ)E6)';'Velocidad(m/s)
';'Presion(kPa)
'];
med_mod(:,:,2)=['Temperatura superficial(C)
';'Temperatura infinito(C)
';'Tasa de ensuciamiento((m^2*K/kJ)E6)';'Velocidad(m/s)
';'
'];
med_mod(:,:,3)=med_mod(:,:,2);
med_mod(:,:,4)=['
';'
';'
';'
';'
'];
cte_mod(:,:,1)=['-';'-cte_mod(:,:,2)=['Densidad:
';'Viscosidad:
cte_mod(:,:,3)=cte_mod(:,:,2);
cte_mod(:,:,4)=cte_mod(:,:,1);
uds_mod(:,:,1)=['
';'
';'
uds_mod(:,:,2)=['(g/ml) ';'(mPa*s)';'(mm)
uds_mod(:,:,3)=uds_mod(:,:,2);
uds_mod(:,:,4)=uds_mod(:,:,1);

';'-'];
';'Diametro tubo:'];

'];
'];

set(handles.c_texto_MEDIDAS,'String',med_mod(:,:,handles.modelo));
set(handles.c_texto_CTE1,'String',cte_mod(1,:,handles.modelo));
set(handles.c_texto_CTE2,'String',cte_mod(2,:,handles.modelo));
set(handles.c_texto_CTE3,'String',cte_mod(3,:,handles.modelo));
set(handles.c_texto_UD1,'String',uds_mod(1,:,handles.modelo));
set(handles.c_texto_UD2,'String',uds_mod(2,:,handles.modelo));

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos
set(handles.c_texto_UD3,'String',uds_mod(3,:,handles.modelo));
% Save the handles structure.
guidata(hObject,handles)
% --- Executes during object creation, after setting all properties.
function c_menu_MODELO_CreateFcn(hObject, eventdata, handles)
% hObject
handle to c_menu_MODELO (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: popupmenu controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function c_edit_NOMBRE_Callback(hObject, eventdata, handles)


% hObject
handle to c_edit_NOMBRE (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of c_edit_NOMBRE as text
%
str2double(get(hObject,'String')) returns contents of c_edit_NOMBRE as a
double
global nombre_mod_c;
nombre_mod_c=get(hObject,'String');
% --- Executes during object creation, after setting all properties.
function c_edit_NOMBRE_CreateFcn(hObject, eventdata, handles)
% hObject
handle to c_edit_NOMBRE (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function i_edit_NOMBRE_Callback(hObject, eventdata, handles)
% hObject
handle to i_edit_NOMBRE (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of i_edit_NOMBRE as text
%
str2double(get(hObject,'String')) returns contents of i_edit_NOMBRE as a
double
global nombre_mod_i;
nombre_mod_i= get(hObject,'String');
% --- Executes during object creation, after setting all properties.
function i_edit_NOMBRE_CreateFcn(hObject, eventdata, handles)
% hObject
handle to i_edit_NOMBRE (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

79

80

Anexos

% --- Executes on button press in i_boton_IMP_MODELO.


function i_boton_IMP_MODELO_Callback(hObject, eventdata, handles)
% hObject
handle to i_boton_IMP_MODELO (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
global num_mod nombre_mod_i lista_modelos
[FileName Path]=uigetfile({'*.mat'},'Importar coeficientes');
if isequal(FileName,0)
return
else
load(strcat(Path,FileName)); %Tiene que ser un archivo previamente guardado con
el simulador (o, en su defecto, un archivo .mat en el que se haya guardado la
variable 'coef'
end
num_mod=num_mod+1;
lista_modelos{num_mod}=nombre_mod_i;
handles.coefmodelos(num_mod,:)=coef;
set(handles.s_lista_MODELOS,'String',lista_modelos);
guidata(hObject, handles);

function c_edit_CTE1_Callback(hObject, eventdata, handles)


% hObject
handle to c_edit_CTE1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of c_edit_CTE1 as text
%
str2double(get(hObject,'String')) returns contents of c_edit_CTE1 as a
double
global cte1;
cte1=0;
cte1= str2double(get(hObject,'String'));
% --- Executes during object creation, after setting all properties.
function c_edit_CTE1_CreateFcn(hObject, eventdata, handles)
% hObject
handle to c_edit_CTE1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in c_boton_IMP_MEDIDAS.
function c_boton_IMP_MEDIDAS_Callback(hObject, eventdata, handles)
% hObject
handle to c_boton_IMP_MEDIDAS (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
global datos;
global nom_datos;
if handles.modelo==4
opc=errordlg('No ha seleccionado ningn modelo','Error');
else
[FileName Path]=uigetfile({'*.xls'},'Importar medidas');
[datos nom_datos]=xlsread(strcat(Path,FileName));
msgbox('Datos importados con exito','Fin tarea');
end

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

81

% --- Executes on button press in c_boton_CALC_MODELO.


function c_boton_CALC_MODELO_Callback(hObject, eventdata, handles)
% hObject
handle to c_boton_CALC_MODELO (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
global nom_datos datos num_mod lista_modelos nombre_mod_c cte1 cte2 cte3;
switch handles.modelo
case 1
coef=reg_saleh(nom_datos,datos);
case 2
coef=reg_ebert(nom_datos,datos,cte1,cte2,cte3);
case 3
coef=reg_polley(nom_datos,datos,cte1,cte2,cte3);
case 4
opc=errordlg('No ha seleccionado ningn modelo','Error');
end
if coef(1)==1
aviso_ok=strcat('Modelo "',nombre_mod_c,'" calculado con exito:
E=',num2str(coef(2)),', alpha=', num2str(coef(3)), ', beta=', num2str(coef(4)), ',
gamma=', num2str(coef(5)),'.');
else
aviso_ok=strcat('Modelo "',nombre_mod_c,'" calculado con exito:
E=',num2str(coef(2)),', alpha=', num2str(coef(3)), ', gamma=', num2str(coef(5)),'.');
end
msgbox(aviso_ok,'Modelo calculado');
%Actualizacion de s_lista_MODELOS:
num_mod=num_mod+1;
handles.coefmodelos(num_mod,:)=coef;
lista_modelos{num_mod}=nombre_mod_c;
set(handles.s_lista_MODELOS,'String',lista_modelos);
guidata(hObject, handles);

% --- Executes on button press in c_boton_AJUSTE.


function c_boton_AJUSTE_Callback(hObject, eventdata, handles)
% hObject
handle to c_boton_AJUSTE (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
global num_mod nom_datos datos T_s T_inf u dR_f p lista_modelos cte1 cte2 cte3
for i=1:length(nom_datos)
eval([nom_datos{i} '=datos(:,i);']);
end
R=8.315; %Constante universal de los gases (J/mol K)
E=handles.coefmodelos(num_mod,2);
alpha=handles.coefmodelos(num_mod,3);
beta=handles.coefmodelos(num_mod,4);
gamma=handles.coefmodelos(num_mod,5);
switch handles.modelo
case 1
T_f=(T_s+T_inf)./2;
dR_f_calc=alpha.*(p.^beta).*(u.^gamma).*exp(-E./(R.*T_f));
case 2
ro=cte1;
mi=cte2;
D=cte3;
T_f=(T_s+T_inf)./2;
Re=ro*u*D/mi*1000; %Numero de Reynolds
if Re<2300

82

Anexos
f=16./Re;
else
f=0.0035+0.264./Re.^0.42;
end
tau=f/2.*ro.*u.^2;
dR_f_calc=alpha*(Re.^-0.88).*exp(-E./(R*T_f))-gamma*tau;
case 3
ro=cte1;
mi=cte2;
D=cte3;
Re=ro*u*D/mi*1000;
cp=1940+3*T_inf;
k=0.145-0.0001*T_inf;
Pr=cp*mi./k*1e-6;
dR_f_calc=alpha*(Re.^-0.8).*(Pr.^-0.33).*exp(-E./(R*T_s))-gamma*Re.^0.8;
case 4
opc=errordlg('No ha seleccionado ningn modelo','Error');
end
No=1:length(dR_f);
inter=1:0.1:length(dR_f);
interp_med=spline(No,dR_f,inter);
interp_calc=spline(No,dR_f_calc,inter);
figure;
plot(No,dR_f,'ob',No,dR_f_calc,'sr');
hold on;
xlabel('Run No');
ylabel('Tasa de ensuciamiento ((m^2 K/kJ) e6)');
legend('Medida','Calculada segun modelo');
title(strcat('Ajuste del modelo "',lista_modelos{num_mod} ,'" a la tasa medida'));
plot(inter,interp_med,'b',inter,interp_calc,'r');
err_rel=abs(dR_f-dR_f_calc)./dR_f*100;
interp_err=spline(No,err_rel,inter);

figure;
plot(No,err_rel,'om',inter,interp_err,'-m');
title(strcat('Error relativo medio "',lista_modelos{num_mod},'"=
',num2str(mean(err_rel)),'%'));
xlabel('Run No');
ylabel('Error relativo (%)');
axis([1 length(err_rel) 0 100]);
grid;
% --- Executes on button press in c_boton_GUARDAR.
function c_boton_GUARDAR_Callback(hObject, eventdata, handles)
% hObject
handle to c_boton_GUARDAR (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
global nombre_mod_c num_mod
coef=handles.coefmodelos(num_mod,:);
save(nombre_mod_c,'coef');
% --- Executes on button press in s_boton_IMP_MEDIDAS.
function s_boton_IMP_MEDIDAS_Callback(hObject, eventdata, handles)
% hObject
handle to s_boton_IMP_MEDIDAS (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
global datos_sim nom_datos_sim ctes_sim nom_ctes_sim

mod_selec;

[FileName Path]=uigetfile({'*.xls'},'Importar medidas variables');


[datos_sim nom_datos_sim]=xlsread(strcat(Path,FileName));

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

83

ind_modelos=handles.coefmodelos(mod_selec,1);
if find(ind_modelos>=2)>=1
[FileName Path]=uigetfile({'*.xls'},'Importar medidas constantes');
[ctes_sim nom_ctes_sim]=xlsread(strcat(Path,FileName));
end
msgbox('Datos importados con exito','Fin tarea');

% --- Executes on selection change in s_lista_MODELOS.


function s_lista_MODELOS_Callback(hObject, eventdata, handles)
% hObject
handle to s_lista_MODELOS (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hints: contents = cellstr(get(hObject,'String')) returns s_lista_MODELOS contents
as cell array
%
contents{get(hObject,'Value')} returns selected item from s_lista_MODELOS
global mod_selec;
mod_selec=get(hObject,'Value');
% --- Executes during object creation, after setting all properties.
function s_lista_MODELOS_CreateFcn(hObject, eventdata, handles)
% hObject
handle to s_lista_MODELOS (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: listbox controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on selection change in s_lista_ANALISIS.
function s_lista_ANALISIS_Callback(hObject, eventdata, handles)
% hObject
handle to s_lista_ANALISIS (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hints: contents = cellstr(get(hObject,'String')) returns s_lista_ANALISIS contents
as cell array
%
contents{get(hObject,'Value')} returns selected item from s_lista_ANALISIS
global analisis_selec;
analisis_selec=get(hObject,'Value');
% --- Executes during object creation, after setting all properties.
function s_lista_ANALISIS_CreateFcn(hObject, eventdata, handles)
% hObject
handle to s_lista_ANALISIS (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: listbox controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in s_boton_EJECUTAR.
function s_boton_EJECUTAR_Callback(hObject, eventdata, handles)
% hObject
handle to s_boton_EJECUTAR (see GCBO)

84

Anexos
% eventdata
% handles

reserved - to be defined in a future version of MATLAB


structure with handles and user data (see GUIDATA)

global analisis_selec mod_selec datos_sim nom_datos_sim lista_modelos ctes_sim


nom_ctes_sim;
colores='grcmykwgrcmykw';
var_analisis_param={'Diametro', 'Densidad', 'Viscosidad', 'Energia de activacion',
'Velocidad', 'Temperatura superficial'};
if find(analisis_selec>=7)
f = figure('Position',[450 400 444 172],'NumberTitle','off','Name','Configurar
analisis de sensibilidad');
cnames = {'Tamao del paso','Numero de pasos'};
m=1;
for k=1:length(analisis_selec)
if analisis_selec(k)>6
rnames{m}=var_analisis_param{analisis_selec(k)-6};
m=m+1;
end
end
t =
uitable('Parent',f,'ColumnName',cnames,'RowName',rnames,'Data',zeros(length(rnames),2)
,'Position',[20 40 404 122],'ColumnEditable',true(1,2));
uicontrol('Style', 'pushbutton', 'Callback',
'uiresume(gcbf)','String','Ok','FontSize',10, 'Position', [200 6 50 30]);
uiwait(f);
conf_sensib=get(t,'Data');
close(f);
ind_sensib=1;
end
if find(analisis_selec==1)
%Llamada a simulaciones independientes para todos los modelos
%seleccionados
for i=1:length(mod_selec)
[nom_res res]=simular(handles.coefmodelos(mod_selec(i),:),nom_datos_sim,
datos_sim, nom_ctes_sim, ctes_sim);
for j=1:length(nom_res)
eval([nom_res{j} '=res(:,j);']);
end
%Representacion grafica:
No=1:length(dR_f_calc);
inter=1:0.1:length(dR_f_calc);
interp_calc=spline(No,dR_f_calc,inter);
figure;
p_hand=plot(No,dR_f_calc,'sr',inter,interp_calc,'r');
hold on;
if handles.check_val==1
%Modo validacion del modelo activado: la grafica compara la
%tasa de ensuciamiento medida con la calculada.
interp_med=spline(No,dR_f,inter);
p_hand_med=plot(No,dR_f,'ob',inter,interp_med,'b');
legend([p_hand(1) p_hand_med(1)],strcat('Modelo
"',lista_modelos{mod_selec(i)},'"'),'Medida');
else
legend(strcat('Modelo "',lista_modelos{mod_selec(i)},'"'));
end
xlabel('Run No');
ylabel('Tasa de ensuciamiento ((m^2 K/kJ) e6)');

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos
title(strcat('Simulacion del modelo "',lista_modelos{mod_selec(i)},'"'));
hold off;
clear p_hand p_hand_med;
end
end
if find(analisis_selec==2)
%Llamada a simulacion conjunta de los modelos seleccionados
figure;
for i=1:length(mod_selec)
[nom_res res]=simular(handles.coefmodelos(mod_selec(i),:),nom_datos_sim,
datos_sim, nom_ctes_sim, ctes_sim);
for j=1:length(nom_res)
eval([nom_res{j} '=res(:,j);']);
end
No=1:length(dR_f_calc);
inter=1:0.1:length(dR_f_calc);
%Representacion grafica:
if i==length(mod_selec) && handles.check_val==1
%Modo validacion del modelo activado: la grafica compara la
%tasa de ensuciamiento medida con las calculadas.
interp_med=spline(No,dR_f,inter);
p_hand=plot(No, dR_f, 'ob', inter, interp_med, 'b');
hold on;
p_hand_legend(i+1)=p_hand(1);
leyenda{i+1}='Medida';
end
interp_calc=spline(No,dR_f_calc,inter);
p_hand=plot(No,dR_f_calc,strcat('s',colores(i)), inter,
interp_calc,colores(i));
hold on;
p_hand_legend(i)=p_hand(1);
leyenda{i}=strcat('Modelo "',lista_modelos{mod_selec(i)},'"');
end
xlabel('Run No');
ylabel('Tasa de ensuciamiento ((m^2 K/kJ) e6)');
title('Comparacion entre modelos');
legend(p_hand_legend,leyenda);
hold off;
clear leyenda p_hand p_hand_legend;
end
if find(analisis_selec==3)
%Llamada a calculo de errores relativos (independientes) de los modelos
%seleccionados
for i=1:length(mod_selec)
[err_rel_med
err_rel]=calc_err_rel(handles.coefmodelos(mod_selec(i),:),nom_datos_sim, datos_sim,
nom_ctes_sim, ctes_sim);
%Representacion grafica:
No=1:length(err_rel);
inter=1:0.1:length(err_rel);
interp_err=spline(No,err_rel,inter);
figure;
h_plot=plot(No,err_rel,'om',inter,interp_err,'-m');
title(strcat('Error relativo del modelo
"',lista_modelos{mod_selec(i)},'"'));
legend(h_plot(1),strcat(lista_modelos{mod_selec(i)},' , ',
num2str(err_rel_med),'%'));
xlabel('Run No');
ylabel('Error relativo (%)');

85

86

Anexos
axis([1 length(err_rel) 0 100]);
grid;
hold off;
end
end
if find(analisis_selec==4)
%Llamada a representacion conjunta de los errores relativos
figure;
for i=1:length(mod_selec)

[err_rel_med
err_rel]=calc_err_rel(handles.coefmodelos(mod_selec(i),:),nom_datos_sim, datos_sim,
nom_ctes_sim, ctes_sim);
%Representacion grafica:
No=1:length(err_rel);
inter=1:0.1:length(err_rel);
interp_err=spline(No,err_rel,inter);
p_hand=plot(No,err_rel,strcat('o',colores(i)),inter,interp_err,colores(i));
hold on;
p_hand_legend(i)=p_hand(1);
leyenda{i}=strcat(lista_modelos{mod_selec(i)},' : ',
num2str(err_rel_med),'%');
end
title('Comparacion de errores relativos');
xlabel('Run No');
ylabel('Error relativo (%)');
legend(p_hand_legend,leyenda);
axis([1 length(err_rel) 0 100]);
grid;
hold off;
clear leyenda;
end
if find(analisis_selec==5)
%Llamada a calculo de los errores cuadraticos (independientes) de los
%modelos seleccionados
for i=1:length(mod_selec)
[err_cuad_med
err_cuad]=calc_err_cuad(handles.coefmodelos(mod_selec(i),:),nom_datos_sim, datos_sim,
nom_ctes_sim, ctes_sim);
%Representacion grafica:
No=1:length(err_cuad);
inter=1:0.1:length(err_cuad);
interp_err=spline(No,err_cuad,inter);
figure;
p_hand=plot(No,err_cuad,'om',inter,interp_err,'-m');
legend(p_hand(1),strcat(lista_modelos{mod_selec(i)},' : ',
num2str(err_cuad_med)));
title(strcat('Error cuadratico del modelo
"',lista_modelos{mod_selec(i)},'"'));
xlabel('Run No');
ylabel('Error cuadratico (((m^2 K/kJ) e6)^2)');
grid;
hold off;
end

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

87

end
if find(analisis_selec==6)
%Llamada a la representacion conjunta de los errores cuadraticos
figure
for i=1:length(mod_selec)
[err_cuad_med
err_cuad]=calc_err_cuad(handles.coefmodelos(mod_selec(i),:),nom_datos_sim, datos_sim,
nom_ctes_sim, ctes_sim);
%Representacion grafica:
No=1:length(err_cuad);
inter=1:0.1:length(err_cuad);
interp_err=spline(No,err_cuad,inter);
p_hand=plot(No,err_cuad,strcat('o',colores(i)),inter,interp_err,colores(i));
hold on;
p_hand_legend(i)=p_hand(1);
leyenda{i}=strcat(lista_modelos{mod_selec(i)},' , ',
num2str(err_cuad_med),'(((m^2 K/kJ) e6)^2)');
end
title('Comparacion de errores cuadraticos');
xlabel('Run No');
ylabel('Error cuadratico (((m^2 K/kJ) e6)^2)');
grid;
legend(p_hand_legend,leyenda);
hold off;
clear leyenda;
end
if find(analisis_selec==7)
%Analisis de sensibilidad al diametro
for i=1:length(mod_selec)
ctes_sim1=ctes_sim;
pos_D= not(cellfun('isempty', strfind(nom_ctes_sim,'D')));
figure;
for j=1:conf_sensib(ind_sensib,2)
[nom_res res]=simular(handles.coefmodelos(mod_selec(i),:),nom_datos_sim,
datos_sim, nom_ctes_sim, ctes_sim1);
for k=1:length(nom_res)
eval([nom_res{k} '=res(:,k);']);
end
%Representacion grafica:
No=1:length(dR_f_calc);
inter=1:0.1:length(dR_f_calc);
interp_calc=spline(No,dR_f_calc,inter);
p_hand=plot(No,dR_f_calc,strcat('s',colores(j)),inter,interp_calc,colores(j));
p_hand_leg(j)=p_hand(1);
leyenda{j}=strcat('D=',num2str(ctes_sim1(1,pos_D)),' mm');
hold on;
%Cambio del valor de la variable parametrica
ctes_sim1(pos_D)=ctes_sim1(pos_D)+conf_sensib(ind_sensib,1);
end

88

Anexos

xlabel('Run No');
ylabel('Tasa de ensuciamiento ((m^2 K/kJ) e6)');
title(strcat('Sensibilidad del modelo "',lista_modelos{mod_selec(i)},'" al
diametro'));
legend(p_hand_leg, leyenda);
hold off;
clear p_hand p_hand_leg leyenda;
end
ind_sensib=ind_sensib+1;
end
if find(analisis_selec==8)
%Analisis de sensibilidad a la densidad
for i=1:length(mod_selec)
ctes_sim1=ctes_sim;
pos_ro= not(cellfun('isempty', strfind(nom_ctes_sim,'ro')));
figure;
for j=1:conf_sensib(ind_sensib,2)
[nom_res res]=simular(handles.coefmodelos(mod_selec(i),:),nom_datos_sim,
datos_sim, nom_ctes_sim, ctes_sim1);
for k=1:length(nom_res)
eval([nom_res{k} '=res(:,k);']);
end
%Representacion grafica:
No=1:length(dR_f_calc);
inter=1:0.1:length(dR_f_calc);
interp_calc=spline(No,dR_f_calc,inter);
p_hand=plot(No,dR_f_calc,strcat('s',colores(j)),inter,interp_calc,colores(j));
p_hand_leg(j)=p_hand(1);
leyenda{j}=strcat('ro=',num2str(ctes_sim1(1,pos_ro)),' g/ml');
hold on;
%Cambio del valor de la variable parametrica
ctes_sim1(pos_ro)=ctes_sim1(pos_ro)+conf_sensib(ind_sensib,1);
end
xlabel('Run No');
ylabel('Tasa de ensuciamiento ((m^2 K/kJ) e6)');
title(strcat('Sensibilidad del modelo "',lista_modelos{mod_selec(i)},'" a la
densidad'));
legend(p_hand_leg, leyenda);
hold off;
clear p_hand p_hand_leg leyenda;
end
ind_sensib=ind_sensib+1;
end
if find(analisis_selec==9)
%Analisis de sensibilidad a la viscosidad
for i=1:length(mod_selec)
ctes_sim1=ctes_sim;
pos_mi= not(cellfun('isempty', strfind(nom_ctes_sim,'mi')));
figure;
for j=1:conf_sensib(ind_sensib,2)
[nom_res res]=simular(handles.coefmodelos(mod_selec(i),:),nom_datos_sim,
datos_sim, nom_ctes_sim, ctes_sim1);

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

89

for k=1:length(nom_res)
eval([nom_res{k} '=res(:,k);']);
end
%Representacion grafica:
No=1:length(dR_f_calc);
inter=1:0.1:length(dR_f_calc);
interp_calc=spline(No,dR_f_calc,inter);
p_hand=plot(No,dR_f_calc,strcat('s',colores(j)),inter,interp_calc,colores(j));
p_hand_leg(j)=p_hand(1);
leyenda{j}=strcat('mi=',num2str(ctes_sim1(1,pos_mi)),' mPa s');
hold on;
%Cambio del valor de la variable parametrica
ctes_sim1(pos_mi)=ctes_sim1(pos_mi)+conf_sensib(ind_sensib,1);
end
xlabel('Run No');
ylabel('Tasa de ensuciamiento ((m^2 K/kJ) e6)');
title(strcat('Sensibilidad del modelo "',lista_modelos{mod_selec(i)},'" a la
viscosidad'));
legend(p_hand_leg, leyenda);
hold off;
clear p_hand p_hand_leg leyenda;
end
ind_sensib=ind_sensib+1;
end
if find(analisis_selec==10)
%Analisis de sensibilidad a la energia de activacion
for i=1:length(mod_selec)
coef1=handles.coefmodelos(mod_selec(i),:);
figure;
for j=1:conf_sensib(ind_sensib,2)
[nom_res res]=simular(coef1,nom_datos_sim, datos_sim, nom_ctes_sim,
ctes_sim);
for k=1:length(nom_res)
eval([nom_res{k} '=res(:,k);']);
end
%Representacion grafica:
No=1:length(dR_f_calc);
inter=1:0.1:length(dR_f_calc);
interp_calc=spline(No,dR_f_calc,inter);
p_hand=plot(No,dR_f_calc,strcat('s',colores(j)),inter,interp_calc,colores(j));
p_hand_leg(j)=p_hand(1);
leyenda{j}=strcat('E=',num2str(coef1(2)),' (J/mol)');
hold on;
%Cambio del valor de la variable parametrica
coef1(2)=coef1(2)+conf_sensib(ind_sensib,1);
end
xlabel('Run No');
ylabel('Tasa de ensuciamiento ((m^2 K/kJ) e6)');
title(strcat('Sensibilidad del modelo "',lista_modelos{mod_selec(i)},'" a la
energia de activacion'));
legend(p_hand_leg, leyenda);

90

Anexos
hold off;
clear p_hand p_hand_leg leyenda;
end
ind_sensib=ind_sensib+1;
end
if find(analisis_selec==11)
%Analisis de sensibilidad a la velocidad
for i=1:length(mod_selec)
datos_sim1=datos_sim;
pos_u= not(cellfun('isempty', strfind(nom_datos_sim,'u')));
figure;
for j=1:conf_sensib(ind_sensib,2)

[nom_res res]=simular(handles.coefmodelos(mod_selec(i),:),nom_datos_sim,
datos_sim1, nom_ctes_sim, ctes_sim);
for k=1:length(nom_res)
eval([nom_res{k} '=res(:,k);']);
end
%Representacion grafica:
No=1:length(dR_f_calc);
inter=1:0.1:length(dR_f_calc);
interp_calc=spline(No,dR_f_calc,inter);
p_hand=plot(No,dR_f_calc,strcat('s',colores(j)),inter,interp_calc,colores(j));
p_hand_leg(j)=p_hand(1);
leyenda{j}=strcat('u_m=',num2str(mean(datos_sim1(:,pos_u))),' m/s');
hold on;
%Cambio del valor de la variable parametrica
datos_sim1(:,pos_u)=datos_sim1(:,pos_u)+conf_sensib(ind_sensib,1);
end
xlabel('Run No');
ylabel('Tasa de ensuciamiento ((m^2 K/kJ) e6)');
title(strcat('Sensibilidad del modelo "',lista_modelos{mod_selec(i)},'" a la
velocidad'));
legend(p_hand_leg, leyenda);
hold off;
clear p_hand p_hand_leg leyenda;
end
ind_sensib=ind_sensib+1;
end
if find(analisis_selec==12)
%Analisis de sensibilidad a la temperatura superficial
for i=1:length(mod_selec)
datos_sim1=datos_sim;
pos_Ts= not(cellfun('isempty', strfind(nom_datos_sim,'T_s')));
figure;
for j=1:conf_sensib(ind_sensib,2)
[nom_res res]=simular(handles.coefmodelos(mod_selec(i),:),nom_datos_sim,
datos_sim1, nom_ctes_sim, ctes_sim);
for k=1:length(nom_res)
eval([nom_res{k} '=res(:,k);']);
end

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

91

%Representacion grafica:
No=1:length(dR_f_calc);
inter=1:0.1:length(dR_f_calc);
interp_calc=spline(No,dR_f_calc,inter);
p_hand=plot(No,dR_f_calc,strcat('s',colores(j)),inter,interp_calc,colores(j));
p_hand_leg(j)=p_hand(1);
leyenda{j}=strcat('Ts_m=',num2str(mean(datos_sim1(:,pos_Ts))),' C');
hold on;
%Cambio del valor de la variable parametrica
datos_sim1(:,pos_Ts)=datos_sim1(:,pos_Ts)+conf_sensib(ind_sensib,1);
end
xlabel('Run No');
ylabel('Tasa de ensuciamiento ((m^2 K/kJ) e6)');
title(strcat('Sensibilidad del modelo "',lista_modelos{mod_selec(i)},'" a la
temperatura superficial'));
legend(p_hand_leg, leyenda);
hold off;
clear p_hand p_hand_leg leyenda;
end
ind_sensib=ind_sensib+1;
end

msgbox('Los analisis seleccionados se han realizado con exito.','Fin');


% --- Executes on button press in boton_SALIR.
function boton_SALIR_Callback(hObject, eventdata, handles)
% hObject
handle to boton_SALIR (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
opc=questdlg('Desea salir del simulador?','Salir','Si','No','No');
if strcmp(opc,'No')
return;
end
clear,clc,close all
% --- Executes on button press in boton_AYUDA.
function boton_AYUDA_Callback(hObject, eventdata, handles)
% hObject
handle to boton_AYUDA (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
winopen('Ayuda.pdf');

function c_edit_CTE2_Callback(hObject, eventdata, handles)


% hObject
handle to c_edit_CTE2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of c_edit_CTE2 as text
%
str2double(get(hObject,'String')) returns contents of c_edit_CTE2 as a
double
global cte2;
cte2=0;
cte2= str2double(get(hObject,'String'));

92

Anexos

% --- Executes during object creation, after setting all properties.


function c_edit_CTE2_CreateFcn(hObject, eventdata, handles)
% hObject
handle to c_edit_CTE2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function c_edit_CTE3_Callback(hObject, eventdata, handles)


% hObject
handle to c_edit_CTE3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of c_edit_CTE3 as text
%
str2double(get(hObject,'String')) returns contents of c_edit_CTE3 as a
double
global cte3;
cte3=0;
cte3= str2double(get(hObject,'String'));
% --- Executes during object creation, after setting all properties.
function c_edit_CTE3_CreateFcn(hObject, eventdata, handles)
% hObject
handle to c_edit_CTE3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in s_boton_VERINFO.
function s_boton_VERINFO_Callback(hObject, eventdata, handles)
% hObject
handle to s_boton_VERINFO (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
global mod_selec
med_mod(:,:,1)=['Temperatura
';'Velocidad(m/s)
ensuciamiento((m^2*K/kJ)E6)'];
med_mod(:,:,2)=['Temperatura
';'Velocidad(m/s)
'];
med_mod(:,:,3)=['Temperatura
';'Velocidad(m/s)
'];
med_mod(:,:,4)=['Temperatura
';'Velocidad(m/s)
'];

superficial(C)
';'Temperatura infinito(C)
';'Presion(kPa)
';'Tasa de
superficial(C)
';'Temperatura infinito(C)
';'Tasa de ensuciamiento((m^2*K/kJ)E6)';'
superficial(C)
';'Temperatura infinito(C)
';'Presion(kPa)
';'
superficial(C)
';'

ctes_mod(:,:,1)=['Densidad(g/ml)
tubo(mm)'];
ctes_mod(:,:,2)=['
'];

';'Viscosidad(mPa*s)

';'Diametro del

';'

';'

ind_modelos=handles.coefmodelos(mod_selec,1);
if handles.check_val==1

';'Temperatura infinito(C)
';'

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos
if find(ind_modelos==1)>=1
set(handles.s_texto_MEDIDAS,'String',med_mod(:,:,1));
else
set(handles.s_texto_MEDIDAS,'String',med_mod(:,:,2));
end
else
if find(ind_modelos==1)>=1
set(handles.s_texto_MEDIDAS,'String',med_mod(:,:,3));
else
set(handles.s_texto_MEDIDAS,'String',med_mod(:,:,4));
end
end
if find(ind_modelos>=2)>=1
set(handles.s_texto_CTES,'String',ctes_mod(:,:,1));
else
set(handles.s_texto_CTES,'String',ctes_mod(:,:,2));
end
% --- Executes on button press in s_check_VALIDACION.
function s_check_VALIDACION_Callback(hObject, eventdata, handles)
% hObject
handle to s_check_VALIDACION (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of s_check_VALIDACION
handles.check_val=get(hObject,'Value');
guidata(hObject, handles);

93

94

Anexos

6.2.2

Funcin reg_saleh

function [ coef ] = reg_saleh( nom_datos, datos )


%REG_SALEH Calcula los coeficientes del modelo de Saleh por regresin de
%los datos importados.
%------------------------------------------------------------------------%ADECUACION DE LOS DATOS DE ENTRADA:
global T_s T_inf u p dR_f;
for i=1:5
eval([nom_datos{i} '=datos(:,i);']);
end
%------------------------------------------------------------------------%------------------------------------------------------------------------%MODELO DE SALEH:
%dR_f/dt=alpha*(p^beta)*(u^gamma)*exp(-E/(R*T_f))
%
%Expresiones auxiliares:
%T_f=(T_s+T_inf)/2
%
%------------------------------------------------------------------------T_f=(T_s+T_inf)./2;
R=8.315; %Constante universal de los gases (J/mol K)
%------------------------------------%Calculo de la energia de activacion:
%------------------------------------y=log(dR_f);
x=1./T_f;
pol=polyfit(x,y,1);
E=-pol(1)*R;

%Energia de activacion (J/mol)

%------------------------------------%Linealizamos el modelo tomando logaritmo y calculamos los coeficientes por


%regresion multiple:
%------------------------------------%ln(dR_f/dt)=ln(alpha)+beta*ln(p)+gamma*ln(u)-E/(R*T_f)
Y=y+E./(R.*T_f);
X=[ones(length(p),1) log(p) log(u)];
B=regress(Y,X);
alpha=exp(B(1));
beta=B(2);
gamma=B(3);
coef=[ 1, E, alpha, beta, gamma ]; %El primer elemento indica el tipo de
modelo
end

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

6.2.3

Funcin reg_ebert

function [ coef ] = reg_ebert( nom_datos, datos, ro, mi, D)


%REG_EBERT Calcula los coeficientes del modelo de Ebert y Panchal por
%regresin de los datos importados.
%------------------------------------------------------------------------%ADECUACION DE LOS DATOS DE ENTRADA:
global T_s T_inf u dR_f
for i=1:5
eval([nom_datos{i} '=datos(:,i);']);
end
%------------------------------------------------------------------------%------------------------------------------------------------------------%MODELO DE EBERT Y PANCHAL (formulacin segn David Butterworth (...25X)):
%dR_f/dt=alpha*(Re^-0.88)*exp(-E/(R*T_f))-gamma*tau
%
%Expresiones auxiliares:
%T_f=(T_s+T_inf)/2
%
%tau=f/2*ro*u^2
%
%Si flujo laminar, f=16/Re; si flujo turbulento, f=0.0035+0.264/Re^0.42
%
%------------------------------------------------------------------------T_f=(T_s+T_inf)./2;
R=8.315; %Constante universal de los gases (J/mol K)
Re=ro*u*D/mi*1000;

%Numero de Reynolds

if Re<2300
f=16./Re;
else
f=0.0035+0.264./Re.^0.42;
end
tau=f/2.*ro.*u.^2;
%------------------------------------%Calculo de la energia de activacion:
%------------------------------------y=log(dR_f);
x=1./T_f;
pol=polyfit(x,y,1);
E=-pol(1)*R;

%Energia de activacion (J/mol)

%------------------------------------%Calculamos los coeficientes por regresion multiple:


%------------------------------------%dR_f/dt=alpha*(Re^-0.88)*exp(-E/(R*T_f))-gamma*tau
Y=dR_f;
X=[(Re.^-0.88).*exp(-E./(R*T_f)) tau];
B=regress(Y,X);
alpha=B(1);

95

96

Anexos
gamma=-B(2);

coef=[ 2, E, alpha, 0, gamma ]; %El primer elemento indica el tipo de


modelo. Este modelo no tiene beta, por lo que se ha puesto un 0 en su lugar.

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos

6.2.4

Funcin reg_polley

function [ coef ] = reg_polley( nom_datos, datos, ro, mi, D)


%REG_POLLEY Calcula los coeficientes del modelo de Ebert y Panchal por
%regresin de los datos importados.
%------------------------------------------------------------------------%ADECUACION DE LOS DATOS DE ENTRADA:
global T_s T_inf u dR_f
for i=1:5
eval([nom_datos{i} '=datos(:,i);']);
end
%------------------------------------------------------------------------%------------------------------------------------------------------------%MODELO DE POLLEY:
%dR_f/dt=alpha*(Re^-0.8)*(Pr^-0.33)*exp(-E/(R*T_s))-gamma*Re^0.8
%
%Expresiones auxiliares:
%Re=ro*u*D/mi
%
%------------------------------------------------------------------------R=8.315; %Constante universal de los gases (J/mol K)
Re=ro*u*D/mi*1000;
cp=1940+3*T_inf;
k=0.145-0.0001*T_inf;
Pr=cp*mi./k*1e-6;
%------------------------------------%Calculo de la energia de activacion:
%------------------------------------y=log(dR_f);
x=1./T_s;
pol=polyfit(x,y,1);
E=-pol(1)*R;

%Energia de activacion (J/mol)

%------------------------------------%Calculamos los coeficientes del modelo por regresion multiple:


%------------------------------------%dR_f/dt=alpha*(Re^-0.8)*(Pr^-0.33)*exp(-E/(R*T_s))-gamma*Re^0.8
Y=dR_f;
X=[(Re.^-0.8).*(Pr.^-0.33).*exp(-E./(R*T_s)) Re.^0.8];
B=regress(Y,X);
alpha=B(1);
gamma=-B(2);
coef=[ 3, E, alpha, 0, gamma ]; %El primer elemento indica el tipo de
modelo. Este modelo no tiene beta, por lo que se ha puesto un 0 en su lugar.

97

98

Anexos

6.2.5

Funcin simular

function [ nom_res res] = simular( coef, nom_datos_sim, datos_sim,


nom_ctes_sim, ctes_sim )
%SIMULAR Simula y representa el modelo determinado por el vector coef,
%evaluando los datos contenidos en nom_datos_sim y datos_sim.
%------------------------------------------------------------------------%ADECUACION DE LOS DATOS DE ENTRADA:
% global T_s T_inf u p dR_f;
global dR_f T_s T_inf u p ro mi D;
for i=1:length(nom_datos_sim)
eval([nom_datos_sim{i} '=datos_sim(:,i);']);
end
for i=1:length(nom_ctes_sim)
eval([nom_ctes_sim{i} '=ctes_sim(:,i);']);
end
E=coef(2);
alpha=coef(3);
beta=coef(4);
gamma=coef(5);
%------------------------------------------------------------------------R=8.315; %Constante universal de los gases (J/mol K)
%------------------------------------------------------------------------%CALCULO DE LA TASA DE ENSUCIAMIENTO SEGUN EL MODELO:
switch coef(1)
case 1
%Modelo de Saleh
T_f=(T_s+T_inf)./2;
dR_f_calc=alpha.*(p.^beta).*(u.^gamma).*exp(-E./(R.*T_f));
case 2
%Modelo de Ebert y Panchal
T_f=(T_s+T_inf)./2;
Re=ro*u*D/mi*1000; %Numero de Reynolds
if Re<2300
f=16./Re;
else
f=0.0035+0.264./Re.^0.42;
end
tau=f/2.*ro.*u.^2;
dR_f_calc=alpha*(Re.^-0.88).*exp(-E./(R*T_f))-gamma*tau;
case 3
%Modelo de Polley
Re=ro*u*D/mi*1000;
cp=1940+3*T_inf;
k=0.145-0.0001*T_inf;
Pr=cp*mi./k*1e-6;
dR_f_calc=alpha*(Re.^-0.8).*(Pr.^-0.33).*exp(-E./(R*T_s))gamma*Re.^0.8;
end

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos
%------------------------------------------------------------------------%SALIDA DE LA FUNCION:
es_dR_f=strfind(nom_datos_sim,'dR_f');
if find(not(cellfun('isempty', es_dR_f)))
nom_res={'dR_f','dR_f_calc'};
res=[dR_f dR_f_calc];
else
nom_res={'dR_f_calc'};
res=dR_f_calc;
end
%------------------------------------------------------------------------end

99

100

Anexos

6.2.6

Funcin calc_err_rel

function [ err_rel_med err_rel] = calc_err_rel( coef, nom_datos_sim,


datos_sim, nom_ctes_sim, ctes_sim )
%CALC_ERR_REL Calcula el error cometido por el modelo en la estimacion de la
%resistencia de fouling.
%------------------------------------------------------------------------%ADECUACION DE LOS DATOS DE ENTRADA:
global T_s T_inf u p dR_f ro mi D;
for i=1:length(nom_datos_sim)
eval([nom_datos_sim{i} '=datos_sim(:,i);']);
end
for i=1:length(nom_ctes_sim)
eval([nom_ctes_sim{i} '=ctes_sim(:,i);']);
end
E=coef(2);
alpha=coef(3);
beta=coef(4);
gamma=coef(5);
%------------------------------------------------------------------------R=8.315; %Constante universal de los gases (J/mol K)
%------------------------------------------------------------------------%CALCULO DE LA TASA DE ENSUCIAMIENTO SEGUN EL MODELO:
switch coef(1)
case 1
%Modelo de Saleh
T_f=(T_s+T_inf)./2;
dR_f_calc=alpha.*(p.^beta).*(u.^gamma).*exp(-E./(R.*T_f));
case 2
%Modelo de Ebert y Panchal
T_f=(T_s+T_inf)./2;
Re=ro*u*D/mi*1000; %Numero de Reynolds
if Re<2300
f=16./Re;
else
f=0.0035+0.264./Re.^0.42;
end
tau=f/2.*ro.*u.^2;
dR_f_calc=alpha*(Re.^-0.88).*exp(-E./(R*T_f))-gamma*tau;
case 3
%Modelo de Polley
Re=ro*u*D/mi*1000;
cp=1940+3*T_inf;
k=0.145-0.0001*T_inf;
Pr=cp*mi./k*1e-6;
dR_f_calc=alpha*(Re.^-0.8).*(Pr.^-0.33).*exp(-E./(R*T_s))gamma*Re.^0.8;
end
%-------------------------------------------------------------------------

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos 101
err_rel=abs(dR_f-dR_f_calc)./dR_f*100;
err_rel_med=mean(err_rel);
end

102

Anexos

6.2.7

Funcin calc_err_cuad

function [ err_cuad_med
err_cuad] = calc_err_cuad( coef, nom_datos_sim,
datos_sim, nom_ctes_sim, ctes_sim )
%CALC_ERR_REL Calcula el error cuadratico cometido por el modelo en la
%estimacion de la resistencia de fouling.
%------------------------------------------------------------------------%ADECUACION DE LOS DATOS DE ENTRADA:
global T_s T_inf u p dR_f ro mi D;
for i=1:length(nom_datos_sim)
eval([nom_datos_sim{i} '=datos_sim(:,i);']);
end
for i=1:length(nom_ctes_sim)
eval([nom_ctes_sim{i} '=ctes_sim(:,i);']);
end
E=coef(2);
alpha=coef(3);
beta=coef(4);
gamma=coef(5);
%------------------------------------------------------------------------R=8.315; %Constante universal de los gases (J/mol K)
%------------------------------------------------------------------------%CALCULO DE LA TASA DE ENSUCIAMIENTO SEGUN EL MODELO:
switch coef(1)
case 1
%Modelo de Saleh
T_f=(T_s+T_inf)./2;
dR_f_calc=alpha.*(p.^beta).*(u.^gamma).*exp(-E./(R.*T_f));
case 2
%Modelo de Ebert y Panchal
T_f=(T_s+T_inf)./2;
Re=ro*u*D/mi*1000; %Numero de Reynolds
if Re<2300
f=16./Re;
else
f=0.0035+0.264./Re.^0.42;
end
tau=f/2.*ro.*u.^2;
dR_f_calc=alpha*(Re.^-0.88).*exp(-E./(R*T_f))-gamma*tau;
case 3
%Modelo de Polley
Re=ro*u*D/mi*1000;
cp=1940+3*T_inf;
k=0.145-0.0001*T_inf;
Pr=cp*mi./k*1e-6;
dR_f_calc=alpha*(Re.^-0.8).*(Pr.^-0.33).*exp(-E./(R*T_s))gamma*Re.^0.8;
end
%-------------------------------------------------------------------------

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos 103
err_cuad=(dR_f-dR_f_calc).^2;
err_cuad_med=mean(err_cuad);
end

6.3. Datos utilizados para la simulacin


6.3.1

Light Australian Crude Oil


Tabla 6-1. Datos de Light Australian Crude Oil (I)
(g/ml)

(mPas)

D (mm)

0.792

1.969

14.3

Tabla 6-2. Datos de Light Australian Crude Oil (II)

d

Ba  b  1W F
d

 ()

 ()

u (m/s)

p (kPa)

80

180

0.25

379

80

200

0.25

379

0.2872

80

220

0.25

379

0.3989

80

240

0.25

379

0.4797

80

260

0.25

379

0.4795

80

245

0.25

379

0.4806

80

245

0.25

510

0.4592

80

245

0.25

655

0.5361

80

245

0.35

379

0.2847

100

245

0.35

379

0.2911

120

245

0.35

379

0.5199

80

245

0.25

379

0.5004

80

245

0.3

379

0.3496

80

245

0.35

379

0.2661

80

245

0.4

379

0.2351

0.2003

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos 105

6.3.2

Light Sour Blend


Tabla 6-3. Datos de Light Sour Blend (I)
(g/ml)

(mPas)

D (mm)

0.701775

0.60534375

10.7

Tabla 6-4. Datos de Light Sour Blend (II)

d

Ba  b  1W F
d

p (kPa)

34.6

965.3

0.75

12.9

1103.2

371

0.75

56.7

861.875

256.5

350.5

0.75

39.1

861.875

270.6

370

0.75

66.9

861.875

282.7

375.5

0.75

35.1

861.875

255.5

354

0.75

102.7

861.875

256.5

355

0.75

41.6

861.875

272

355

0.75

41.6

861.875

274

335

0.75

30.6

861.875

285.7

360.5

0.75

49

861.875

272.8

362.5

0.75

200

861.875

247.5

357

0.75

35

861.875

275.6

375

0.35

69.8

861.875

276.3

375

0.15

99.1

861.875

280.4

363.5

0.75

67.5

861.875

 ()

 ()

u (m/s)

134.4

250

0.3

211.8

297

275.4

106

6.3.3

Anexos

Cold Lake
Tabla 6-5. Datos de Cold Lake (I)
(g/ml)

(mPas)

D (mm)

0.793625

2.9721

10.7

Tabla 6-6. Datos de Cold Lake (II)


 ()

 ()

u (m/s)

266.2

382

0.75

252.9

352.5

234.3
247.2

d

Ba  b  1W F
d

p (kPa)

94.4

861.875

0.75

68.4

861.875

335.5

0.75

92.9

861.875

342.5

0.75

87.8

861.875

REFERENCIAS

[1] Delta T Heat Exchangers, Fouling in Heat Exchangers.


[2] H. IBRAHIM, Fouling in Heat Exchangers, MATLAB - A Fundamental Tool for Scientific
Computing and Engineering Applications, InTech, 2012. [En lnea]. Available:
http://www.intechopen.com/books/matlab-a-fundamental-tool-for-scientific-computingand-engineering-applications-volume-3/fouling-in-heat-exchangers.
[3] K. BELL y A. MUELLER, Wolverine tube heat transfer data book, Wolverine Tube Inc,
2001.
[4] T. BOTT, General Models of Fouling, de Fouling of Heat Exchangers, School of Chemical
Engineering, University of Birmingham, Elsevier, 1995, pp. 23-32.
[5] M. NASR y M. GIVI, Modeling of crude oil fouling in preheat exchangers of refinery
distillation units, Applied Thermal Engineering, n 26, pp. 1572-1577, 2006.
[6] F. COLETTI y S. MACCHIETTO, A Dynamic, Distributed Model of Shell-and-Tube Heat
Exchangers Undergoing Crude Oil Fouling, Industrial Chemistry Research, n 50, pp. 45154533, 2011.
[7] Fouling os Heat Exchanger Surfaces. General Principles. 86038, London: ESDU
International PLC, 1989.
[8] T. BOTT, Particulate Deposition, de Fouling of Heat Exchangers, School of Chemical
Engineering, University of Birmingham, Elsevier, 1995, pp. 55-96.
[9] T. BOTT, Crystallisation and Scale Formation, de Fouling of Heat Exchangers, School of
Chemical Engineering, University of Birmingham, Elsevier, 1995, pp. 97-135.
[10] T. BOTT, Freezing Fouling or Liquid Solidification, de Fouling of Heat Exchangers, School
of Chemical Engineering, University of Birmingham, Elsevier, 1995, pp. 137-148.
[11] T. BOTT, Fouling Due to Corrosion, de Fouling of Heat Exchangers, School of Chemical
Engineering, University of Birmingham, Elsevier, 1995, pp. 149-183.
[12] T. BOTT, Chemical Reaction Fouling, de Fouling of Heat Exchangers, School of Chemical
Engineering, University of Birmingham, Elsevier, 1995, pp. 185-221.
[13] T. BOTT, Biological Growth on Heat Exchanger Surfaces, de Fouling of Heat Exchangers,
School of Chemical Engineering, University of Birmingham, Elsevier, 1995, pp. 223-267.

108

Referencias

[14] D. BUTTHERWORTH, Design of shell-and-tube heat exchangers when the fouling


depends on local temperature and velocity, Applied Thermal Engineering, n 22, pp. 789-801,
2002.
[15] The MathWorks, Inc, Matlab. Descripcin general, [En lnea].
http://www.mathworks.es/products/matlab. [ltimo acceso: Septiembre 2014].

Available:

[16] The MathWorks, Inc., Matlab(R) Creating Graphical User Interfaces, 2014.
[17] Z. SALEH, R. SHEIKHOLESLAMI y A. WATKINSON, Fouling Characteristics of a Light
Australian Crude Oil, de Heat Exchanger Foulinf and Cleaning: Fundamentals and
Applications, Engineering Conferences International, 2003.
[18] M. SRINIVASAN, Heat exchanger fouling of some Canadian crude oils, Vancouver,
2008.

7 ndice de Tablas
Tabla 1-1. Tipos de fouling y sus tratamientos

18

Tabla 1-2. Tipos de intercambiadores y fouling asociado

19

Tabla 2-1: Factores de ensuciamiento ms comunes [1]

21

Tabla 3-1. Operadores de Matlab

38

Tabla 3-2. Modelos integrados en la herramienta

42

Tabla 3-3. Expresin lineal de los modelos

45

Tabla 3-4. Anlisis disponibles en la herramienta

46

Tabla 4-1: Coeficientes de los tres modelos para Light Australian Crude Oil

51

Tabla 4-2: Coeficientes de los tres modelos para Light Sour Blend

53

Tabla 4-3: Coeficientes de los tres modelos para Cold Lake

55

Tabla 4-4: Coeficientes del modelo de Ebert y Panchal para una parte del conjunto de datos
Light Australian Crude Oil
56
Tabla 6-1. Datos de Light Australian Crude Oil (I)

104

Tabla 6-2. Datos de Light Australian Crude Oil (II)

104

Tabla 6-3. Datos de Light Sour Blend (I)

105

Tabla 6-4. Datos de Light Sour Blend (II)

105

Tabla 6-5. Datos de Cold Lake (I)

106

Tabla 6-6. Datos de Cold Lake (II)

106

110

ndice de Tablas

Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos 111

8 ndice de Figuras
Figura 2-1. Tipos de comportamiento de la tasa de ensuciamiento

23

Figura 3-1. Deployment Tool

41

Figura 3-2. Aplicacin "Simulafor Fouling"

42

Figura 3-3. Clculo de la energa de activacin

45

Figura 3-4. Mensaje de error

50

Figura 3-5. Aviso de fin de tarea

50

Figura 4-1. Comparacin de la tasa calculada con los tres modelos y la medida para Light
Australian Crude Oil
52
Figura 4-2. Comparacin de los errores relativos de los tres modelos para Light Australian Crude
Oil
53
Figura 4-3. Comparacin de la tasa calculada con los tres modelos y la medida para Light Sour
Blend
54
Figura 4-4. Comparacin de los errores relativos de los tres modelos para Light Sour Blend 55
Figura 4-5. Comparacin de los errores relativos de los tres modelos para Cold Lake

56

Figura 4-6. Error relativo del modelo de Ebert y Panchal parcial para Light Australian Crude Oil
57
Figura 4-7. Simulacin del modelo Ebert y Panchal parcial para el resto de datos de Light
Australian Crude Oil
58
Figura 4-8. Simulacin del modelo de Ebert y Panchal parcial para todo el conjunto de datos
Light Australian Crude Oil
59
Figura 4-9. Errores relativos en la simulacin del modelo de Ebert y Panchal parcial para Light
Australian Crude Oil
60
Figura 4-10. Simulacin del modelo de Ebert y Panchal parcial opuesto para Light Australian
Crude Oil
61
Figura 4-11. Errores relativos de la simulacin del modelo de Ebert y Panchal parcial opuesto
para Light Australian Crude Oil
62
Figura 4-12. Modelos calculados para los datos Light Sour Blend y simulados para Cold Lake63
Figura 4-13. Errores relativos cometidos al simular los modelos calculados para Light Sour Blend
con los datos Cold lake
64
Figura 4-14. Sensibilidad del modelo de Ebert y Panchal al dimetro

65

Figura 4-15. Sensibilidad del modelo de Ebert y Panchal a la densidad

65

Figura 4-16. Sensibilidad del modelo de Ebert y Panchal a la viscosidad

66

Figura 4-17. Sensibilidad del modelo de Ebert y Panchal a la energa de activacin

67

Figura 4-18. Sensibilidad del modelo de Ebert y Panchal a la velocidad

68

112

ndice de Figuras

Figura 4-19. Sensibilidad del modelo de Ebert y Panchal a la temperatura superficial

69

Figura 4-20. Comparacin de la sensibilidad del modelo de Ebert y Panchal a distintos


parmetros
70
Figura 4-21. Comparacin de la sensibilidad de los tres modelos al dimetro

71

Figura 4-22. Comparacin de la sensibilidad de los tres modelos a la energa de activacin 72


Figura 6-2. Etiquetas del bloque "Simular y comparar"

76

Figura 6-1. Etiquetas de los bloques "Calcular modelo" e "Importar modelo"

76

Anda mungkin juga menyukai