Ingeniera Industrial
Autor:
Mara Rodrguez-Sols Snchez
Tutor:
Dra. Roco Gonzlez Falcn
Sevilla, 2014
Proyecto Fin de Carrera: Desarrollo de un simulador para el anlisis y control del ensuciamiento en
intercambiadores de Carcasa y Tubos
Autor:
Tutor:
El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros:
Presidente:
Vocales:
Secretario:
Sevilla, 2014
Resumen
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
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
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
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
Notacin
Re
Nmero de Reynolds
Caudal
Energa de activacin
Temperatura de pelcula
Factor de friccin
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.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
1.1.6
Congelacin
Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos
15
1.3.1
Introduccin al fouling
16
frecuentes [2]:
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].
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
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
Utilizacin de bolas o cepillos, hacindolos circular por el interior de los tubos (Sistema
Amertap, Sistema M.A.N)
1.3.3
Introduccin al fouling
18
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].
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
Congelacin
Reducir la diferencia de
temperatura entre el fluido y la
superficie de transferencia de
calor
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
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].
Aceite de transformador
0.001
Vapor
0.0005
Aire comprimido
0.001
Fluido hidrulico
0.001
Soluciones de glicol
0.002
0.001
Modelado aeico
22
Agua de mar
Agua de torre de refrigeracin
Agua de ro (mnimo) (velocidad del tubo
3 fps)
3 fps)
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:
&
() &
()
$
$
' *& ' *&'
(1)
Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos
23
Modelado aeico
24
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;
2.3.2
(2)
Ebert y Panchal
(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
2.3.4
(7)
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)
2.3.5
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
2.3.6
(11)
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
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)
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)
(22)
Modelado aeico
28
2.4.2
Hasson y Bott
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 $
(2()
Taborek
mf
(27)
(28)
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
2.4.3
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
4
7 C P Y &Z
(32)
2.4.5
Reaccin qumica
Atkin
1
Y ";~ Y ";uu
<
(33)
Modelado aeico
30
2.4.5.2
Nijsing
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)
Crittenden y Kolaczkowski
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
2.4.5.5
(3S)
(37)
Onifer y Knudsen
2.4.5.6
2";
L
Y 4` ";
25
Otros
(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
2.4.6.2
2@
$ C w
25
((1)
Bryers y Characklis
2.4.6.3
((2)
Capdeville
((3)
2
nZ C n
b $ J~
25
nZ
((()
Belkhadir
((5)
Modelado aeico
32
2
b $ J C J
25
((S)
2.4.6.5
((7)
Otros
24
2@
((8)
((9)
Donde:
$ 'u
=
Y %u =
(5W)
(51)
Donde:
$ 4 ]
$ 4
(52)
(53)
@ $ @
(5()
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)
(5S)
(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.1.1
Matlab
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:
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.
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
T $ 1
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};
38
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
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
7
|$
17
17
&$
3
S
39
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
40
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).
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.
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
Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos
41
42
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:
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
Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos
43
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 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
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)
(59)
donde:
6 $ U1 a
2"O
1
b@ $
25
E
(SW)
44
D
T$C
"
(S1)
(S2)
Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos
45
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
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.
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.
3.2.3
Simular y comparar
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.
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.
Comparar simulaciones
Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos
Sensibilidad al dimetro
Sensibilidad a la densidad
Sensibilidad a la viscosidad
Sensibilidad a la energa de
activacin
Sensibilidad a la velocidad
Sensibilidad a la temperatura
superficial
47
(*)Para ejecutar este anlisis, es necesario que la casilla de verificacin est marcada.
48
3.3.1
Importacin de datos
uigetfile: abre el explorador de archivos, mostrando slo los archivos con la extensin
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
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
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.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');
50
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');
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.2.1
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
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
<
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
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
Ejemplo de 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
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
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
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
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
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%.
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
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
68
Anlisis de resultados
Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos
69
70
Anlisis de resultados
4.4.2
Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos
71
72
Anlisis de resultados
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:
74
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.
6 ANEXOS
76
Anexos
Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos
6.2.1
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)
';'-'];
';'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
79
80
Anexos
Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos
81
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;
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');
84
Anexos
% eventdata
% handles
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
92
Anexos
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
Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos
6.2.3
Funcin reg_ebert
%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;
95
96
Anexos
gamma=-B(2);
Desarrollo de un simulador para el anlisis y control del ensuciamiento en intercambiadores de Carcasa y Tubos
6.2.4
Funcin reg_polley
97
98
Anexos
6.2.5
Funcin simular
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
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
(mPas)
D (mm)
0.792
1.969
14.3
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
(mPas)
D (mm)
0.701775
0.60534375
10.7
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
()
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
108
Referencias
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
19
21
38
42
45
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
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
104
105
105
106
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
41
42
45
50
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
65
66
67
68
112
ndice de Figuras
69
71
76
76