Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

TFG Joaquin Corredoyra Alcaraz

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 212

MODELADO DE UN SIMULADOR DE

CICLOS COMBINADOS Y
Joaquín Corredoyra Alcaraz

OPTIMIZACIÓN DE LOS NIVELES DE


PRESIÓN DE LA TURBINA DE
VAPOR EN LA CALDERA DE
RECUPERACIÓN DE CALOR

JULIO 2016

TRABAJO FIN DE GRADO PARA Joaquín Corredoyra


LA OBTENCIÓN DEL TÍTULO DE Alcaraz
GRADUADO EN INGENIERÍA EN
TECNOLOGÍAS INDUSTRIALES DIRECTOR DEL TRABAJO FIN DE GRADO:
Rubén Abbas Cámara
Modelado de un Simulador de Ciclos
Combinados y Optimización de los Niveles
de Presión de la Turbina de Vapor en la
Caldera de Recuperación de Calor

Joaquín Corredoyra Alcaraz


Grado en Tecnologías Industriales
Especialidad:
Técnicas Energéticas

Tutor: Prof. Rubén Abbas Cámara


Dr. Ingeniero Industrial

Departamento de Ingeniería Energética


Escuela Técnica Superior de Ingenieros Industriales
Universidad Politécnica de Madrid

2016
Índice general

1. Introducción 1
1.1. Introducción a los Ciclos Combinados como medio para la producción de Energía Eléctrica
en Plantas de Potencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Ciclos Combinados de Turbinas de Gas y Vapor: Principios Termodinámicos . . . . . . . . 2
1.2.1. Ciclo de Carnot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2. Rendimiento de un Ciclo Combinado . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.3. Ciclo del Gas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.3.1. Rendimiento de la Turbina de Gas . . . . . . . . . . . . . . . . . . . . . . 6
1.2.4. Ciclo del Vapor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.4.1. Rendimiento de la Turbina de Vapor . . . . . . . . . . . . . . . . . . . . . 10
1.2.5. Caldera de Recuperación de Calor . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3. Introducción a los Algoritmos Genéticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.1. Algoritmos Evolutivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.2. Algoritmos Genéticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.3.2.1. Terminología . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.3.2.2. Ventajas del uso de AG . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.3.2.3. Limitaciones del uso de AG . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.3.3. Diseño Básico de un Algoritmo Genético . . . . . . . . . . . . . . . . . . . . . . . . 21
1.3.3.1. Función Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.3.3.2. Individuos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.3.3.3. Creación de una nueva Población . . . . . . . . . . . . . . . . . . . . . . . 22
1.3.3.4. Proceso de Selección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.3.3.5. Proceso de Reproduccioón, Recombinación o Cruce . . . . . . . . . . . . 26
1.3.3.6. Proceso de Mutación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.3.3.7. Proceso de Reemplazamiento: . . . . . . . . . . . . . . . . . . . . . . . . 29
1.3.3.8. Finalización de la Búsqueda: Criterio de Convergencia . . . . . . . . . . . 29
1.3.3.9. Funciones con Restricciones: . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.4. Herramientas Utilizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.4.1. Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.4.2. Tablas de Janaf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.4.3. Diagrama de Mollier: función XSTEAM . . . . . . . . . . . . . . . . . . . . . . . . 32
1.5. Justificación del Proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.6. Objetivos del Proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.7. Metodoligía seguida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

2. Modelado de Plantas de Ciclo Combinado 36


2.1. Simulación de la Turbina de Gas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.1.1. Desarrollo Termodinámico del Ciclo . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.1.2. Variables de Diseño . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.1.3. Programa CicloGas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.1.3.1. Inicialización del Programa . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.1.3.2. Obtención de los puntos principales de los diagramas . . . . . . . . . . . 41
2.1.3.3. Representación Gráfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.1.3.4. Finalización del Programa . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.1.4. Ejemplos de Simulación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.2. Simulación de la Turbina de Vapor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.3. Ciclo de Vapor con un nivel de presión, sin desgasificador . . . . . . . . . . . . . . . . . . 48
2.3.1. Desarrollo Termodinámico del Ciclo Subcrítico . . . . . . . . . . . . . . . . . . . . 48
2.3.2. Desarrollo Termodinámico del Ciclo Supercrítico . . . . . . . . . . . . . . . . . . . 51
2.3.3. Variables de Diseño . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

ETSI Industriales - i- Universidad Politécnica de Madrid


ÍNDICE GENERAL

2.3.4. Programa CicloVap_1P_SinDesg para Ciclo Subcrítico . . . . . . . . . . . . . . . 54


2.3.4.1. Inicialización del Programa . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.3.4.2. Obtención de los puntos principales de los diagramas . . . . . . . . . . . 55
2.3.4.3. Representación Gráfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.3.4.4. Finalización del Programa . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.3.5. Programa CicloVap_1P_SinDesg para Ciclo Supercrítico . . . . . . . . . . . . . . 60
2.3.5.1. Inicialización del Programa . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.3.5.2. Obtención de los puntos principales de los diagramas . . . . . . . . . . . 61
2.3.5.3. Representación Gráfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
2.3.5.4. Finalización del Programa . . . . . . . . . . . . . . . . . . . . . . . . . . 65
2.3.6. Ejemplos de Simulación del Ciclo Subcrítico . . . . . . . . . . . . . . . . . . . . . 65
2.3.7. Ejemplos de Simulación del Ciclo Supercrítico . . . . . . . . . . . . . . . . . . . . 68
2.4. Ciclo de Vapor con un nivel de presión y desgasificador . . . . . . . . . . . . . . . . . . . . 70
2.4.1. Desarrollo Termodinámico del Ciclo Subcrítico . . . . . . . . . . . . . . . . . . . . 70
2.4.2. Variables de Diseño . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
2.4.3. Programa CicloVap_1P_ConDesg . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
2.4.3.1. Inicialización del programa . . . . . . . . . . . . . . . . . . . . . . . . . . 72
2.4.3.2. Obtención de los puntos principales de los diagramas . . . . . . . . . . . 72
2.4.3.3. Representación gráfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
2.4.3.4. Finalización del programa . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
2.4.4. Ejemplos de Simulación del Ciclo Subcrítico . . . . . . . . . . . . . . . . . . . . . 76
2.4.5. Ejemplos de Simulación del Ciclo Supercrítico . . . . . . . . . . . . . . . . . . . . 77
2.5. Ciclo de Vapor con dos niveles de presión en paralelo . . . . . . . . . . . . . . . . . . . . . 80
2.5.1. Desarrollo Termodinámico del Ciclo Subcrítico . . . . . . . . . . . . . . . . . . . . 80
2.5.2. Desarrollo Termodinámico del Ciclo Supercrítico . . . . . . . . . . . . . . . . . . . 83
2.5.3. Variables de Diseño . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
2.5.4. Programa CicloVap_2P_Desg_Paralelo para Ciclo Subcrítico . . . . . . . . . . . 86
2.5.4.1. Inicialización del Programa . . . . . . . . . . . . . . . . . . . . . . . . . . 86
2.5.4.2. Obtención de los puntos principales de los diagramas . . . . . . . . . . . 86
2.5.4.3. Representación Gráfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
2.5.4.4. Finalización del Programa . . . . . . . . . . . . . . . . . . . . . . . . . . 91
2.5.5. Programa CicloVap_2P_Desg_Paralelo para Ciclo Supercrítico . . . . . . . . . . 91
2.5.5.1. Inicialización del Programa . . . . . . . . . . . . . . . . . . . . . . . . . . 91
2.5.5.2. Obtención de los puntos principales de los diagramas . . . . . . . . . . . 91
2.5.5.3. Representación Gráfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
2.5.6. Ejemplos de Simulación del Ciclo Subcrítico . . . . . . . . . . . . . . . . . . . . . 94
2.5.7. Ejemplos de Simulación del Ciclo Supercrítico . . . . . . . . . . . . . . . . . . . . 98
2.6. Ciclo de Vapor con dos niveles de presión en cascada . . . . . . . . . . . . . . . . . . . . . 100
2.6.1. Desarrollo Termodinámico del Ciclo Subcrítico . . . . . . . . . . . . . . . . . . . . 100
2.6.2. Desarrollo Termodinámico del Ciclo Supercrítico . . . . . . . . . . . . . . . . . . . 102
2.6.3. Variables de Diseño . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
2.6.4. Programa CicloVap_2P_Desg_Cascada para Ciclo Subcrítico . . . . . . . . . . . 103
2.6.4.1. Inicialización del Programa . . . . . . . . . . . . . . . . . . . . . . . . . . 103
2.6.4.2. Obtención de los puntos principales de los diagramas . . . . . . . . . . . 103
2.6.4.3. Representación Gráfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
2.6.4.4. Finalización del Programa . . . . . . . . . . . . . . . . . . . . . . . . . . 107
2.6.5. Programa CicloVap_2P_Desg_Cascada para Ciclo Supercrítico . . . . . . . . . . 107
2.6.5.1. Inicialización del programa . . . . . . . . . . . . . . . . . . . . . . . . . . 107
2.6.5.2. Obtención de los puntos principales de los diagramas . . . . . . . . . . . 107
2.6.5.3. Representación Gráfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
2.6.6. Ejemplos de Simulación de Ciclos Subcríticos y Supercríticos . . . . . . . . . . . . 110
2.7. Ciclo de Vapor con dos niveles de presión y recalentamiento en paralelo . . . . . . . . . . 112
2.7.1. Desarrollo Termodinámico del Ciclo Subcrítico . . . . . . . . . . . . . . . . . . . . 112
2.7.2. Desarrollo Termodinámico del Ciclo Supercrítico . . . . . . . . . . . . . . . . . . . 113
2.7.3. Variables de Diseño . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
2.7.4. Programa CicloVap_2P_Desg_Rec_Paralel para Ciclo Subcrítico . . . . . . . . . 116
2.7.4.1. Inicialización del Programa . . . . . . . . . . . . . . . . . . . . . . . . . . 116

ETSI Industriales - ii- Universidad Politécnica de Madrid


ÍNDICE GENERAL

2.7.4.2. Obtención de los puntos principales de los diagramas . . . . . . . . . . . 116


2.7.4.3. Representación Gráfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
2.7.4.4. Finalización del Programa . . . . . . . . . . . . . . . . . . . . . . . . . . 119
2.7.5. Programa CicloVap_2P_Desg_Rec_Paralel para Ciclo Supercrítico . . . . . . . . 120
2.7.5.1. Inicialización del Programa . . . . . . . . . . . . . . . . . . . . . . . . . . 120
2.7.5.2. Obtención de los puntos principales de los diagramas . . . . . . . . . . . 120
2.7.5.3. Representación Gráfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
2.7.6. Ejemplos de Simulación del Ciclos Subcríticos y Supercríticos . . . . . . . . . . . . 124
2.8. Ciclo de Vapor con dos niveles de presión y recalentamiento en cascada . . . . . . . . . . 127
2.8.1. Desarrollo Termodinámico del Ciclo . . . . . . . . . . . . . . . . . . . . . . . . . . 127
2.8.2. Variables de Diseño . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
2.8.3. Programa CicloVap_2P_Desg_Rec_Cascada para Ciclos Subcr’iticos y Supercríticos129
2.8.3.1. Inicialización del Programa . . . . . . . . . . . . . . . . . . . . . . . . . . 129
2.8.3.2. Obtención de los puntos principales de los diagramas . . . . . . . . . . . 129
2.8.3.3. Representación Gráfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
2.8.3.4. Finalización del programa . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
2.8.4. Ejemplos de Simulación del Ciclos Subcríticos y Supercríticos . . . . . . . . . . . . 133
2.9. Ciclos caracterizados con Rendimientos Politrópicos . . . . . . . . . . . . . . . . . . . . . 136
2.9.1. Programa CicloGas_Politrop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
2.9.1.1. Compresión politrópica de aire . . . . . . . . . . . . . . . . . . . . . . . . 137
2.9.1.2. Expansión politrópica de gases de combustión . . . . . . . . . . . . . . . 138
2.9.2. Programa CicloVap_1P_SinDesg_Politrop . . . . . . . . . . . . . . . . . . . . . . 139

3. Programas de Optimización de Ciclos Combinados mediante Algoritmos Genéticos 142


3.1. Ciclo 1P sin desgasificador: Optimización de la presión de línea y del PP . . . . . . . . . . 142
3.1.1. Variables de Diseño . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
3.1.2. Programa de AG_1P_SinDesg_sub . . . . . . . . . . . . . . . . . . . . . . . . . . 143
3.1.3. Inicialización del programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
3.1.4. Creación de la Población Inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
3.1.5. Creación de los descendientes de una población . . . . . . . . . . . . . . . . . . . . 149
3.1.6. Reemplazamiento de la población anterior . . . . . . . . . . . . . . . . . . . . . . . 154
3.1.7. Recalculado de parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
3.1.7.1. Critero de convergencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
3.1.8. Modificaciones para los ciclos supercríticos . . . . . . . . . . . . . . . . . . . . . . 156
3.2. Ciclo 1P sin desgasificador: Optimización de la presión de línea, el PP y el AP . . . . . . 156
3.2.1. Variables de diseño . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
3.2.2. Diferencias entre AG_1P_Sin_Desg_AP y AG_1P_Sin_Desg . . . . . . . . . . . 156
3.2.2.1. Diferencias en la creación de la generación inicial . . . . . . . . . . . . . . 157
3.2.2.2. Diferencias en la comprobación de la validez de los individuos . . . . . . 157
3.2.2.3. Diferencias en la mutación de los individuos . . . . . . . . . . . . . . . . 159
3.3. Ciclo 1P con desgasificador: Optimización de las presiones de línea y de extración y el PP 159
3.3.1. Inicialización del programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
3.3.1.1. Creación de la Población Inicial . . . . . . . . . . . . . . . . . . . . . . . 159

4. Resultados 163
4.1. Resultados obtenidos con los programas de simulación . . . . . . . . . . . . . . . . . . . . 163
4.1.1. Resultados obtenidos con CicloVap_1P_SinDesg . . . . . . . . . . . . . . . . . . . 163
4.1.1.1. Aclaración de las diferencias entre simulaciones subcríticas y supercríticas 163
4.1.1.2. Análisis paramétrico de las variables de diseño . . . . . . . . . . . . . . . 164
4.1.1.3. Efecto de la variación conjunta de la presión de línea y el Pinch Point . . 169
4.1.2. Resultados obtenidos con CicloVap_1P_ConDesg . . . . . . . . . . . . . . . . . . 172
4.1.2.1. Análisis paramétrico del efecto de la presión de extracción . . . . . . . . 172
4.1.2.2. Efecto de la variación conjunta de la presión de línea y la presión de
extracción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
4.1.3. Resultados obtenidos para los programas 2P sin recalentamiento . . . . . . . . . . 177
4.1.4. Resultados obtenidos para los programas 2P con recalentamiento . . . . . . . . . . 181
4.2. Resultados de los Algoritmos Genéticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

ETSI Industriales - iii- Universidad Politécnica de Madrid


ÍNDICE GENERAL

4.2.0.1. Resultados obtenidos con AG_1P_SinDesg . . . . . . . . . . . . . . . . . 184


4.2.0.2. Resultados obtenidos con AG_1P_SinDesg_AP . . . . . . . . . . . . . . 184

5. Gestión del Proyecto 187


5.1. Presupuesto Económico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
5.2. Planificación Temporal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

6. Conclusiones y Líneas Futuras 192

Bibliografía 194

ETSI Industriales - iv- Universidad Politécnica de Madrid


Índice de figuras

1.1. Ciclo Combinado de un nivel de presión con desgasificador . . . . . . . . . . . . . . . . . . 2


1.2. Ciclo de Carnot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3. Combinación de dos ciclos de potencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4. Ciclo Brayton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5. Comparación de TG para distintas ρCC o Tsal . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.6. Evolución de la temperatura de entrada a las TG([Wadley Research Group, 2013]) . . . . 7
1.7. Evolución del incremento de Tentrada turbina y distintas técnicas utilizadas para ello . . . . 8
1.8. Contenido de humedad en el aire en función de la temperatura del punto de rocío . . . . . 8
1.9. TG de Combustión Secuencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.10. Ciclo de de Vapor Simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.11. Ciclo Regenerativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.12. Ciclo con Recalentamiento Intermedio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.13. Comparación TV sub y super críticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.14. Ciclo con Regeneración, Recalentamiento Intermedio y dos niveles de presión . . . . . . . 13
1.15. Configuración básica de una CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.16. Diagrama T − Q de una CRC de 1P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.17. Ciclo de dos niveles de presión en paralelo . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.18. Comparación CRC Ciclo sub y super crítico . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.19. Diagrama T − Q de una CRC de 2P y Ciclo con Recalentamiento . . . . . . . . . . . . . . 16
1.20. Ejemplo de espacio de búsqueda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.21. Ejemplo de flujograma de un AG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.22. Representación Selección tipo Ruleta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.23. Ejemplo Muestreo Universal Estocástico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.24. Logo de Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.25. Diagrama de Mollier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

2.1. Diagrama T s de la TG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.2. Detalle de los puntos 1 y 1p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.3. Diagrama hs: Ejemplo de Simulación CicloGas . . . . . . . . . . . . . . . . . . . . . . . . 46
2.4. Diagrama T s: Ejemplo de Simulación CicloGas . . . . . . . . . . . . . . . . . . . . . . . . 46
2.5. Configuración del Ciclo de Vapor y la CRC para Un Nivel de Presión Simple Subcrítico . 48
2.6. Diagrama T s del Ciclo de Vapor 1P Sin Desgasificador Subcrítico . . . . . . . . . . . . . . 48
2.7. Diagrama T q de la CRC de un Ciclo de Vapor 1P Sin Desgasificador . . . . . . . . . . . . 49
2.8. Detalle del proceso de compresión entre 7 y 1 . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.9. Diagrama T s del Ciclo de Vapor 1P Sin Desgasificador Supercrítico . . . . . . . . . . . . 51
2.10. Diagrama T q de la CRC de un Ciclo de Vapor 1P Sin Desgasificador Supercrítico . . . . . 51
2.11. Detalle de Ciclo Imposible, con t5 > t1g . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.12. Detalle de Ciclo Supercrítico Imposible, con tagua > tgases comb . . . . . . . . . . . . . . . 62
2.13. Diagrama h s: Ejemplo de Simulación CicloVap_1P_SinDesg en un Ciclo Subcrítico . . . 66
2.14. Diagrama T s: Ejemplo de Simulación CicloVap_1P_SinDesg en un Ciclo Subcrítico . . . 66
2.15. Diagrama T q: Ejemplo de Simulación CicloVap_1P_SinDesg en un Ciclo Subcrítico . . . 67
2.16. Diagrama h s: Ejemplo de Simulación CicloVap_1P_SinDesg en un Ciclo Supercrítico . . 69
2.17. Diagrama T s: Ejemplo de Simulación CicloVap_1P_SinDesg en un Ciclo Supercrítico . . 69
2.18. Diagrama T q: Ejemplo de Simulación CicloVap_1P_SinDesg en un Ciclo Supercrítico . . 69
2.19. Configuración del Ciclo de Vapor y la CRC 1P Subcrítico con Desgasificador . . . . . . . 70
2.20. Diagrama T s del Ciclo de Vapor Subcrítico 1P Con Desgasificador . . . . . . . . . . . . . 71
2.21. Detalle del proceso de compresión entre 7 y 1 . . . . . . . . . . . . . . . . . . . . . . . . . 72
2.22. Diagrama h s: Ejemplo de Simulación CicloVap_1P_ConDesg en un ciclo Subcrítico . . . 76
2.23. Diagrama T s: Ejemplo de simulación CicloVap_1P_ConDesg en un ciclo subcrítico . . . 76
2.24. Diagrama T q: Ejemplo de Simulación CicloVap_1P_SinDesg en un ciclo supercrítico . . 77

ETSI Industriales - vi- Universidad Politécnica de Madrid


ÍNDICE DE FIGURAS

2.25. Diagrama h s: Ejemplo de Simulación CicloVap_1P_ConDesg en un ciclo supercrítico . . 78


2.26. Diagrama T s: Ejemplo de simulación CicloVap_1P_ConDesg en un ciclo supercrítico . . 78
2.27. Diagrama T q: Ejemplo de Simulación CicloVap_1P_SinDesg en un ciclo supercrítico . . 78
2.28. Configuración del Ciclo de Vapor y la CRC para dos niveles de presión en paralelo, con
presiones subcríticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.29. Diagrama T s del Ciclo de Vapor 2P Subcrítico . . . . . . . . . . . . . . . . . . . . . . . . 81
2.30. Diagrama T q de la CRC de un Ciclo de Vapor 2P Subcrítico . . . . . . . . . . . . . . . . 81
2.31. Diagrama T s del Ciclo de Vapor 2P Supercrítico . . . . . . . . . . . . . . . . . . . . . . . 83
2.32. Diagrama T q de la CRC de un Ciclo de Vapor 2P Supercrítico . . . . . . . . . . . . . . . 83
2.33. Diferentes resultados según el criterio utilizado para asignar T2g en un ciclo 2P paralelo
supercrítico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
2.34. Diagrama h s: Ejemplo 1 de Simulación CicloVap_2P_Desg_Paralelo en ciclos subcríticos;
Variación de las presiones de línea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
2.35. Diagrama T s: Ejemplo 1 de Simulación CicloVap_2P_Desg_Paralelo en ciclos subcríticos;
Variación de las presiones de línea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
2.36. Diagrama T q: Ejemplo 1 de Simulación CicloVap_2P_Desg_Paralelo en ciclos subcríticos;
Variación de las presiones de línea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
2.37. Diagrama T q: Ejemplo 2 de Simulación CicloVap_2P_Desg_Paralelo en ciclos subcríticos;
Variación de los PP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
2.38. Detalle del Ejemplo 2 de Simulación CicloVap_2P_Desg_Paralelo en ciclos subcríticos . 97
2.39. Diagrama T q: Ejemplo 3 de Simulación CicloVap_2P_Desg_Paralelo en ciclos subcríticos;
Variación de la fracción de caudal másico de alta . . . . . . . . . . . . . . . . . . . . . . . 98
2.40. Diagrama T q: Ejemplo 4 de Simulación CicloVap_2P_Desg_Paralelo; ciclos supercríticos 99
2.41. Distintos casos de ciclo 2P subcríticos en cascada . . . . . . . . . . . . . . . . . . . . . . . 101
2.42. Distintos casos de ciclo 2P supercríticos en cascada . . . . . . . . . . . . . . . . . . . . . . 102
2.43. Diagrama T q: Ejemplo de Simulación CicloVap_2P_Desg_Cascada; ciclos subcríticos y
supercríticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
2.44. Diagrama T s: Ejemplo de Simulación CicloVap_2P_Desg_Cascada; ciclos subcríticos y
supercríticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
2.45. Configuración del Ciclo de Vapor y la CRC para dos niveles de presión en paralelo, con
recalentamiento y presiones subcríticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
2.46. Diagrama T q del Ciclo de Vapor 2P Subcrítico con Recalentamiento . . . . . . . . . . . . 113
2.47. Diagrama T q del Ciclo de Vapor 2P Subcrítico con Recalentamiento . . . . . . . . . . . . 113
2.48. Diagrama T q del Ciclo de Vapor 2P Supercrítico con Recalentamiento . . . . . . . . . . . 114
2.49. Diagrama T q del Ciclo de Vapor 2P Supercrítico con Recalentamiento . . . . . . . . . . . 114
2.50. Diagrama T q: Ejemplo de Simulación CicloVap_2P_Desg_Rec_Paralelo; ciclos subcríti-
cos y supercríticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
2.51. Diagrama T s: Ejemplo de Simulación CicloVap_2P_Desg_Rec_Paralelo; ciclos subcríti-
cos y supercríticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
2.52. Distintos casos de ciclo 2P con recalentamiento en cascada (1) . . . . . . . . . . . . . . . . 127
2.53. Distintos casos de ciclo 2P con recalentamiento en cascada (2) . . . . . . . . . . . . . . . . 128
2.54. Diagrama T q: Ejemplo de Simulación CicloVap_2P_Desg_Rec_Cascada; ciclos subcrí-
ticos y supercríticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
2.55. Diagrama T s: Ejemplo de Simulación CicloVap_2P_Desg_Rec_Cascada; ciclos subcrí-
ticos y supercríticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
2.56. Comparación entre compresión isentrópica y politrópica equivalentes de aire . . . . . . . . 138
2.57. Comparación entre expansión isentrópica y politrópica equivalentes de gases de combustión 139
2.58. Comparación entre expansión isentrópica y politrópica equivalentes de vapor sobrecalentado140

4.1. Variación del rendimiento de un ciclo combinado 1P sin desgasificador en función de la


presión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
4.2. Comparación de la evolución de temperaturas dentro de la CRC para distintas presiones . 164
4.3. Resultados de la variación del Approach Point en CicloVap_1P_SinDesg . . . . . . . . . 166
4.4. Resultados de la variación del Pinch Point en CicloVap_1P_SinDesg . . . . . . . . . . . . 167
4.5. Resultados de la variación de la diferencia inicial de temperauras en CicloVap_1P_SinDesg167
4.6. Resultados de la variación del Pinch Point en CicloVap_1P_SinDesg para ciclos supercríticos168

ETSI Industriales - vii- Universidad Politécnica de Madrid


ÍNDICE DE FIGURAS

4.7. Efecto de la variación conjunta de p y PP sobre la temperatura del vapor sobrecalentado


en CicloVap_1P_SinDesg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
4.8. Efecto de la variación conjunta de p y PP sobre el título de vapor a la salida de la turbina
en CicloVap_1P_SinDesg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
4.9. Efecto de la variación conjunta de p y PP sobre la la relación de caudales másicos en
CicloVap_1P_SinDesg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
4.10. Efecto de la variación conjunta de p y PP sobre el porcentaje de calor absorbido por el
economizador en CicloVap_1P_SinDesg . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
4.11. Efecto de la variación conjunta de p y PP sobre el porcentaje de calor absorbido por el
evaporador en CicloVap_1P_SinDesg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
4.12. Efecto de la variación conjunta de p y PP sobre el porcentaje de calor absorbido por el
sobrecalentador en CicloVap_1P_SinDesg . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
4.13. Efecto de la variación conjunta de p y PP sobre el rendimiento del ciclo de combinado en
CicloVap_1P_SinDesg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
4.14. Efecto de la variación conjunta de la DI y el PP sobre el rendimiento del ciclo de combinado
en CicloVap_1P_SinDesg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
4.15. Efecto de la variación de la presión de extracción sobre la T5 en CicloVap_1P_ConDesg . 172
4.16. Efecto de la variación de la presión de extracción sobre x6 en CicloVap_1P_ConDesg . . 173
4.17. Efecto de la variación de la presión de extracción sobre M en CicloVap_1P_ConDesg . . 173
4.18. Efecto de la variación de la presión de extracción sobre qcaldera en CicloVap_1P_ConDesg 173
4.19. Efecto de la variación de la presión de extracción sobre ηCC en CicloVap_1P_ConDesg . 173
4.20. Efecto de la variación de la presión de extracción sobre el calor total absorbido por el agua
en la CRC, en CicloVap_1P_ConDesg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
4.21. Efecto de la variación conjunta de p y p_ext sobre la temperatura del vapor sobrecalentado
en CicloVap_1P_ConDesg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
4.22. Efecto de la variación conjunta de p y p_ext sobre el título de vapor a la salida de la
turbina en CicloVap_1P_ConDesg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
4.23. Efecto de la variación conjunta de p y p_ext sobre la fracción másica del caudal de ex-
tracción en CicloVap_1P_ConDesg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
4.24. Efecto de la variación conjunta de p y p_ext sobre la la relación de caudales másicos en
CicloVap_1P_ConDesg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
4.25. Efecto de la variación conjunta de p y p_ext sobre el porcentaje de calor absorbido por el
economizador en CicloVap_1P_ConDesg . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
4.26. Efecto de la variación conjunta de p y p_ext sobre el porcentaje de calor absorbido por el
evaporador en CicloVap_1P_ConDesg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
4.29. Efecto de la variación conjunta de p y p_ext sobre el rendimiento del ciclo de combinado
en CicloVap_1P_ConDesg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
4.27. Efecto de la variación conjunta de p y p_ext sobre el porcentaje de calor absorbido por el
sobrecalentador en CicloVap_1P_ConDesg . . . . . . . . . . . . . . . . . . . . . . . . . . 177
4.28. Efecto de la variación conjunta de p y p_ext sobre el calor total absorbido en la CRC en
CicloVap_1P_ConDesg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
4.30. Efecto de la modificación de las presiones de línea sobre las temperaturas de salida de
vapor sobrecalentado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
4.31. Representación en 3D de la variación de T5b con las presiones de la línea . . . . . . . . . 178
4.32. Efecto de la modificación de las presiones de línea sobre el título de vapor a la salida de la
turbina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
4.33. Efecto de la modificación de las presiones de línea sobre M . . . . . . . . . . . . . . . . . 179
4.34. Efecto de la modificación de las presiones de línea sobre qcaldera . . . . . . . . . . . . . . 180
4.35. Efecto de la modificación de las presiones de línea sobre xext . . . . . . . . . . . . . . . . 180
4.36. Efecto de la modificación de las presiones de línea sobre ηCC . . . . . . . . . . . . . . . . 181
4.37. Efecto de la modificación de las presiones de línea sobre T5a en un ciclo 2P con recalentamiento181
4.38. Efecto de la modificación de las presiones de línea sobre T5b en un ciclo 2P con recalentamiento181
4.39. Efecto de la modificación de las presiones de línea sobre x6 en un ciclo 2P con recalentamiento182
4.40. Representación en 3D del efecto de la modificación de las presiones de línea sobre x6 en
un ciclo 2P con recalentamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
4.41. Efecto de la modificación de las presiones de línea sobre M en un ciclo 2P con recalentamiento182

ETSI Industriales - viii- Universidad Politécnica de Madrid


ÍNDICE DE FIGURAS

4.42. Efecto de la modificación de las presiones de línea sobre qcaldera en un ciclo 2P con reca-
lentamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
4.43. Efecto de la modificación de las presiones de línea sobre xext en un ciclo 2P con recalenta-
miento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
4.44. Efecto de la modificación de las presiones de línea sobre el rendimiento de un ciclo combi-
nado 2P con recalentamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
4.45. Comparación de los resultados obtenidos en AG_1P_SinDesg_sub para distinto número
de individuos en cada población . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
4.46. Evolución de los fitness máximo y medio de cada población durante las iteraciones . . . . 185

ETSI Industriales - ix- Universidad Politécnica de Madrid


Índice de cuadros
1.1. Distintas representaciones del mismo individuo en un AG . . . . . . . . . . . . . . . . . . 22
1.2. Ejemplo de Cruce Monopunto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.3. Ejemplo de Cruce Bipunto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.4. Ejemplo de Cruce Uniforme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.5. Ejemplo de Cruce Barajado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.6. Ejemplo de Mutación por Intercambio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.7. Ejemplo de Mutación por Inversión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.1. Resultados de la Simulación de dos Ciclos de Gas . . . . . . . . . . . . . . . . . . . . . . . 47


2.2. Resultados de la Simulación de tres Ciclos Subcríticos de Vapor con CicloVap_1P_SinDesg 66
2.3. Resultados de la Simulación de tres Ciclos Supercríticos de Vapor con CicloVap_1P_SinDesg 70
2.4. Resultados de la Simulación de dos ciclos subcríticos de vapor con CicloVap_1P_ConDesg 77
2.5. Resultados de la Simulación de dos ciclos superíticos de vapor con CicloVap_1P_ConDesg 79
2.6. Resultados de la Simulación 1 de tres Ciclos Subcríticos de Vapor con CicloVap_2P_Desg_Paralelo 96
2.7. Resultados de la Simulación de cuatro Ciclos Supercríticos de Vapor con CicloVap_2P_Desg_Paralelo 99
2.8. Resultados de la Simulación de Ciclos de Vapor con CicloVap_2P_Desg_Cascada . . . . 111
2.9. Resultados de la Simulación de Ciclos de Vapor con CicloVap_2P_Desg_Rec_Paralelo . 125
2.10. Resultados de la Simulación de Ciclos de Vapor con CicloVap_2P_Desg_Rec_Cascada . 135
2.11. Rendimientos isentrópico y politrópico de compresión y expansión . . . . . . . . . . . . . 136

3.1. Cromosoma del programa AG_1P_Sin_Desg_AP . . . . . . . . . . . . . . . . . . . . . . 156

ETSI Industriales - xi- Universidad Politécnica de Madrid


Nomenclatura
Symbol Meaning
CC Ciclo Combinado
TG Turbina de Gas
TV Turbina de Vapor
CRC Caldera de Recuperación de Calor
T Temperatura
FC Foco Caliente
FC Foco Frío
cte Constante
GG.CC. Gases de Combustión
ρCC Relación de Compresión
Tsal Temperatura de salida
MCI Motor de Combustión Interna
MCE Motor de Combustión Externa
AP Approach Point
PP Pinch Point
AG Algoritmo Genético
LP Low Pressure
HP High Pressure
1P Ciclo Combinado de un nivel de presión
2P Ciclo Combinado de dos niveles de presión
TFG Trabajo de Fin de Grado

ETSI Industriales - xii- Universidad Politécnica de Madrid


Agradecimientos
A mi familia, y en particular a mi padre, por su incansable paciencia, ayuda y apoyo.
A Rubén, por haberme brindado la oportunidad de realizar este TFG y haber despertado en mí el
interés por los ciclos combinados y los procesos de optimización.
A Carlota, por estar siempre disponible para recibir una charla sobre las dificultades atravesadas
durante el desarrollo del TFG y ser capaz de convertirlas en nimiedades.

ETSI Industriales - xiii- Universidad Politécnica de Madrid


Resumen Ejecutivo
Dada la actual situación energética global, se hace cada vez más necesaria la búsqueda de alternativas
fiables y respetuosas con e medio ambiente para satisfacer a partes iguales la demanda de energía y la
opinión social, cada vez más preocupada y enterada de la realidad medioambiental del presente y sus
posibles consecuencias futuras.
Dentro de este marco, y a pesar de usar combustibles fósiles, la generación de energía mediante plantas
de ciclo combinado se postula como una de las grandes alternativas para dentro de los métodos existentes
de generación de energía eléctrica mediante el uso de combustibles fósiles gracias a que ofrece ventajas
como un reducido coste de instalación con respecto a otras plantaas [García and Muñoz, 2006], o el uso de
combustibles de alta calidad, que pueden ser líquidos o gaseosos y que reducen drásticamente el nivel de
emisiones contaminantes con respecto a otros métodos como las plantas de generación de electricidad que
hacen uso del carbón. Los ciclos combinados se diseñaron como alternativa a otros medios de generación
de energía buscando una opciónvon un rendimiento superior. Esto se consigue debido a que se basan en
el máximo aprovechamiento de la energía disponible, intentando evitar desperdiciarla. Esto se consigue
mediante la combinación de un ciclo de gas y uno de vapor, el cual aprovecha los gases aún calientes, que
de otra forma serían expulsados al ambiente, para generar vapor que producirá energía al expansionarse
en una turbina.
En el presente trabajo está encaminado a la obtención de una serie de programas que permitan simular
distintos tipos de ciclos combinados y que permitan realizar una optimización de los mismos. Al comienzo
del trabajo se lleva a cabo un estudio de los mismo, realizando en primer lugar una extensa introducción
sobre el fundamento termodinámico sobre el que se basan estos ciclos, sus parámetros de diseño y las
distintas configuraciones existentes para las plantas de ciclo combinado. En esa introducción se sienta la
base teórica del método utilizado para llevar a cabo la optimización de los ciclos; los Algoritmos Genéticos.
Tras la introducción se analizan detalladamente los programas de simulación llevados a cabo, con una
inclusión al final de cada programa de ejemplos de simulación con los resultados arrojados y las gráficas
generadas. Estos programas se dividen en los dedicados a simular la turbina de gas y los dedicados a
realizar lo propio con el ciclo de vapor, siendo ambas partes imprescindibles para definir el ciclo.
Después, se lleva a cabo un proceso similar con el fin de explicar los subprocesos llevados a cabo
durante la optimización.
Finalmente, se realiza un estudio de los resultados obtenidos por los distintos programas.

Palabras Clave: ciclo combinado, ciclos termodinámicos, ciclos combinados, turbina de gas, turbina
de vapor, optimización.

ETSI Industriales - xv- Universidad Politécnica de Madrid


Capítulo 1

Introducción
Este Capítulo se dedica a explicar los principios tecnológicos y teóricos utilizados para la realización
de este Trabajo de Fin de Grado, así como las distintas herramientas utilizadas durante el desarrollo del
mismo, los objetivos buscados y la estructura del trabajo.

1.1. Introducción a los Ciclos Combinados como medio para la


producción de Energía Eléctrica en Plantas de Potencia
El aumento durante el final del siglo XX de la preocupación por el cambio climático y el medio
ambiente, así como la creciente liberalización de los mercados eléctricos, han producido un profundo
cambio de las condiciones y fundamentos en los que se basaba la generación de energía eléctrica en los
países llamados desarrollados.
La liberalización del mercado eléctrico ha permitido volver a sistemas con menores costes de inversi’on
como un factor determinante para el diseño de plantas de potencia, a fin de desarrollar plantas lo más
competitivas posible. Por otra parte, la preocupación por el medio ambiente y el concepto de desarrollo
sostenible han sido plasmados en iniciativas internacionales de importancia global como la Cumbre de Río
de Janeiro de 1992, el Protocolo de Kyoto en 1997, y la Cumbre de París durante el presente curso, por
nombrar algunos de los eventos más importantes. Esto ha tenido como consecuencia el auge de las hasta
entonces desdeñadas energías renovables en gran parte de los países desarrollados, así como la definitiva
consolidación de alternativas de produción de energía con residuos fósiles en las que se busca una elevada
eficiencia energética y una disminución de las emisiones de gases contaminantes.
Entre las formas de generación de electricidad renovables destacan la energía fotovoltaica, energía
eólica, energ’ia hidráulica y energía mareomotriz, entre otras. Por otra parte, los ciclos combinados se
han asentado como la configuración por excelencia dentro de las plantas que utilizan residuos fósiles pero
que buscan aumentar su eeficiencia y sostenibilidad medioambiental.
Se pueden considerar como de especial importancia tres tipos principales de generación de energía
eléctrica, según la fuente primaria utilizada: hidráulica, nuclear y combustibles fósiles.
El agotamiento de los recursos hidráulicos disponible en Europa y EE.UU. y la oposición social generali-
zada a la construcción de nuevos embalses o a la derivación de ríos pronostican un escaso incremento de
la cantidad de electricidad producida con esta fuente de enrgía, a pesar de sus evidentes ventajas como
el coste de generación, y la menor cantidad de emisiones contaminantes.
La energía nuclear, a pesar de las ventajas que presentan frente a los combustibles fósiles, como
sus menores costes variables y casi nula emisión de gases contaminantes, no cuenta con el apoyo social
necesario para convertirse en una clara alternativa, debido principalmente a los residuos radiactivos y
a los accidentes de Three Mile Island (EE.UU., 1979), Chernobyl (Ucrania, 1986) y Fukushima (Japón,
2011). Por tanto, a no ser que se impulse la búsqueda de una solución definitiva a los problemas que
conllevan los residuos radiactivos producidos durante la producción de energía mediante este método, ya
sea esta solución una de eliminación, transformación o almacenamiento seguro de estos residuos, es poco
probable que llegue a sustituir a las plantas de generación por residuos ocmbustibles. De hecho, solo en
pocos países, como China, está teniendo lugar el crecimiento de este tipo de energía.
Por tanto, al menos en el futuro medianamente lejano, se prevé que los combustibles fósiles sigan
siendo la principal fuente de energía utilizada para la obtención de electricidad, con un probable descenso
del uso del carbón en favor del gas natural, con menos emisiones de CO2 y otros gases con compuestos
derivados del azufre. Además de estos motivos medioambientales, el gas natural presenta otras ventajas
económicas sobre el carb’on, como son: menores costes de inversión; mayor eficiencia energética; mayor
flexibilidad de operación; mejor aceptación social a la hora de escoger un emplazamiento para la planta.
Las centrales de ciclo combinado, al usar generalmente gas natural u otro combustible gaseoso o líquido

ETSI Industriales - 1- Universidad Politécnica de Madrid


INTRODUCCIÓN

de calidad, gozan de estas ventajas, lo que las convierte en una opción viable para la generación masiva
de energía eléctrica, además de ser posible su instalación cerca de centros de consumo.
En términos de eficiencia y costes, las centrales de ciclo combinado de gas natural alcanzaban en 2006
un rendimiento bruto cercano al 59 % a plena carga y un coste de 500e/kW , mientras que las plantas de
carbón, incluso con las últimas mejoras tecnológicas como calderas supercríticas y sistemas de depuración
de gases de combustión, solo alcanzan un rendimiento bruto cercano al 45 %, con un coste de inversión
de unos 1000e/kW (también en 2006). Esto no implica la desaparición de las plantas de carbón, el cual
se prevé que mantenga un papel importante dada la seguridad de abastecimiento que proporciona. De
hecho, su importancia aumentará si se desarrollan nuevas tecnologías económicamente viables de captura,
confinamiento y valoración del CO2 [García and Muñoz, 2006].

1.2. Ciclos Combinados de Turbinas de Gas y Vapor: Principios


Termodinámicos
En esta sección se va a dar una visión general de los principios termodinámicos y de funcionamiento
de los Ciclos Combinados, así como de sus elementos constitutivos elementales.

Figura 1.1: Ciclo Combinado de un nivel de presión con desgasificador (Elaboración propia)

Como su propio nombre indica, un Ciclo Combinado (CC) es, en su visión más generalizada, la combina-
ción de dos ciclos termodinámicos con el objetivo final de obtener de energía eléctrica. Esta combinación
de ciclos tiene por fin aumentar el rendimiento que conseguiría cada ciclo individualmente. Más concreta-
mente, el presente Trabajo se basa en la definición más comúnmente utilizada de CC, que se refiere a un
ciclo en el que se implementan conjuntamente una Turbina de Gas (TG) y una Turbina de Vapor (TV),
conectadas a través de una Caldera de Recuperación de Calor (CRC). De esta forma, se consigue un
aumento del rendimiento global del proceso de obtención de energía al aprovechar el calor sobrante de los
gases de combustión provenientes de la TG en el ciclo de la TV, que de otra manera sería desaprovechado

ETSI Industriales - 2- Universidad Politécnica de Madrid


Ciclos Combinados de Turbinas de Gas y Vapor: Principios Termodinámicos

en el ambiente. En la figura (1.1) puede apreciarse el esquema de una de las configuraciones más típicas
de un Ciclo Combinado, comprendiendo: una turbina de gas que consta de un compresor, una cámara
de combustión y la propia TG; una turbina de vapor que incluye las bombas necesarias para mantener
el flujo de agua líquida, un condensador a la salida de la turbina, un desgasificador, un calderín y la
TV. Ambos ciclos se combinan mediante la CRC, como puede apreciarse en la imagen. Más adelante se
realizará una explicación de los elementos de cada ciclo con más detenimiento. A continuación se procede
a explicar más detalladamente los fundamentos termodinámicos de los ciclos en los cuales se basa el CC:

1.2.1. Ciclo de Carnot

Figura 1.2: Ciclo de Carnot (Elaboración propia)

Dado que del Segundo Principio de la Termodinámica se desprende que no puede alcanzarse un
rendimiento del 100 % en una máquina térmica, es conveniente tener una idea cuantitativa del rendimiento
máximo que podría obtenerse, así como de las variables de las que éste depende. Dentro de este marco,
Nicolas Léonard Sadi Carnot (1796 - 1832) planteó su conocido Ciclo de Carnot, que consta de las
siguientes etapas:

(i) Etapa de compresión adiabática y reversible.


(ii) Etapa de aportación de calor a temperatura (T) constante en el foco caliente (FC ). Que sea un foco
implica que su temperatura es constante y su capacidad infinita.
(iii) Etapa de expansión adiabática y reversible.
(iv) Etapa de cesión de calor a T=cte al foco frío (FF ), con las mismas características que la donación
de calor de la etapa (ii).

Uno de los principales corolarios que se desprenden de este ciclo ideal es el siguiente teorema:
"No puede existir una máquina térmica que funcionando entre dos fuentes térmicas dadas tenga mayor
rendimiento que una de Carnot que funcione entre esas mismas fuentes térmicas", siendo una Máquina
de Carnot aquella que trabaja según el Ciclo de Carnot. A partir de la definición de entropía podemos
calcular el calor aportado en el foco y el cedido al foco:

QC = TC · ∆S3−2
QF = TF · ∆S4−1

ETSI Industriales - 3- Universidad Politécnica de Madrid


INTRODUCCIÓN

Por otra parte, el trabajo producido por la máquina es la diferencia entre ambos calores, lo que
equivale al área encerrada en el ciclo de la figura (1.2); WCarnot = QC − QF
Teniendo esto en cuenta:
WCarnot QC − QF QF TF · ∆S4−1 TF
ηCarnot = = =1− =1− =1− (1.1)
QC QC QC TC · ∆S3−2 TC

Por tanto, a pesar de que nunca se llegará a alcanzar el rendimiento predicho por la ecuación (1.1),
queda evidenciado que el rendimiento de una máquina será tanto mayor cuanto más grande sea la dife-
rencia entre las temperaturas de los focos (que equivaldrán en un proceso real a las temperaturas máxima
y mínima del emisor y del receptor de calor, respectivamente). Algunos de los principales motivos por los
que no es posible alcanzar este rendimiento son las pérdidas de calor y las debidas a la diferencia de T al
intercambiar calor.

1.2.2. Rendimiento de un Ciclo Combinado

En un Ciclo Combinado de gas y vapor se busca obtener una planta de generación de energía con un
rendimiento superior al que tendrían independientemente una central térmica convencional de gas y otra
de vapor, integrando éstas en un mismo proceso.
Por un lado las turbinas de gas actuales rara vez llegan a obtener un rendimiento superior al 35 %,
con un rendimiento máximo de Carnot del 45 % (por ejemplo, alcanzando unas temperaturas de unos
1260◦ C, y expulsando el gas expansionado a 500-600◦ C se llega a un ηC = 43 %). En el caso del ciclo de
vapor, no es común que sobrepasen el 40 % de rendimiento, para un valor máximo de ηC ≈ 0,55 %. Por
tanto, ninguno de los ciclos individuales alcanzarán el 40 %, mientras que si los complementamos entre
ellos, se pueden alcanzar unos valores máximos de más del 55 %, ampliamente superiores.
No obstante, estos rendimientos son inferiores a los que se obtendrían si existiese un ciclo único que
trabajara entre las mismas temperaturas medias máxima y mínima, dado que se eliminarían las pérdidas
debidas al acoplamiento de ambos procesos.

Figura 1.3: Combinación de dos ciclos de potencia (Elaboración propia)

El rendimiento del ciclo global, suponiendo que no haya pérdidas de calor al realizar los gases de
combustión la cesión de energía al agua, puede calcularse apoyándose en la figura (1.3). Siendo: QC el
calor tomado del foco caliente; QI el calor sobrante del ciclo del gas; QF el calor cedido al foco frío; Wg
la potencia útil generada por la TG y Wv la de la TV; y ηg y ηv los rendimientos del ciclo de gas y de
vapor respectivamente, tenemos que:
Wg = ηg · QC ; (1.2)
Wv = ηv · QI = ηv · (1 − ηg ) · QC ; (1.3)

ETSI Industriales - 4- Universidad Politécnica de Madrid


Ciclos Combinados de Turbinas de Gas y Vapor: Principios Termodinámicos

Wg +Wv
Sumando las ecuaciones (1.2) y (1.3), y teniendo en cuenta que ηCC = QC , llegamos a la siguiente
expresión el rendimiento del ciclo global;

ηCC = ηg + ηv − ηg · ηv (1.4)

Para ejemplificar la mejora que supone el uso de este tipo de ciclos, se particulariza con los valores
ηg = 0,35 y ηv = 0,4 en la ecuación (1.4), que resulta: ηCC = 0,4 + 0,35 − 0,4 · 0,35 = 0,61.
Estos niveles de eficiencia no se alcanzan en la realidad debido principalmente a los siguientes motivos
[Rapún, 1999]:

• El cambiador de calor (la Caldera de Recuperación de Calor) no puede hacerse de área infinita
por motivos económicos. Por tanto, hay que buscar una solución de compromiso entre el precio del
cambiador y las temperaturas que se alcanzarán en el mismo.
• Debido a esto, la transferencia de calor va a realizarse con diferencias de temperatura entre los gases
de combustión y el agua, lo que provocará pérdidas exergéticas.
• Debido al cambio de estado a temperatura constante que sufre el agua no se alcanzará la temperatura
que se desearía , dado que durante la evaporización el calor cedido al agua no se traducirá en un
aumento de su temperatura.
• La temperatura de los gases de combustión no podrá bajar bajo ninguna circunstancia de cierto
valor límite para prevenir problemas de corrosión.

De entre estos motivos, uno de los que más reducen el rendimiento es el de la diferencia de temperaturas al
realizar la cesión de calor. Las pérdidas exergéticas generadas debido a esta situación se pueden expresar
según la siguiente expresión:
ZB  
1 1
IQ = To · − ·dQ̇ (1.5)
TV TG
A

En las siguientes secciones se analizan en detalle los ciclos individuales y el cambiador de calor, además de
las mejoras más usadas para incrementar sus respectivos rendimientos, que van encaminadas a aumentar
las temperaturas máximas y reducir las mínimas en los ciclos, ademas de intentar conseguir minimizar
las diferencias de temperatura en la CRC.

1.2.3. Ciclo del Gas

El ciclo más simple que puede seguir el gas a lo largo de la TG es conocido como ciclo Brayton, y se
escenifica en las siguientes figuras:

(a) Esquema del Ciclo (Elaboración propia) (b) Diagrama del Ciclo, con una relación de compre-
sión=16 y 1750 K de temperatura de los gases de com-
bustión a la entrada de la TG (Elaboración propia)

Figura 1.4: Ciclo Brayton

En esta figura se ha reflejado el montaje en eje simple, que es el más elemental de los actualmente
existentes. Como puede observarse, el ciclo es de tipo abierto y consta de las siguientes etapas:

ETSI Industriales - 5- Universidad Politécnica de Madrid


INTRODUCCIÓN

(1) Etapa de compresión, en la cual se eleva la presión del fluido de combustión después de filtrado.
Tiene lugar en la máquina térmica conocida como compresor, la cual se define principalmente por
su rendimiento 1 y por su relación de compresión, que es la relación entre las presiones de entrada
·
y de salida del fluido. En esta etapa se introduce generalmente un caudal aire (ma ) en condiciones
ambientales.
(2) Etapa de aportación de calor a presión constante. Esta aportación suele ser mediante la combustión
·
del fluido presurizado y de un combustible, líquido o gaseoso (mf ) que se introduce normalmente
directamente en la cámara de combustión. Al ser un ciclo de combustión interna, el fluido motor
(aquél encargado de transformar la energía térmica en mecánica, que en este caso no es otro que
los gases de combustión) sufre un proceso químico irreversible que imposibilita la reutilización del
mismo en el ciclo. Por el mismo motivo, es imprescindible que el combustible utilizado sea de calidad
a fin de prolongar la vida útil de los componentes de la planta, en especial de la turbina de gas.
Los combustibles usados pueden ser gaseosos (gas natural, propano o hidrógeno) o líquidos (gasóleos,
gasolinas, GLP, etc.).
Otras formas de introducir calor evitando la combustión sería aportando gas a altas temperatura
y presión, obtenido de procesos externos como pueden ser la gasificación del carbón, o mediante
lechos fluidos presurizados.
(3) Etapa de expansión por parte de los gases resultantes de la combustión previa, en una turbina
de gas, la cual transforma en energía mecánica la energía contenida en los gases de combustión
(GG.CC.) en forma de presión y temperatura. Esta energía mecánica se utiliza para accionar el
compresor y para generar energía eléctrica a través del alternador.

(4) Etapa de cesión de calor. Al salir de la TG, los GG.CC. aún disponen de una temperatura elevada
que puede ser aprovechada. En el caso de un CC, esta temperatura se utilizará para generar vapor
en la caldera de recuperación de calor.

1.2.3.1. Rendimiento de la Turbina de Gas

De forma análoga al Ciclo de Carnot y teniendo en cuenta que en este caso las temperaturas no se
mantienen constantes durante los procesos de aportación y cesión de calor:

Z3


T · dS = T C · ∆S3−2



 QC =


2

 Z4

 QF = T · dS = T F · ∆S4−1



1

Siendo T C y T F las temperaturas medias de foco caliente y frío, respectivamente, que son aquellas a las
cuales la aportación o cesión de calor es la misma que para el proceso real, para una misma variación de
entropiá. De esta forma, llegamos a la primera expresión del rendimiento del ciclo de gas, análoga a la
expresión de la ecuación (1.1):
TF
ηC = 1 − (1.6)
TC

Como ya se ha visto, el rendimiento será mayor cuanto mayor sea T C o menor sea T F , por lo que
se intentará aumentar la temperatura media de foco caliente y minimizar la de foco frío. La T C será
mayor cuanto mayor sean la relación de compresión ( ρCC )y la temperatura de salida de la cámara de
combustión. Sin embargo, un aumento de la relación de compresión es contraproducente para el ciclo de
vapor dado que la temperatura de salida de la turbina de gas de los GG.CC., disminuye, como puede
apreciarse en la figura (1.5a), por lo que, a pesar de aumentar el rendimiento de la planta, disminuye la
1 Tanto los compresores como las turbinas pueden definirse por su rendimiento iséntrópico o politrópico, sobre los que se

profundizará más adelante

ETSI Industriales - 6- Universidad Politécnica de Madrid


Ciclos Combinados de Turbinas de Gas y Vapor: Principios Termodinámicos

producción de vapor de agua al poder aportar menos calor, y disminuye la potencia que la central puede
proporcionar.

(a) Variación de ρCC (Elaboración propia) (b) Variación de Tsal (Elaboración propia)

Figura 1.5: Comparación de TG para distintas ρCC o Tsal (Elaboración propia)

Por otra parte, aumentando la temperatura de salida de los gases de combustión de la cámara de com-
bustión (Tsal ) se consigue aumentar tanto T C como la temperatura con la que los GG.CC. saldrán de la
turbina para entrar en la CRC, por lo que es recomendable buscar este incremento. El límite máximo de
temperatura alcanzable lo sitúan los materiales de ciertos componentes como la cámara de combustión
o los álabes de la TG, dado que a partir de cierta temperatura su tiempo de vida pasa a ser demasiado
corto y no compensa económicamente.

En la figura 1.6 se pueden observar las distintas mejoras introducidas y sus efectos sobre la temperatura
de admisión de gases en la TG. Puede apreciarse que la introducción de distintas técnicas como el film
cooling, que consiste en realizar pequeños orificios realizados en los álabes para permitir una refrigeración
por aire [Bogard, 2006] (fig. 1.7a) o la implementación en los álabes de Thermal Barrier Coatings, o TBC
[Karaoglanli et al., 2013] (fig. 1.7b), que se basa en proteger los mismos con un revestimiento que actúa
como una de barrera térmica aislante, han permitido aumentar en el pasado esta temperatura hasta los
1500 ◦ C. También es común utilizar álabes monocristales y/o solidificados direccionalmente en función
de la dirección con que se enfrenten al flujo.

Figura 1.6: Evolución de la temperatura de entrada a las TG([Wadley Research Group, 2013])

En los últimos años se ha logrado acrecentar aún más esta temperatura mediante la introducción del
closed-loop cooling o refrigeración por lazo cerrado, que aprovecha el vapor producido en la CRC para
refrigerar los álabes [Mod].

ETSI Industriales - 7- Universidad Politécnica de Madrid


INTRODUCCIÓN

(a) Film Cooling ([Bogard, 2006]) (b) Thermal Barrier Cooling ([Karaoglanli et al., 2013])

Figura 1.7: Evolución del incremento de Tentrada turbina y distintas técnicas utilizadas para ello

Actualmente se espera incrementar la mencionada temperatura en mayor medida mediante el uso de


materiales compuestos de matriz cerámica, capaces de soportar altas temperaturas manteniendo un buen
funcionamiento.
Por otra parte y volviendo a la expresión (1.6), se recuerda que la otra forma de aumentar el ren-
dimiento es bajando la temperatura media del proceso en el que se cede calor. Esto Está condicionado
principalmente por las condiciones ambientales de presión y temperatura, que dictaminará tanto la pre-
sión mínima a la que se puede condensar el vapor en la TV (afectando al rendimiento de la misma) como
la temperatura a la cual condensan los gases de combustión. Esta última, conocida como Trocío , es el
límite legal por debajo del cual en ningún caso puede llegar a estar la temperatura de estos gases. Este
límite tiene una motivación medioambiental y de mantenimiento de los componentes, ya que si condensa
la humedad presente en los GGCC se fórmarán óxidos sulfurosos y ácido sulfúrico, contaminantes y da-
ñinos para los materiales [Jecht, 2004]. Esta T también depende de la humedad relativa en el ambiente,
como puede apreciarse en la siguiente figura:

Figura 1.8: Contenido de humedad en el aire en función de la temperatura del punto de rocío (1013 mbar)
Fuente: [Jecht, 2004]

El rendimiento de la TG puede ser expresado también atendiendo a su condición de motor de combus-


tión interna (MCI); en función de la potencia obtenida y del concepto de trabajo máximo, que se refiere
a la diferencia de exergía entre reactivos y productos, y que se aproxima utilizando el concepto de Poder

ETSI Industriales - 8- Universidad Politécnica de Madrid


Ciclos Combinados de Turbinas de Gas y Vapor: Principios Termodinámicos

Calorífico Inferior a presión constante (PCI):


· · · · ·
WT − WC (ma + mf )(h30 − h40 ) − ma (h20 − h10 )
ηT G = · = · (1.7)
m f · HC mf · HC
· ·
donde W T y W C son las potencias generada por la TG y requerida por el compresor respectivamente,
· ·
ma y mf son los caudales másicos de aire y de combustible por unidad de tiempo, HC es el PCI del
combustible, y las distintas hi0 son las entalpías de parada 2 del fluido en los puntos reflejados en la
figura (1.4). Esta fórmula pone de relieve la importancia de la optimización del compresor con el fin de
que consuma la mínima energía posible para alcanzar el nivel de presión deseado. El porcentaje de la
energía consumida por el compresor de la total producida en la turbina asciende actualmente a valores
alrededor del 40-60 %. La optimización del rendimiento interno de la turbina también desemboca en un
aumento del rendimiento, dado que se consigue extraer un mayor nivel de potencia.
Además del montaje en eje simple visto hasta ahora, hay otro tipo de configuraciones de la TG que
permiten aumentar el rendimiento. Algunas de estas posibles configuraciones son: turbina de gas con
precalentamiento del combustible, la cual ha sido estudiada en profundidad en [Duvison, 2016]; o las
turbinas de gas de combustión secuencial, en las cuales se mantiene o incluso se mejora el rendimiento
de la TG, y se incrementa el del Ciclo Combinado [García and Muñoz, 2006; Report, 1999]. Este tipo de
TG se utilizan para compensar la bajada de Tsal que se produce si quieren aumentar el valor de ρCC .

(a) Esquema de una TG de Combustión Secuencial (Elaboración propia) (b) Diagrama de una TG de Combus-
tión Secuencial (Elaboración propia)

Figura 1.9: TG de Combustión Secuencial

1.2.4. Ciclo del Vapor

Existen gran cantidad de ciclos que puede seguir el agua a lo largo de una TV. Entre ellos, el más
sencillo es conocido como ciclo Rankine, que es la aplicación tecnológica del ciclo de Carnot en el caso
de que el fluido motor sea condensable. En la actualidad no se utiliza este ciclo, si no que el más básico
empleado es el mostrado en la figura (1.10). Este ciclo se diferencia del de Rankine en que cuenta con un
sobrecalentamiento, para obtener un mayor salto entálpico.
En este ciclo básico, la evolución del fluido sigue las distintas etapas:

(1) Etapa de aportación de calor a presión constante a través de la caldera de recuperación de calor,
exceptuando las pérdidas de carga, que suelen estar en el orden de decenas de mbar. En la CRC, el
fluido sufre un proceso de calentamiento hasta el punto de inicio del cambio de fase. Se completa
2 La entalpía de parada es un concepto que se utiliza cuando la velocidad del fluido estudiado no es despreciable, y se

refiere a la energá de un fluido de entalpía h y velocidad v ;

v2
h0 = h + 2

ETSI Industriales - 9- Universidad Politécnica de Madrid


INTRODUCCIÓN

(a) Esquema ciclo de vapor simple (b) Diagrama T s Ciclo de vapor simple (Elaboración propia)
(Elaboración propia)

Figura 1.10: Ciclo de de Vapor Simple

la evaporación y a continuación se sobrecalienta con el objetivo de aumentar el salto entálpico en


la turbina.
(2) Etapa de expansión del vapor sobrecalentado en la turbina de vapor, de la forma más isentrópica
posible para aumentar la potencia específica obtenida. Es importante que el título de vapor del
fluido a la salida de la turbina (punto 3 en la figura (1.10)) sea mayor de 0.85, a fin de prolongar la
vida útil de los álabes de la turbina. 3
(3) Etapa de cesión de calor a presión y temperatura constantes en el condensador hasta alcanzar el
punto de líquido saturado (punto 4 en la figura (1.10)). Esta presión está limitada, como se ha dicho
anteriormente, por la temperatura ambiental (no por la presión ambiental).
(4) Etapa de elevación de presión hasta alcanzar la deseada para el ciclo. Este proceso tiene lugar en
una o varias bombas.

1.2.4.1. Rendimiento de la Turbina de Vapor

De forma similar al procedimiento seguido para la TG, y recordando que la cesión de calor tiene lugar
a presión constante, obtenemos la expresión del rendimiento de la TV en función de las temperaturas
medias de los focos frío y caliente:
TF
ηC = 1 − (1.8)
TC
También puede calcularse el rendimiento en función de los saltos de entalpías del fluido en el ciclo, que
teniendo en cuenta que se trata de una motor de combustión externa (MCE) queda:
· · · ·
WT − WB mv (h2 − h3 ) − mv (h1 − h4 )
ηT G = · = · (1.9)
QC QC

En el caso de las TV, el fluido motor no alcanza temperaturas tan extremas como en las TG, por
lo que no existe el problema de la compatibilidad entre la temperatura de entrada a la turbina y la
fiabilidad de los materiales. Para conseguir aumentar el rendimiento del ciclo de vapor existen múltiples
variaciones posibles sobre el ciclo Rankine de la figura (1.10). Entre estas variaciones, las más utilizadas
son las siguientes;

3 De ser dicho título de vapor mayor de 0.85, los efectos de cavitación de las gotas de fluido condensado sobre los álabes

provocará que estos se erosionen a un nivel por encima de lo recomendado por los fabricantes [Rapún, 1999].

ETSI Industriales - 10- Universidad Politécnica de Madrid


Ciclos Combinados de Turbinas de Gas y Vapor: Principios Termodinámicos

Ciclos regenerativos (fig. 1.11): Es una de las modificaciones más frecuentes.. La variación consiste
en que se extrae parte del vapor de la turbina antes de que complete su expansión. Este vapor se lleva
a un desgasificador al cual irá a parar el líquido condensado, precalentándolo antes de introducirlo a la
CRC. Aunque la extracción aumenta el rendimiento de la TV, disminuye el rendimiento global del CC
dado que existe una menor diferencia entre la temperatura del agua de aporte a la CRC y los gases de
combustión, podiendo obtener por tanto un menor salto de entalpías4 . Por tanto, en ciclos combinados,
la funcón de las extracciones no es tanto modificar el ciclo termodinámico como eliminar el oxígeno y
otros gases disueltos en el agua [García and Muñoz, 2006].

(a) Esquema Ciclo Regenerativo (b) Diagrama T s Ciclo Regenerativo (Elaboración propia)
(Elaboración propia)

Figura 1.11: Ciclo Regenerativo

Ciclos con recalentamientos intermedios (fig. 1.12): El recalentamiento del vapor consiste en
realizar una primera expansión de vapor en la turbina hasta cierta presión (mayor que la final a la que
se va a condensar el fluido), tras la cual se extrae el vapor de la TV para volver a introducirlo en la
CRC y calentarlo, pero esta vez a una presión menor. Tras este recalentamiento se reintroduce el vapor
en la turbina y completa la expansión. La finalidad de este proceso es aumentar el título de vapor que
tendrá el agua al final de la compresión, dado que, para una temperatura fija, cuanto menor sea la presión
desde la que se expansiona mayor será el título de vapor. En el caso de las CC, se suele introducir un
recalentamiento intermedio solo en el caso de que compense económicamente, dado que supone complicar
la instalación y por tanto a incrementar el precio de la planta.
4 No sucede lo mismo con el rendimiento exergético del ciclo, que, como veremos más adelante, aumenta cuanto menor

es la diferencia entre agua y GGCC en la caldera.

ETSI Industriales - 11- Universidad Politécnica de Madrid


INTRODUCCIÓN

(a) Esquema Ciclo con Recalenta- (b) Diagrama T s Ciclo Regenerativo (Elaboración pro-
miento (Elaboración propia) pia)

Figura 1.12: Ciclo con Recalentamiento Intermedio

Ciclos supercríticos (fig. 1.13): Como se ha dicho anteriormente, elevar la presión de trabajo
significa un incremento de la temperatura media de aportación de calor, con el consiguiente aumento de
rendimiento.Además, si este aumento de presión implica el paso a trabajar con presiones supercríticas,
esto va a significar, como veremos más adelante, un incremento significativo del rendimiento exergético
ya que al eliminar el cambio de fase que cualquier aportación de calor conducirá a un aumento de tem-
peratura.
La principal inconveniencia de trabajar con estos niveles de presión radica en los problemas construc-
tivos y de materiales, inherentes a este tipo de ciclos, tales como las altas tensiones que tienen que
soportar las tuberías o los problemas por cavitación debido al alto contenido de humedad en los últimos
escalonamientos de la TV.

Figura 1.13: Comparación TV sub y super críticas (Elaboración propia)

Ciclos con varios niveles de presión (fig. 1.14): En los ciclos combinados es habitual ver ciclos
de dos o tres niveles de presión, con los que se consigue un mejor aprovechamiento e la energía disponible
en los GGCC y un aumento del rendimiento. Los plantas con varios niveles de presión pueden tener
distintos ciclos de vapor en función de la CRC elegida, como se verá en la sección 1.2.5.
Por supuesto, las distintas configuraciones explicadas no tienen por qué aplicarse individualmente, si no
que pueden combinarse de ser requerido, como puede verse en la siguiente figura:

ETSI Industriales - 12- Universidad Politécnica de Madrid


Ciclos Combinados de Turbinas de Gas y Vapor: Principios Termodinámicos

(a) Esquema Ciclo con Regeneración, Recalentamien- (b) Diagrama T s Ciclo con Regeneración, Recalentamiento y
to y dos niveles de presión (Elaboración propia) dos niveles de presión (Elaboración propia)

Figura 1.14: Ciclo con Regeneración, Recalentamiento Intermedio y dos niveles de presión

1.2.5. Caldera de Recuperación de Calor

La Caldera de Recuperación de Calor es el lugar donde se acoplan los dos ciclos ya analizados en las
secciones 1.2.3 y 1.2.4. Se trata de un cambiador de calor de flujo a contracorriente (para disminuir el
choque térmico), en el que entran los gases de combustión calientes provenientes de la TG y ceden calor
al agua de alimentación del ciclo de vapor. El intercambio de calor se produce de forma convectiva (lo que
las distingue de las calderas convencionales, en las que la transferencia de calor por radiación juega un
papel importante), y la circulación suele ser forzada en las plantas europeas y natural en las americanas
[J.Rovira, 2004].
Este elemento puede tener diversas configuraciones, en función de cómo sea el ciclo del vapor, siendo la
confiuración convencional la de la figura (1.15). En general, y exceptuando las calderas que trabajan con
presiones supercríticas, todas las calderas cuentan con las siguientes partes:

• Economizador: Es la primera parte del intercambiador de calor. En él entra el agua subenfriada,


propulsada por las bombas de circulación, y se eleva su temperatura hasta un punto cercano al
de saturación pero sin llegar a sobrepasarlo. La diferencia entre la temperatura de saturación a
la presión del agua subenfriada y la temperatura que se alcanza en el economizador se denomina
Approach Point (AP), y su valor óptimo suele estar entre los cinco y diez grados. El objetivo de este
margen de seguridad es el de prevenir la posible formación de vapor en el economizador en caso de
trabajar la TV con cargas parciales, dado que esto puede suponer la formación de tapones en las
tuberías y la posible fusión de las mismas por la deficiente refrigeración (este problema es hay que
tenerlo particularmente en cuenta en el diseño de calderas horizontales de circulación natural).
• Calderín: Se trata de un depósito generalmente cilíndrico en ’el entra el agua cercana a situación
de saturación y se produce la separación de fase líquida y de vapor. La primera fase se recircula de
forma natural o mediante una bomba hasta el evaporador.
• Evaporador: En él entra el agua saturada (o ligeramente subenfriada si se han utilizado bombas
de recirculación) y se lleva hasta estado gaseoso. Al salir del evaporador, el flujo se lleva de nuevo
al calderín.
• Sobrecalentador: El vapor saturado del calderín vuelve a introducirse en la CRC, estando ya en
la zona más próxima a la de entrada de de los gases calientes, con el fin de elevar su temperatura
hasta el nivel deseado, tras lo cual se introducirá en la turbina de vapor.

Para esta configuración de CRC se obtendría el siguiente diagrama de temperaturas:

ETSI Industriales - 13- Universidad Politécnica de Madrid


INTRODUCCIÓN

(a) (b)

Figura 1.15: Configuración básica de una CRC (Elaboración propia)

Figura 1.16: Diagrama T − Q de una CRC de 1P (Elaboración propia)

Como se puede apreciar en la figura (1.16), una de las caracterśticas más llamativas de este diagrama
es la aparición de una meseta durante la evolución de la temperatura del agua, la cual se debe a que
el cambio de fase se produce a una temperatura constante. Este fenómeno provoca una disminución del
rendimiento del ciclo dado que el calor invertido en ese tramo no se traduce en un aumento de temperatura
del fluido motor.
Además, dentro de la CRC, las diferencias de temperaturas señaladas suelen ser, a excepción de la
Diferencia Inicial de Temperaturas (D.I. de T.), parámetros de diseño de la caldera y por tanto el propio
ciclo combinado, siempre y cuando se trate de un con ciclo subcrítico. Estos parámetros son:

• Approach Point (AP): Esta variable ya se ha comentado previamente. Cabe añadir que el límite
superior del valor que puede tener se debe al choque térmico que recibiría el calderín y a la menor

ETSI Industriales - 14- Universidad Politécnica de Madrid


Ciclos Combinados de Turbinas de Gas y Vapor: Principios Termodinámicos

cantidad de vapor producido5 , ni tampoco un valor muy bajo, dado que aumentariía mucho la
superficie total de intercambio de calor en el economizador.
• Pinch Point (PP): Es la diferencia mínima de temperaturas entre los GGCC y el agua en la zona
del evaporador. Cuanto menor es el PP, mayor es la cantidad de vapor producido y el rendimiento
exergético pero mayor es también la superficie total de intercambio necesaria en el evaporador y
el sobrecalentador. Esto obliga a buscar un valor óptimo de PP, que garantice cierta cantidad de
caudal de vapor sin aumentar demasiado el coste de la caldera. Este valor suele estar entre los 5 y
10 ◦ C [García and Muñoz, 2006].
• Diferencia terminal de temperaturas (DT): Se trata de la diferencia de temperaturas entre
los gases de escape de la turbina de gas y el vapor al salir de la caldera. A pesar de que suele ser
un parámetro de diseño debido a la limitación por parte de los fabricantes de TV a la temperatura
de entrada del vapor a las turbinas, no se ha tomado como tal en el diseño de los programas de
simulación desarrollados, como se verá más adelante.

Como se ha indicado en la ecuación (1.4) (sección 1.2.2), uno de los principales factores que determi-
nan las pérdidas de rendimiento es la diferencia de temperatura a la que se produce el intercambio de
calor entre los gases de combustión y el agua. Para disminuir este tipo de pérdidas existen multitud de
configuraciones posibles de ciclos de agua y de CRC, la cual se adapta a la planta que se quiere diseñar
y no está estandarizada.
A continuación se presentan algunos ejemplos de posibles disposiciones de calderas que además han
sido modelados:
Ciclos con varios niveles de presión (fig. 1.17): la existencia de más de un nivel de presión
permite acercar la curva de evolución de temperaturas del agua a la de los GGCC. Es común encontrarse
calderas de dos y tres niveles de presiones, dentro de las cuales también puede haber distintas clasifi-
caciones en función de si economizador y sobrecalentador están situados en cascada (el economizador
o el sobrecalentador de uno de los niveles de presión se sitúa a continuación del otro)o en paralelo (los
intercambiadores ocupan el mismo espacio en la caldera). En la figura (1.17) se puede observar cómo en
una configuración de dos niveles de presión colocados en paralelo entran a la CRC ambas líneas y sufren
el precalentamiento al mismo tiempo. La línea de baja presión, que es la de color azul más oscuro, llega
antes a condiciones de evaporación, mientras que el vapor a presión mayor, representado de color azul
cielo, aún necesita más energía para llegar a dicho punto, por lo que esta línea divide su economizador
en dos partes; la primera en paralelo con el economizador de baja y la segunda en paralelo con el so-
brecalentador de baja. En la figura (1.17b) se puede apreciar que la existencia dos zonas de evaporación
separadas permite adaptar las curvas mejor que si solo hubiera una.
Ciclos con niveles de presión supercríticos (fig. 1.18): Como ya se ha comentado, la existencia
de presiones supercríticas reduce de manera muy significativa las pérdidas exergéticas, y puede resultar
beneficioso a pesar de los problemas técnicos y de diseño que conlleva trabajar con presiones tan elevadas.
En la figura (1.18) se puede apreciar claramente que para una misma temperatura de salida, la curva
supercrítica se acerca mucho más a la curva de los gases de combustión.
Ciclos con recalentamiento (fig. 1.19): Uno de los principales problemas de trabajar con presiones
altas radica en la mayor cantidad de humedad que se obtendrá en los últimos escalonamientos de la TV.
Para paliar esto se puede optar por introducir un recalentamiento, que como ya hemos visto, consiste en
expansionar la línea de alta presión hasta la presión de otra de las líneas, tras lo cual se recalienta este
vapor y se introduce en la turbina de dicha línea. De esta manera se consigue elevar el título de vapor
obtenido a la salida de la turbina. La línea de sobrecalentamiento puede estar en paralelo o en cascada
con respecto al sobrecalentador de baja. En la figura (1.19) se muestra un ejemplo en el que están en
paralelo, siendo la línea de recalentamiento la representada en verde.
5 Serecuerda que la potencia obtenida en el eje de una turbina, ya sea de gas o de vapor, se calcula con la expresión
·
P (kW ) = m( kg
s
) · ∆h( kJ
kg
), por lo que para obtener conseguir la mayor cantidad de potencia posible hay que buscar
maximizar tanto el salto entálpico del fluido motor a su paso por la turbina como el caudal de dicho fluido que la atraviesa.

ETSI Industriales - 15- Universidad Politécnica de Madrid


INTRODUCCIÓN

(a) Esquema Ciclo (Elaboración propia) (b) Diagrama T − Q del Ciclo (Elaboración propia)

Figura 1.17: Ciclo de dos niveles de presión en paralelo

Figura 1.18: Comparación CRC Ciclo sub y super crítico (Elaboración propia)

Figura 1.19: Diagrama T − Q de una CRC de 2P y Ciclo con Recalentamiento (Elaboración propia)

1.3. Introducción a los Algoritmos Genéticos

1.3.1. Algoritmos Evolutivos

Durante las décadas de 1950 y 1960, diversos científicos estudiaron de forma independiente distintos
sistemas evolutivos, aplicando la idea de que la evolución podía ser usada como una herramienta de
optimización con aplicaciones en la ingeniería [Mitchell, 1999]. Esta teoría fue propuesta por primera
vez Charles Robert Darwin en su célebre obra El origen de las especies, publicada en 1859. En ella, se
defiende que la biodiversidad existente en la actualidad es resultado de la evolución durante millones de
años de las distintas formas de vida, que han ido avanzando con el fin de adaptarse a su hábitat de la
mejor forma posible. En la obra se exponen dos fenómenos de acuerdo a los cuales habría discurrido esta
evolución:

ETSI Industriales - 16- Universidad Politécnica de Madrid


Introducción a los Algoritmos Genéticos

• Selección natural: Dentro de cada especie, serán los individuos que mejor se adapten a su entorno
los que tengan más probabilidades de tener más descendencia y transmitir sus genes a las siguientes
generaciones. Debido a esto, a lo largo de un espacio lo bastante extenso de tiempo en el cual
los individuos que no se adaptan suficientemente bien tienen menos descendencia que los mejor
adaptados, la especie mejora sus características dado que provienen de la descendencia de los mejores
individuos.

• Mutación: Tiene lugar de forma aleatoria y en una pequeña proporción de la población de una
especie, y propician diferencias en los individuos que de otra forma no se habrían dado. Estas muta-
ciones pueden ser beneficiosas para el individuo, en cuyo caso mejorará su capacidad de adaptación
y pasará la característica a más población, o será perniciosa para el individuo, provocando que
tenga menos descendencia, de acorde con la Selección Natural.

Aplicando estos principios se desarrollaron una serie de técnicas de optimización caracterizados por:

• El trabajo con una gran cantidad de posibles soluciones, llamadas generación, en cada iteración.
• Las soluciones existentes se combinan entre sí con el fin de encontrar la combinación de genes
(variables) que propician un mejor resultado.
• Para los procesos de selección se aplica la idea de la selección natural, utilizando operadores que
escogen una cantidad determinada de individuos, elegidos en función de la bondad de la solución o
fitness que proponen.

Estas caracteríticas convierten a los Algoritmos Genéticos en una herramienta ideal para encontrar
máximos absulotes de funciones en las que por la cantidad de variables existe un gran número de máximos
locales. Siguiendo las ideas mencionadas se desarrollaron un conjunto de algoritmos de optimización
conocidos como Algoritmos Evolutivos, dentro de los cuales podemos diferenciar cuatro tipos de algoritmos
principales, cuyo uso se extendió y generalizó en mayor medida que el resto:

i) Algoritmos Genéticos: Es la técnica de optimización evolutiva más extendida, gracias a sus bue-
nos resultados y sencillez conceptual. Tradicionalmente se representan los individuos mediante una
cadena de bits con una longitud definida (aunque también pueden usarse números reales), en los
que cada posición representa una caracerística del individuo (una variable), y su valor el cómo esa
variable se expresa en la solución. Este tipo de representación es una clara analogía de los genes
de los organismos biológicos, siendo estos los equivalentes de las variables de una solución. Gene-
ralmente estos genes se evalúan de forma independiente del resto. La forma de operar más común
consiste en crear una población inicial a partir de la cual se seleccionan N individuos de manera
probabilística que ejercerán de progenitores, dando lugar a una descendencia con N soluciones que
reemplazarán a los padres, habiendo también procesos de mutación por los que algunas variables se
alteran aleatoriamente. Estos y otros principios básicos de los Algoritmos Genéticos (AGs) fueron
propuestos por John Henry Holland en [Holland, 1992]. Para llevar a cabo los procesos antes descri-
tos, utilizan operadores de selección, recombinación, mutación y reemplazamiento, que explicaremos
más adelante.
ii) Programación Genética: Esta técnica está ganando popularidad gracias a que es capaz de re-
solver problemas reales con más exactitud incluso que los métodos analíticos. Se basan en una
representación de árboles genealógicos, siendo el árbol una única función que debe ser evaluada y
las hojas distintas soluciones, que en vez de ser cadenas de bits o de números reales con una longitud
fija, son programas o autómatas de tamaño variable. John R. Koza fue el creador de esta técnica
en 1992 con su obra [Koza, 1992], tras estudiar los AGs en busca de una forma de mejorarlos.
iii) Estrategias Evolutivas: su objetivo es resolver problemas experimentales complicados trabajando
con cadenas de números reales y desviaciones estándar para codificar las posibles soluciones. Esta
técnica fue desarrollada en la década de 1970 y se basaba principalmente en dos normas [Beyer and
Schwefel, 2002]:
· Cambiar todas las variables a la vez, preferentemente de forma aleatoria.

ETSI Industriales - 17- Universidad Politécnica de Madrid


INTRODUCCIÓN

· Si las nuevas variables no disminuyen la bondad de la solución, almacenarlos, y si no, volver


a la solución anterior. Utilizan operadores de recombinación, de mutación gaussiana, y de selección.
Estos últimos pueden ser determinísticos o probabilísticos, pero en ambos casos elimina soluciones
que queden por debajo de un valor umbral.
iv) Programación Evolutiva: La representación más utilizada en ésta técnica es la de una cadena
de valores reales de longitud definida, y la principal diferencia con la Estrategia Evolutiva es que
no se intercambia información entre la población; no existe la recombinación de valores o reproduc-
ción, dando todo el protagonismo de la evolución a la mutación. Esta técnica fue desarrollada por
Lawrence J. Fogel en la década de 1960.

1.3.2. Algoritmos Genéticos

Los algoritmos genéticos por tanto se diferencian del resto de técnicas de algoritmos evolutivos y otros
métodos de optimización convencionales principalmente por las siguientes características [Sivanandam
and Deepa, 2007]:

• En cada iteración realizada no se trabaja con una única posible solución si no que se trabaja con una
población o generación entera de soluciones para el problema que se quiere resolver, representado
por una función objetivo.
• Los algoritmos genéticosse centran en modificar la codificación de las soluciones (sus cromosomas)
para conseguir individuos nuevas y evaluar su bondad.

• Los cambios que se producen de una generación a otra no van dirigidos a un objetivo predeterminado,
si no que los cambios producidos son aleatorios. Por tanto, los AG avanzan con métodos estocásticos
y no deterministas.
• Los AG trabajan con valores de la propia función a optimizar, no con derivadas de la misma. Esto
permite trabajar con funciones con discontinuidades y/o no derivables.

• La función objetivo puede ser evaluada por una persona que asigne el fitness a cada solución en
lugar de un ordenador. Esto se utiliza, por ejemplo, al realizar retratos robots.

1.3.2.1. Terminología

Un elemento clave que debe ser tenido en cuenta a la hora de dise´ nar un AG es el espacio de búsqueda,
que es el conjunto de todas las posibles soluciones, y dentro del cual estará por tanto la solución óptima.

Figura 1.20: Ejemplo de espacio de búsqueda (Elaboración propia)

En la figura (1.20) se representa parte del espacio de bśqueda del más sencillo de los AG desarrollados,
en el cual se optimiza únicamente el PP y la presión de línea en un Ciclo Combinado de un nivel de presión
subcrítico.

ETSI Industriales - 18- Universidad Politécnica de Madrid


Introducción a los Algoritmos Genéticos

Evaluar un individuo consiste en asignarle un fitness, lo cual se realiza introduciendo sus variables
en la función objetivo. Es importante, sobre todo cuando el espacio de búsqueda es muy amplio, que el
AG sea robusto, lo que significa que sea capaz de evaluar individuos con todo tipo de combinación de
variables, aunque fuera imposible que se dieran en la realidad, sin pararse o dar errores.
Como se ha podido observar durante la introducción realizada, la utilización de paralelismos con la
teoría de la evolución y la naturaleza es frecuente a la hora de denominar ciertos términos. De esta forma,
se facilita la asimilación de los conceptos utilizados. A continuación se recopilan y explican los términos
más relevantes utilizados:
Evolución orgánica Equivalente en Algoritmos Genéticos
Individuo Posible solución para el problema
Gen Variable de la función objetivo
Genotipo Conjunto de todas las variables de las que depende la cunción
Cromosoma Cadena de valores que contiene las representaciones (en bits o números reales)
de cada gen, representando así al individuo
Población Conjunto de las soluciones posible
Generación Parte de la población evaluada en una iteración en concreto
Adaptabilidad al medio Fitness o bondad de la solución para el problema en cuestión
Selección natural Función objetivo

1.3.2.2. Ventajas del uso de AG

Antes de pasar a explicar las ventajas y limitaciones (sección (1.3.2.3)) es conveniente presentar el
flujograma general de un AG a fin de terminar de comprender el funcionamiento de esta técnica 6 :
Teniendo ya una visión más amplia de lo que implica operar con un AG, pasamos a presentar las
ventajas más destacadas que ofrecen:

Paralelismo: Es sin duda una de las características más importantes y que más aportan al método
de los AG. Esto permite acelerar el proceso de búsqueda de una solución óptima al avanzar en más de
una dirección, al contrario que los métodos convencionales, que solo avanzan en una. Por tanto, si la
dirección en la que se está avanzando por un método convencional es errónea y no aporta una solución
’optima, habrá que reiniciar el proceso, mientras que si alguna de las direcciones por las que avanza un
AG no es la mejor, automáticamente dejará de desarrollarse y se tenderá a potenciar otras que aporten
mejores resultados.

Facilidad para encontrar máximo global: Gracias al paralelismo y a trabajar con grandes
poblaciones, un AG es capaz de encontrar máximos globales incluso en funciones con mucho ruido (con
muchos máximos locales). De otra forma, la optimización podría encallarse en un máximo local.

Adaptabilidad: Los AG pueden adaptarse fácilmente a gran cantidad de distintos problemas o


condiciones de un mismo problema. Además, también pueden realizarse combinaciones con otros métodos.
Un buen procedimiento de optimización puede estar basado en una primera aproximación a la solución
mediante un AG, y luego utilizar un método convencional para hallar la solución definitiva a partir de
los resultados previos aportados por el AG.

Simplicidad conceptual: Como se ha podido ver, los conceptos por los que se rige un AG y el flujo
de trabajo que sigue no son complicados de entender. Por tanto, por complicado que sea el problema, de
forma relativamente sencilla puede realizarse una optimización del mismo mediante AG.
6 Los principios básicos de funcionamiento se explicarán más detenidamente en la sección (1.3.3)

ETSI Industriales - 19- Universidad Politécnica de Madrid


INTRODUCCIÓN

Figura 1.21: Ejemplo de flujograma de un AG (Elaboración propia)

Robustez: Un buen AG está caracterizado por su robustez. Esta característica implica que es capaz
de evaluar cualquier individuo, por peculiares que sean sus genes. Gracias a esto y al paralelismo, un AG
es un método de optimización muy utilizado cuando no se conoce con certeza qué implicaciones tiene la
variación de alguna o algunas de las variables, debido a la longitud del cromosoma de los individuos o a
la correlación entre distintos genes.

1.3.2.3. Limitaciones del uso de AG

A pesar de las grandes y obvias bondades que aporta este método, también cuenta con algunas
limitaciones importantes. En [Sivanandam and Deepa, 2007] se recomienda expresamente no utilizar este
método si puede hallarse la solución óptima analíticamente de manera sencilla, realizando una analogía a

ETSI Industriales - 20- Universidad Politécnica de Madrid


Introducción a los Algoritmos Genéticos

lo que conocemos coloquialmente como "matar moscas aa cañonazos". Entre las principales limitaciones
se encontran las siguientes:

Dificultad de asignar fitness: No en todos los problemas es sencillo asignar una bondad a una
solución en particular. Este problema no se atañe a nuestro caso, dado que nuestro fitness no será otro
que el rendimiento del Ciclo Combinado.

Representación del problema: Al igual que sucede con el fitness, en ocasiones es complicado
escoger los genes con los que se compondrán los genotipos o cómo se van a codificar y modificar dichos
genes. Otro problema derivado del realizar un AG con escaso conocimiento de lo anteriormente comentado
reside en la elección de los distintos métodos (de selección, de reproducción, etc) o los valores asignados
a distintos parámetros que definen el algoritmo, como la cantidad de individuos que componen una
generación, la tasa de mutación, etc7 .

Tiempo de cálculo: A pesar de que no es necesario tener bastos conocimientos sobre algoritmos
genéticos ni dominar el efecto de las distintas variables sobre la solución para desarrollar un AG, hacerlo
en estas condiciones puede conllevar a que el algoritmo tarde demasiado tiempo en encontrar la solución
óptima e incluso que no llegue a ella.

Convergencia prematura: Puede suceder que un individuo sea sustancialmente mejor que el resto
de soluciones, de tal forma que su ratio de descendencia es mucho mayor que el del resto de miembros
de la población, provocando a lo largo de pocas iteraciones que toda la población sea semejante a este
individuo, provocando la finalización del algoritmo sin haber dado tiempo a que se produzcan suficientes
mutaciones o reproducciones con valores diferentes, y por tanto obteniendo una solución que puede ser
peor que la que se habría obtenido si el proceso se hubiese prolongado más.

Funciones planas: La situación opuesta a la anterior también es indeseable; una población cuyos
fitness no se diferencien lo suficiente entre ellos puede provocar que al algoritmo le cueste distinguir cuál
es la dirección que optimiza el resultado. Por otra parte, si se da este caso en nuestro problema, esto
significará que el resultado que obtendremos tras finalizar el algoritmo tendrá un fitness muy similar al de
la mejor solución posible, por lo que puede no ser una desventaja extremadamente grande. Una posible
solución si se da este caso sería redefinir la función objetivo de forma que se acentúen los máximos.

1.3.3. Diseño Básico de un Algoritmo Genético

En esta sección vamos a realizar una explicación más detallada de las distintas partes que conforman
un Algoritmo Genético y de las diferentes opciones que existen para confeccionar un algoritmo de este
tipo.

1.3.3.1. Función Objetivo

Como se ha desprendido de lo explicado hasta el momento, la función objetivo no e otra que la


transcripción en lenguaje de matlab (o de la herramienta que se haya elegido para realizar el proceso) del
problema que queremos optimizar.
7 Estos métodos y parámetros se definirán en la sección (1.3.3)

ETSI Industriales - 21- Universidad Politécnica de Madrid


INTRODUCCIÓN

1.3.3.2. Individuos

Un individuo o cromosoma es un vector de valores utilizado para representar una solución en particular.
Cada uno de estos valores que conforman al individuo son los genes. Por tanto, codificar un cromosoma
implica elegir las variables del problema que van a optimizarse. Esta codificación es de crucial importancia
para el éxito del proceso, y debe satisfacer las siguientes necesidades [Sivanandam and Deepa, 2007]:

i) Cada posible solución del espacio de búsqueda tiene que estar codificada mediante un cromosoma.
ii) Toda codificación debe de representar una solución posible.Estos dos criterios tienen que ver con la
robustez del algoritmo.

iii) Debe evitarse la redundancia; cada codificación debe desembocar en una solución, aunque dicha
solución (ese fitness) sí que puede ser alcanzada por distintos individuos.

Una de las primeras decisiones que hay que tomar al diseñar un AG es la codificación con la que vamos
a trabajar. Como se ha comentado, esta puede realizarse de distintas formas; mediante números reales,
lenguajes binario, octal o hexadecimal, o de cualquier otra forma que se desee y ajuste al problema
tratado.

Codificación con números reales 6 60 7 5


Codificación binaria 0000110 1011010 111 101
Codificación octal 006 132 07 05
Codificación hexadecimal 06 5A 07 05

Cuadro 1.1: Distintas representaciones del mismo individuo en un AG (Elaboración propia)

En el cuadro (??) se puede ver cómo un mismo cromosoma puede representarse de distintas formas.
En este caso, se trata de un individuo con cuatro genes o variables, que serían, aplicando el tema del
trabajo, de izquierda a derecha: presión de la línea de baja presión, presión de la de alta, PP de baja y
PP de alta.
El uso del lenguaje binario para codificar las distintas variables ofrece una gran variedad de cromo-
somas y es el lenguaje más usado al desarrollar AG. Por contra, este lenguaje no es natural para muchos
problemas y suele ser necesario realizar correcciones al terminar el proceso. Otra desventaja del uso de
lenguaje binario es que la precisión de las variables dependerá de la longitud de los genes correspondien-
tes; cuando mayor sea el número de bits que codifiquen una variable, con más precisión se representará.
El uso de octal y hexadecimal está menos extendido, y es similar al binario.
Otro parámetro que hay que tener en cuenta, relacionado con los individuos, es el número de indivi-
duos, N , con el que se trabajará en cada iteración. Es decir, el tamaño de la población que se manejará.
Este parámetro está relacionado con la cantidad de variables de las que depende la función objetivo;
cuanto mayor sea el número de genes, mayor será la cantidad de individuos necesaria para asegurar que
se exploran todas las posibilidades y combinaciones. Para dar una idea aproximada del orden de mag-
nitud utilizado, en [Sivanandam and Deepa, 2007] se indica que para un problema con seis variables, es
recomendable utilizar una población de alrededor de cien individuos. Si se cree que se pueden utilizar
menos individuos, o que por contra se deberían utilizar más, se recoienda hacer pruebas con cantidades
distintas de población para un mismo caso, y observar cuál es la solución obtenida y el tiempo que se ha
tardado en alcanzarla.

1.3.3.3. Creación de una nueva Población

Es en el proceso de reproducción y creación de una nueva población donde reside la esencia de la


optimización po Algoritmos Genéticos. Este proceso está compuesto de cuatro subprocesos elementales,
que son:

i) Selección de los progenitores.

ETSI Industriales - 22- Universidad Politécnica de Madrid


Introducción a los Algoritmos Genéticos

ii) Reproducción; cruce de sus genes.


iii) Mutación de parte de los padres o los descendientes.
iv) Reemplazamiento de la población anterior.

1.3.3.4. Proceso de Selección

Es el encargado de que la población mejore con cada iteración que pase, ya que, como se ha comentado,
tanto el proceso de reproducción como el de mutación tienen que producir modificaciones aleatorias sin
tener un objetivo predefinido. Será por tanto mediante los algoritmos de selección como iremos escogiendo
los individuos más fuertes para formar parte de la recombinación, mutación, y reemplazamiento de la
población anterior, con la esperanza de que esta nueva generación mejore con respecto a la anterior. No
se debe olvidar tampoco que el proceso de selección debe ser estocástico y no determinista. Por tanto,
estará marcado por coeficientes de probabilidad que darán prioridad a los individuos más fuertes pero
que permitirán que exista la posibilidad de que todo individuo, por débil que sea, pueda ser elegido.
Esto se representa en el código mediante la presión de selección, que es un parámetro cuyo valor determina
cuánto se favorecerá la elección de individuos con mayores fitness en detrimento del resto. Una baja presión
de seleción aumentará la probabilidad de que se escojan individuos con menor fitness, pero seguirá estando
favorecida la selección de los más fuertes. Un incremento de este parámetro también provoca que el proceso
converja antes, por lo que no es recomendable que sea demasiado alto, a fin de que el AG pueda realizar
las modificaciones suficientes y explorar todas las soluciones posibles. De la misma forma, si la presión
de selección es muy baja, el algoritmo tardará un tiempo excesivo en converger.
Se pueden clasificar los distintos métodos de selección en dos grupos. Por una parte, aquellos que se
basan en el valor absoluto del fitness de cada individuo, y por la otra, aquellos en los que se compara
el fitness de un individuo en particular con el del resto de la población a la hora de seleccionar. Este
segundo método se utiliza cuando los fitness de los distintos cromosomas de población se mueven en un
rango muy estrecho, siendo entonces conveniente pasar dichos fitness a valores relativos comprendidos
entre 0 y 1, que harán que la selección sea más efectiva.
A continuación se detallan los métodos de selección más utilizados para desarrollar AGs:

Selección tipo Ruleta:


Se trata de una de las técnicas tradicionales de selección, y su nombre viene de que el proceso que sigue
puede asimilarse al del giro de una ruleta en el que las secciones correspondientes a cada individuo no
fueran uniformes si no proporcionales al valor del fitness de dicho individuo. Tras esta asignación de
probabilidades, se hace "girar"la ruleta N veces (siendo N el número de seleccionados que queremos
obtener), entrando el individuo en cuyo sector se detuviera la ruleta en el proceso para el cual ha sido
seleccionado (ya sea reprodución, mutación o reeemplazamiento de población) .En la figura (1.22) se
puede observar una representación de cómo se repartirían las probabilidades por este método, y cómo
todos los individuos tienen cierta probabilidad de ser escogidos, siendo esta mayor cuanto mayor es su
rendimiento (η). De la misma forma, puede deducirse que los individuos más fuertes no tienen garantizado
ser seleccionados y que un mismo individuo puede ser elegido varias veces para participar en un mismo
proceso. Por estos motivos, este método tiene una presión de selección moderadamente fuerte Sivanandam
and Deepa [2007].
El método se implementa como sigue:

1) Suma de todos los fitness de la población, T .


2) Repetir N veces:
i) Producir un número aleatorio r ∈ [0, T ].
ii) Realizar un bucle while en el que se van sumando los fitnes de los individuos,
Pn hasta llegar a
un valor de dicha suma mayor o igual a r. El individuo n cuyo fitness hace que i=1 f itnessi ≥r ,
siendo n ≤ N , es elegido.

ETSI Industriales - 23- Universidad Politécnica de Madrid


INTRODUCCIÓN

Figura 1.22: Representación Selección tipo Ruleta (Elaboración propia)

Este método, aunque fácil de implementar, no es del todo recomendable, dado que de haber un individuo
con un fitness mucho mayor que el resto, copará la mayoría de las plazas disponibles, con las consecuencias
negativas que esto tiene.

Selección Aleatoria:
Esta técnica selecciona los progenitores de forma completamente aleatoria, por lo que no se favorece la
elección de los individuos más fuertes.

Selección tipo Ranking:


Este método surge como una alternativa al de tipo Ruleta, para solucionar el problema que este conllevaba
en los casos en que un individuo tuviera un fitness muy superior al resto y ocupase la mayor parte del
área de la ruleta.
Hay distintos tipos de selección por ranking, siendo los más importantes:
Método 1:

1) Se ordenan los individuos en función de su fitness y les asigna un valor de 1 a N (1 al individuo


más débil y N al más fuerte).
2 Repetir N veces;
i) Se escogen dos individuos al azar de la población.
ii) Se selecciona como primer progenitor el individuo con mayor valor asignado.
iii) Se repiten i) y ii) para encontrar al segundo progenitor. Si este progenitor coincide con el
primero, se repite hasta encontrar uno distinto.

Método 2:

1) Se ordenan los individuos en función de su fitness y les asigna un valor de 1 a N (1 al individuo


más débil y N al más fuerte).
2 Repetir N veces;
i) Se escogen dos individuos al azar de la población.
ii) Se genera un número R aleatorio, el cual se valúa con respecto al parámetro r que ha sido
previamente definido (ambos entre 0 y 1). Si R < r, se usa el primer individuo como padre. Por
contra, si R ≥ r, se elige al segundo individuo.
iii) Se repiten i) y ii) para encontrar al segundo progenitor. Si este progenitor coincide con el
primero, se repite hasta encontrar uno distinto.

ETSI Industriales - 24- Universidad Politécnica de Madrid


Introducción a los Algoritmos Genéticos

Selección por torneos:


La gran ventaja de este método es que permite ajustar la presión de selección adaptándose al avance
del AG. La idea de funcionamiento es similar a la del método de rankings, pero las comparaciones no
se hacen entre dos individuos sino entre grupos mayores. Por tanto, se realuzan N torneos en los que
participan un número de individuos inferior al de la población total, y el de mayor fitness se selecciona.
La forma de ajustar la presión de selección es mediante la diferencia entre el fitness del mejor individuo
seleccionado y la media de todos los escogidos.
Cuanto mayor sea el número de soluciones que participen en los torneos, menor será la diversidad final del
grupo seleccionado, pudiendo llegar a una convergencia prematura. Aún así, este método bien aplicado
es más eficiente y desemboca en una solución óptima [Sivanandam and Deepa, 2007].

Seleción Boltzmann:
Este método proviene de una técnica de optimización llamada "de recocido", enfiamiento utilizada para
simular el enfriamiento lento de un metal fundido.
Se introduce el concepto de temperatura, que comienza alta, implicando una presión de selección baja, y va
disminuyendo con el paso del tiempo a la vez que aumenta la presión de selección. Por tanto, al principio
del proceso, los individuos fuertes están poco favorecidos, lo cual va cambiando conforme avanzan las
iteraciones. Esto permite explorar al principio un gran número de posibilidades distintas, y con el avance
del proceso ir enfocando más la búsqueda en la dirección que mejores resultados aporta.
En este proceso, se selecciona automáticamente el cromosoma con mayor fitness, y al resto se le asigna
una probabilidad P de acuerdo con la expresión :
 
−(fmáx − fi )
P = exp (1.10)
T

Siendo: T = To · (1 − α)k y k un parámetro que relaciona la generación actual, g, con la máxima, G,


g

según la ecuación: k = 1 + 100 · G . T o se escoge entre [0,100], y α entre [0,1]. En la elección de estos
parámetros y la estimación del número de generaciones máximo, G, reside la dificultad de implementación
de este método.

Elitismo:
No es un tanto un método de selección como una posibilidad que se puede implementar y conjuntar con
otros métodos. Consiste en reservar uno o varios espacios para los mejores individuos de la generación,
eliminando así la posibilidad existente de que no sean elegidos si el proceso se deja enteramente en manos
de la probabilidad. Implementar el elitismo mejora el funcionamiento de un AG, pero si se reservan dema-
siados espacios puede llevar a disminuir en exceso la diversidad, provocando una convergencia prematura
[Sivanandam and Deepa, 2007].

Muestreo Universal Estocástico:


Este método ofrece un sesgo nulo y una dispersión mínima [Sivanandam and Deepa, 2007]. En él, se
ordenan los individuos de mayor a menor fitness y se sitúan sobre una línea. Se halla la suma de todos
los fitness S, la cual dividida entre el número total de progenitores buscados, N , nos da la distancia
entre los punteros que usaremos para elegir. Para situar el primer puntero, se genera un número aleatorio
entre 0 y el intervalo (S/N ). Tras esto, y con los punteros sobre la recta anteriormente mencionada,
seleccionaremos los individuos sobre cuyo espacio se sitúa algún puntero. En la figura (1.23) se puede
observar un ejemplo del método, aplicado sobre los individuos de la figura (1.22). Debajo encontramos
un ejemplo para la codificación de dicho ejemplo.

N=5;
rends=[0.5, 0.4, 0.3, 0.75, 0.65, 0.68, 0.3, 0.9, 0.92, 0.6];
rends_ord=sort(rends, 'descend');
suma_rends=zeros([1, length(rends)+1]);
suma_rends(1)=0;
for i=2:1:length(rends)+1
suma_rends(i)=suma_rends(i-1)+rends_ord(i-1);
end

ETSI Industriales - 25- Universidad Politécnica de Madrid


INTRODUCCIÓN

Figura 1.23: Ejemplo Muestreo Universal Estocástico (Elaboración propia)

S=0;
for i=1:1:10
S=S+rends(i);
end
intervalo=S/N;
punteros = zeros([1,5]);
punteros(1)=rand*intervalo;
for i=2:1:N
punteros(i)=punteros(i-1)+intervalo;
end
figure(1); hold all;
plot(suma_rends, ones([1, length(rends)+1]));
scatter(punteros, ones([1, N])*1.1);

En este ejemplo, en el que buscamos seleccionar 5 individuos de entre una población de 10. En
dicha figura, los marcadores en forma de cruz roja sobre la línea contínua azul representan los distintos
rendimientos uno a continuación de otro, ordenados de mayor a menor. El segmento contenido entre
las dos primeras cruces pertenece al individuo de fitness máximo, el individuo 1, el siguiente segmento
al individuo 2, y así sucesivamente. Los marcadores en forma de aspa verde indican la posición de los
punteros. Por tanto, en este caso se seleccionarán los individuos 1, 3, 4, 6, y 9.

1.3.3.5. Proceso de Reproduccioón, Recombinación o Cruce

Son los procesos por los que se obtiene la descendencia a partir de dos progenitores obtenidos de
un grupo de posibles padres conocida como "mating pool", previamente seleccionados mediante uno de
los métodos ya explicados. Por tanto, hacen referencia a la forma de intercambiar información entre los
distintos cromosomas de los padres, de manera que se obtienen individuos nuevos. La estructura básica
que siguen los operadores de recombinación es la que sigue:

i) Se escogen dos padres aleatoriamente de la mating pool.


ii) Se establece qué información de cada padre pasará a formar parte de cada hijo (generalmente dos
padres dan lugar a dos hijos, para mantener la cantidad de población) mediante un operador de
cruce.

iii) Se intercambian los genes establecidos, obteniéndose la descendencia.

A continuación se detallan los métodos de selección más utilizados en el desarrollo AGs:

Cruce monopunto:
Es el utilizado tradicionalmente, y el más sencillo de los que se van a discutir. Se genera una posición
aleatoria en los progenitores (la misma en ambos), a partir de la cual los genes se intercambian, dando

ETSI Industriales - 26- Universidad Politécnica de Madrid


Introducción a los Algoritmos Genéticos

Progenitor1 00001101011010 111


Progenitor2 00101011101101 001
Descendiente1 00001101011010 001
Descendiente2 00101011101101 111

Cuadro 1.2: Ejemplo de Cruce Monopunto (Elaboración propia)

lugar a dos hijos: el primero con la primera parte del progenitor1 y la segunda del progenitor2, y el
segundo hijo con la primera parte del progenitor2 y la seguna parte del progenitor1.
En el cuadro, se puede observar cómo dos progenitores dan lugar a dos descendientes, siendo la doble
línea vertical la representación de la posición a partir de la cual se realiza el intercambio de genes.

Cruce multipunto:
Sigue la misma filosofía que el mt́odo anterior, pero permite un mayor intercambio al posibilitar que haya
varios puntos de cruce. Esto implica una pérdida de rendimiento del AG, pero permite explorar el espacio
de búsqueda más a fondo Sivanandam and Deepa [2007]. Generalmente, se da por hecho que el cruce de
dos puntos produce mejores resultados que el mono punto. La eficiencia de un cruce de N -puntos depende
de la posición de los genes en el cromosoma.

Progenitor1 0000 1101011010 111


Progenitor2 0010 1011101101 001
Descendiente1 0000 1011101101 111
Descendiente2 0010 1101011010 001

Cuadro 1.3: Ejemplo de Cruce Bipunto (Elaboración propia)

Cruce Uniforme:
Este método difiere bastante del cruce multipunto, debido al procedimiento utilizado. El proceso de selec-
ción se realiza mediante un vector máscara, que se trata de un vector de igual longitud que un individuo,
es decir, con tantas componentes como genes existan, pero caracterizado porque cada componente es
binaria; puede valer 0 ó 1. Este vector se genera aleatoriamente para cada cruce que se quiera realizar. El
cruce se basa en que el descendiente1 heredará aquellos genes del progenitor1 en cuya posición el vector
máscara tenga un 1, y heredará los genes del progenitor2 en cuya posición el vector máscara tenga un 0.
El descendiente2 se formará por tanto del modo contrario, como puede verse en el siguiente ejemplo: Hay

Progenitor1 0000 1101 011 010 111


Progenitor2 0010 1011 101 101 001
Vector Máscara 1 0 0 1 1
Descendiente1 0000 1011 101 010 111
Descendiente2 0010 1101 011 101 001

Cuadro 1.4: Ejemplo de Cruce Uniforme (Elaboración propia)

que tomar la precaución de evitar la posibilidad de que el vector máscara tome todos los valores nulos o
unos, puesto que esto desembocaría en que no se daría ningún cruce.

Cruce Barajado: Se selecciona un punto de cruce, como en Cruce Monopunto, pero antes de realizar
el intercambio de variables, estas se barajan. Tras esto, se intercambian y se reordenan, deshaciendo el
baraje realizado. Este método elimina todo sesgo posicional, al ser aleatoria la forma en que se barajan
las variables.
Es conveniente resaltar que de los métodos vistos, sólo tiene sentido aplicar a a una codificación con
números reales la de Cruce Uniforme.

ETSI Industriales - 27- Universidad Politécnica de Madrid


INTRODUCCIÓN

Progenitor1 Inicial 1 2 3 4 5
Progenitor2 Inicial 6 7 8 9 10
Progenitor1 Barajado 3 1 5 2 4
Progenitor2 Barajado 8 6 10 7 9
Descendiente1 Barajado 3 1 10 7 9
Descendiente2 Barajado 8 6 5 2 4
Descendiente1 Final 1 7 3 9 10
Descendiente2 Final 6 2 8 4 5

Cuadro 1.5: Ejemplo de Cruce Barajado (Elaboración propia)

Probabilidad de Cruce
No se trata de un método de recombinación, si no que es un importante parámetro que suele implementarse
en estos operadores. Indica qué cantidad de los descendientes de una generación está formada a partir
de operaciones de cruce, y cuánta es simplemente individuos de la generación previa. Por tanto, una
probabilidad de cruce del 100 % significará que toda la descendencia será resultado de un cruce entre dos
progenitores de la población anterior, mientras que una probabilidad de cruce del 0 % conlleva que no se
de reproducción, y la población se mantenga. Esta última opción no excluye que existan las mutaciones
programadas. Es común dar un valor del 100 % a la probabilidad de cruce, pero es conveniente conservar
parte de la población anterior [Sivanandam and Deepa, 2007].

1.3.3.6. Proceso de Mutación

Los operadores de mutación se encargan de producir ligeras modificaciones en los individuos, ya


sean progenitores o descendientes, con el fin de prevenir que el AG se estanque en un máximo local.
Además, palia en cierta medida la pérdida de material genético que supone el avance de las iteraciones,
ya que se obtienen valores de variables nuevos que no se habrían obtenido de otra forma. Por tanto, la
mutación ayuda también a realizar una exploración más intensa del espacio de búsqueda [Holland, 1992],
[Sivanandam and Deepa, 2007]. Las modificaciones deben ser leves y poco frecuentes, dado que si no,
puede transformarse el AG en un método de optimización aleatoria.
Los procesos de mutación están comúnmente regidos, a parte de por el método seleccionado para
llevarlas a cabo, por los siguientes parámetros:

• Número de individuos, y cuáles (progenitores o descendientes), sufrirán mutaciones. Se define al


comienzo del AG.
• Probabilidad de mutación, Pm , la cual indica qué cantidad de genes serán alterados al mutar.

A continuación se van a explicar los métodos de mutación más generalizados:

Mutación por Intercambio:


Se seleccionan dos posiciones aleatorias, y los bits correspondientes a dicha posición se intercambian. En
el siguiente cuadro se muestra un ejemplo, resaltando en negrita las posiciones seleccionadas.

Progenitor 1 0 0 1 1
Descendiente Mutado 1 1 0 1 0

Cuadro 1.6: Ejemplo de Mutación por Intercambio (Elaboración propia)

Mutación por Inversión:


Para llevarla a cabo se utiliza un vector máscara como los vistos en la explicación del Cruce Uniforme. La
inversión implica que en las posiciones en las que el vector m’ascara tenga un 1, el cromosoma invertirá
su valor; es decir, si tenía un cero pasará a tener un 1, y viceversa.

ETSI Industriales - 28- Universidad Politécnica de Madrid


Introducción a los Algoritmos Genéticos

Progenitor 1 0 0 1 1
Vector Máscara 1 0 1 0 0
Descendiente Mutado 0 0 1 1 1

Cuadro 1.7: Ejemplo de Mutación por Inversión (Elaboración propia)

1.3.3.7. Proceso de Reemplazamiento:

Este proceso supone el paso final de la creación de una nueva generación. Como se puede deducir
de lo explicado hasta el momento, al llegar a este punto se tiene una publación total mayor que la
inicialmente deseada, N . Esta nueva población está compuesta de: la generación anterior; la descendencia
proveniente de la recombinación, y la descendencia mutada. Por tanto, el reemplazamiento surge de la
necesidad de ajustar esta población para seleccionar N individuos que configuren finalmente la generación.
Los operadores de reemplazamiento se asemejan a los de selección utilizados para configurar la mating
pool, pero tienen una funcionalidad distinta. Además, el método empleado para llevar a cabo el proceso
de reemplazamiento influirá directamente en la velocidad de convergencia. En [Sivanandam and Deepa,
2007], se dividen estas técnicas en dos grupos:

I) Renovación Generacional Básica: Consiste en generar toda la descendencia necesaria antes


de iniciar cualquier reemplazamiento, y después llevarlo a cabo. Dentro de este tipo de reemplaza-
mientos hay distintas opciones, entre las que podemos destacar dos:
i) Generación de N descendientes a partir de N progenitores, y llevar a cabo una sustitución
completa de los padres. Esto implica que no se podrá realizar una recombinación entre individuos
de distintas generaciones, los que puede implicar un menor rendimiento del AG.
ii) Generación de una cantidad M de descendientes mayor de N , y la selección de los N
mejores individuos, bien únicamente de la descendencia o de la combinación de la descendencia y
la generación anterior.
II) Renovación Continuada: De forma opuesta a los métodos anteriores, en las renovaciones conti-
nuadas se lleva a cabo el reemplazamiento directamente tras la creación de cada descendiente, en
lugar de esperar a obtener toda la descendencia y tras eso realizar el reemplazamiento. Dentro de
este grupo podemos observar los siguientes métodos de reemplazamiento:
i) Sustitución del peor individuo de la población. Este método tiene asociada una alta presión
de selección.
ii) Sustitución del individuo más antiguo de la población anterior.
iii) Reemplazamiento por torneo: análoga a la selección por torneos.
iv) Reemplazamiento del individuo de la población anterior más similar al descendiente.
v) Reemplazamiento Aleatorio: Los dos descendientes sustituyen aleatoriamente a dos proge-
nitores. Este método puede ser útil para explorar el espacio de búsqueda en poblaciones pequeñas,
gracias a la posibilidad de incorporación de individuos débiles.
vi) Reemplazamiento del Padre Débil: Del cuarteto formado por dos progenitores y dos des-
cendientes, se almacenan solo los dos individuos más fuertes. Este método mejora el rendimiento
del AG si se combina con un método de selección que selecciona padres fuertes y débiles, ya que de
lo contrario, no se sustituirán los individuos débiles de la población inicial.
vii) Reemplazamiento de Ambos Padres: Los dos descendientes sustituyen a sus progenitores.
Por tanto, cada individuo se reproduce como máximo una vez, produciendo un movimiento de la
información genética. Esta técnica conlleva a problemas si se combina con un método de selección
que solo elija progenitores fuertes.

1.3.3.8. Finalización de la Búsqueda: Criterio de Convergencia

Como se ha mencionado a lo largo de la sección (1.3), un AG es al fin y al cabo un proceso iterativo.


Por tanto, al desarrollar uno hay que tener en cuenta el diseño de una serie de mecanismos que detengan

ETSI Industriales - 29- Universidad Politécnica de Madrid


INTRODUCCIÓN

el proceso, con el fin de que no se alargue indefinidamente. Un AG puede detenerse debido a que se
alcanzan ciertas limitaciones, o a que se ha alcanzado el criterio de convergencia.
Cuando se introduce una limitación, su objetivo es que el AG no se ejecute durante un período
excesivamente largo de tiempo, pero esto puede llegar a que no sea posible asegurar que se haya encontrado
el máximo absoluto. Entre las limitaciones que se pueden introducir, se destacan los siguientes:

I) Generación Máxima: El AG se detiene al llegar a la generación máxima definida previamente


por el usuario.
II) Tiempo Transcurrido: Similar al anterior; se detiene el proceso cuando se llega a un tiempo
máximo previamente establecido.
III) Igualdad del Fitness: El proceso se detiene si no se produce una variación del fitness del mejor
individuo de la población a lo largo de un número predeterminado de generaciones.
IV ) Generaciones de Parada: La iteración finaliza si el fitness de la población se mantiene durante
varias generaciones.
V ) Tiempo de Parada: Se finaliza el AG si el fitness de la población se mantiene durante un tiempo
predefinido.

Un enfoque distinto para la finalización de un AG es el de los criterios de convergencia. Si se implementa


uno, el programa se ejecutará durante el tiempo necesario para cumplir dicho criterio. A continuación se
enumeran y describen los criterios de finalización más utilizados:

I) Criterio del Mejor Individuo: Se detiene el proceso cuando la diferencia entre el fitness del
individuo más fuerte de una generación y el del más fuerte de una generación anterior es menor que
un valor  previamente definido. Cuanto mayor sea la distancia entre las generaciones comparadas
mejor funcionará el AG, dado que las mutaciones tendrán más tiempo para generar variaciones que
modifiquen positivamente a los individuos. Este método garantiza la obtención de al menos una
buena solución.
II) Criterio del Peor Individuo: Similar al anterior, garantiza que todas las soluciones aportadas
son buenas, y no sólo una, al asegurarnos de que incluso el mínimo fitness ya no mejora lo suficiente.
El inconveniente de este método es que la diferencia entre el mejor y el peor individuo puede ser
pequeña, por lo que se recomienda combinar este método con una imposición de que el individuo
más fuerte alcance un valor mínimo de fitness.
III) Criterio dela Suma: Se compara el criterio de convergencia con la suma de los fitness de una
población entera. Esto garantiza que prácticamente todos los individuos tengan un buen fitness,
aunque para asegurarnos de que todos los individuos lo sean, es recomendable combinarlo con el
Criterio del Peor Individuo. Además, hay que tener en cuenta el tamaño de la población a la hora
de establecer el criterio de convergencia. Muy similar a este sería el Criterio de la Media, en el
que el criterio se aplicaría a la media del fitness de la poblaciión, lo cual elimina la necesidad de
modificar el criterio de convergencia según la cantidad de población deseada.
IV ) Criterio de la Mediana: Con este método, al menos la mitad de los individuos cumplirán con el
criterio de convergencia.

1.3.3.9. Funciones con Restricciones:

Hay que prestar especial cuidado al diseño de un AG en caso de que la función tenga ciertas res-
tricciones sobre sus variables o los resultados, como puede ser que cierta temperatura no supere cierto
valor límite o sea menor que cierto valor umbral. En los casos en los que las variables están acotadas o
relacionadas entre sí mediante alguna ecuación, al proceso se le denomina optimización con restricciones
[Michalewicz, 1991], [Nieto, 2015].
En estos casos, cuando se evalúa un individuo obtenido en la función objetivo, ha de comprobarse que
se cumplen las restricciones establecidas. De no hacerlo, hay tres opciones que pueden tomarse [Nieto,
2015], [Sivanandam and Deepa, 2007], [Michalewicz, 1991]:

ETSI Industriales - 30- Universidad Politécnica de Madrid


Herramientas Utilizadas

• Eliminar directamente dicho individuo. Con esto, todas las soluciones obtenidas cumplirán con las
restricciones.
• Modificar el individuo para que cumpla con la restricción, e introducirlo de nuevo en la poblaciṕn.
De esta forma, también serán válidas todas las soluciones obtenidas.
• No modificar el individuo pero asignarle una penalización para reducir su fitness. De esta forma,
ni se perderá la información genética contenida en él, ni tendrá un fitness muy alto (dado que
puede darse que las soluciones que eluden las restricciones pueden tener un fitness alto). Estas
penalizaciones deben ser proporcionales a la infracción cometida por el individuo.

1.4. Herramientas Utilizadas


Durante la realización del presente trabajo se ha recurrido, además de a la bibliografía, a diversas
herramientas de tipo informático, necesarias para llevar a cabo la tanto las distintas simulaiones como
los procesos de simulación mediante algoritmos genéticos.
A continuación se detallan las herramientas utilizadas:

1.4.1. Matlab

Matlab ("MATrix LABoratory") es un lenguaje de cálculo técnico de alto nivel utilizada para resolver
problemas matemáticos en los que el número de cálculos que hay que llevar a cabo para resolverlos hace
inviable o poco eficiente que se solucionen manualmente. Otras aplicaciones de este software son: aprendi-
zaje automático, procesamiento de señales, procesamiento de imágenes, visión artificial, comunicaciones,
finanzas computacionales, diseño de control, y robótica, entre otros.

Figura 1.24: Logo de Matlab

Este software está optimizado para resolver problemas de ingeniería y científicos, y se adapta perfecta-
mente a las necesidades de cálculo de este TFG. Con él se han desarrollado la totalidad de los programas
llevados a cabo, dado que, además de permitir llevar a cabo gran cantidad de cálculos en un mínimo de
tiempo, es capaz de realizar representar de gráficas y otras figuras, imprescindibles para completar los
programas realizados.

1.4.2. Tablas de Janaf

Para el cálculo de las distintas propiedades termodinámicas del aire y de los gases de combustión
se han utilizado unas ecuaciones cuyos parámetros nos proporcionan, al introducir la temperatura en
grados Kelvin y la presión en bares, obtener el calor específico, la entalpía y la entropía de los siguientes
compuestos: CO2 , H2 O, CO, H2 , N2 . Los coeficientes han sido hallados a partir de las tablas termodiná-
micas JANAF desarrolladas por el National Institute of Standards and Technology (NIST) de los Estados
Unidos, y están incorporadas en el programa "th_prop". Este software entrega resultados en unidades
específicas por unidad de mol, por lo que será necesario modificar los resultados obtenidos para llegar

ETSI Industriales - 31- Universidad Politécnica de Madrid


INTRODUCCIÓN

a unidades específicas por unidad de masa. El modelo termodinámico utilizado es el de gases ideales, y
que las condiciones de referencia son 25◦ C y 1 bar. Según este modelo, se puede calcular la entalpía y la
entropía según las siguientes ecuaciones:

h(T ) = href + cP · (T − Tref ) (1.11)


   
T P
s(T ) = sref + cP · ln · − R · ln + sM (1.12)
Tref Pref
Siendo sM la entropía de mezcla específica, que en este modelo se calcula de la siguiente forma:
X
sM = −R · xi · ln(xi ) (1.13)
i

1.4.3. Diagrama de Mollier: función XSTEAM

El diagrama de Mollier es un diagrama h-s muy utilizado, en el que se representa la evolución de


las propiedades termodinámicas del agua en sus estados líquido y gaseoso normalmente. En él, se pue-
den consultar curvas de presión constante (isóbaras), de temperatura constante (isotermas), de volumen
constante (isócoras), y de título de vapor constante.
Se ha encontrado la función XSteam, programada en lenguaje Matlab, que permite calcular las pro-
piedades del agua para distintas variables de entrada. Esta función sigue la formulación IAPWS IF97
(International Association for Properties of Water and Steam), destaca por su versatilidad y la cantidad
de información que permite obtener, además de poder hacerlo con distintas variables de entrada, como
se verá más adelante.

ETSI Industriales - 32- Universidad Politécnica de Madrid


Justificación del Proyecto

Figura 1.25: Diagrama de Mollier. Fuente: The American Society of Mechanical Engineers (ASME)

1.5. Justificación del Proyecto


El presente proyecto nace de una necesidad académica de conseguir una serie de programas cuyo fin
último sería que el alumno o la persona interesada se inicie su conocimiento de los ciclos combinados y de
las variables que les afectan, y de cómo afectan estas variables, pudiendo interaccionar con los distintos
parámetros de diseño de forma sencilla, obteniendo además la representación de las gráficas características
del ciclo.

ETSI Industriales - 33- Universidad Politécnica de Madrid


INTRODUCCIÓN

También está enfocado a personas que ya conocen los ciclos combinados pero buscan afianzar su
conocimiento de los mismos, pudiendo por ejemplo adquirir un conocimiento más profundo de cómo
diseñar un ciclo combinado para obtener mayor rendimiento, mayor título de vapor a la salida de la
turbina, etc.

1.6. Objetivos del Proyecto


El trabajo consta de los siguientes objetivos claramente, diferenciados pero relacionados entre sí:

1) Modelización de un simulador de Ciclos Combinados: se han desarrollado en lenguaje MATLAB


varios modelos termodinámicos de plantas de potencia. Dentro de este apartado se han realizado
las siguientes modelizaciones:
1.1) Turbina de Gas: definida tanto para rendimientos isentrópicos como para politrópicos.
1.2) Turbina de Vapor con un nivel de presión: es el modelo más sencillo que podría imple-
mentarse.
1.3) Turbina de Vapor con un nivel de presión con desgasificador: introduce la realización de
extracciones, lo cual aumenta el rendimiento de la planta.
1.4) Turbina de Vapor con dos niveles de presión con desgasificador: la utilización de ciclos de
vapor con varios niveles de presión permiten mejorar el aprovechamiento de calor en la Caldera de
Recuperación de Calor al reducir las pérdidas
1.5) Turbina de Vapor con dos niveles de presión con desgasificador y recalentamiento: se
consigue un mayor rendimiento al reintroducir en la Caldera el vapor proveniente de la turbina de
alta presión, además de eliminar el problema de la humedad a la salida de la TV.
2) Optimización de los ciclos de vapor anteriormente expuestos para un ciclo de gas previamente
definido. Para ello se ha utilizado el entorno de programación proporcionado por MATLAB, y se
han desarrollado distintos Algoritmos Genéticos.

3) Valoración cualitativa de los resultados obtenidos a lo largo del proyecto

1.7. Metodoligía seguida


Durante la presente memoria se ha seguido una metodología basada en la explicación inicial de los
conceptos que serán utilizados durante el trabajo, analizándolos e introduciendo figuras explicativas. Tras
esto, el análisis de los distintos programas realizados es similar. En primer lugar se realiza una explicación
de los principios en los que est’an basados y se analizan las distintas partes del código que lo conforman,
y tras esto se analizan los resultados obtenidos por los mismos.
Al final, se ofrece una extensa descripción de los resultados arrojados por los programas de simulación.

ETSI Industriales - 34- Universidad Politécnica de Madrid


Capítulo 2

Modelado de Plantas de Ciclo Combinado


Para diseñar plantas de potencia, tanto de ciclo combinado como de otro tipo, es necesario disponer
de programas que sean capaces de predecir el comportamiento de las mismas, a fin de conseguir centrales
que se ajusten a las exigencias existentes. La existencia de estos programas ayuda también a reducir
el coste de construcción dado que permite determinar las necesidades de los distintos componentes,
evitando tener que modificar alguno de estos debido a que no cumpla con los requisitos establecidos.
Estos programas, además, permiten estudiar cómo afectarán a los principales parámetros de la planta,
que son el rendimiento ηCC , la potencia obtenida WCC , y los costes asociados a la planta (tanto de
inversión como de la energía producida), la modificación de variables internas como el PP, el AP, la
presión de la línea o el número de líneas utilizadas.
En los programas diseñados, se ha llevado a cabo un estudio puramente termodinámico, sin atender
a cuestiones termoeconómicas que pueden determinar en igual o mayor medida las caracterśticas finales
elegidas para la central.
Para realizar el modelado de la planta, se han realizado por separados programas que simulan por
separado los caminos termodinámicos del gas en la TG y del agua en la TV.
En este capítulo se explicarán detalladamente y con ejemplos los programas de simulación desarro-
llados durante el trabajo, tras los cuales se realizarán unos análisis preliminares que más adelante serán
profundizados. Además, al final del capítulo se dedicará una Sección en la que se hará hincapié en las
diferencias entre los rendimientos isentrópico y politrópico, y cómo se ha implementado este concepto en
los programas.

2.1. Simulación de la Turbina de Gas


El ciclo termodinámico escogido para el modelo es el del montaje en eje simple, explicado en la Sección
(1.2.3), a pesar de que no es la configuración que más rendimiento tiene, dado que es el más generalizado
en la industria.

2.1.1. Desarrollo Termodinámico del Ciclo

Figura 2.1: Diagrama T s de la TG (Elaboración propia)

En la figura (2.1) se pueden observar los distintos puntos característicos en base a los cual se ha
desarrollado el programa. A continuación, se detalla cada uno de ellos y su proceso de obtención:

ETSI Industriales - 36- Universidad Politécnica de Madrid


Simulación de la Turbina de Gas

1: Entrada de aire en condiciones ambientales. Tanto la temperatura como la presión am-


biental son variables de entrada, y la composición del aire se supone fija, siendo esta: 21 % de oxígeno y
79 % de nitrógeno 1 . Por tanto, es inmediata la caracterización de este punto 2 .

1p: Aire tras sufrir una ligera pérdida de presión debido a la aspiración del compresor.
La temperatura se mantiene constante, y la pérdida de presión en los filtros del compresor es una variable
de entrada.

Figura 2.2: Detalle de los puntos 1 y 1p (Elaboración propia)

2s: Aire tras sufrir una compresión ideal isentrópica. Dicha compresión se da desde el punto
1p hasta la misma presión que el punto 2. Se obtiene a partir de la suposición de compresión isentrópica
y de la presión del punto 1, además de la relación de compresión en el compresor, ρCC , que es un dato de
entrada. Con estos datos se puede obtener la entropía y la presión en el punto 2s, tras lo cual se puede
obtener el resto de propiedades termodinámicas necesarias; temperatura y entalpía.

s2s = s1p
(2.1)
p2s = p1 · ρCC

2: Aire comprimido según un proceso no isentrópico. Se obtiene a partir de las propiedades


de los puntos 1 y 2s, y del rendimiento isentrópico del compresor 3 . Siendo el rendimiento isentrópico de
un compresor el indicado por la ecuación (2.2), es inmediato obtener la entalpía del punto 2, h2 . Además,
como p2 = p2s , ya se tienen las dos propiedades necesarias para calcular el resto.
h2s − h1p
ηSC = (2.2)
h2 − h1p

3: Gases de combustión comprimidos. Tras la introducción del combustible, tiene lugar la


combustión con el aire comprimido en la cámara de combustión, y salen los gases de combustión a una
elevada presión y temperatura. En este caso se ha escogido que sea metano puro (CH4 ) para simplificar
el proceso y dado que el gas natural (combustible más utilizado en centrales de ciclo combinado) está
compuesto en su gran mayoría por alrededor de un 90 % de metano. Además, se ha impuesto la condición
de que la combustión será completa, es decir, no sobrarán reactivos que pudieran haber reaccionado.
Esto no significa que la reacción sea estequiométrica, ya que será una combustión pobre y por por lo que
sobrará aire.
1 Porcentajes referidos a un mol de aire.
2 Se recuerda que el cálculo de las distintas propiedades de los compuestos relacionados con el proceso se han calculado
mediante el programa th_prop
3 Tras la caracterización del programa de la TG se realizará una aclaración de los conceptos de rendimiento isentrópico

y politrópico, además de presentar las modificaciones realizadas en el programa para adaptarlo al rendimiento politrópico.

ETSI Industriales - 37- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

La reacción que tendrá lugar en el cámara de combustión es la siguiente:

CH4 + 2 · (O2 + 3,76 · N2 ) · f → CO2 + 2 · H2 O + 2 · 3,76 · f · N2 + 2 · (f − 1) · O2 (2.3)

En esta expreción, f hace referencia a la cantidad extra de aire añadido.


Para calcular las propiedades del punto 3 se hará uso de los siguientes conceptos:

- Dosado: El dosado hace referencia a la cantidad relativa de combustible introducida con respecto a
la de aire. Se trata por tanto de la relación F de caudales del combustible y el aire (ecuación 2.4). Se
define también el dosado relativo, Fe , como el dosado de la reacción de combustión estequiométrica,
que es aquella en la que se introduce la cantidad justa de aire para que no sobre combustible
ni oxígeno al acabar la reacción. En este caso, el proceso estequiométrico equivale a que en la
expresión (2.3), f = 1. Por último, otro parámetro a tener en cuenta relacionado con el dosado es
el dosado relativo, FR , que representa la relación entre el dosado utilizado en una combustión con
el estequiométrico de ese combustible. A continuación se representan las ecuaciones relacionadas a
estos tres conceptos:
·
mf Mmolar CH4 4 + 12
F = · = = (2.4)
ma 2 · Mmolar aire · f 2 · (32 + 3,76 · 28) · f
·
!
mf Mmolar CH4 4 + 12
Fe = · = = = 0,0584 (2.5)
ma 2 · Mmolar aire · 1 2 · (32 + 3,76 · 28)
esteq

F 1
FR = = (2.6)
Fe f
- Rendimiento de la Cámara de Combustión: Se define como la relación entre la cantidad de
calor obtenida tras la reacción de combustión y la máxima cantidad de calor que el combustible es
capaz de aportar. Se utiliza el PCI para calcular esta cantidad
 de calor que el combustible es capaz
kJ
de aportar, que en el caso del metano es HC = 50046,71 . Por tanto, la expresión de este
kg
rendimiento es:
· · ·
(ma + mf ) · h3 − ma · h2 (1 + F ) · h3 − h2
ηCComb = · = (2.7)
m f · HC F · HC

Con esto, y la temperatura de salida de los GGCC de la cámara de combustión, que es un dato de entrada,
se podrá calcular f tras un proceso iterativo, ya que es el único elemento que falta y es necesario para el
modelado de la planta. Además de la temperatura, también se dispone de la presión p3 , que será la del
punto 2 menos una pérdida de carga.

4s: Gases de combustión tras sufrir una expansión ideal isentrópica. Esta expansión tiene
lugar desde el punto 3 hasta uno de presión p4s conocida, al ser la ambiental más las pérdidas de presión
que tienen lugar en la caldera de recuperación de calor, y de misma entropía:

s4s = s3
(2.8)
p4s = p1 + ∆PCRC

4: Gases de combustión expansionados según un proceso no isentrópico. El método de


cálculo de las propiedades termodinámicas de este punto es similar al utilizado para el punto 2. En este
caso, el rendimiento isentrópico de la turbina de gas se define según la ecuación (2.9). Habiendo obtenido
de dicha ecuación la entalpía en el punto 4, y sabiendo que p4 = p4s , es inmediato obtener la temperatura
y entropía.
h3 − h4
ηST = (2.9)
h3 − h4s

ETSI Industriales - 38- Universidad Politécnica de Madrid


Simulación de la Turbina de Gas

5: Gases de combustión fríos. Este punto es resultado del enfriamiento de los gases de combustión
en su paso por la CRC, tras haber cedido calor al Ciclo de Vapor. Conocemos la presión, que será la
atmosférica, y en este programa se dará una primera aproximación a la temperatura de estos gases. Como
se ha comentado en la Sección (1.2.3.1), el rendimiento global del ciclo aumentará cuanto mayor sea el
intercambio de calor en la caldera de recuperación de calor, y por tanto, cuanto menor sea la temperatura
de los gases de combustión en este punto. Por otra parte, esta temperatura no puede ser tan pequeña
como se quiera, si no que tiene que ser mayor que un mínimo marcado por la temperatura de rocío
de estos gases de combustión. Se ha encontrado en [Renovetec, -] que esta temperatura mínima oscila
para el gas natural entre los 50 y los 60 ◦ C, por lo que se ha tomado 60 ◦ C a fin de elegir el valor más
conservador. Este valor podrá variar tras ejecutar los programas del Ciclo de Vapor, dado que en algunos
casos el agua entra en la caldera a una temperatura mayor de 60◦ C, por lo que es imposible que los gases
de combustión alcancen dicha temperatura.
Tras esto, ya se dispone de la información de todos los puntos, y se podrán realizar las gráficas
pertinentes (T s y hs), además de calcular otras variables como el trabajo consumido por el compresor,
el trabajo desarrollado por la turbina, y el rendimiento del ciclo de gas.

2.1.2. Variables de Diseño

function [t4, t5, x, Fr, ratio_gasescomb_aire, w, rend_TG] = CicloGas( t1, p1, p2_1p, ...
rend, perd_carga, t3, t5, grafica, clearfigures)
% CICLO DEL GAS
%% Desarrollador: Joaquin Corredoyra Alcaraz
% Tutor: Ruben Abbas Camara
% U.D. Motores Termicos
% ETS Ingenieros Industriales
% Universidad Politecnica de Madrid
% 2016

El objetivo de este programa es el de simular el ciclo de gas explicado para condiciones estacionarias. Para
ello, se ha tenido que recurrir a ciertas variables de entrada establecidas por el usuario, necesarias para
poder realizar los cálculos mencionados anteriormente. A continuación se recogen las distintas variales de
entrada y de salida que utiliza y produce el programa, respectivamente:
Argumentos de Entrada:

- t1: Temperatura ambiente del aire, en grados Kelvin.

- p1: Presión ambiente del aire, en bares.


- p2_1p: Relación de compresión en el el compresor.
- rend: Vector de tres componentes que contiene los siguientes rendimientos:
· rend(1): Rendimiento isentrópico del compresor, rend_s_compr.
· rend(2): Rendimiento de la cámara de combustión, rend_cald_comb.
· rend(3): Rendimiento isentrópico de la turbina de gas, rend_s_turb.
- perd_carga: Vector de tres componentes que contiene las siguientes pérdidas de carga, en %:
· perd_carga(1): Pérdidas de carga en los filtros del compresor, perd_carga_filtros.
· perd_carga(2): Pérdida de presión en la cámara de combustión, perd_carga_CC.
· perd_carga(3): Pérdida de carga en la caldera de recuperación de calor, perd_carga_CRC.
- t3: Temperatura de los gases de combustión a la salida de la cámara de combustión.
- t5: Temperatura de salida de los gases de combustión de la CRC.

- grafica: Variable que puede valer 1 ó 0. De valer 1, el programa realizará una gráfica T s y una hs.

ETSI Industriales - 39- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

- clearfigures: Variable que puede valer 1 ó 0. De valer 1, borra las gráficas anteriormente realizadas
para dibujar las nuevas. De valer 0, dibujará las nuevas gráficas superponiéndolas con las anteriores,
pudiendo así comparar distintos procesos.

Argumentos de Salida:

- t4: Temperatura de salida de la turbina de gas de los gases decombustión, en ◦ C.


- t5: Temperatura de salida de la CRC de los gases decombustión, en ◦ C.
- x: Vector de cuatro componentes que contiene las fracciones molares de los gases de combustión:
· x(1): Fracción molar del CO2 , x_CO2.
· x(2): Fracción molar del H2 O, x_HO2.
· x(3): Fracción molar del N2 , x_N2.
· x(4): Fracción molar del O2 , x_O2.
- Fr: Dosado relativo.
- ratio_gasescomb_aire: Relación entre los caudales másicos de los gases de combustión y del aire
· · ·
mgases comb maire + mf
de entrada al ciclo de gas; ratio = · = · =1+F .
maire maire
 
kJ
- w: Vector de dos componentes que contiene las siguientes trabajos específicos, en :
kgaire
· w(1):Trabajo específico consumido por el compresor, w_compr.
· w(2): Trabajo específico realizado por la turbina, w_turb.
- rend_TG: Rendimiento del ciclo gas (ecuación 1.7) en tanto por cien.

2.1.3. Programa CicloGas


Una vez detallados los fundamentos utilizados para el cálculo de los puntos, y enumeradas las variables
que será necesario proporcionar al programa, así como las que el programa proporcionará al haberse
ejecutado, se va a mostrar parte del código del programa para el mejor entendimiento del mismo.

2.1.3.1. Inicialización del Programa

El programa comienza con una breve descripción comentada de su funcionalidad, de los inputs y
outputs que tiene, y de las unidades utilizadas durante el programa. A esto le sigue una asignación de
valores predeterminados o default de los rendimientos y pérdidas de carga. Para recurrir a ellos, el usuario
debe introducir el valor -1 en la posición correspondientedurante la llamada a la función. Además, se
J
definen tanto la constante de los gases ideales, R = 8,314 , como el PCI del metano.
mol · K

% PARAMETROS DEFAULT
if rend==-1
rend=[0.88,0.98,0.93];
end
rend_s_compr=rend(1);
rend_cald_comb=rend(2);
rend_s_turb=rend(3);
if perd_carga==-1
perd_carga=[3, 3, 3];
end
perd_carga_filtros=perd_carga(1);
perd_carga_CC=perd_carga(2);
perd_carga_CRC=perd_carga(3);
R=8.314;
Hc=50046.71*16.04246;

ETSI Industriales - 40- Universidad Politécnica de Madrid


Simulación de la Turbina de Gas

2.1.3.2. Obtención de los puntos principales de los diagramas

A continuación se calculan los distintos puntos del proceso, tal y como se ha explicado en la Sección
(2.1.1).

% 1:
h1=0.21*th_prop('h','O2', t1)+0.79*th_prop('h', 'N2', t1);
s1=0.21*th_prop('s','O2', t1)+0.79*th_prop('s', 'N2', t1)- ...
R*(log(p1/1)+0.21*log(0.21)+0.79*log(0.79));

% 1p:
p1_p=p1*(1-perd_carga_filtros/100);
h1_p=h1;
s1_p=s1-R*log(p1_p/p1);

% 2:
%2s:
s2s=s1_p;
p2=p2_1p*p1_p; %p2s=p2;
options=optimoptions('fsolve', 'Display', 'off');
t2s=fsolve(@(t)(0.21*th_prop('s','O2', t)+0.79*th_prop('s', 'N2', t)- ...
R*(log(p2/1)+(0.21*log(0.21)+0.79*log(0.79)))-s1_p),t1+250,options);
h2s=0.21*th_prop('h','O2', t2s)+0.79*th_prop('h', 'N2', t2s);
%2:
h2=(h2s-h1_p)/rend_s_compr+h1;
t2=fsolve(@(x)(0.21*th_prop('h','O2', x)+0.79*th_prop('h', 'N2', x)-h2), t2s+30,options);
s2=0.21*th_prop('s','O2', t2)+0.79*th_prop('s', 'N2', t2)- ...
R*(log(p2/1)+0.21*log(0.21)+0.79*log(0.79));

Para la obtención de ciertas propiedades se ha recurrido a la función fsolve, utilizada para resolver
sistemas de ecuaciones no lineales. Esto ahorra tener que iterar con bucles, lo cual demoraría en exceso
el programa. En este caso, se utiliza fsolve para calcular la temperatura en el punto 2s a partir del
conocimiento de su entropía y presión. La variable options se define una vez en el programa, y sirve para
evitar que fsolve muestre sus resultados por pantalla.
Del resto de puntos, cabe destacar solo la obtención del dosado a partir punto 3, ya que el proceso de
obtención de los puntos 4 y 5 es similar al mostrado hasta ahora. Como puede observarse a continuación,
se utilizan las fsolve, la ecuación química de la reacción (2.3), la ecuación del rendimiento de la cámara
de combustión (2.7), y las ecuaciones de los dosados, (2.4), (2.5), y (2.6) para hallar f . Una vez obtenido
f , se pueden hallar los
P dosados y las distintas fracciones molares. A partir de estas últims, se puede
calcular el sumatorio i xi · ln(xi ) de la entropía de mezcla de estos gases de combustión, el cual se
almacena en sM(2).

% 3:
% REACCION:
% CH4+2f*(O2+3.76*N2)-->CO2+2*H2O+2f*3.76*N2+2(f-1)*O2
% rend=((1+F)*h3-h2)/(F*Hc)
% ALGORITMO DOSADO
Fe=16.04246/(2*(32+3.76*28));
f=fsolve(@(f)(1/(1+2+2*3.76*f+2*(f-1)))*(th_prop('h','CO2',t3)+2*th_prop('h','H2O',t3)+ ...
2*3.76*f*th_prop('h','N2',t3)+2*(f-1)*th_prop('h','O2',t3))- ...
(rend_cald_comb*Hc*Fe/f+h2)/(1+Fe/f),1/(0.6*Fe),options);
Fr=1/f;
F=Fr*Fe;
nt=1+2+2*3.76*f+2*(f-1);
x_CO2=1/nt; x_H2O=2/nt; x_N2=2*3.76*f/nt; x_O2=2*(f-1)/nt;
x=[x_CO2, x_H2O, x_N2, x_O2];
sM=[0.21*log(0.21)+0.79*log(0.79) , ...
x(1)*log(x(1))+x(2)*log(x(2))+x(3)*log(x(3))+x(4)*log(x(4))];

p3=p2(1-perd_carga_CC/100);
h3=x(1)*th_prop('h','CO2',t3)+x(2)*th_prop('h','H2O',t3)+x(3)*th_prop('h','N2',t3)+ ...
x(4)*th_prop('h','O2',t3);
s3=x(1)*th_prop('s','CO2',t3)+x(2)*th_prop('s','H2O',t3)+x(3)*th_prop('s','N2',t3)+ ...
x(4)*th_prop('s','O2',t3)- R*(sM(2)+log(p3/1));

ETSI Industriales - 41- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

A continuación, como se ha mencionado en la Sección (1.4.2), se procede a cambiar las unidades de


J J kJ
entalpías y entropías de a = ;
mol g kg

% Paso de unidades a J/g=kJ/kg o J/g*K=kJ/kg*K:


MW_aire=0.21*eval(['MolWeight.' 'O2'])+0.79*eval(['MolWeight.' 'N2']);
MW_gases_comb=x(1)*eval(['MolWeight.' 'CO2'])+x(2)*eval(['MolWeight.' ...
'H2O'])+x(3)*eval(['MolWeight.' 'N2'])+x(4)*eval(['MolWeight.' 'O2']);
MW=[MW_aire, MW_gases_comb];
h1=h1/MW(1); s1=s1/MW(1);
h1_p=h1_p/MW(1); s1_p=s1_p/MW(1);
h2s=h2s/MW(1); s2s=s2s/MW(1);
h2=h2/MW(1); s2=s2/MW(1);
h3=h3/MW(2); s3=s3/MW(2);
h4s=h4s/MW(2); s4s=s4s/MW(2);
h4=h4/MW(2); s4=s4/MW(2);
h5=h5/MW(2); s5=s5/MW(2);

2.1.3.3. Representación Gráfica

Una vez obtenidos todos los puntos del ciclo en las unidades deseadas para su representación, el
programa pasa a evaluar las variables grafica y clearfigures, con el fin de realizar las gráficas pedidas.

%% % GRAFICAS % % %
if grafica==1;
if clearfigures
figure(1);
clf
figure(2);
clf
end
[¬,¬,¬]=isobaras_TG(p, x, sM, MW);
[T,H,S]=intermedios_caldera(h, t, p, x,sM, MW);
t=t-273.15;
T=T-273.15;
% GRAFICA H-S
figure(1); hold all;
plot([S(1,:), s(4), S(3,:), s(7), S(5,:)],...
[H(1,:), h(4), H(3,:), h(7), H(5,:)], 'color', [0.635 0.078 0.184],'linewidth', 2);
% 1-1p ; 1p-2; 2-3 ; 3-4 ; 4-5 ;
plot([s(2), s(3), S(2,:)],...
[h(2), h(3), H(2,:)],'color', [0 0.5 0], 'linestyle', '--','linewidth', 2);
% 1p---->2s , 2s-2
plot([s(5), s(6), S(4,:)],...
[h(5), h(6), H(4,:)],'color', [0 0.5 0], 'linestyle', '--','linewidth', 2);
% 3---->4s , 4s-4
plot([s(8), S(6,:)],...
[h(8), H(6,:)],'color', [0 0.5 0], 'linestyle', '--','linewidth', 2);
% 5------>1; no se si es necesario
% GRAFICA T-S
figure(2); hold all; %diagrama T-s
plot([S(1,:), s(4), S(3,:), s(7), S(5,:)],...
[T(1,:), t(3), T(3,:), t(6), T(5,:)],'color', [0.635 0.078 0.184],'linewidth', 2);
% 1-1p ; 1p-2; 2-3 ; 3-4 ; 4-5
plot([s(2), s(3), S(2,:)],...
[t(1), t(2), T(2,:)],'color', [0 0.5 0], 'linestyle', '--','linewidth', 2);
% 1p---->2s , 2s-2
plot([s(5), s(6), S(4,:)],...
[t(4), t(5), T(4,:)],'color', [0 0.5 0], 'linestyle', '--','linewidth', 2);
% 3---->4s , 4s-4
plot([s(8), S(6,:)],...
[t(7), T(6,:)],'color', [0 0.5 0], 'linestyle', '--','linewidth', 2);
% 5------>1; no se si es necesario
end

ETSI Industriales - 42- Universidad Politécnica de Madrid


Simulación de la Turbina de Gas

Se han realizado dos programas de apoyo para dibujar las gráficas. El primero de ellos, isobaras_TG,
genera las isobaras de las distintas presiones que intervienen en el ciclo. El resultado de este programa
son por tanto las curvas de color negro sobre las que se representarán el resto. Esta función toma como
variables de entrada:

- p: Vector con las presiones del ciclo, ordenadas de la siguiente forma: p=[p1, p1_p, p2, p3, p4, p5].
- x: Vector de cuatro componentes que contiene las fracciones molares de los gases de combustión,
tal y como se ha indicado en la Sección (2.1.2).
P
- sM: Vector de dos componentes que contiene los sumatorios i xi · ln(xi ) del aire en la primera
componente y de los gases de combustión, en la segunda componente.
- MW: Vector de dos componentes con las masas molares del aire y de los gases de combustión.

Como argumentos de salida, se obtienen un vector y dos matrices: T, H, y S. T es un vector que representa
distintas temperaturas, desde 300 hasta 2000 grados Kelvin. Las dos matrices contendrán tantas filas
como componentes tiene p, y en cada una de ellas habrá almacenado un vector con la evolución de la
entalpía o la entropía para dicha presión, y para las temperaturas contenidas en T. Al final del programa,
dibujarán las citadas isóbaras en la gráfica correspondiente, la T s o la hs.

function [T,H,S] = isobaras_TG( p, x, sM, MW)


%% Desarrollador: Joaquin Corredoyra Alcaraz
%Tutor: Ruben Abbas Camara
%U.D. Motores Termicos
%ETS Ingenieros Industriales
%Universidad Politecnica de Madrid
%2016
%%
load janafJ.mat;
R=8.314;
puntos=50;
T=linspace(300,2000,puntos);
H=zeros([6 puntos]);
S=zeros([6 puntos]);

%p1
for i=1:1:puntos;
H(1,i)=(0.21*th_prop('h','O2', T(i))+0.79*th_prop('h', 'N2', T(i)))/MW(1);
S(1,i)=(0.21*th_prop('s','O2', T(i))+0.79*th_prop('s', 'N2', ...
T(i))-R*(log(p(1)/1)+sM(1)))/MW(1);
end
%p1_p
for i=1:1:puntos;
H(2,i)=(0.21*th_prop('h','O2', T(i))+0.79*th_prop('h', 'N2', T(i)))/MW(1);
S(2,i)=(0.21*th_prop('s','O2', T(i))+0.79*th_prop('s', 'N2', ...
T(i))-R*(log(p(2)/1)+sM(1)))/MW(1);
end

%p2-->incluye 2s y 2
for i=1:1:puntos;
H(3,i)=(0.21*th_prop('h','O2', T(i))+0.79*th_prop('h', 'N2', T(i)))/MW(1);
S(3,i)=(0.21*th_prop('s','O2', T(i))+0.79*th_prop('s', 'N2', ...
T(i))-R*(log(p(3)/1)+sM(1)))/MW(1);
end
%p3
for i=1:1:puntos;
H(4,i)=(x(1)*th_prop('h','CO2',T(i))+x(2)*th_prop('h','H2O',T(i))+ ...
x(3)*th_prop('h','N2',T(i))+x(4)*th_prop('h','O2',T(i)))/MW(2);
S(4,i)=(x(1)*th_prop('s','CO2',T(i))+x(2)*th_prop('s','H2O',T(i))+ ...
x(3)*th_prop('s','N2',T(i))+x(4)*th_prop('s','O2',T(i))- ...
R*(sM(2)+log(p(4)/1)))/MW(2);
end
%p4-->incluye 4s y 4
for i=1:1:puntos;
H(5,i)=(x(1)*th_prop('h','CO2',T(i))+x(2)*th_prop('h','H2O',T(i))+ ...
x(3)*th_prop('h','N2',T(i))+x(4)*th_prop('h','O2',T(i)))/MW(2);

ETSI Industriales - 43- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

S(5,i)=(x(1)*th_prop('s','CO2',T(i))+x(2)*th_prop('s','H2O',T(i))+ ...
x(3)*th_prop('s','N2',T(i))+x(4)*th_prop('s','O2',T(i))-R*(sM(2)+log(p(5)/1)))/MW(2);
end
%p5
for i=1:1:puntos;
H(6,i)=(x(1)*th_prop('h','CO2',T(i))+x(2)*th_prop('h','H2O',T(i))+ ...
x(3)*th_prop('h','N2',T(i))+x(4)*th_prop('h','O2',T(i)))/MW(2);
S(6,i)=(x(1)*th_prop('s','CO2',T(i))+x(2)*th_prop('s','H2O',T(i))+ ...
x(3)*th_prop('s','N2',T(i))+x(4)*th_prop('s','O2',T(i))-R*(sM(2)+log(p(6)/1)))/MW(2);
end

T=T-273.15; % Paso a Celsius

%%GRAFICA
figure(1); hold all; %diagrama h-s
for i=1:1:6
plot(S(i,:),H(i,:),'Color','k','linewidth', 1);
end
xlabel('Specific Entropy (kJ/(kg C))');
ylabel('Specific Enthaply (kJ/kg)');

figure(2); hold all; %diagrama T-s


for i=1:1:6
plot(S(i,:),T(:),'Color','k','linewidth', 1);
end
xlabel('Specific Entropy (kJ/(kg C))');
ylabel('Temperature (C)');
end

El segundo programa de apoyo para las gráficas es intermedios_TG, y su función es calcular las curvas
intermedios entre los distintos puntos del ciclo. Sus variables de entrada son:

- h: Entalpías de los puntos del ciclo, según el orden: h=[h1, h1_p, h2s, h2, h3, h4s, h4, h5].
- t: Temperaturas de los puntos del ciclo, según el orden: t=[t1, t2s, t2, t3, t4s, t4, t5].
- Resto: las mismas variables que para isobaras_TG; p, x, sM, y MW.

El programa saca como resultados tres matrices; T, H, y S. Estas contienen puntos intermedios entre los
principales del ciclo, que han sido previamente calculados en el programa CicloGas, con las propiedades
a las que hacen referencia; temperaturas, entalpías y entropías, respectivamente. Este programa no dibuja
si no que entrega las matrices, con las que más tarde se realizarán las gráficas.
A pesar de que es un programa sencillo, conviene resaltar que las curvas entre los puntos 2 y 3 no
son de una mezcla constante, si no que se trata de una evolución en la que hay una reacción. Por tanto,
se introduce la variable j que representa el grado de avance de la reacción: en el primer punto, j(1), se
tiene solo aire comprimido, y en j(puntos) se tienen solo gases de combustión. En las curvas entre 5 y
1, aunque no hay ninguna reacción, y ese paso no se da en la realidad ya que los gases de combustión
no retornan a su estado de aire, se ha utilizado también j para cerrar el ciclo, aunque se señaliza con la
línea verde intermitente que indica que no se trata de un proceso real.

function [ T, H, S ] = intermedios_TG( h, t, p, x, sM, MW)


%% Desarrollador: Joaquin Corredoyra Alcaraz
%Tutor: Ruben Abbas Camara
%U.D. Motores Termicos
%ETS Ingenieros Industriales
%Universidad Politecnica de Madrid
%2016
%%

load janafJ.mat;
R=8.314;
puntos=50;
nlineas=6;
T=zeros([nlineas puntos]);
H=zeros([nlineas puntos]);

ETSI Industriales - 44- Universidad Politécnica de Madrid


Simulación de la Turbina de Gas

S=zeros([nlineas puntos]);

%1-->1p :la entalpia no varia al no variar T, y la variacion de presion afecta a la entropia


T(1,:)=t(1);
H(1,:)=h(1);
T(1,:)=t(1);
P=linspace(p(1),p(2),puntos);
for i=1:1:puntos
S(1,i)=(0.21*th_prop('s','O2', t(1))+0.79*th_prop('s', 'N2', ...
t(1))-R*(log(P(i)/1)+sM(1)))/MW(1);
end
%1p-->2s :recta
%2s-->2: queremos que siga la isobara de p2 [p(3)]
T(2,:)=linspace(t(2), t(3), puntos);
for i=1:1:puntos;
H(2,i)=(0.21*th_prop('h','O2', T(2,i))+0.79*th_prop('h', 'N2', T(2,i)))/MW(1);
S(2,i)=(0.21*th_prop('s','O2', T(2,i))+0.79*th_prop('s', 'N2', ...
T(2,i))-R*(log(p(3)/1)+sM(1)))/MW(1);
end
%1p-->2 :recta
%2-->3 :casi isobara; perdidas de presion. Esta teniendo lugar la reaccion ...
CH4+2f*(O2+3.76*N2)-->CO2+2*H2O+2f*3.76*N2+2(f-1)*O2
P=linspace(p(3),p(4),puntos);
T(3,:)=linspace(t(3),t(4),puntos);
j=linspace(0,1,puntos); %de esta forma S(3,1)=s2 y S(3,puntos)=s3
for i=1:1:puntos
H(3,i)=(1-j(i))*(0.21*th_prop('h','O2', T(3,i))+0.79*th_prop('h', 'N2', ...
T(3,i)))/MW(1)+j(i)*(x(1)*th_prop('h','CO2',T(3,i))+ ...
x(2)*th_prop('h','H2O',T(3,i))+x(3)*th_prop('h','N2',T(3,i))+ ...
x(4)*th_prop('h','O2',T(3,i)))/MW(2);
S(3,i)=(1-j(i))*(0.21*th_prop('s','O2', T(3,i))+0.79*th_prop('s', 'N2', ...
T(3,i))-R*(log(P(i))+sM(1)))/MW(1)+j(i)*(x(1)*th_prop('s','CO2',T(3,i))+ ...
x(2)*th_prop('s','H2O',T(3,i))+x(3)*th_prop('s','N2',T(3,i))+ ...
x(4)*th_prop('s','O2',T(3,i))-R*(log(P(i))+sM(2)))/MW(2);
end
%3-->4s : recta
%3-->4 : recta
%4s-->4
T(4,:)=linspace(t(5),t(6),puntos);
for i=1:1:puntos
H(4,i)=(x(1)*th_prop('h','CO2',T(4,i))+x(2)*th_prop('h','H2O',T(4,i)) ...
+x(3)*th_prop('h','N2',T(4,i))+x(4)*th_prop('h','O2',T(4,i)))/MW(2);
S(4,i)=(x(1)*th_prop('s','CO2',T(4,i))+x(2)*th_prop('s','H2O',T(4,i))+ ...
x(3)*th_prop('s','N2',T(4,i))+x(4)*th_prop('s','O2',T(4,i))- ...
R*(sM(2)+log(p(5)/1)))/MW(2);
end
%4-->5
P=linspace(p(5),p(6),puntos);
T(5,:)=linspace(t(6),t(7),puntos);
for i=1:1:puntos
H(5,i)=(x(1)*th_prop('h','CO2',T(5,i))+x(2)*th_prop('h','H2O',T(5,i))+ ...
x(3)*th_prop('h','N2',T(5,i))+x(4)*th_prop('h','O2',T(5,i)))/MW(2);
S(5,i)=(x(1)*th_prop('s','CO2',T(5,i))+x(2)*th_prop('s','H2O',T(5,i))+ ...
x(3)*th_prop('s','N2',T(5,i))+x(4)*th_prop('s','O2',T(5,i))- ...
R*(sM(2)+log(P(i)/1)))/MW(2);
end
%5-->1
T(6,:)=linspace(t(7),t(1),puntos);
j=linspace(0,1,puntos); %de esta forma S(6,1)=s5 y S(6,puntos)=s1
for i=1:1:puntos
H(6,i)=j(i)*(0.21*th_prop('h','O2', T(6,i))+0.79*th_prop('h', 'N2', ...
T(6,i)))/MW(1)+(1-j(i))*(x(1)*th_prop('h','CO2',T(6,i))+ ...
x(2)*th_prop('h','H2O',T(6,i))+x(3)*th_prop('h','N2',T(6,i))+ ...
x(4)*th_prop('h','O2',T(6,i)))/MW(2);
S(6,i)=j(i)*(0.21*th_prop('s','O2', T(6,i))+0.79*th_prop('s', 'N2', ...
T(6,i))-R*(log(p(6))+sM(1)))/MW(1)+(1-j(i))*(x(1)*th_prop('s','CO2',T(6,i))+ ...
x(2)*th_prop('s','H2O',T(6,i))+x(3)*th_prop('s','N2',T(6,i))+ ...
x(4)*th_prop('s','O2',T(6,i))-R*(log(p(6))+sM(2)))/MW(2);
end
end

ETSI Industriales - 45- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

2.1.3.4. Finalización del Programa

Tras haber dibujado las gráficas (o no, según haya sido pedido por el usuario), el programa calcula
los outputs restantes, indicados en la Sección (2.1.2):

%% % OUTPUTS % % %
t4=t4-273.15;
t5=t5-273.15;
ratio_gasescomb_aire=(1+F); %m_aire/m_GGCC;
w_compr=h2-h1; %kJ/kg_aire
w_turb=(h3-h4)*ratio_gasescomb_aire; %kJ/kg_aire
w=[w_compr w_turb];
rend_TG=(w_turb-w_compr)/(F*Hc/16.04246)*100;

2.1.4. Ejemplos de Simulación

A continuación se representan las siguientes simulaciones4 :


Simulación A:
[t4_A, t5_A, x_A, Fr_A, ratio_gasescomb_aire_A, w_A, rend_TG_A]=
CicloGas(300, 1, 14, [0.88,0.98,0.93], [0.05, 0.08, 0.06], 1800, -1, 1, 1);
Simulación B:
[t4_B, t5_B, x_B, Fr_B, ratio_gasescomb_aire_B, w_B, rend_TG_B]=
CicloGas(300, 1, 20, [0.83,0.98,0.90], [0.05, 0.08, 0.06], 1600, -1, 1, 0);

2000

1500 Simulación A
Simulación B
Specific Enthaply (kJ/kg)

1000

500

-500
6.5 7 7.5 8 8.5 9
Specific Entropy (kJ/(kgºC))

Figura 2.3: Diagrama hs: Ejemplo de Simulación (Elaboración proppia)

1800

1600

1400
Simulación A
1200 Simulación B
Temperature (ºC)

1000

800

600

400

200

0
6.5 7 7.5 8 8.5 9
Specific Entropy (kJ/(kgºC))

Figura 2.4: Diagrama T s: Ejemplo de Simulación (Elaboración proppia)

4 Se recuerda que los inputs del programa eran los siguientes:

CicloGas( t1, p1, p2_1p, rend, perd_carga, t3, t5, grafica, clearfigures);

ETSI Industriales - 46- Universidad Politécnica de Madrid


Simulación de la Turbina de Vapor

Argumento de Salida (Uds.) Simulación A Simulación B


t4 (◦ C) 771.2327 600.9899
t5 (◦ C) 60 60
x [0.0052, 0.0105, 0.7858, 0.1985] [0.0038, 0.0076, 0.7869, 0.2016]
Fr 0.8583 0.6243
ratio_gasescomb_aire
  1.0501 1.0365
kJ
w [384.9369, 966.2611] [489.7679, 895.4890]
kg
rend_TG ( %) 23.1619 22.2234

Cuadro 2.1: Resultados de la Simulación de dos Ciclos de Gas

Observando las gráficas y la tabla de resultados, se pueden sacar las siguientes conclusiones:

i) En la simulación A se tiene más calor disponible para intercambiar en la CRC, al salir los gases de
la turbina con una mayor temperatura.
ii) Se puede ver cómo, al imponer una temperatura mayor en la entrada de la turbina para el caso
A, se hace necesario introducir una mayor cantidad de combustible. Esto se refleja en el dosado
relativo y en la relación de los caudales de los gases de combustión y del aire, ambos mayores en la
primera simulación que en la segunda.

iii) Al ser mayor la relación de compresión en la simulación B, el trabajo de compresión es mayor


también (un 21.40 % en este caso).
iv) Por contra, al tener una menor temperatura de salida de la cámara de combustión en la simulación
B, el trabajo desarrollado por la turbina es ligeramente menor que en A (un 7.3243 %).

v) Al ser en la simulación A menor el trabajo de compresión y mayor el obtenido en la expansión, y


de acuerdo con la expresión (1.7), el rendimiento obtenido en la misma es superior al obtenido en
B.
vi) Se puede ver en las gráficas cómo tener unos mayores rendimientos isentrópicos en A provoca que
la evolución en las respectivas compresiones y expansiones sean en la simulación A con menos
inclinación con respecto a las líneas isentrópicas.

2.2. Simulación de la Turbina de Vapor


A diferencia de para el ciclo de gas, para el ciclo de vapor se han elegido diversas configuraciones,
por lo que se ha realizado un programa que realiza la simulación de cada una de ellas. Además, para
configuración, se ha diferenciado entre la posibilidad de seguir un ciclo subcrítico o supercrítico. Por
tanto, se explicará siempre primero el caso subcrítico, y a continuación el caso de ciclo supercrítico.
Una de las bases de diseño que se ha tomado, y que se mantiene para todos los programas que
se detallarán a continuación, es que se van a establecer unas temperaturas de entrada y salida de los
GGCC, y el calor marcado por la diferencia de entalpía entre esos estados será absorbido por el agua,
independientemente de la superficie total de intercambio de calor que pudiera ser necesaria para llevar a
cabo dicho intercambio de calor.
A continuación, se le dedicará a cada programa una sección como la del Ciclo de Gas, en la que será
explicado a fondo primero el programa más básico, y luego de los siguientes las diferencias entre ellos,
obviando las partes comunes con otros programas.

ETSI Industriales - 47- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

2.3. Ciclo de Vapor con un nivel de presión, sin desgasificador


Se trata de la configuración más básica posible para una turbina de vapor, y el proceso ya se ha
explicado en la Sección (1.2.4). La configuración del mismo es la de la figura (2.5). Se recuerda que el
ciclo cuenta con una CRC subdividida en tres partes: economizador, evaporador y sobrecalentador, por
la que el agua líquida a presión entra y acaba en estado de vapor sobrecalentado. A parte de la CRC,
también tiene la turbina (conectada a un alternador), un condensador y una bomba.

2.3.1. Desarrollo Termodinámico del Ciclo Subcrítico

Figura 2.5: Configuración del Ciclo de Vapor y la CRC para Un Nivel de Presión Simple Subcrítico
(Elaboración propia)

600

5
500

400
Temperature (ºC)

2, 3 4
300

200

100
7, 1 6s 6
0
0 1 2 3 4 5 6 7 8 9
Specific Entropy (kJ/(kgºC))

Figura 2.6: Diagrama T s del Ciclo de Vapor 1P Sin Desgasificador Subcrítico (Elaboración propia)

En las figuras (2.6) y (2.7) se pueden apreciar todos los puntos característicos del ciclo de vapor. A
continuación se detalla cada uno de ellos, y su proceso de obtención:

1g: Gases de Combustión a la salida de la turbina de gas. La temperatura y presión de estos


gases son conocidos, dado que se extrae la información del programa CicloGas, que se debe ejecutar
antes.

ETSI Industriales - 48- Universidad Politécnica de Madrid


Ciclo de Vapor con un nivel de presión, sin desgasificador

800
1g
700 2g
600

5
Temperature (ºC)

500

400 3g
300
3
4
200
2
4g
100

0
1
0 200 q1 400 600 q2 800 q3 900
Exchanged Heat (kJ/kg of air)

Figura 2.7: Diagrama T q de la CRC de un Ciclo de Vapor 1P Sin Desgasificador (Elaboración propia)

7: Agua en estado líquido saturado. Se trata de agua sobre la curva de saturación proveniente
del condensador. Este punto es de fácil determinación, ya que su presión es una variable de entrada, y al
tratarse de un fluido saturado, XSteam puede proporcionar el resto de propiedades.

p7 = pcond
(2.10)
Líquido Saturado

1s: Agua líquida a la presión de línea tras un proceso de compresión ideal isentrópica.
Se trata de un estado ideal en el que tras una compresión el fluido no aumenta su entropía con respecto
a 7 y alcanza la presión de la línea. Se ha definido la presión de línea como aquella a la que tiene lugar la
evaporación, y es un parámetro de entrada. Además se ha previsto la existencia de pérdidas de presión
en los tramos del economizador y del sobrecalentador, implementadas como pérdidas porcentuales. Por
tanto las propiedades de este punto se hayan a través del conocimiento de su presión y su entropía.

p1s = plínea + ∆pecon
(2.11)
s1s = s7

36.5

36

1
Temperature (ºC)

1s
35.5

7
35

34.5

0.507 0.508 0.509 0.51 0.511 0.512 0.513 0.514 0.515 0.516 0.517
Specific Entropy (kJ/(kgºC))

Figura 2.8: Detalle del proceso de compresión entre 7 y 1 (Elaboración propia)

1: Agua líquida a la presión de línea tras un proceso de compresión no isentrópico. El


agua entra en este estado a la CRC proveniente de 7, al atravesar la bomba de circulación y comprimirse.
La presión es la misma que en 1s, y la entalpía del punto puede obtenerse a través del rendimiento
isentr’opico de la bomba, que es un input. Con estos dos valores, puede obtenerse el resto.
h1s − h7
ηbomba = (2.12)
h1 − h7

ETSI Industriales - 49- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

3: Líquido saturado a la presión de línea. Conociendo la presión de vaporización y que se trata


de líquido saturado es inmediato obtener el resto de propiedades.

p3 = plínea
(2.13)
Líquido Saturado

2: Líquido a la salida del economizador. De este estado se conoce su presión, que es la misma
que la del punto 3 (la de línea), y su temperatura, que es la del punto 3 menos el Approach Point (AP),
parámetro conocido. 
p2 = plínea
(2.14)
T2 = T3 − AP

4: Vapor saturado a la presión de línea. Tras salir del economizador, el fluido está completa-
mente en fase vapor, sobre la curva de saturación. Su proceso de obtención es por tanto análogo al del
punto 3. 
p4 = plínea
(2.15)
V apor Saturado

4g: Gases de Combustión a la salida de la CRC. Se recuerda que el programa CicloGas


proporciona el valor mínimo de la temperatura que pueden tomar los gases de combustión en este punto.
Si este valor es menor que la temperatura del punto 1 más cierto valor llamado Diferencia Inicial de
Temperaturas, la temperatura de los GGCC en este punto pasa a tomar ese valor. A partir de esta
temperatura puede obtenerse la entalpía de estos gases, que es el otro valor necesario para realizar los
cálculos del programa.

3g: Gases de Combustión al final del economizador. Su temperatura se obtiene a partir de


la del punto 3 y el Pinch Point (PP). A partir de ésta se obtiene su entalpía.

T3g = T3 + P P (2.16)

2g: Gases de Combustión al final del evaporador. Se obtiene su entalpía a partir de realizar
balances de energía. Se realiza un primero en el tramo del economizador, representado por el la zona
entre las abcisas 0 y q1 en la figura (2.7), para obtener la relación entre los caudales másicos de aire (se
recuerda que las entalpías de los gases de combustión se están calculando por unidad de masa de aire, no
de gases de combustión) y de agua, M. Una vez obtenido este parámetro, se obtiene la entalpía del punto
2g realizando un balance de energía al evaporador, representado entre las abcisas q1 y q2 en la figura
(2.7).  
kgaire h2 − h1
M = (2.17)
kgagua h3g − h4g
1
h2g = h3g + · (h4 − h2 ) (2.18)
M

5: Vapor sobrecalentado a la salida del sobrecalentador. Es en este estado en el que se


introducirá el fluido motor en la turbina para producir trabajo útil al expansionarse. Su presión se
conoce, al ser ésta la de línea menos las pérdidas de presión en el sobrecalentador, que son conocidas. El
otro parámetro que se puede obtener es su entalpía, realizando un balance de energía al sobrecalentador,
que en la figura (2.7) se representa por la zona entre las abcisas q2 y q3.

p5 = plínea − ∆psobrec
(2.19)
h5 = h4 + M · (h1g − h2g )

ETSI Industriales - 50- Universidad Politécnica de Madrid


Ciclo de Vapor con un nivel de presión, sin desgasificador

6s: Vapor expandido según un proceso isentrópico ideal. Esta expansión tiene lugar entre el
punto 5 hasta uno de presión conocida, que es la presión de condensación pc ond, según un proceso en el
que no hay generación entrópica. 
s6s = s5
(2.20)
p6s = pcond

6: Vapor expandido según un proceso no isentrópico. Se utiliza el rendimiento isentrópico


de la turbina para obtener la entalpía del punto 6, como se ha hecho en otros procesos de expansión o
compresión.
h5 − h6
ηturb = (2.21)
h5 − h6s

2.3.2. Desarrollo Termodinámico del Ciclo Supercrítico

No es una configuración común, dado que suele utilizarse la opción de presiones supercríticas en casos
ciclos de varios niveles de presión. Esto es así porque da problemas de humedad en los últimos escalones
de la turbina de vapor y en el intercambiador de calor, que en este caso es de paso único; es decir, no
hay economizador, evaporador y sobrecalentador. En este caso, se ha decidido mantener la nomenclatura

600
5
500

400
Temperature (ºC)

300

200

100
7, 1 6s 6
0
0 1 2 3 4 5 6 7 8 9
Specific Entropy (kJ/(kgºC))

Figura 2.9: Diagrama T s del Ciclo de Vapor 1P Sin Desgasificador Supercrítico (Elaboración propia)

800

700
1g
600
Temperature (ºC)

500
5
400

300

200
4g
100

0
1
0 100 200 300 400 500 600 700 800
Exchanged Heat (kJ/kg of air)

Figura 2.10: Diagrama T q de la CRC de un Ciclo de Vapor 1P Sin Desgasificador Supercrítico (Elaboración
propia)

de los puntos de entrada y salida a la CRC a pesar de que no existen los puntos intermedios del ciclo
anterior.

ETSI Industriales - 51- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

Debido precisamente a la ausencia de estos puntos intermedios, que ayudaban a obtener la relación
de caudales, M , y con ello el punto final, se ha tenido que escoger un algoritmo distinto para simular
el ciclo. Este algoritmo es característico de este ciclo, dado que en ciclos supercríticos de más niveles de
presión se dispone de más datos y variables para poder operar. Dicho algoritmo se basa en obligar a que
la curva de vapor en la CRC mantenga el PP como diferencia mínima de temperaturas con la de GGCC.
Esto es inusual en ciclos supercríticos, en los que normalmente el PP, al estar deslocalizado ya que no
existe evaporación, es una variable de salida y no de entrada.
Por tanto, los puntos se obtienen de la siguiente forma:

1g, 7, 1s, 1, 4g, 6s, 6: Se hallan de la misma forma que en el caso de ciclo subcrítico.

5: Vapor sobrecalentado a la salida del sobrecalentador. Hallar el punto 5 entraña dificultad


en tanto que falta información para definir el proceso. La solución por la que se ha optado ha sido,
como se ha mencionado, aplicar el PP. Se inicia por tanto un proceso iterativo en el que se asigna como
temperatura del punto la de los GGCC de entrada menos cierta diferencia terminal de temperaturas, que es
un parámetro de entrada que, como se detallará más adelante, sirve para asegurar que t5 ≤ t1g −∆Tterminal
. Por tanto, se seguirá el siguiente proceso iterativo:

p5=p(1-perd_carga_sobrec/100);
t5= t1_g-DT; % Se inicializa con el valor mas alto que podria tomar t5
h5=XSteam('h_pT', p5, t5);
[check,¬]=calculo_superc(PP,h5,...); % Funcion que evalua si la temperatura del agua esta ...
durante la CRC a una diferencia de T minima de PP
while check==1
%% Se disminuye t5 % %
[check,¬]=calculo_superc(PP,h5_nueva,...);
end

Una vez finalizado el bucle, se tendrá una t5 tal que se cumpla la condición impuesta.

2.3.3. Variables de Diseño

function [t5, M, q_tot, q_caldera, x6, w_TV, rend_TV, rend_CC] = CicloVap_1P_SinDesg(p, ...
p_cond, AP, PP, DT, DI, rend, perd_carga, grafica, clearfigures,
t1_g, t4_g, x, ratio, rend_TG)
%% CICLO DE VAPOR, SIMPLE (1P), SIN DESGASIFICADOR
%% Desarrollador: Joaquin Corredoyra Alcaraz
% Tutor: Ruben Abbas Camara
% U.D. Motores Termicos
% ETS Ingenieros Industriales
% Universidad Politecnica de Madrid
% 2016

A continuación se detallan los parámetros de entrada que necesita el programa para ejecutarse, así como
los que ofrece de salida. Se explican también las diferencias que existen para dichas variables en los ciclos
subcríticos y supercríticos.
Argumentos de Entrada:

- p: La presión de línea; aquella a la que tiene lugar la operación. Esta variable determinará si el
ciclo es subcrítico o supercrítico, dado que es la que marca si hay o no ebullición. Para p≤ 220,5846,
el ciclo se tratará como subcrítico.
- p_cond: La presión a la cual se condensará el fluido al salir de la turbina. Cuanto menor sea, menor
será la temperatura media de foco frío. Está acotada inferiormente por la presión de vapor del agua
a la temperatura ambiente.

ETSI Industriales - 52- Universidad Politécnica de Madrid


Ciclo de Vapor con un nivel de presión, sin desgasificador

- AP: Approach Point; la diferencia de temperatura entre el agua que entra al calderón y la tempera-
tura de saturación del agua a la presión p. En el ciclo supercrítico, esta variable carece de sentido
ya que no hay calderín ni proceso de evaporación bifásica.
- PP: Pinch Point; la diferencia de temperatura entre aquella del punto 3 y la de los GGCC en ese
punto de la caldera de recuperación de calor. En el ciclo supercrítico se utiliza de forma distinta,
como se ha explicado en la Sección (2.3.2).
- DT: Diferencia Terminal de Temperaturas; la diferencia mínima de temperaturas existente entre los
gases de combustión al entrar en la CRC, t1_g y la de salida del vapor, t5. Se utiliza para impedir
que t5 sea demasiado cercana o incluso superior a t1_g, lo cual no tiene sentido físico. En la figura
(2.11) se puede observar un ejemplo de lo que ayuda a prevenir esta variable. En el programa esta

5
800

790
1g
Temperature (ºC)

780

770

760

750

760 770 780 790 800 810


Exchanged Heat (kJ/kg of air)

Figura 2.11: Detalle de Ciclo Imposible, con t5 > t1g (Elaboración propia)

gráfica no se habría producido y el proceso se habría detenido, devolviendo un aviso al usuario.


- DI: Diferencia Inicial de Temperaturas; la diferencia mínima de temperaturas que tiene que haber
entre los gases de combustión al ser expulsados de la caldera de recuperación de calor, y el agua en
estado líquido que entra en el economizador. Esta variable es importante, dado que determinará en
gran medida la relación de caudales M y por ello el resto del ciclo.
- rend: Vector de dos componentes que contiene los siguientes rendimientos definidos en tanto por
uno:
· rend(1): Rendimiento isentrópico de la bomba, rend_s_bomba.
· rend(2): Rendimiento isentrópico de la turbina de vapor, rend_s_turb.
- perd_carga: Vector de dos componentes que contiene las siguientes pérdidas de carga, definidas
en tanto por ciento sobre la presión de evaporación:
· perd_carga(1): Pérdidas de carga en el economizador, perd_carga_econ.
· perd_carga(2): Pérdida de presión en el el sobrecalentador, perd_carga_sobrec.
Para el caso de ciclo supercrítico, se supone que perd_carga(1) se corresoponde con las pérdidas
en la primera mitad del intercambiador, mientras que perd_carga(2) contiene las pérdidas en la
segunda mitad.
- grafica y clearfigures: Cumplen la misma función que en el programa CicloGas.
Las siguientes variables son proporcionadas por el programa CicloGas, que debe ser ejecutado
primero.
- t1_g: Temperatura en ◦ C de entrada de los gases de combustión en la CRC. Se corresponde con
la temperatura de los GGCC a la salida de la turbina de gas.
- t4_g: Temperatura en ◦ C de salida de la CRC de los gases de combustión. Se trata, como se ha
comentado, de la temperatura mínima que se podría obtener, y no es definitiva si no que está
supeditada al valor de la temperatura del agua a la entrada de la CRC más DI.

ETSI Industriales - 53- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

- x: Vector de cuatro componentes con las fracciones molares de los gases de combustión.
- ratio: La relación entre los caudales másicos de gases de combustión y de aire en la TG. Se utiliza
para realizar los cálculos de los calores en unidades específicas por unidad de masa de aire.
- ren_TG: Rendimiento del ciclo del gas para el cual se simula el ciclo de vapor, en unidades de tanto
por cien.

Argumentos de Salida:

- t5: Temperatura de entrada del vapor sobrecalentado a la turbina de vapor, en ◦ C.


- M: Relación entre los caudales másicos de aire y el de agua durante el Ciclo Combinado.
- q_tot:
 Calor
 total intercambiado en la CRC, en unidades específicas por unidad de masa de aire,
kJ
.
kgaire
- q_caldera: Vector de tres componentes que contiene los siguientes porcentajes del calor total que
absorbe cada tramo:
· q_caldera(1): Porcentaje del calor total intercambiado en el economizador, q_econ.
· q_caldera(2): Porcentaje del calor intercambiado en el evaporador, q_evap.
· q_caldera(3): Porcentaje del calor intercambiado en el sobrecalentador, q_sobrec.
En caso de ser un ciclo supercrítico, las dos primeras componentes serán nulas, y la tercera contendrá
el calor intercambiado durante toda la CRC.
- x6: Título de vapor a la salida de la turbina de vapor. Es importante que este parámetro sea lo
sifucientemente alto para que no haya problemas de cavitación en los últimos escalonamientos de
la turbina.
 
kJ
- w_TV: Trabajo desarrollado en la turbina de vapor, por unidad de masa de aire, .
kgaire
- rend_TV: Rendimiento del ciclo de vapor (ecuacion 1.9), en tanto por cien.
- rend_CC: Rendimiento del ciclo combinado (ecuacion 1.4), en tanto por cien.

2.3.4. Programa CicloVap_1P_SinDesg para Ciclo Subcrítico

A continuación se realizará una descripción del programa similar a la realizada en la Sección (2.1.3) en
referencia a CicloGas, señalando las diferencias entre el tratamiento al ciclo subcrítico y el supercrítico.

2.3.4.1. Inicialización del Programa

De forma similar a CicloGas, el programa comienza con un comentario sobre su funcionalidad, sus
inputs y outputs.

%% PARAMETROS DEFAULTS
load janafJ.mat;
options=optimoptions('fsolve', 'Display', 'off');

MW_gases_comb=x(1)*eval(['MolWeight.' 'CO2'])+x(2)*eval(['MolWeight.' 'H2O'])+ ...


x(3)*eval(['MolWeight.' 'N2'])+x(4)*eval(['MolWeight.' 'O2']);

if perd_carga==-1;
perd_carga=[3 3];
end
perd_carga_econ=perd_carga(1);
perd_carga_sobrec=perd_carga(2);

ETSI Industriales - 54- Universidad Politécnica de Madrid


Ciclo de Vapor con un nivel de presión, sin desgasificador

if rend==-1
rend=[0.91,0.88];
end
rend_s_bomba=rend(1);
rend_s_turb=rend(2);
if PP==-1
PP=8;
end
if AP==-1
AP=5;
end
if DT==-1
DT=5;
end
if DI==-1
DI=30;
end

Como se puede observar, además de iniciar distintas variables con valores típicos de las mismas, se carga
la matriz de datos janafJ.mat, la cual contiene los coeficientes que utilizará th_prop y valores de masas
molares de los distintos compuestos que conforman los gases de combustión, a partir de los cuales, junto
con las fracciones molares, se calcula la masa molar de los GGCC.
Se recuerda que DT es tan solo una variable de control utilizada para vigilar que la temperatura
del vapor a la salida de la CRC no sea excesivamente alta, y que no implica que esta tenga que ser la
temperatura de entrada de los GGCC menos dicho valor.

2.3.4.2. Obtención de los puntos principales de los diagramas

Tras haber inicializado algunas de las variables, o tomando los valores propuestos por el usuario, da
comienzo el cálculo de los puntos principales, tal y como se ha detallado en la Sección (2.3.1). Antes de
discernir entre ciclo sub o supercrítico, el programa calcula los puntos 1g, 7, 1s y 1; idénticos en ambos
casos.

%% PROGRAMA
% 1g
t1_g=t1_g+273.15;
h1_g=(x(1)*th_prop('h','CO2',t1_g)+x(2)*th_prop('h','H2O',t1_g)+ ...
x(3)*th_prop('h','N2',t1_g)+x(4)*th_prop('h','O2',t1_g))/MW_gases_comb*ratio;
t1_g=t1_g-273.15;

%7
p7=p_cond;
t7=XSteam('Tsat_p', p7);
h7=XSteam('hL_p',p7);
s7=XSteam('sL_p',p7);
%1s
p1s=p*(1+perd_carga_econ/100);
s1s=s7;
t1s=XSteam('T_ps', p1s, s1s);
h1s=XSteam('h_pT', p1s, t1s);
%1 (1s-7)/(1-7)=rend
p1=p1s;
h1=h7+(h1s-h7)/rend_s_bomba;
s1=XSteam('s_ph', p1, h1);
t1=XSteam('T_ph', p1, h1);

Cabe destacar que se ha tenido especial cuidado con las unidades de temperatura para los GGCC, dado
que la función con la que se calcula su entalpía opera con grados Kelvin mientras que las unidades en las
que ofrece nuestro programa los resultados, y las que utiliza XSteam, son grados Celsius.
Una vez calculados los puntos comunes de ambos ciclos, comienza la diferenciación entre los casos
subcrítico y supercrítico mediante una sentencia if.

ETSI Industriales - 55- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

if p<220.5846
%3
p3=p;
t3=XSteam('Tsat_p', p3);
h3=XSteam('hL_p',p3);
s3=XSteam('sL_p',p3);
%4
p4=p;
t4=t3;
h4=XSteam('hV_p',p4);
s4=XSteam('sV_p',p4);
%2
p2=p;
t2=t3-AP;
h2=XSteam('h_pT', p2, t2);
s2=XSteam('s_pT', p2, t2);
%3g
t3_g=t3+PP+273.15;
h3_g=(x(1)*th_prop('h','CO2',t3_g)+x(2)*th_prop('h','H2O',t3_g)+ ...
x(3)*th_prop('h','N2',t3_g)+x(4)*th_prop('h','O2',t3_g))/MW_gases_comb*ratio;
t3_g=t3_g-273.15;
% 4g
if t1+DI>t4_g
t4_g=t1+DI+273.15;
else
t4_g=t4_g+273.15;
end
h4_g=(x(1)*th_prop('h','CO2',t4_g)+x(2)*th_prop('h','H2O',t4_g)+ ...
x(3)*th_prop('h','N2',t4_g)+x(4)*th_prop('h','O2',t4_g))/MW_gases_comb*ratio;
t4_g=t4_g-273.15;
% Se comprueba que no se exige un PP mayor que la diferencia inicial de T
if t4_g-t1<PP
disp('La diferencia de temperaturas al inicio del proceso no puede ser menor ...
que el PP');
return
end

En este extracto de código se puede apreciar la versatilidad que ofrece XSteam, mediante la cual se
pueden calcular las propiedades del agua de múltiples formas. Es importante tener en cuenta que para la
metodología utilizada, no se puede dar el caso de que la diferencia de temperaturas al inicio de la CRC
sea menor que el Pinch Point para el que estamos ajustando la curva de temperaturas del agua. Si esto
sucediera, el programa iniciaría un bucle infinito. Para prevenir esto, se introduce la última sentencia if
del anterior extracto de código.
Tras calcular los puntos que podían ser obtenidos sin realizar balances, tiene lugar la obtención de
aquellos para los que este proceso es indispensable:

%Balance de energia al economizador-->ma(h3g-h4g)=mv(h2-h1); Sacamos M=ma/mv-->


M=(h2-h1)/(h3_g-h4_g);

%Balance de energia-->ma(h2g-h3g)=mv(h4-h2); Sacamos el punto 2g-->


h2_g=h3_g+(1/M)*(h4-h2);
t2_g=fsolve(@(t)x(1)*th_prop('h','CO2',t)+x(2)*th_prop('h','H2O',t)+ ...
x(3)*th_prop('h','N2',t)+ ...
x(4)*th_prop('h','O2',t)-h2_g/ratio*MW_gases_comb,t1_g-(t1_g-t4_g)/3+273.15,options);
% || || ||
% [J/g aire]->[J/g gases]->[J/mol gases]
t2_g=t2_g-273.15;

%Balance de energia al sobrecalentador-->ma(h1g-h2g)=mv(h5-h4)-->sacamos el punto 5


p5=p*(1-perd_carga_sobrec/100);
h5=h4+M*(h1_g-h2_g);
t5=XSteam('T_ph', p5, h5);
s5=XSteam('s_ph', p5, h5);

ETSI Industriales - 56- Universidad Politécnica de Madrid


Ciclo de Vapor con un nivel de presión, sin desgasificador

Se puede ver que antes de iniciar cada balance hay una breve descripción del mismo que incluye el lugar
de la CRC al que se le hace el balance, las ecuaciones de dicho balance, y el resultado que se busca
obtener.
También puede verse que se ha explicado el cambio de unidades de h2_g realizado en la sentencia en
la que se calcula la temperatura del punto 2g por medio de fsolve, para que coincidan con las del valor
iterativo que se calcula variando la temperatura t y utilizando th_prop. Esto se realiza en el primer caso
del programa únicamente, a modo aclaratorio.
A continuación, una vez que se ha calculado el punto 5, se comprueba que tome un valor válido. Se
puede ver cómo, en caso de tomar un valor fuera de los límites, se finaliza el programa dando valores a
los distintos outputs que permitan distinguier qué caso de error es, además de imprimir una advertencia
por pantalla.

% Aseguramos que el punto 5 es valido


t5_limite=t1_g-DT;
if isnan(t5)
disp('Las condiciones de la linea estan fuera de lo permitido, y no existe una t5 ...
para ellas; aumentar el PP o el AP, o disminuir p');
q_caldera=-1;
M=-1;
x6=-1;
w_TV=-1;
rend_TV=-1;
rend_CC=-1;
return
elseif t5>t5_limite
X=['t5= ', num2str(t5) ,' es mayor que el limite, ', num2str(t5_limite), '; ...
aumentar el PP o el AP, o disminuir p'];
disp(X);
q_caldera=-2;
M=-2;
x6=-2;
w_TV=-2;
rend_TV=-2;
rend_CC=-2;
return
end

El cálculo de los puntos 6s y 6 a partir del punto 5 es idéntico al de los puntos 1s y 1 a partir del
punto 7, y por ello se omite su código. Cabe mencionar que del punto 6 también se obtiene su título de
vapor, mediante la sentencia: x6=XSteam(’x_ph’, p6, h6).

2.3.4.3. Representación Gráfica

A continuación se muestra el código utilizado para llevar a cabo la representación de las gráficas. Se
recuerda que serán tres; una que represente la evolución de las temperaturas de los GGCC y el agua en
la CRC, un diagrama h s y otro T s, ambos de la evolución del agua en todo el ciclo. En estos últimos, h
y s tienen unidades específicas por unidad de masa de agua, mientras que en el primero los calores están
por unidad de masa de aire.

%Calculo de los calores:


% q_econ=m_g(hg_3-hg_4)=m_v(h2-h1);
% q_evap=m_g(hg_2-hg_3)=m_v(h4-h2);
% q_sobrec=m_g*(h_g1-h_g2)=m_v(h5-h4);
q_econ=1/M*(h2-h1); q1=q_econ;
q_evap=1/M*(h4-h2); q2=q1+q_evap;
q_sobrec=1/M*(h5-h4); q3=q2+q_sobrec; %[q]=kJ/kg_aire

if grafica==1;

%% % GRAFICA CRC % % %
if clearfigures

ETSI Industriales - 57- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

figure(3);
clf
end

figure(3); hold all;


plot([0, q1],...
[t1, t2],...
[q1, q2, q3],...
[t3, t4, t5], 'linewidth', 2, 'color', [0 0.2 0.6]);

plot([0, q1, q2, q3],[t4_g, t3_g, t2_g, t1_g], 'linewidth', 2, 'color', [0.635 0.078 ...
0.184]);
xlabel('Exchanged Heat (kJ/kg of air)');
ylabel('Temperature ( C)');

%% % GRAFICAS CV % % %

% Puntos intermedios entre 1 y 3


[hint13,¬, sint13, tint13]=calculo_intermedios(h1, h3, p1, p3, 10);

% Puntos intermedios entre 4 y 5


[hint45, ¬, sint45, tint45]=calculo_intermedios(h4, h5, p4, p5, 10);

if x6 ≥ 1
% Puntos intermedios entre 6 y 6V, en caso de que el punto 6 sea vapor sobrecalentado
[hint6_6v,¬, sint6_6v, tint6_6v]=calculo_intermedios(h6, XSteam('hV_p',p6), p6, p6, 10);
end

% GRAFICO H-S
if clearfigures
figure(4)
clf
fastmollier(1);
else
figure(4)
hold all
end
if x6 ≥ 1
plot([s7, s1, sint13, sint45, s6, sint6_6v, s7],...
[h7, h1, hint13, hint45, h6, hint6_6v, h7] ,'linewidth', 3, 'color', [0 0.2 0.6]);
else
plot([s7, s1, sint13, sint45,s6, s7],...
[h7, h1, hint13, hint45, h6, h7] ,'linewidth', 3, 'color', [0 0.2 0.6]);
end
plot([s7, s1s, s1],...
[h7, h1s, h1],'color', [0 0.5 0], 'linestyle', '--','linewidth', 2);
plot([s5, s6s, s6],...
[h5, h6s, h6],'color', [0 0.5 0], 'linestyle', '--','linewidth', 2);

Hasta este punto se puede observar la forma en que se ha dibujado el diagrama h s del ciclo. En primer
lugar, se calculan los valores q1, q2 y q3, que se utilizarán en la gráfica de la CRC y cuya situación se
puede observar en la figura (2.7). Como se puede observar, están calculados por unidad de masa de aire.
Tras esto, en caso de desear representar las gráficas, el programa entra dentro de las líneas condicio-
nadas por la sentencia if grafica==1. Si se desea borrar las gráficas anteriores, se recuerda que se hará
mediante clearfigures.
Destaca el uso de dos funciones de apoyo para la representación de las gráfcas h s y T s, similares
en funcionalidad pero de código completamente distinto a las utilizadas en CicloGas. La primera en ser
llamada es fastmollier, y se encarga de dibujar las curvas de saturación y de isotítulo, de interés para
el trabajo. Esta función toma como parámetros de entrada únicamente una variable; nfig. En caso de
valer 1, dibuja las citadas curvas para el diagrama h s, y de valer 2 hace lo propio para el diagrama T s.
También se encarga de escribir los títulos de los ejes de las figuras. Es un programa sencillo, cuyo código
es el siguiente:

function fastmollier(nfig)
%% Desarrollador: Joaquin Corredoyra Alcaraz

ETSI Industriales - 58- Universidad Politécnica de Madrid


Ciclo de Vapor con un nivel de presión, sin desgasificador

% Tutor: Ruben Abbas Camara


% U.D. Motores Termicos
% ETS Ingenieros Industriales
% Universidad Politecnica de Madrid
% 2016
%%
if nfig==1
load('mollier_h.mat');
figure(4);
hold on;

plot(ssatL_T, hsatL,'Color','k','linewidth',2);
plot(ssatV_T, hsatV,'Color','k','linewidth',2);
xlabel('Specific Entropy (kJ/(kg C))');
ylabel('Enthaply (kJ/kg)');
for j=1:1:9
plot(isox_s1(:,j), isox_h1(:,j),'Color','k','linewidth', 1)
end
elseif nfig==2
load('mollier_t.mat');
figure(5);
hold on;

plot(ssatL_P, tsat,'Color', 'k','linewidth',2);


plot(ssatV_P, tsat,'Color', 'k','linewidth',2);
xlabel('Specific Entropy (kJ/(kg C))');
ylabel('Temperature ( C)');
for j=1:1:9
plot(isox_s2(:,j), isox_t(:,j),'Color','k','linewidth', 1);
end
end

Para agilizar el proceso, en vez de llamar constantemente a la función XSteam, se carga los datos contenidos
en mollier_h.mat y mollier_t.mat, que almacenan distintos valores necesarios para dibujar las curvas:
entalpías, entropías y temperaturas de saturación y de isotítulo.
La otra función de apoyo utilizada es calculo_intermedios, que calculará valores de h, s, y T entre
dos puntos deseados, cuya unión no siga una recta en los diagramas h s y T s. Esta función utiliza las
siguientes variables de entrad:

- h_inicial: Valor de la entalpía específica en el punto de inicio de la curva.


- h_final: Valor de la entalpía específica en el punto final de la curva.
- p_inicial: Valor de la presión en el punto de inicio de la curva.
- p_final: Valor de la presión en el punto final de la curva.
- puntos: Número de puntos intermedios que se desea obtener para la curva.

Este programa es también de fácil entendimiento, y su código se representa a continuación:

function [hint, pint, sint, tint]=calculo_intermedios(h_inicial, h_final, p_inicial, ...


p_final, puntos)
%% CALCULO_INTERMEDIOS
%% Desarrollador: Joaquin Corredoyra Alcaraz
%Tutor: Ruben Abbas Camara
%U.D. Motores Termicos
%ETS Ingenieros Industriales
%Universidad Politecnica de Madrid
%2016
%%
hint=linspace(h_inicial, h_final, puntos);
pint=linspace(p_inicial, p_final, puntos);
sint=zeros(size(hint));
tint=zeros(size(hint));
for c=1:1:puntos

ETSI Industriales - 59- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

tint(c)=XSteam('T_ph', pint(c), hint(c));


sint(c)=XSteam('s_ph', pint(c), hint(c));
end
end

A continuacón we muestra la parte de código restante del programa principal, en el que se muestran las
sentencias utilizadas para realizar la gráfica T s. Como se puede observar, el proceso es prácticamente
idéntico al de realizar la gráfica h s.

% GRAFICO T-S
if clearfigures
figure(5)
clf
fastmollier(2);
else
figure(5)
hold all
end
if x6 ≥1
plot([s7, s1, sint13, sint45,s6, sint6_6v, s7],...
[t7, t1, tint13, tint45, t6, tint6_6v, t7] ,'linewidth', 3, 'color', [0 0.2 0.6]);
else
plot([s7, s1, sint13, sint45,s6, s7],...
[t7, t1, tint13, tint45, t6, t7] ,'linewidth', 3, 'color', [0 0.2 0.6]);
end
plot([s7, s1s, s1],...
[t7, t1s, t1],'color', [0 0.5 0], 'linestyle', '--','linewidth', 2);
plot([s5, s6s, s6],...
[t5, t6s, t6],'color', [0 0.5 0], 'linestyle', '--','linewidth', 2);
end

Cabe destacar que para ambas gráficas se ha tenido la precaución de prever que 6 puede no ser un
punto de equilibrio bifásico si no de vapor sobrecalentado. En este caso, su unión con el punto 7 no sería
una recta durante todo su recorrido, si no que primero habría una parte de curva isóbara a p6 desde 6
hasta el punto de vapor saturado a dicha presión, 6v.

2.3.4.4. Finalización del Programa

Después de haber realizado las gráficas, el último paso es calcular y asignar los parámetros de salida
descritos en la Sección (2.3.3).

%% % OUTPUTS % % %
q_tot=h1_g-h4_g;
q_caldera=[q_econ, q_evap, q_sobrec]/q_tot*100;
w_TV=(h5-h6)/M; % en kJ/kg_aire
w_Bba=(h1-h7)/M;
rend_TV=100*(w_TV-w_Bba)/(h1_g-h4_g); % mv(h5-h6)/mf(h1_g-h4_g)=(h5-h6)/(M*(h1_g-h4_g));
rend_CC=rend_TV+rend_TG-rend_TV*rend_TG/100;

2.3.5. Programa CicloVap_1P_SinDesg para Ciclo Supercrítico

En esta Sección se van a detallar las diferencias entre el programa las simulaciones de ciclos subcríticos
y supercríticos realizadas por el programa CicloVap_1P_SinDesg. Se seguirá un esquema similar al de la
Sección (2.3.4), pero evitando repetir consideraciones y sentencias innecesarias.

2.3.5.1. Inicialización del Programa

Dado que el programa es el mismo, sigue el mismo comienzo de programa y utiliza los mismos valores
defaults que en la Sección (2.3.4.1).

ETSI Industriales - 60- Universidad Politécnica de Madrid


Ciclo de Vapor con un nivel de presión, sin desgasificador

2.3.5.2. Obtención de los puntos principales de los diagramas

La obtención de los puntos 1g, 7, 1s, 1 y 4g se realiza de la misma forma que en la Sección (2.3.4.2).
Como se ha comentado, es en el cálculo del punto 5 donde el proceso de simulación se ha enfocado de
manera distinta, la cual se recuerda que se basa en encontrar la mayor temperatura posible para ese
punto para la cual se cumple que la curva de temperatura del agua en la CRC está a una diferencia de
temperaturas mínima de la de temperatura de los GGCC del PP.
El proceso de iteración seguido para hallar esta temperatura puede dividirse en tres partes. La primera
de ella, que se muestra a continuación, procura que el punto 5 exista. Se ha tenido que implementar este
bucle dado que para estos ciclos, en ocasiones se alcanzan temperaturas a las cuales, a la presión p5, no
existe el fluido. Se desciende la temperatura en escalones de diez grados, comenzando por la temperatura
máxima alcanzable, marcada por ‘t1_g-DT’, con el fin de acelerar el proceso. Esto no resta precisión a la
elección del punto 5, ya que en el último bucle se ajustará el resultado.

%5: Se inicializa para la t5 maxima alcanzable


p5=p*(1-perd_carga_sobrec/100);
t5=t1_g-DT; %Valor para comenzar a iterar
h5=XSteam('h_pT', p5, t5);

% Primer Bucle--> para comprobar que t5 es suficientemente baja como para que h5 exista y ...
podamos realizar las aproximaciones
while isnan(h5)
t5=t5-10;
h5=XSteam('h_pT', p5, t5);
end
% Calculamos una primera aproximacion de M; balance termico a toda la CRC; ...
ma(h1g-h4g)=mv(h5-h1)
M=(h5-h1)/(h1_g-h4_g);
qtot=M*(h1_g-h4_g);

Al acabar esta iteración ya tendremos un punto 5 físicamente válido. El problema ahora es que en la
mayoría de ocasiones, este punto producía que la curva de temperaturas de vapor cortara y sobrepasara
la de GGCC, como se puede apreciar en la figura(2.12).
Para solventar este fallo se recurre a un segundo bucle, en el que la temperatura del punto 5 se sigue
disminuyendo bruscamente hasta que la curva de temperatura del vapor queda completamente bajo la de
temperatura de GGCC menos el Pinch Point. Antes de llevar a cabo el bucle, se inicializan dos vectores,
h_g y t_g, que contienen las evoluciones de entalpías y de temperaturas de los GGCC, en las unidades
deseadas.

% Calculamos la curva de temperaturas de los GGCC entre la entrada y la salida, segun ...
vayan perdiendo energia en la caldera
puntos=100;
h_g=linspace(h4_g, h1_g, puntos)*MW_gases_comb/ratio; % Ahora esta en unidades de ...
energia por unidad de moles de gases de combustion, que son las que da th_prop
t_g=zeros([1, puntos]);
t_g(1)=t4_g+273.15; t_g(puntos)=t1_g+273.15;
for i=2:1:(puntos-1)
t_g(i)=fsolve(@(t)x(1)*th_prop('h','CO2',t)+x(2)*th_prop('h','H2O',t)+ ...
x(3)*th_prop('h','N2',t)+x(4)*th_prop('h','O2',t)-h_g(i),t_g(i-1),options);
end
t_g=t_g-273.15;
h_g=h_g/MW_gases_comb*ratio; % Se devuelve a las unidades deseadas

[check,¬]=calculo_superc( PP, h1, p1, p5, qtot, t_g, puntos, 1);


while check==1 % Segundo Bucle--> para que la curva de GGCC quede siempre
% por encima de la del fluido supercritico menos el PP
t5=t5-10;
h5=XSteam('h_pT', p5, t5);
M=(h5-h1)/(h1_g-h4_g);
qtot=M*(h1_g-h4_g);
[check,¬]=calculo_superc( PP, h1, p1, p5, qtot, t_g, puntos, 1);
end

ETSI Industriales - 61- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

550

500

450

400
Temperature (ºC)

350

300

250

200

150

100

50

50 100 150 200 250 300 350 400 450


Exchanged Heat (kJ/kg of air)

Figura 2.12: Detalle de Ciclo Supercrítico Imposible, con tagua > tgases comb (Elaboración propia)

Para llevar a cabo la comprobación de que ‘tagua ≤ tgases comb − P P ’ durante la CRC se recurre a una
función externa, calculo_superc, que también se utilizará para ajustar el PP en un tercer bucle, el cual
se comentará en profundidad más adelante. Esta función toma las siguientes variables de entrada:

- PP: Pinch Point del Ciclo.


- h_ent_v: Entalpía específica por unidad de masa de agua con la que entra el agua a la caldera.
- p_ent_v: Presión con la que entra el agua a la caldera.
- p_sal_v: Presión con la que sale el agua de la caldera.
- qtot: Calor total intercambiado en la CRC, por unidad de masa de agua. Está en estas unidades,
a diferencia de otros calores utilizados durante el programa, por motivos que se explicarán más
adelante. Es el único parámetro que varía con el avance de las iteraciones, al estar influido por M ,
y este, por h5 .
- t_g: Vector que contiene la evolución de la temperatura de los GGCC a lo largo de la CRC.
- puntos: Número de puntos que queremos utilizar para el cálculo. Son los mismos que componentes
tiene t_g, como se puede apreciar en el extracto de código anterior.
- iteracion: Parámetro que indicará al programa si debe realizar el cálculo cálculo relacionado con
el Bucle 2 o el Bucle 3.

El código de la función es el siguiente:

function [check,Dt2] = calculo_superc( PP, h_ent_v, p_ent_v, p_sal_v, qtot, t_g, puntos, ...
iteracion)
%% Desarrollador: Joaquin Corredoyra Alcaraz
%Tutor: Ruben Abbas Camara
%U.D. Motores Termicos

ETSI Industriales - 62- Universidad Politécnica de Madrid


Ciclo de Vapor con un nivel de presión, sin desgasificador

%ETS Ingenieros Industriales


%Universidad Politecnica de Madrid
%2016
%%
%Temperaturas en Celsius
%%
q=linspace(0,qtot,puntos);
P=linspace(p_ent_v,p_sal_v,puntos);
h=zeros([1, puntos]);
t=zeros([1, puntos]);
check=0;
for i=1:1:puntos
h(i)=h_ent_v+q(i);
t(i)=XSteam('T_ph',P(i),h(i));
end
% Se asegura de que la curva de T del agua este en todo momento bajo la de GGCC menos el PP
if iteracion==1;
for i=1:1:round(puntos/2) % Para asegurarnos de que comprueba el PP en la primera ...
mitad; al final puede aproximarse mas mas, hasta la t5_lim en teoria
if ((t_g(i)-PP)-t(i))<0
check=1;
end
end
Dt2=0;

% Una vez que tenemos la curva de vapor bajo la de GGCC, ajustamos t5 para aproximar la ...
diferencia minima entre dichas curvas al PP
elseif iteracion==2;
Dt=abs(t_g(1)-PP-t(1));
posic=1;
for i=1:1:round(puntos/2)
if abs(t_g(i)-PP-t(i))<Dt
Dt=(t_g(i)-PP-t(i));
posic=i;
end
end
if abs(t_g(posic)-PP-t(posic))/PP>0.0001
Dt2=Dt;
check=1;
else
Dt2=0;
end
end

Esta función tiene una parte común para ambos tipos de iteraciones posibles, en la que almacena en
t, la evolución de la temperatura del agua. Para ello se utiliza XSteam, y es por esto que se requería
introducir q_tot en unidades específicas por unidad de masa de agua. Este vector t tiene la misma
longitud que t_g
A continuación se va a detallar el funcionamiento de cada iteración:
Iteración 1; Bucle 2
Se comparan los vectores t_g (menos el PP) y t componente a componente, buscando si en algún
punto es mayor la temperatura del agua. En el primer momento en que se deésto, la variable check, que
había sido inicializada como 0, pasa a valer 1. Este valor se toma en el Bucle 2 del programa principal
para disminuir t5 si check==1 o finalizar el bucle en caso contrario. Cabe destacar que esta comparación
se realiza sólo en la primera mitad de la CRC, a fin de permitir un hipotético caso en que la diferencia de
temperaturas entre la de entrada de los gases de combustión a la CRC y la final del vapor sobrecalentado
sea menor que el PP.
Iteración 2; Bucle 3
Este bucle lleva más tiempo que los dos anteriores (alrededor de 3 segundos, mientras que los otros
bucles son casi inmediatos), y en él se busca afinar el resultado del Bucle 2, variando t5 no de forma
constante si no ajustando esta variación según la diferencia mínima de temperaturas se acerque al PP.
Esta variación no constante la da el segundo output de calculo_superc; Dt2.

ETSI Industriales - 63- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

Este proceso de iteración es muy similar al anterior, como se puede observar. La diferencia consiste en
que no se busca solo que la temperatura del agua sea menor que cierto valor en todo punto, si no que la
diferencia mínima de temperaturas en la primera mitad del intercambiador de calor tenga una desviación
con respecto al PP muy pequeña. Si en el punto de diferencia
mínima de temperatura en la primera mitad
(tgases comb − tagua ) − P P
mínima
de la CRC se da que > 0,0001, se actualizará a 1 el valor de check, y
PP
Dt2 pasará a valer precisamente (tgases comb − tagua )mínima − P P , y este será el valor que se modifique t5 .
Por contra, si esta diferencia entra dentro de los límites se le asigna a Dt2 un valor 0.
El tercer bucle de la función principal queda por tanto de la siguiente forma:

[check,Dt]=calculo_superc( PP, h1, p1, p5, qtot, t_g, puntos, 2);


a=1;
Dt2=Dt;
t5_aux=t5;
if check==1
while check==1 && isnan(h5)6=1 % Tercer Bucle--> para ajustar la diferencia de T entre ...
la curva de GGCC y de fluido al PP
t5=t5+Dt;
h5=XSteam('h_pT', p5, t5);
M=(h5-h1)/(h1_g-h4_g);
qtot=M*(h1_g-h4_g);
if isnan(h5)6=1
t5_aux=t5;
Dt2_aux=Dt2;
end
[check,Dt]=calculo_superc( PP, h1, p1, p5, qtot, t_g, puntos, 2);
if Dt6=0
Dt2=Dt;
end
if isnan(h5)6=1
t5_aux=t5;
Dt2_aux=Dt2;
end
a=a+1;
end
t5=t5_aux;
if check==0
X=['Acaba la iteracion, con t5=', num2str(t5),' C con un PP=',num2str(Dt2+PP),' C'];
disp(X);
elseif check==1
X=['No es posible obtener el ciclo indicado; se ha tenido que aumentar el PP ...
hasta', num2str(Dt2_aux+PP)];
disp(X);
end
end

Puede verse que el bucle itera hasta que se cumple la condición del ajuste del PP o hasta que, debido al pro-
ceso de iteración, se le da a t5 un valor que haga que h5 no exista, en cuyo caso el bucle se quedará con la ite-
ración anterior al fallo, y emitirá un mensaje avisando de que no se ha podido lograr ajustar una diferencia
mínima de temperaturas al PP introducido por el usuario, mostrando por pantalla el nuevo valor del PP.
En caso de que el proceso sí haya resultado satisfactorio, se muestra un mensaje en el que se comunica la t5
obtenida y el PP que se ha alcanzado; ‘Acaba la iteracion, con t5=590.5933 C con un PP=8.0009C’.
En este caso, el PP introducido era de 8◦ C, y se obtiene un valor que supone un error del 0.0113 %.
Tras haber finalizado este proceso, ya se puede obtener el punto 5, a partir del cual se obtendrían
los puntos 6s y 6. Se recuerda que del punto 6 se obtiene además su título de vapor, por los motivos
ya comentados sobre la importancia de esta variable en el mantenimiento de las turbinas de vapor y su
peligrosidad cuando las presiones de trabajo son muy altas.
Además de estos puntos, al final de este proceso se calcula el valor definitivo de la relación de caudales
de masa, y los distintos calores. Se recuerda que en este caso, la totalidad del calor intercambiado se
almacena en q_sobrec, dejando las otras dos componentes de q_caldera como ceros.

ETSI Industriales - 64- Universidad Politécnica de Madrid


Ciclo de Vapor con un nivel de presión, sin desgasificador

% Calculo M; balance termico a toda la CRC; ma(h1g-h4g)=mv(h5-h1)


M=(h5-h1)/(h1_g-h4_g);
% Calculo de los calores
qtot=h1_g-h4_g; %=1/M*(h5-h1)
q_econ=0;
q_evap=0;
q_sobrec=qtot;

2.3.5.3. Representación Gráfica

Se utiliza un proceso similar al visto en la Sección (2.3.4.3), exceptuando el proceso de representación


de la evolución de temperaturas en la CRC, que se ha realizado de la siguiente forma:

%% % GRAFICA CRC % % %
puntos=500;
q=linspace(0,qtot,puntos); %kJ/kg_aire
P=linspace(p1,p5,puntos); % Se estima una bajada de presion lineal debido a las ...
perdidas de carga
h=zeros([1, puntos]);
t=zeros([1, puntos]);
for i=1:1:puntos
h(i)=h1+M*q(i); %kJ/kg_agua
t(i)=XSteam('T_ph',P(i),h(i));
end
figure(3); hold all;
plot( q, t,'linewidth', 2, 'color', [0 0.2 0.6]);
q_g=h_g-h4_g;
plot(q_g , t_g, 'linewidth', 2, 'color', [0.635 0.078 0.184]);
xlabel('Exchanged Heat (kJ/kg of air)');
ylabel('Temperature ( C)');

Como se puede ver, la evolución de temperaturas del agua se ha hallado de forma similar a la utilizada
en la función calculo_superc. Se recuerda que el vector h_g contiene las entalpías de los GGCC entre
los puntos de entrada y salida de la CRC. Restando a este vector la entalpía restante al ser expulsados,
se obtiene el vector q_g, con el calor que van cediendo los gases de combustión a lo largo de la caldera.

2.3.5.4. Finalización del Programa

Dado que este ciclo utiliza el mismo programa que en el caso de ciclo subcrítico, con las mismas
variables de entrada y salida, el proceso de finalización del programa y obtención de los outputs es el
mismo que el mostrado en la Sección (2.3.4.4). En el resto de programas, no se dedicará una Sección a la
finalización del caso supercrítico, dado que es común al caso subcrítico.

2.3.6. Ejemplos de Simulación del Ciclo Subcrítico

A continuación se van a realizar diversas simulaciones para el programa explicados, con el fin de
obtener unas conclusiones preliminares. Se recuerda que el ciclo de vapor se defiía a partir del ciclo de
gas, que debe ser ejecutado primero. Las siguientes simulaciones de la TV se van a realizar para el mismo
caso de TG. Se van a llevar a cabo tres simulaciones para el caso de ciclo subcrítico, y otras dos para el
de ciclo supercrítico. Los parámetros introducidos son los siguientes5 :
Ciclo de Gas:
[t1_g, t2_g, x, Fr, ratio, w_TG, rend_TG]=
CicloGas(300, 1, 18, [0.88,0.98,0.93], [0.05, 0.08, 0.06], 1700, -1, 1, 1);
5 Se recuerda que los inputs del programa eran los siguientes:

CicloVap_1P_SinDesg(p, p_cond, AP, PP, DT, DI, rend, perd_carga, grafica, clearfigures,t1_g, t4_g, x, ratio,
rend_TG);

ETSI Industriales - 65- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

Simulación A: [t5_A, M_A, q_tot_A, q_caldera_A, x6_A, w_TV_A, rend_TV_A, rend_CC_A]=


CicloVap_1P_SinDesg(50, 0.0571, 5, 8, 5, 20, [0.91,0.88], [3 3], 1, 1, t1_g, t2_g,
x, ratio, rend_TG);
Simulación B: [t5_B, M_B, q_tot_B, q_caldera_B, x6_B, w_TV_B, rend_TV_B, rend_CC_B]=
CicloVap_1P_SinDesg(90, 0.0571, 5, 8, 5, 20, [0.91,0.88], [3 3], 1, 0, t1_g, t2_g,
x, ratio, rend_TG);
Simulación C: [t5_C, M_C, q_tot_C, q_caldera_C, x6_C, w_TV_C, rend_TV_C, rend_CC_C]=
CicloVap_1P_SinDesg(90, 0.0571, 10, 15, 5, 20, [0.91,0.88], [3 3], 1, 0, t1_g, t2_g,
x, ratio, rend_TG);

3500

Simulación A
3000
Simulación B
2500 Simulación C
Enthaply (kJ/kg)

2000

1500

1000

500

0
0 1 2 3 4 5 6 7 8 9 10
Specific Entropy (kJ/(kgºC))

Figura 2.13: Diagrama h s: Ejemplo de Simulación (Elaboración propia)

500

450 Simulación A
400 Simulación B
350 Simulación C
Temperature (ºC)

300

250

200

150

100

50

0
0 1 2 3 4 5 6 7 8 9
Specific Entropy (kJ/(kgºC))

Figura 2.14: Diagrama T s: Ejemplo de Simulación (Elaboración propia)

Argumentos de Salida (Uds.) Simulación A Simulación B Simulación C


t5 (◦ C) ! 447.7072 487.7081 425.6807
·
maire
M · 4.2540 4.3095 4.0904
magua 
kJ
q_tot 742.9152 742.9152 742.9152
kgaire
q_econ ( %) 30.8868 36.7599 37.8084
q_evap ( %) 52.6751 43.9793 47.2566
q_sobrec ( %) 16.4381 19.2608 14.9350
x6  0.8668 0.8475 0.8143
kJ
w_TV 251.6723 269.9121 264.1639
kgaire
rend_TV ( %) 33.6970 36.0126 35.2218
rend_CC ( %) 50.0370 51.7820 51.1861

Cuadro 2.2: Resultados de la Simulación de tres Ciclos Subcríticos de Vapor con CicloVap_1P_SinDesg

ETSI Industriales - 66- Universidad Politécnica de Madrid


Ciclo de Vapor con un nivel de presión, sin desgasificador

800

700
Simulación A
Simulación B
600
Simulación C
Temperature (ºC)

500

400

300

200

100

0
0 100 200 300 400 500 600 700 800
Exchanged Heat (kJ/kg of air)

(a) Diagrama T q

320

315

310 PPC
PPB
Temperature (ºC)

305

300 APB
AP
C
295

290

285

280
268 270 272 274 276 278 280 282 284
Exchanged Heat (kJ/kg of air)

(b) Detalle del Diagrama T q

Figura 2.15: Diagrama T q: Ejemplo de Simulación (Elaboración propia)

Observando las gráficas y los resultados arrojados por el programa, se pueden sacar las siguientes
conclusiones:

i) La temperatura de salida de la CRC aumenta según aumenta la presión de línea, a igualdad del
resto de parámetros. Por contra, un aumento del PP o del AP implican que este valor será menor.
ii) Como ya se ha comentado, en los tres casos el aire introducido sufre la misma variación de entalpía,
por lo que la cantidad de calor intercambiado por unidad de masa de aire introducido en el ciclo de
gas es la misma en los tres casos.
iii) Una menor presión de evaporación conlleva una menor cantidad de calor requerido intercambiar en
el economizador.
iv) A igualdad de presiones, un mayor valor del PP implica un desplazamiento a la derecha de la meseta
de evaporación (figura 2.15b). Esto implica que la cantidad de calor requerida por el economizador
se incrementa con respecto a la del resto de partes de la caldera. Esto se explica porque la cantidad
de gases de combustión que atraviesa la CRC debe ser menor para conseguir estas condiciones
(menor M ), por lo que al entrar menos cantidad de gases, se debe destinar más parte del calor
específico total que tienen a lograr este calentamiento, dado que el punto 2 es fijo.
v) Una presión menor conlleva que el evaporador requiera más cantidad de calor. Esto se debe a que
la diferencia entre la entalpía del vapor saturado y la del líquido saturado es mayor cuanto menor
es la presión. En este contexto entra en juego también el Approach Point; cuanto mayor sea, mayor
será la cantidad de calor demandada por el evaporador. Esto se debe a que el evaporador eleva la
entalpía del fluido no desde h3 = hsat L si no desde h2 , que será menor cuanto mayor sea el AP, con
el consecuente incremento de energía requerida.

ETSI Industriales - 67- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

vi) La cantidad de calor sobrante será destinada a sobrecalentar el vapor de agua. Interesa para el ciclo
que este tramo intercambie mucho calor, para aumentar el salto entálpico en la turbina y por tanto
la cantidad de energía eléctrica producida.
vi) Cuanto mayores sean la presión y la temperatura del punto de entrada a la turbina de vapor, mayor
será el trabajo obtenido en la misma.

vii) Cuanto menor sea la presión y mayor sea la temperatura en el punto de entrada a la turbina, mayor
será el título de vapor a la salida de la misma. Se recuerda la importancia de que este valor sea
mayor de 0.85.
viii) El rendimiento de la turbina de vapor aumenta cuanto mayor es el trabajo obtenido en la misma y
menor es el requerido por las bombas (ecuación 1.9). Como el trabajo requerido por las bombas es
bastante menor que el obtenido en la turbina, se puede concluir que a mayor presión, como el salto
entálpico en la turbina es mayor (y a pesar de que también lo sea el requerido por las bombas),
mejora el rendimiento del ciclo de vapor. A una misma presión, cualquier modificación que implique
una disminución de h5 conlleva un descenso de ηT V .
ix) Cuanto más prx́imas estén las curvas de temperatura de los GGCC y del agua, mayor será el
rendimiento del Ciclo Combinado. Esto se debe a las pérdidas exergéticas que se producen cuando
se intercambia energía a distinta temperatura (ecuación 1.5). Se podría haber apreciado a simple
vista, analizando la figura (2.15a), que el rendimiento mayor lo alcanzará el de la Simulación B.
Como regla general, un aumento de presión conlleva un aumento de rendimiento del ciclo global.

2.3.7. Ejemplos de Simulación del Ciclo Supercrítico

En esta Sección se va a llevar un proceso análogo al de la Sección (2.3.6), aplicado a procesos super-
críticos. Las simulaciones llevadas a cabo son las siguientes:
Ciclo de Gas:
[t1_g, t2_g, x, Fr, ratio, w_TG, rend_TG]=
CicloGas(300, 1, 18, [0.88,0.98,0.93], [0.05, 0.08, 0.06], 1700, -1, 1, 1);
Simulación A: [t5_A, M_A, q_tot_A, q_caldera_A, x6_A, x_ext_A, w_TV_A, rend_TV_A, rend_CC_A]=

CicloVap_1P_SinDesg(230, 0.0571, 5, 8, 5, 20, [0.91, 0.88], [3, 3], 1, 1, t1_g, t2_g,


x, ratio, rend_TG);
Simulación B: [t5_B, M_B, q_tot_B, q_caldera_B, x6_B, x_ext_B, w_TV_B, rend_TV_B, rend_CC_B]=

CicloVap_1P_SinDesg(250, 0.0571, 5, 8, 5, 20, [0.91, 0.88], [3, 3], 1, 0, t1_g, t2_g,


x, ratio, rend_TG);
Simulación C: [t5_C, M_C, q_tot_C, q_caldera_C, x6_C, x_ext_C, w_TV_C, rend_TV_C, rend_CC_C]=

CicloVap_1P_SinDesg(250, 0.0571, 5, 15, 5, 20, [0.91, 0.88], [3, 3], 1, 0, t1_g, t2_g,
x, ratio, rend_TG);
De estos resultados y las gráficas de las simulaciones se pueden extraer las siguientes conclusiones
preliminares:

i) La temperatura de salida de la CRC del vapor sobrecalentado se ve favorecida ligeramente por un


aumento de presión, pero disminuye de forma más acusada si aumenta el PP impuesto.
ii) La relación de caudales disminuye si se amenta la presión dado que la diferencia h5 − h1 disminuye.
Este descenso es más acusado también si se aumenta el PP manteniendo el resto de parámetros,
dado que h5 disminuye más debido a la bajada de t5 .
iii) Se puede observar cómo el calor intercambiado es el mismo en los tres casos, y que todo se guarda
en la tercera componente de q_caldera.

ETSI Industriales - 68- Universidad Politécnica de Madrid


Ciclo de Vapor con un nivel de presión, sin desgasificador

3500

Simulación A
3000
Simulación B
2500 Simulación C
Enthaply (kJ/kg)

2000

1500

1000

500

0
0 1 2 3 4 5 6 7 8 9 10
Specific Entropy (kJ/(kgºC))

Figura 2.16: Diagrama h s: Ejemplo de Simulación (Elaboración propia)

600

Simulación A
500
Simulación B
Simulación C
400
Temperature (ºC)

300

200

100

0
0 1 2 3 4 5 6 7 8 9
Specific Entropy (kJ/(kgºC))

Figura 2.17: Diagrama T s: Ejemplo de Simulación (Elaboración propia)

800

700
Simulación A
Simulación B
600
Simulación C
Temperature (ºC)

500

400

300

200

100

0
0 100 200 300 400 500 600 700 800
Exchanged Heat (kJ/kg of air)

Figura 2.18: Diagrama T q: Ejemplo de Simulación (Elaboración propia)

iv) El título de vapor tras la expansión en la turbina disminuye con la presión de línea y con el
aumento del PP. Esto se debe a que el punto 5 tiene menos entropía en estos casos, por lo que la
expansión acaba en puntos 6 situados más a la izquierda en la línea de cambio de fase a la presión de
condensación (ver figuras 2.16 y 2.17). En cualquier caso se puede observar cómo el título de vapor
obtenido es menor a los obtenidos en las simulaciones de ciclos subcríticos. Esto hace necesario
utilizar recalentamientos cuando se utilizan presiones tan elevadas, como ya se ha comentado.

v) El trabajo obtenido en la turbina aumenta si se incrementa la presión de la línea, pero disminuye si


aumenta el PP. Las mismas consideraciones pueden hacerse para el rendimiento del ciclo de vapor
y el del ciclo global.

ETSI Industriales - 69- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

Argumentos de Salida (Uds.) Simulación A Simulación B Simulación C


t5 (◦ C) ! 541.0345 546.8265 512.9885
·
maire
M · 4.2651 4.2560 4.1032
magua 
kJ
q_tot 742.9152 742.9152 742.9152
kgaire
q_econ & q_evap ( %) 0 0 0
q_sobrec ( %) 100 100 100
x6  0.8009 0.7964 0.7749
kJ
w_TV 295.0923 297.2139 293.2913
kgaire
rend_TV ( %) 38.8991 39.1116 38.5503
rend_CC ( %) 53.9571 54.1172 53.6943

Cuadro 2.3: Resultados de la Simulación de tres Ciclos Supercríticos de Vapor con CicloVap_1P_SinDesg

2.4. Ciclo de Vapor con un nivel de presión y desgasificador


El planteamiento de este programa es en todos los aspectos idéntico al anterior, con la excepción de que
se realiza una extracción al final de la expansión en la turbina de gas. Se recuerda que la función de estas
extracciones en losCC es principalmente la de eliminar ciertos gases disueltos en el agua que pueden ser
perniciosos para los componentes del ciclo de vapor. La similitud se extiende también al planteamiento
de los ciclos supercríticos. Por tanto, la única diferencia entre ambos programas es la adición de una
variable de diseño (la presión a la que se desea realizar la extracción), y la introducción de varios puntos
termodinámicamente relevantes. La metodología es idéntica en ambos programas y por tanto no se hará
una descripción tan extensiva como en el caso anterior.

2.4.1. Desarrollo Termodinámico del Ciclo Subcrítico

Figura 2.19: Configuración del Ciclo de Vapor y la CRC 1P Subcrítico con Desgasificador (Elaboración
propia)

En estas figuras se pueden apreciar los nuevos puntos del ciclo en comparación con el programa
anterior; ext, 8 y 9, además de la línea morada, que marca el proceso de condensación del pnto de
extracción6 .
6 El hueco existente entre la línea de expansión 5-6 y la línea de condensación de la extracción ext-9 se debe a que el

punto ext se ha hallado en el diagrama h s, en el cual este espacio no existe.

ETSI Industriales - 70- Universidad Politécnica de Madrid


Ciclo de Vapor con un nivel de presión y desgasificador

600

5
500

400

Temperature (ºC)
2, 3 4
300

200

100 9, 1
7, 8 6s ext
0
6
0 1 2 3 4 5 6 7 8 9
Specific Entropy (kJ/(kgºC))

Figura 2.20: Diagrama T s del Ciclo de Vapor Subcrítico 1P Con Desgasificador (Elaboración propia)

No se muestra la gráfica con el diagrama T q dado que su apariencia es indistinguible y los puntos
del interior de la CRC se mantienen. A continuación se detalla el proceso de obtención de estos nuevos
puntos:

ext: Vapor extraído de la turbina antes de completar la expansión. Para calcular dicho
punto se estima que la extracción no modificará la curva de expansión global. Por tanto se utiliza dicha
curva, conocida al tener los puntos 5 y 6, y el conocimiento de la presión a la cual tendrá lugar la
extracción, pext , para obtener las propiedades de dicho punto.

pext conocida
(2.22)
ext ⊂ recta 5 − 6

8s: Agua subenfriada a la presión de extracción tras un proceso de compresión ideal


isentrópica. El fluido se comprime isentrópicamente desde el estado de saturación líquida a pcond
hasta la presión de extracción. 
p8s = pext
(2.23)
s8s = s7

8: Agua subenfriada a la presión de extracción tras un proceso de compresión no isen-


trópico. En este este estaado se introduce el fluido en el desgasificador. Se obtiene a oartir del punto
8s y del rendimiento isentrópico de las bombas de circulación.
h8s − h7
ηbomba = (2.24)
h8 − h7

9: Líquido saturado a la presión de extracción. Se trata del líquido que se extrae del desgasifi-
cador, en donde hay un equilibrio bifíasico líquido-vapor entre los caudales provenientes de la extracción
y de la condensación. Sabiendo que es un fluido saturado, y que está a presión pext , es inmediato obtener
el resto de propiedades. 
p9 = pext
(2.25)
Líquido Saturado

1s, 1: Líquido subenfriado tras compresión. Estos puntos se calculan de forma similar a la
explicada en la Sección (2.3.1), exceptuando que la compresión tiene lugar desde una situación de líquido
saturado a la presión de extracción, no a la de condensación.
El resto de puntos que no se han comentado en esta Sección se obtienen de la misma forma que la
detallada en la Sección (2.3.1).
Puesto que las diferencias entre los ciclos de vapor con y sin desgasificador se dan fuera de la CRC,
no existe ninguna peculiaridad de los ciclos supercríticos con un nivel de presión y desgasificador que
no se haya comentado bien en las Secciones correspondientes del programa CicloVap_1P_SinDesg o

ETSI Industriales - 71- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

76.8

1
76.6

Temperature (ºC)
76.4 1s

76.2

76

9
75.8
6s ext
6
1.024 1.025 1.026 1.027 1.028 1.029 1.03 1.031 1.032
Specific Entropy (kJ/(kgºC))

Figura 2.21: Detalle del proceso de compresión entre 7 y 1 (Elaboración propia)

en la Sección (2.4.1), o se vaya a detallar en las Secciones siguientes. Por este motivo se expluyen en
este programa las secciones dedicadas a la explicación de las diferencias entre las simulaciones de ciclos
subcríticos y supercríticos.

2.4.2. Variables de Diseño

function [t5, M, q_tot, q_caldera, x6, x_ext, w_TV, rend_TV, rend_CC] = ...
CicloVap_1P_ConDesg( p, p_cond, p_ext, AP, PP, DT, DI, rend, perd_carga, grafica, ...
clearfigures, t1_g, t4_g, x, ratio, rend_TG)
%% CICLO DE VAPOR, SIMPLE (1P), CON DESGASIFICADOR
%% Desarrollador: Joaquin Corredoyra Alcaraz
% Tutor: Ruben Abbas Camara
% U.D. Motores Termicos
% ETS Ingenieros Industriales
% Universidad Politecnica de Madrid
% 2016

La única variable de entrada añadida para poder realizar este programa es p_ext; la presión a la cual
tiene lugar la extracción de la turbina de vapor. Como se verá a continuación, no es necesario ninguna
variable más, ya que se utilizan balances para obtener otras incógnitas como la fracción másica del caudal
de vapor que se dedica a la extracción, x_ext. Esta incógnita es, precisamente, la variable de salida que
se ha añadido con respecto al programa CicloVap_1P_SinDesg.

2.4.3. Programa CicloVap_1P_ConDesg

2.4.3.1. Inicialización del programa

Esta parte del programa no guarda diferencias con lo explicado en la Sección (2.3.4.1).

2.4.3.2. Obtención de los puntos principales de los diagramas

Como se ha comentado, las particularidades de este ciclo con respecto al equivalente sin desgasificador
tienen lugar fuera de la caldera de recuperación de calor, por lo que el procedimiento utilizado para obtener
los puntos del interior de la misma se mantiene intacto.
El programa comienza obteniendo los puntos que siguen a la expansión completa del fluido en la
turbina:

% 7
p7=p_cond;
t7=XSteam('Tsat_p', p7);
h7=XSteam('hL_p',p7);
s7=XSteam('sL_p',p7);
% 8s
p8s=p_ext;

ETSI Industriales - 72- Universidad Politécnica de Madrid


Ciclo de Vapor con un nivel de presión y desgasificador

s8s=s7;
t8s=XSteam('T_ps', p8s, s8s);
h8s=XSteam('h_pT', p8s, t8s);
% 8 (8s-7)/(8-7)=rend
h8=h7+(h8s-h7)/rend_s_bomba;
p8=p8s;
t8=XSteam('T_ph', p8, h8);
s8=XSteam('s_ph', p8, h8);
% 9
p9=p8;
t9=XSteam('Tsat_p',p9);
h9=XSteam('hL_p',p9);
s9=XSteam('sL_p',p9);

Como se puede ver, la obtención de estos puntos es relativamente inmediata a partir de los parámetros
de entrada. Tras esto, tendría lugar el proceso cálculo de los puntos del interior de la CRC, tanto de los
puntos de los gases de combustión como de los del agua.
Al finalizar ese cálculo, se pasa a obtener los puntos característicos de la expansión completa y de la
extracción de vapor:

% 6s
p6s=p_cond;
s6s=s5;
h6s=XSteam('h_ps', p6s, s6s);
t6s=XSteam('T_ps', p6s, s6s);
% 6
p6=p_cond;
h6=h5-rend_s_turb*(h5-h6s);
s6=XSteam('s_ph', p6, h6);
t6=XSteam('t_ph', p6, h6);
x6=XSteam('x_ph', p6, h6);
% ext
puntos=100;
[Dp, H, S]=aprox_ext(h5, h6, s5, s6 ,p_ext, puntos);
while Dp>0.00001
[Dp, H, S]=aprox_ext(H(1), H(2), S(1), S(2) ,p_ext, puntos);
end
h_ext=(H(1)+H(2))/2;
t_ext=XSteam('T_ph',p_ext,h_ext);
s_ext=XSteam('s_ph',p_ext,h_ext);
% (1-x)h8+x*h_ext=h9
x_ext=(h9-h8)/(h_ext-h8);

Como se puede apreciar, para calcular el punto ext se recurre a la función auxiliar aprox_ext, a la
cual se le irá llamando hasta alcanzar la precisión deseada en la obtención de dicho punto. Esta función
calcula valores de las propiedades termodinámicas entre dos puntos, suponiendo que la curva que define
la evolución entre estos puntos en un diagrama h s es una recta. Las variables de diseño de este programa
son las siguientes:
Variables de entrada:

kJ
- h_inicial: Valor de la entalpía del punto inicial de la curva, en .
kgagua
kJ
- h_final: Valor de la entalpí del punto final de la curva, en .
kgagua
kJ
- s_inicial: Valor de la entropía del punto inicial de la curva, en .
kgagua · K
kJ
- s_final: Valor de la entropía del punto final de la curva, en .
kgagua · K
- p_ext: Valor de la presión a la que tiene lugar la extracción, en bares.

ETSI Industriales - 73- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

- puntos: Número de puntos intermedios que se utilizarán para calcular la recta entre los puntos de
inicio y final de la curva.

Variables de salida:

- Dp: Diferencia de presión entre la de extracción y la más cercana a ésta de entre las obtenidas en
la recta entre los puntos inicial y final de la curva.
- H: Vector de dos componentes, que contienen las entalpías de los puntos entre cuyas presiones se
haya la de extracción.
- S: Vector de dos componentes, que contienen las entropías de los puntos entre cuyas presiones se
haya la de extracción.

El código del programa es el siguiente:

function [ Dp, H, S] = aprox_ext(h_inicial, h_final ,s_inicial, s_final, p_ext, puntos)


%% Desarrollador: Joaquin Corredoyra Alcaraz
% Tutor: Ruben Abbas Camara
% U.D. Motores Termicos
% ETS Ingenieros Industriales
% Universidad Politecnica de Madrid
% 2016
%%
hint=linspace(h_inicial,h_final,puntos);
sint=linspace(s_inicial,s_final,puntos);
p_aux=zeros([1 puntos]); %almacena p intermedias de la expansion
for i=1:1:puntos
p_aux(i)=XSteam('p_hs',hint(i),sint(i));
end

[Dp, j]=min(abs(p_ext-p_aux));
if p_ext+Dp==p_aux(j)
H=[hint(j) hint(j+1)];
S=[sint(j) sint(j+1)];
elseif p_ext-Dp==p_aux(j)
H=[hint(j-1) hint(j)];
S=[sint(j-1) sint(j)];
end
end

Como se puede ver, el programa calcula las presiones de los distintos puntos de la recta entre el inicial y
el final introducidos, y se busca la más cercana a la presión de extracción. Tras localizarla, se asignan los
valores a los vectores H y S.
Volviendo al programa principal, el valor Dp es evaluado para comprobar si es suficientemente pequeño.
De ser , mayor que lo establecido, se ejecuta otra vez la función aprox_ext, pero esta vez entre los puntos
producidos en la ejecución anterior. De esta forma, cada vez se realiza el proceso con una precisión mayor
con cada iteración realizada.
Tras haber obtenido las propiedades termodinámicas del punto de extracción se obtiene la fraccón de
caudal másico que se extrae de la turbina, x_ext, mediante un balance de energía entre los puntos 8, 9,
y ext:

m9 · h9 = mext · hext + m8 · h8
m9 = mtoal agua ; mext = mtoal agua · xext ; m8 = mtoal agua · (1 − xext )

Por tanto:
h9 − h8
h9 = xext · hext + (1 − xext ) · h8 ; xext = (2.26)
hext − h8

ETSI Industriales - 74- Universidad Politécnica de Madrid


Ciclo de Vapor con un nivel de presión y desgasificador

2.4.3.3. Representación gráfica

La metodología utilizada para la representación de las gráficas es prácticamente igual a la explicada


en apartados anteriores, exceptuando la inclusión de los nuevos puntos en las curvas h s y T s. Por tanto,
solo se mostrará el código utilizado para la representación de la curva h s:

% GRAFICA H-S
if clearfigures
figure(4)
clf
fastmollier(1);
else
figure(4)
hold all;
end
if x6≥1
plot([s9, sint13, sint45, s6, sint6_6v, s7, s8, s9],...
[h9, hint13, hint45, h6, hint6_6v, h7, h8, h9] ,'linewidth', 3, 'color', [0 0.2 ...
0.6]);
else
plot([s9, sint13, sint45, s6, s7, s8, s9],...
[h9, hint13, hint45, h6, h7, h8, h9] ,'linewidth', 3, 'color', [0 0.2 0.6]);
end
plot([s9, s1s, s1],...
[h9, h1s, h1],'color', [0 0.5 0], 'linestyle', '--','linewidth', 2);
plot([s5, s6s, s6],...
[h5, h6s, h6],'color', [0 0.5 0], 'linestyle', '--','linewidth', 2);
plot([s7, s8s, s8],...
[h7, h8s, h8],'color', [0 0.5 0], 'linestyle', '--','linewidth', 2);

if h_ext>XSteam('hV_p', p_ext)
%Puntos intermedios entre ext y ext_V
[hint_extV, ¬, sint_extV, tint_extV]=calculo_intermedios(h_ext, XSteam('hV_p', p_ext), ...
p_ext, p_ext, 10);
plot([sint_extV, s9],...
[hint_extV, h9] ,'linewidth', 3, 'color', [0.5 0.2 0.6]);
else
plot([s_ext, s9],...
[h_ext, h9] ,'linewidth', 3, 'color', [0.5 0.2 0.6]);
end

Como particularidad, cabe señalar que se ha tenido en cuenta la posibilidad de que el punto de extracción
sea de equilibrio bifásico o de vapor sobrecalentado. En este caso, se han obtenido los puntos intermedios
entre el punto ext y el de vapor saturado a la presión de extracción.

2.4.3.4. Finalización del programa

En este caso se ha tenido en cuenta la existencia de dos bombas; una a la salida del condensador,
y otra a la salida del desgasificador. Esto se refleja en el cálculo de la variable w_Bba, que contiene el
kJ
trabajo realizado por las bombas de circulación del ciclo, en .
kgaire

%% % OUTPUTS % % %
q_tot=h1_g-h4_g;
q_caldera=[q_econ, q_evap, q_sobrec]/q_tot*100;
w_TV=(h5-h6)/M; % en kJ/kg_aire
w_Bba=((h1-h9)+(1-x_ext)*(h8-h7))/M; % en kJ/kg_aire
rend_TV=(w_TV-w_Bba)/(h1_g-h4_g)*100; % mv(h5-h6)/mf(h1_g-h4_g)=(h5-h6)/(M*(h1_g-h4_g));
rend_CC=rend_TV+rend_TG-rend_TV*rend_TG/100;

ETSI Industriales - 75- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

2.4.4. Ejemplos de Simulación del Ciclo Subcrítico

A continuación se van a realizar una serie de simulaciones que permitan comparar los efectos que
tienen la variación de la presión de extracción. No se analazirán las consecuencias de la modificación
de otras variables de diseño, como AP o PP, dado n las misque son las mismas que en programa
CicloVap_1P_SinDesg. Las simulaciones de ciclos subcríticos realizadas son las siguientes:
Ciclo de Gas:
[t1_g, t2_g, x, Fr, ratio, w_TG, rend_TG]=
CicloGas(300, 1, 18, [0.88,0.98,0.93], [0.05, 0.08, 0.06], 1700, -1, 1, 1);
Simulación A: [t5_A, M_A, q_tot_A, q_caldera_A, x6_A, x_ext_A, w_TV_A, rend_TV_A, rend_CC_A]=

CicloVap_1P_ConDesg( 90, 0.0571, 0.2, 5, 8, 5, 20, [0.91,0.88], [3 3], 1, 1,


t1_g, t2_g, x, ratio, rend_TG);
Simulación B: [t5_B, M_B, q_tot_B, q_caldera_B, x6_B, x_ext_B, w_TV_B, rend_TV_B, rend_CC_B]=

CicloVap_1P_ConDesg( 90, 0.0571, 4, 5, 8, 5, 20, [0.91,0.88], [3 3], 1, 0,


t1_g, t2_g, x, ratio, rend_TG);

3500

3000
Simulación A

2500 Simulación B
Enthaply (kJ/kg)

2000

1500

1000

500

0
0 1 2 3 4 5 6 7 8 9 10
Specific Entropy (kJ/(kgºC))

Figura 2.22: Diagrama h s: Ejemplo de Simulación (Elaboración propia)

600

Simulación A
500

400
Simulación B
Temperature (ºC)

300

200

100

0
0 1 2 3 4 5 6 7 8 9
Specific Entropy (kJ/(kgºC))

Figura 2.23: Diagrama T s: Ejemplo de simulación (Elaboración propia)

De estos resultados se pueden extraer las siguientes conclusiones:

i) Un aumento de la presión de extracción favorece una mayor temperatura de salida del vapor so-
brecalentado. Esto se debe a la menor cantidad de calor (del total intercambiado) que requiere el
economizador. Esto implica una mayor relación de caudales y que se dedique un mayor porcentaje
de calor intercambiado al sobrecalentador y por tanto una mayor temperatura de salida del vapor.
La

ETSI Industriales - 76- Universidad Politécnica de Madrid


Ciclo de Vapor con un nivel de presión y desgasificador

800

700 Simulación A
600
Simulación B
Temperature (ºC)

500

400

300

200

100

0
0 100 200 300 400 500 600 700 800
Exchanged Heat (kJ/kg of air)

Figura 2.24: Diagrama T q: Ejemplo de Simulación (Elaboración propia)

Argumentos de Salida (Uds.) Simulación A Simulación B


t5 (◦ C) ! 481.3746 519.6414
·
maire
M · 4.2752 4.4801
m
agua 
kJ
q_tot 720.8325 630.4371
kgaire
q_econ ( %) 34.8225 25.4770
q_evap ( %) 45.6902 49.8528
q_sobrec ( %) 19.4873 24.6702
x6 0.8443 0.8630
x_ext
  0.0475 0.1726
kJ
w_TV 270.1107 269.1264
kgaire
rend_TV ( %) 37.1374 42.3031
rend_CC ( %) 52.6295 56.5222

Cuadro 2.4: Resultados de la simulación de dos ciclos subcríticos de vapor con CicloVap_1P_ConDesg

ii) Este aumento de temperatura se traduce en un mayor título de vapor a la salida de la turbina y un
mayor rendimiento de los ciclos de vapor y global, al extraer más energía del proceso.

iii) A pesar de las aparentes ventajas que conllevan las conclusiones anteriores, la gran desventaja de
las extracciones es que se aumentan las pérdidas de calor de los gases de combustión. Esto sucede
porque los gases salen a una temperatura mayor que si no hubiera extracción, por lo que ese calor
se pierde. El motivo de este aumento de temperatura de salida de los gases se debe a que el agua
entra a una mayor temperatura, por estar a presión. Este fenómeno de aumento de las pérdidas
queda reflejado en la variable q_tot, menor cuanto más alta es la presión de extracción.
iv) Una mayor presión de extracción implica también que la fracción de caudal másico de extracción
es también mayor.

2.4.5. Ejemplos de Simulación del Ciclo Supercrítico

Para el caso de ciclo supercrítico se pueden extraer las mismas conclusiones, por lo que solo se van a
presentar las gráficas resultantes de las siguientes simulaciones, y la tabla con los outputs:
Ciclo de Gas:
[t1_g, t2_g, x, Fr, ratio, w_TG, rend_TG]=
CicloGas(300, 1, 18, [0.88,0.98,0.93], [0.05, 0.08, 0.06], 1700, -1, 1, 1);

ETSI Industriales - 77- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

Simulación A: [t5_A, M_A, q_tot_A, q_caldera_A, x6_A, w_TV_A, rend_TV_A, rend_CC_A]=


CicloVap_1P_ConDesg( 230, 0.0571, 0.2, 5, 8, 5, 20, [0.91,0.88], [3 3], 1, 1,
t1_g, t2_g, x, ratio, rend_TG);
Simulación B: [t5_B, M_B, q_tot_B, q_caldera_B, x6_B, w_TV_B, rend_TV_B, rend_CC_B]=
CicloVap_1P_ConDesg( 230, 0.0571, 4, 5, 8, 5, 20, [0.91,0.88], [3 3], 1, 0,
t1_g, t2_g, x, ratio, rend_TG);

3500

3000
Simulación A

2500 Simulación B
Enthaply (kJ/kg)

2000

1500

1000

500

0
0 1 2 3 4 5 6 7 8 9 10
Specific Entropy (kJ/(kgºC))

Figura 2.25: Diagrama h s: Ejemplo de Simulación (Elaboración propia)

600

Simulación A
500

400
Simulación B
Temperature (ºC)

300

200

100

0
0 1 2 3 4 5 6 7 8 9
Specific Entropy (kJ/(kgºC))

Figura 2.26: Diagrama T s: Ejemplo de simulación (Elaboración propia)

800

700
Simulación A
600
Simulación B
Temperature (ºC)

500

400

300

200

100

0
0 100 200 300 400 500 600 700 800
Exchanged Heat (kJ/kg of air)

Figura 2.27: Diagrama T q: Ejemplo de Simulación (Elaboración propia)

ETSI Industriales - 78- Universidad Politécnica de Madrid


Argumentos de Salida (Uds.) Simulación A Simulación B
t5 (◦ C) ! 536.3943 581.1365
·
maire
M · 4.2373 4.5051
m
agua 
kJ
q_tot 719.8125 628.4911
kgaire
q_econ & q_evap ( %) 0 0
q_sobrec ( %) 100 100
x6 0.7982 0.8233
x_ext
  0.0503 0.1812
kJ
w_TV 295.1494 294.3058
kgaire
rend_TV ( %) 40.1402 45.8413
rend_CC ( %) 54.8923 59.1885

Cuadro 2.5: Resultados de la simulación de dos ciclos superíticos de vapor con CicloVap_1P_ConDesg
MODELADO DE PLANTAS DE CICLO COMBINADO

2.5. Ciclo de Vapor con dos niveles de presión en paralelo


A partir de este punto, todos los ciclos constan de desgasificador, por lo que no se hará mención
explícita al mismo en los títulos de las Secciones pero no debe ser olvidado. Como se ha comentado, una
de las posibles mejoras que se le puede introducir a la turbina de vapor es la introducción de más de
un nivel de presión. Esto puede hacerse de infinidad de maneras dado que la cámara de combustión es
un elemento no estandarizado que se fabrica de acuerdo a las necesidades del ciclo. En este TFG se han
elegido cuatro configuraciones posibles de dosn niveles de presión, siendo la primera de ellas aquella que
tiene desgasificador y en la que los intercambiadores de calor van en paralelo en la CRC.
Se ha optado por introducir el nivel de alta presión con una bomba de circulación bajo el calderín
de baja presión, que eleve el líquido saturado desde la presión de baja hasta la de alta, como puede
observarse en la figura (2.28). Puede verse también que el caudal de alta presión se expande hastala
presión del caudal de baja, tras lo cual se introducen ambos en la turbina de baja presión para completar
la expansión hasta la presión de condensación.

2.5.1. Desarrollo Termodinámico del Ciclo Subcrítico

Figura 2.28: Configuración del Ciclo de Vapor y la CRC para dos niveles de presión en paralelo, con
presiones subcríticas (Elaboración propia)

A continuación se procede a explicar la obtención de los puntos característicos mostrados en las figuras
(2.29) y (2.30).

7, 8, 9: Estos puntos se obtienen de la misma forma que en el caso de un nivel de presión, hacien-
do uso de las presión de condensación y de extracción, y del rendimiento isentrópico de la bomba de
circulación.

ETSI Industriales - 80- Universidad Politécnica de Madrid


Ciclo de Vapor con dos niveles de presión en paralelo

600

5a
500

400
Temperature (ºC)

6a
2a,3a 4a 5b
300
5m
2b,3b,1a 4b
200

100
9,1b
ext
7,8
0
6
0 1 2 3 4 5 6 7 8 9
Specific Entropy (kJ/(kgºC))

Figura 2.29: Diagrama T s del Ciclo de Vapor 2P Subcrítico (Elaboración propia)

800
1g
700
2g
600 5a
Temperature (�C)

500

400 3g
4g
2a,3a
300 5g 1a 4a
5b
200 2b,3b 4b
6g
100
1b
0 100 q1 q2 q3 300 400 500 q4 600 700 q5 800
Exchanged Heat (kJ/kg of air)

Figura 2.30: Diagrama T q del Ciclo de Vapor 2P Subcrítico (Elaboración propia)

1b, 1bs: Agua subenfriada a presión de la línea de baja. Estos puntos se hayan de la misma
forma que 1s y 1 en el ciclo 1P con desgasificador. En estos puntos todo el caudal está a la presión de
baja más las pérdidas de presión en el economizador, ya que no se ha producido la bifurcación de flujos.

3b: Agua saturada a la presión de baja. Se obtiene este punto sabiendo que se trata de líquido
saturado a la presión de baja, pb , que es un dato del ciclo.

2b: Agua a la salida del economizador de baja. En este punto todo el caudal alcanza una
temperatura cercana a la de saturación a la presión de baja. La diferencia entre t3b y t2b es el Aproach
Point de baja, que es un parámetro de entrada.

4b: Vapor saturado a la presión de baja. En este punto ya se ha separado el caudal de baja
del de alta presión. Por tanto, la evaporación a este pb solo tiene lugar para parte del caudal, definido
mediante las fracciones másicas de caudal de alta y de baja con respecto al total de caudal, que serán un
parámetro de entrada. Para obtener este punto se sigue el mismo razonamiento que para 3b; se trata de
vapor saturado y se conoce la presión a la que se encuentra.

1a, 2a, 3a, 4a: Se calculan de la misma forma que sus equivalentes de la línea de baja presión, a
excepción del punto 1a, que en lugar de ser resultado de la compresión desde líquido saturado a pext
hasta su presión correspondiente, comienza su compresión con líquido saturado a pb .

6g, 5g, 3g, 1g: Estos puntos característicos del gas se obtienen directamente a partir distintos datos
de entrada, de forma similar al ciclo 1P: 1g es un parámetro de entrada dado por el programa CicloGas;

ETSI Industriales - 81- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

6g se obtiene a partir de la temperatura T1b y la diferencia inicial mínima de temperaturas, DI, o de la


temperatura proporcionada por CicloGas en caso de que esta sea mayor; 5g y 3g se obtienen mediante
los puntos 3b y 3a y los PP de baja y de alta, respectivamente.
A partir de este momento es necesario recurrir a balances de energía para obtener el resto de puntos;
4g, 5b, 2g, y 5a

4g: Gases de combustión a la salida del evaporador de baja. Para obtener la entalpía de los
GGCC en este punto es necesario realizar dos balances. El primero se realiza al economizador de baja y
permite obtener la relación de caudales de aire y total de agua. Con esta relación y las fraccones másicas
de caudals de baja y de alta respecto del total de agua se obtienen Mb y Ma . Con estas relaciones se
realiza un balance de energía al tramo de la CRC en el que coinciden el sobrecalentador de baja presión
y el economizador de alta, obteniéndose h4g .
 
kgaire h2b − h1b
M = (2.27)
kgagua h5g − h6g
     ·
kgaire kgaire magua total M
Mb =M · ·

 = xbaja
kgagua LP kgagua magua LP (2.28)
Ma = · · · = M


xalta
1
h4g = h5g + · (h4b − h2b ) (2.29)
Mb

5b: Vapor sobrecalentado de la línea de baja. Para obtener las propiedades termodinámicas
de este punto se recurre a las pérdidas de presión en el sobrecalentador para obtener p5b , y a un balance
de energía entre los puntos 4g y 3g, dado que todos los puntos que intervienen en el mismo ya han sido
definidos en pasos anteriores, a excepción del 5b.


 p5b = pb − ∆psobrec

Balance de energía :

mg · (h3g − h4g ) = mb · (h5b − h4b ) + ma · (h2a − h1a ) (2.30)
x


h5b = h4b + Mb · (h3g − h4g ) − alta · (h2a − h1a )


xbaja
Cabe destacar que este punto es muy sensible y varía notablemente con variaciones relativamente pequeñas
de los parámetros de entrada. Esto es porque toma su energía de la que ‘sobra’ y no es utilizada por el
economizador de alta (dado que sus puntos de inicio y finalización están fijados) entre los puntos 3g y
4g. Por tanto, generalmente es necesario utilizar Pinch Points y Approach Points de alta mayores que en
otras configuraciones, para que este tramo de la caldera se incremente. Esto puede compensarse usando
PP o AP de baja menores de lo normal.

2g: Gases de combustión a la salida del evaporador de alta. Para obtener la entalpía de los
gases en este punto se realiza un balance al evaporador de alta, análogo al realizado para hallar el punto
4g.

5a: Vapor sobrecalentado de la línea de alta. Su presión se obtiene a traveés de la de línea


y las pérdidas de carga que tienen lugar en el sobrecalentador, y su entalpía, mediante un balance de
energía realizado en el sobrecalentador de alta, entre los puntos 2g y 1g.

p5a = pa − ∆psobrec
(2.31)
h5a = h4a + Ma · (h1g − h2g )

6sa, 6a: Puntos característicos de la expansión desde 5a hasta la presión p5b . Se obtienen
de forma similar a los puntos 6s y 6, con la diferencia de que en vez de finalizar la expansión en pcond ,
lo hacen en p5b .

ETSI Industriales - 82- Universidad Politécnica de Madrid


Ciclo de Vapor con dos niveles de presión en paralelo

5m: Punto resultado de la mezcla de 5b y 6a. Este punto se enuentra a la presión p5b y a la
entalpía resultado de la mezcla de los caudales;
h5m = xbaja · h5b + xalta · h6a (2.32)

Tras esto, queda por obtener los puntos 6, 6s, y ext. Los pasos llevados a cabo para encontrarlos no
difieren de los seguidos en el ciclo de un nivel de presión con desgasificador.

2.5.2. Desarrollo Termodinámico del Ciclo Supercrítico


Puede darse la posibilidad de que la línea de alta presión evapore a una presión supercrítica. En
este caso, igual que sucedía en los programa anteriores, hay un grado de libertad más debido a que no
tienen validez los datos de AP y PP de baja, que ayudaban a definir el ciclo. Se recuerda que en los dos
programas de 1P, este grado de libertad se suplió obligando a que la curva de temperaturas del agua
y de los GGCC en la CRC tuvieran una diferencia mínima del PP, lo cual se alejaba un poco de las
características reales de un ciclo upercrítico (si bien es verdad que no es común la existencia de ciclos
supercríticos de 1P).
En este caso, se ha optado por una imposición más convencional; que el punto resultante de la
expansión del caudal de alta (6a) coincida con el de vapor sobrecalentado de la línea de baja (5b).

700
5a
600

500
Temperature (ºC)

400
5b ≡ 6a

300 2b,3b,1a 4b
200

100
9, 1b
ext
7,8
0
6
0 1 2 3 4 5 6 7 8 9
Specific Entropy (kJ/(kgºC))

Figura 2.31: Diagrama T s del Ciclo de Vapor 2P Supercrítico (Elaboración propia)

800
1g
700

5a
600
Temperature (º C)

500
2g

400
5b
3g
Ia
300
4g 1a
2b,3b 4b
200
5g
100
1b
0 100 q1 200 q2 300 q3 500 600 700 q4 800
Exchanged Heat (kJ/kg of air)

Figura 2.32: Diagrama T q del Ciclo de Vapor 2P Supercrítico (Elaboración propia)

Tanto los puntos 1b, 2b, 3b, 4b y 1a como los puntos exteriores a la CRC, así como los de inicio
y final de los GGCC, se han obtenido de la misma forma que en el caso subcrítico. La diferencia radica
por tanto en la caracterización de los puntos 5b y 5a. Para la obtención de las entalpías de los gases
de combustión en los puntos 4g y 3g se siguen pasos ya comentados. Cabe también resaltar que, como
se puede ver comparando las figuras (2.30) y (2.32), la evolución de los GGCC cuenta con un punto
característico menos en el caso supercrítico.

ETSI Industriales - 83- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

5a: Vapor sobrecalentado de la línea de alta. Como se ha mencionado antes, el criterio utilizado
para definir este punto es que al realizar su expansión hasta 6a, este coincida con 5b. Dado que la presión
de ambos ya es la misma dado que se expansiona el caudal de alta hasta la presión en la que el caudal
de baja comienza su expansión, se obliga a que s6a = s5b . Por tanto, se inicia una iteración en la que se
varía la temperatura t5a , hasta conseguir cumplir con el criterio. Esto es posible dado que teniendo p5a
(que no varía) y t5a (con la que vamos iterando) puede obtenerse el punto 6a, y mediante un balance de
energías que se comentará a continuación, obtener también el punto 5b.

5b: Vapor sobrecalentado de la línea de baja. Una vez definido el punto 5a, se hallan las
propiedades termodinámicas del punto 5b a partir de su presión y de su entalpía, obtenida a partir del si-
guiente balance, realizado al tramo de la CRC que contiene al sobrecalentador de baja y al intercambiador
del fluido supercrítico:

mg · (h1g − h3g ) = mb · (h5b − h4b ) + ma · (h5a − h1a ) (2.33)

2g: Gases de combustión a la salida del sobrecalentador de baja. Una vez obtenidos los
puntos 5b y 5a, el resto de puntos característicos del ciclo pueden ser hallados, pero para poder representar
la curva T q falta situar el punto 5b dentro de la CRC, o lo que es lo mismo, designar t2g. En esta elección
también se dispone de libertad, y hay señalar que la decisión que se tome para representar dicho punto
(que será hasta donde se extienda el sobrecalentador de baja) no afecta a los outputs del ciclo tal y como
se han programado. Aún así, esta decisión no debe tomarse a la ligera ya que podría conducir a realizar
una gráfica T q errónea. En un principio se pensó asignar al punto 2g la temperatura del punto 5b más
su DT; T2g = T5b + DTbaja . Esto resultó ser equivocado, dado que esta temperatura puede ser menor que
T3g en algunos casos, dando lugar al caso ‘1er Criterio’ en la gráfica (2.33). Por tanto, se tomó la idea
de que la temperatura T2g debería se siempre mayor que la del punto 3g, por lo que se ideó el siguiente
algoritmo:


 Se realiza un balance de energía entre los puntos 3g y 1g:

mg · (h1g − h3g ) = ma · (h5a − h1a ) + mb · (h5b − h4b );







 Se calcula el calor utilizado para sobrecalentar la línea de baja, para calentar el supercrítico,




 y el total de los gases:
calorsobrec sub = xbaja · (h5b − h4b );

 calorsupercr = xalta · (h5a − h1a );



calortotal = Mt · (h1g − h3g );







 Se estima que en este tramo la línea supercrítica recibe un tercio del calor total que recibirá,




 y con ello se interpola la temperatura del punto 2g:

 calorsobrec sub + calorsupercr /3
T2g = T3g + (T1g − T3g )
 ;
calortotal
(2.34)
Se ha estimado que el ciclo supercrítico absorba un tercio del calor total que necesita para garantizar
que no haya soluciones erróneas. Siguiendo este criterio, se asignará siempre a 2g una temperatura entre
T3g y T1g , y para los mismos parámetros de entrada, se obtienen las curvas del ‘2o Criterio’ en la figura
(2.33). Por si esto no fuera suficiente y tras este calculo se obtuviera que t5b < t2g − DTbaja , se aumentará
el la longitud de recorrido en el que los fluidos de baja y supercrítico van en paralelo, hasta un máximo
de que dicha distancia sea la total del intercambiador supercrítico.
Como se puede ver en dicha figura, los puntos característicos del ciclo de vapor no varían, pero sí lo
hace Ia.

Ia: Punto del caudal supercrítico a partir del cual ya no hay caudal de baja en la CRC.
Este punto se halla a partir de 5b y 2g, y se utilizará para la representación de la gráfica T q. Su entalpía
se obtiene realizando un balance de energía entre los puntos 3g y 2g, y su presión suponiendo un descenso

ETSI Industriales - 84- Universidad Politécnica de Madrid


Ciclo de Vapor con dos niveles de presión en paralelo

800

Primer Criterio;
700
Segundo Criterio; 2g2o Criterio
600
Temperature (º C)

500 2g1er Criterio


T5b
400

Ia2o Criterio
300

200
Ia1er Criterio
100
0 100 200 300 400 500 600 700 800
Exchanged Heat (kJ/kg of air)

Figura 2.33: Diferentes resultados según el criterio utilizado para asignar T2g en un ciclo 2P paralelo
supercrítico(Elaboración propia)

lineal de la misma debido a las pérdidas de carga.



 Balance de energía: mg · (h2g − h3g ) = mb · (h5b − h4b ) + ma · (hIa − h1a )

hIa − h1a (2.35)

 pIa = p1a + (p5a − p1a ) ·
h5a − h1a

2.5.3. Variables de Diseño

function [t5, Mt, qtot, q_caldera, x6, x_ext, w_TV, rend_TV, rend_CC, error] =...
CicloVap_2P_Desg_Paralelo( p, p_cond, p_ext, AP, PP, DT, DI,x_alta,...
rend, perd_carga, grafica, clearfigures,...
t_ent_g, t_sal_g, x, ratio, rend_TG)
%%
% CICLO DE VAPOR, 2P, CON DESGASIFICADOR, CON ALTA Y BAJA EN PARALELO, SIN RECALENTADOR
%% Desarrollador: Joaquin Corredoyra Alcaraz
% Tutor: Ruben Abbas Camara
% U.D. Motores Termicos
% ETS Ingenieros Industriales
% Universidad Politecnica de Madrid
% 2016

Como se puede ver comparando con las variables de diseño del ciclo 1P (Sección 2.4.2), hay pocas
variaciones en cuanto a la naturaleza de los inputs o los outputs del programa. La diferencia radica e el
número de componentes que deben tener las variables, que en la mayoría de los casos asciende de una a
dos componentes. Esto se debe a que se requiere un valor para la línea de baja y otro para la de alta.
Ese es el caso de: p, AP, PP, y DT. En estos casos, la primera componente será la de la línea de baja
presión, y la segunda la de alta.
La única variable de entrada nueva es x6; la fracción de caudal másico de agua que irá por la línea
de alta presión. Este valor, que suele ser mayor de 0.5, es el causante de que en las gráficas T q de ciclos
de 2P, la meseta de evaporación del ciclo de alta sea mayor que la de baja, a pesar de que la energía
requerida para evaporar el agua aumenta cuanto menor es la presión a la que ebulle.
De los parámetros de salida, se ha modificado la información que proporciona q_caldera. Si bien
en los programas anteriores ofrecía el porcentaje de calor utilizado en el economizador, evaporador y
sobrecalentador, en este programa ofrece el porcentaje de calor empleado en el primer economizador, en
el cual se lleva todo el caudal de agua desde h1b hasta h2b ; el utilizado para evaporar y sobrecalentar el
caudal de baja; y el porcentaje utilizado para llevar el caudal de alta de h1a a h5a . Además, se introduce
la variable de salida error, la cual tendrá un valor u otro en función del error obtenido en el programa, de
haberlo. Esto es de utilidad a la hora de analizar los resultados obtenidos con el programa. Más adelante
se mostrarán los distintos valores que puede tomar esta variable, así como los distintos errores que pueden
darse.

ETSI Industriales - 85- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

2.5.4. Programa CicloVap_2P_Desg_Paralelo para Ciclo Subcrítico

2.5.4.1. Inicialización del Programa

%% PARAMETROS DEFAULT
load janafJ.mat; options=optimoptions('fsolve', 'Display', 'off');
MW_gases_comb=x(1)*eval(['MolWeight.' 'CO2'])+x(2)*eval(['MolWeight.' 'H2O'])+ ...
x(3)*eval(['MolWeight.' 'N2'])+x(4)*eval(['MolWeight.' 'O2']);
if perd_carga==-1;
perd_carga=[3 3];
end
perd_carga_econ=perd_carga(1);
perd_carga_sobrec=perd_carga(2);
if rend==-1
rend=[0.9,0.88]; %El primero es de las bombas y el segundo de la(s) turbina(s)
end
rend_s_bomba=rend(1);
rend_s_turb=rend(2);
if AP==-1
AP_b=5;
AP_a=5;
elseif length(AP)==2
AP_b=AP(1);
AP_a=AP(2);
else
disp('AP debe tener dos dimensiones o ser -1');
end
if PP==-1
PP_b=10;
PP_a=20;
elseif length(PP)==2
PP_b=PP(1);
PP_a=PP(2);
else
disp('PP debe tener dos dimensiones o ser -1');
end
if DT==-1
DT_baja=30;
DT_alta=5;
elseif length(DT)==2
DT_baja=DT(1);
DT_alta=DT(2);
else
disp('DT debe tener dos dimensiones o ser -1');
end
if DI==-1
DI=30;
end
if length(p)==2
p_b=p(1);
p_a=p(2);
else
disp('p debe tener dos dimensiones o ser -1');
end

Como se puede ver, se realiza una comprobación de que se proporcionan las variables de entrada en el
formato adecuado. También se cambia el nombre de los inputs con el fin de facilitar la comprensión del
código del programa.

2.5.4.2. Obtención de los puntos principales de los diagramas

A continuación se muestra el código utilizado para la obtención de los puntos del ciclo cuya obtención
no requiere de balances de energía, exceptuando de los siguientes: 1g, 7, 8s, 8, y 9; cuyos procesos no
presentan ninguna diferencia con respecto a los ya explicados.

ETSI Industriales - 86- Universidad Politécnica de Madrid


Ciclo de Vapor con dos niveles de presión en paralelo

if p_a<220.5846

%% % % % % CICLO DE BAJA % % % % % %
%1s_b
p1s_b=p_b*(1+perd_carga_econ/100);
s1s_b=s9;
t1s_b=XSteam('T_ps', p1s_b, s1s_b);
h1s_b=XSteam('h_pT', p1s_b, t1s_b);
%1_b (1s_b-9)/(1_b-9)=rend
p1_b=p1s_b;
h1_b=h9+(h1s_b-h9)/rend_s_bomba;
t1_b=XSteam('T_ph', p1_b, h1_b);
s1_b=XSteam('s_ph', p1_b, h1_b);
%3_b
p3_b=p_b;
t3_b=XSteam('Tsat_p', p3_b);
h3_b=XSteam('hL_p',p3_b);
s3_b=XSteam('sL_p',p3_b);
%4_b
p4_b=p_b;
t4_b=t3_b;
h4_b=XSteam('hV_p',p4_b);
s4_b=XSteam('sV_p',p4_b);
%2_b
p2_b=p_b;
t2_b=t3_b-AP_b;
h2_b=XSteam('h_pT', p2_b, t2_b);
s2_b=XSteam('s_pT', p2_b, t2_b);

%% % % % % CICLO DE ALTA % % % % % %
%1s_a
p1s_a=p_a*(1+perd_carga_econ/100);
s1s_a=s3_b;
t1s_a=XSteam('T_ps', p1s_a, s1s_a);
h1s_a=XSteam('h_pT', p1s_a, t1s_a);
%1_a (1s_a-3_b)/(1_a-3_b)=rend
p1_a=p1s_a;
h1_a=h3_b+(h1s_a-h3_b)/rend_s_bomba;
t1_a=XSteam('T_ph', p1_a, h1_a);
s1_a=XSteam('s_ph', p1_a, h1_a);
%3_a
p3_a=p_a;
t3_a=XSteam('Tsat_p', p3_a);
h3_a=XSteam('hL_p',p3_a);
s3_a=XSteam('sL_p',p3_a);
%4_a
p4_a=p_a;
t4_a=t3_a;
h4_a=XSteam('hV_p',p4_a);
s4_a=XSteam('sV_p',p4_a);
% 2_a
p2_a=p_a;
t2_a=t3_a-AP_a;
h2_a=XSteam('h_pT', p2_a, t2_a);
s2_a=XSteam('s_pT', p2_a, t2_a);

%% % % % % GG CC % % % % % %
% 6g
if t1_b+DI>t_sal_g
t6_g=t1_b+DI+273.15;
else
t6_g=t_sal_g+273.15;
end
h6_g=(x(1)*th_prop('h','CO2',t6_g)+x(2)*th_prop('h','H2O',t6_g)+ ...
x(3)*th_prop('h','N2',t6_g)+x(4)*th_prop('h','O2',t6_g))/MW_gases_comb*ratio;
t6_g=t6_g-273.15;
h_salida_g=h6_g;
%5g
t5_g=t3_b+PP_b+273.15;
h5_g=(x(1)*th_prop('h','CO2',t5_g)+x(2)*th_prop('h','H2O',t5_g)+ ...
x(3)*th_prop('h','N2',t5_g)+x(4)*th_prop('h','O2',t5_g))/MW_gases_comb*ratio;

ETSI Industriales - 87- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

t5_g=t5_g-273.15;
%3g
t3_g=t3_a+PP_a+273.15;
h3_g=(x(1)*th_prop('h','CO2',t3_g)+x(2)*th_prop('h','H2O',t3_g)+ ...
x(3)*th_prop('h','N2',t3_g)+x(4)*th_prop('h','O2',t3_g))/MW_gases_comb*ratio;
t3_g=t3_g-273.15;

Como se puede ver, la obtención de los 4 primeros puntos de alta y de baja presión es prácticamente
idéntica. Cabe destacar que, como el punto de salida de los GGCC en el ciclo subcrítico es 6g y en
supercrítico es 5g, se ha implementado la variable de salida h_salida_g que almacenará la entalpía con
la que salen los gases, para simplificar la asignación de outputs.
Para hallar el resto de puntos es necesario realizar los balances de energía que ya se han comentado:

%% % % % % BALANCES DE ENERGIA %%%%%%

% PRIMER ECONOMIZADOR--> mg(h6g-h7g)=mtot(h2b-h1b); Sacamos Mt=mg/mv{=1/(1/Ma+1/Mb)}


Mt=(h2_b-h1_b)/(h5_g-h6_g);
%Sacamos Ma=mg/(xa*mv) y Mb=mg/(xb*mv)
Ma=Mt/x_alta;
x_baja=1-x_alta;
Mb=Mt/x_baja;

% EVAPORADOR DE BAJA--> mg(h4g-h5g)=mb(h4b-h2b); Sacamos el punto 4g


h4_g=h5_g+(1/Mb)*(h4_b-h2_b);
t4_g=fsolve(@(t)x(1)*th_prop('h','CO2',t)+x(2)*th_prop('h','H2O',t)+ ...
x(3)*th_prop('h','N2',t)+...
x(4)*th_prop('h','O2',t)-h4_g/ratio*MW_gases_comb,t5_g,options);
t4_g=t4_g-273.15;

% SOBRECALENTADOR DE BAJA == ECONOMIZADOR DE ALTA--> ...


mg(h3g-h4g)=mb(h5b-h4b)+ma(h2a-h1a)-->sacamos el punto 5b
h5_b=h4_b+Mb*(h3_g-h4_g)-(x_alta/x_baja)*(h2_a-h1_a);
p5_b=p_b*(1-perd_carga_sobrec/100);
t5_b=XSteam('T_ph', p5_b, h5_b);
s5_b=XSteam('s_ph', p5_b, h5_b);

%EVAPORADOR DE ALTA--> mg(h2g-h3g)=ma(h4a-h22a)-->sacamos 2g


h2_g=h3_g+1/Ma*(h4_a-h2_a);
t2_g=fsolve(@(t)x(1)*th_prop('h','CO2',t)+x(2)*th_prop('h','H2O',t)+ ...
x(3)*th_prop('h','N2',t)+x(4)*th_prop('h','O2',t)-h2_g/ratio*MW_gases_comb,t3_g,options);
t2_g=t2_g-273.15;

%SOBRECALENTADOR DE ALTA--> mg(h1g-h2g)=ma(h5a-h4a)-->sacamos 5a


h5_a=h4_a+Ma*(h1_g-h2_g);
p5_a=p_a*(1-perd_carga_sobrec/100);
t5_a=XSteam('T_ph', p5_a, h5_a);
s5_a=XSteam('s_ph', p5_a, h5_a);

Tras hallar los puntos de la CRC ya se pueden obtener el resto de puntos del ciclo. A continuación
se muestra el proceso para hallar todos ellos excepto 6s, 6, y ext, cuyo proceso de obtención no varía
significativamente, exceptuando que el punto 6 es resultado de expansionar el vapor desde 5m.

%% % % % % RESTO DE PUNTOS DEL CV % % % % % %


% 6s_a
p6_as=p5_b;
s6_as=s5_a;
h6_as=XSteam('h_ps', p6_as, s6_as);
t6_as=XSteam('T_ps', p6_as, s6_as);
% 6a
p6_a=p6_as;
h6_a=h5_a-rend_s_turb*(h5_a-h6_as);
s6_a=XSteam('s_ph', p6_a, h6_a);
t6_a=XSteam('t_ph', p6_a, h6_a);
% 5m
p5_m=p5_b;
h5_m=x_alta*h6_a+x_baja*h5_b;

ETSI Industriales - 88- Universidad Politécnica de Madrid


Ciclo de Vapor con dos niveles de presión en paralelo

s5_m=XSteam('s_ph', p5_m, h5_m);


t5_m=XSteam('t_ph', p5_m, h5_m);
%% % ... 6s, 6 ... % % %

Para finalizar, antes de empezar el proceso de representacón gráfica, se evalúan los resultados obtenidos
para ver si son realistas. Se evalúan posibles condiciones de fallo y, en caso de cumplire alguna, se muestra
un mensaje por pantalla. Una de las más frecuentes es h5b < h4b , y se da cuando el calor disponible por
los gases en el tramo del sobrecalentador de baja y economizador de alta no es suficientemente alto para
que el ciclo de alta realice su calentamiento, y recurra el programa a utilizar parte de la energía del ciclo
de baja, lo cual no puede darse en la realidad.

error=0;
if isnan(t5_a)
disp('Las condiciones del ciclo estan fuera de lo permitido y no existe una t5_a ...
para ellas Aumentar AP_a o PP_a');
error=1;
end
if(t5_a>t1_g-DT_alta)
disp('Las condiciones del ciclo estan fuera de lo permitido y t5_a es mayor de lo ...
debido. Aumentar AP_a o PP_a');
error=2;
end
if(t5_b>t3_g-DT_baja)
disp('Las condiciones del ciclo estan fuera de lo permitido y t5_b es mayor de lo ...
debido. Aumentar AP_b o PP_b, o disminuir AP_a o PP_a');
error=3;
end
if(h5_b<h4_b)
disp('Las condiciones del ciclo estan fuera de lo permitido y el punto 5_b es de ...
equilibrio bifasico. Aumentar AP_a o PP_a, o disminuir AP_b o PP_b');
error=4;
end
if(h5_a<h4_a)
disp('Las condiciones del ciclo estan fuera de lo permitido y el punto 5_a es de ...
equilibrio bifasico. Disminuir AP_a o PP_a');
error=5;
end

2.5.4.3. Representación Gráfica

A continuación se pasa a obtener las gráficas, de ser deseadas por el usuario. Siguiendo la metodologá
utilizada en anteriores programas, primero se realiza la gráfica T q. Para realizarla, se recurre a los calores
mostrados en la figura (2.30).

%% % % % % GRAFICA CRC % % % % % %
if clearfigures
figure(3); clf
end
figure(3); hold all;
q_econ_1=h5_g-h6_g; q1=q_econ_1;
q_evap_1=h4_g-h5_g; q2=q1+q_evap_1;
q_sobrec_1=h3_g-h4_g; q3=q2+q_sobrec_1;
q_evap_2=h2_g-h3_g; q4=q3+q_evap_2;
q_sobrec_2=h1_g-h2_g; q5=q4+q_sobrec_2; %[q]=kJ/kg_aire
%% % ciclo de baja % % %
plot([0 , q1],...
[t1_b, t2_b],...
[q1 , q2 , q3],...
[t3_b, t4_b, t5_b], 'linewidth', 2, 'color', [0 0.2 0.6]);
%% % ciclo de alta % % %
plot([q2, q3],...
[t1_a, t2_a],...
[q3 , q4 , q5],...
[t3_a, t4_a, t5_a],'linewidth', 2, 'color', [0 0.75 0.75]);

ETSI Industriales - 89- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

%% % gg cc % % %
plot([0 , q1 , q2 , q3 , q4 , q5 ],...
[t6_g, t5_g , t4_g, t3_g, t2_g, t1_g], 'linewidth', 2, 'color', [0.635 0.078 ...
0.184]);
xlabel('Exchanged Heat (kJ/kg of air)');
ylabel('Temperature ( C)');

Como la representación de las gráficas h s y T s es análoga, a continuación se muestra sólo el código


mediante el cual se realiza la representación del diagrama h s, con el proceso de obtención de los puntos
intermedios necesarios. Puede verse que se han tenido en cuenta las posibilidades de que los puntos 6
y ext sean de equilibrio bifásico o vapor sobrecalentado. Esto no se realiza con el punto 6a porque
desde este punto no se produce una condensación si no que tras juntarse con 5b, dando lugar a 5m, se
expansiona. Sí se han hallado los puntos intermedios entre 5b y 6a, entre los cuales estará 5m.

%% % % % % GRAFICAS CV %%%%%%

%% % intermedios ciclo de baja % % %


%Puntos intermedios entre 1b y 3b
[hint13_b, ¬, sint13_b, tint13_b]=calculo_intermedios(h1_b, h3_b, p1_b, p3_b, 10);
%Puntos intermedios entre 4b y 5b
[hint45_b, ¬, sint45_b, tint45_b]=calculo_intermedios(h4_b, h5_b, p4_b, p5_b, 10);

%% % intermedios ciclo de alta % % %


%Puntos intermedios entre 1as y 1a
[hint_1as_1a, ¬, sint_1as_1a, tint_1as_1a]=calculo_intermedios(h1s_a, h1_a, p1s_a, ...
p1_a, 10);
%Puntos intermedios entre 1a y 5a
[hint_15a,¬, sint_15a, tint_15a]=calculo_intermedios(h1_a, h5_a, p1_a, p5_a, 50);
%Puntos intermedios entre 6a_s y 6a
[hint_6as_6a, ¬, sint_6as_6a, tint_6as_6a]=calculo_intermedios(h6_as, h6_a, p6_as, ...
p6_a, 10);

%% % intermedios comunes % % %
%Puntos intermedios entre 5b y 6a
[hint_5b_6a, ¬, sint_5b_6a, tint_5b_6a]=calculo_intermedios(h5_b, h6_a, p5_b, ...
p6_a, 10);
%Puntos intermedios entre 8 y 9
[hint_89, ¬, sint_89, tint_89]=calculo_intermedios(h8, h9, p8, p9, 10);

%% % GRAFICO H-S % % %
if clearfigures
figure(4); clf
fastmollier(1);
else
figure(4); hold all;
end
%% % ciclo de baja % % %
plot([s9, sint13_b, sint45_b, sint_5b_6a],...
[h9, hint13_b, hint45_b, hint_5b_6a],'linewidth', 3, 'color', [0 0.2 0.6]);
%% % ciclo de alta % % %
plot([s3_b, sint_15a, s6_a],...
[h3_b, hint_15a, h6_a],'linewidth', 3, 'color', [0 0.2 0.6]);
plot([s3_b, s1s_a, sint_1as_1a],...
[h3_b, h1s_a, hint_1as_1a],'color', [0 0.5 0], 'linestyle', ...
'--','linewidth', 2);
plot([s5_a, sint_6as_6a],...
[h5_a, hint_6as_6a],'color', [0 0.5 0], 'linestyle', '--','linewidth', 2);
%% % comun % % %
if h6>XSteam('hV_p', p6)
%Puntos intermedios entre 6 y 6_V
[hint_6V, ¬, sint_6V, tint_6V]=calculo_intermedios(h6, XSteam('hV_p', p6), p6, ...
p6, 10);
plot([s5_m, sint_6V, s7, sint_89],...
[h5_m, hint_6V, h7, hint_89],'linewidth', 3, 'color', [0 0.2 0.6]);
plot([s5_m, s6s, s6],...
[h5_m, h6s, h6],'color', [0 0.5 0], 'linestyle', '--','linewidth', 2);
else
plot([s5_m, s6, s7, sint_89],...
[h5_m, h6, h7, hint_89],'linewidth', 3, 'color', [0 0.2 0.6]);

ETSI Industriales - 90- Universidad Politécnica de Madrid


Ciclo de Vapor con dos niveles de presión en paralelo

plot([s5_m, s6s, s6],...


[h5_m, h6s, h6],'color', [0 0.5 0], 'linestyle', '--','linewidth', 2);
end
if h_ext>XSteam('hV_p', p_ext)
%Puntos intermedios entre ext y ext_V
[hint_extV, ¬, sint_extV, tint_extV]=calculo_intermedios(h_ext, XSteam('hV_p', ...
p_ext), p_ext, p_ext, 10);
plot([sint_extV, s9],...
[hint_extV, h9] ,'linewidth', 3, 'color', [0.5 0.2 0.6]);
else
plot([s_ext, s9],...
[h_ext, h9] ,'linewidth', 3, 'color', [0.5 0.2 0.6]);
end

2.5.4.4. Finalización del Programa

Tras la representación de las gráficas se procede a asignar valores a los outputs.

%% % OUTPUTS % % %
t5=[t5_b, t5_a];
qtot=h1_g-h_salida_g;
q_inicio=(h2_b-h1_b)/Mt;
q_baja=(h5_b-h2_b)/Mb;
q_alta=(h5_a-h1_a)/Ma;
q_caldera=[q_inicio, q_baja, q_alta]/qtot*100;
w_TV=(h5_a-h6_a)/Ma+(h5_m-h6)/Mt; % en kJ/kg_aire
w_Bba=((h1_b-h9)+(h8-h7)*(1-x_ext))/Mt+(h1_a-h3_b)/Ma;
rend_TV=(w_TV-w_Bba)/(h1_g-h_salida_g)*100; % ...
mv(h5-h6)/mf(h1_g-h4_g)=(h5-h6)/(M*(h1_g-h4_g));
rend_CC=rend_TV+rend_TG-rend_TV*rend_TG/100;

Se puede ver cómo el parámetro de salida t5 cuenta con dos componentes, cada uno refiriéndose a la
temperatura a la que sale el vapor sobrecalentado de cada línea de la CRC. Por otra parte, y tal y como
se ha explicado previamente, q_caldera cuenta con tres componentes que hacen referencia a los calores
absorbidos por cada caudal; el total al comienzo de la caldera, el de baja, y el de alta. Por último, cabe
mencionar que se han tenido en cuenta los trabajos obtenidos en ls turbinas de alta y de baja presión,
así como los realizados por las bombas presentes en las distintas partes del ciclo.

2.5.5. Programa CicloVap_2P_Desg_Paralelo para Ciclo Supercrítico

2.5.5.1. Inicialización del Programa

La inicialización del programa es la misma que la descrita en la Sección (2.5.4.1).

2.5.5.2. Obtención de los puntos principales de los diagramas

Como se ha comentado en la Sección (2.5.2), las principales diferencias consisten en la asignación de


los puntos característicos de los vapores sobrecalentados de las líneas de baja y de alta, además del punto
2g; el resto de puntos se obtiene de forma análoga a lo ya explicado, utilizando los parámetros de entrada.
Por tanto, la clave está en el tramo de la CRC entre los puntos 1g y 3g, entre los cuales se realizarán
balaces de energía para obtener los puntos citados. Se recuerda que estos puntos comprenden una primera
parte en la que el sobrecalentador de baja presión y parte del intercambiador supercrítico van en paralelo,
y una segunda parte en la que el caudal de baja ya se ha desviado a la turbina de baja presión, y queda
solo el final del tramo supercrítico.
Tras hallar los puntos 1b, 2b, 3b, 4b, 1a, 5g, 4g, 3g y 1g, y haber obtenido Mt , Mb , y Ma se pasa
a realizar la iteración con la que se calcula el punto 5a según el algoritmo descrito en la Sección (2.5.2).

ETSI Industriales - 91- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

%SOBRECALENTADOR DE BAJA == PASO UNICO DE ALTA-->


p5_a=p_a*(1-perd_carga_sobrec/100);
p5_b=p_b*(1-perd_carga_sobrec/100);

t5_a=fsolve(@(t) calculo_t5_2P_Desg_Paralelo( t, p5_a, h1_a, rend_s_turb, h4_b, p5_b, ...


h1_g, h3_g, x_alta, x_baja, Mb ),t1_g-DT_alta, options);

%5_a
h5_a=XSteam('h_pT', p5_a, t5_a);
s5_a=XSteam('s_pT', p5_a, t5_a);
%mg(h1g-h3g)=mb(h5b-h4b)+ma(h5a-h1a)-->5b
h5_b=h4_b+Mb*(h1_g-h3_g)-(x_alta/x_baja)*(h5_a-h1_a);
t5_b=XSteam('T_ph', p5_b, h5_b);
s5_b=XSteam('s_ph', p5_b, h5_b);

Se ha utilizado una función auxiliar que ayuda a acelerar el proceso, permitiendo resolver la iteración
mediante fsolve, lo cual es más eficiente que mediante bucles. Esta función auxiliar,
calculo_t5_2P_Desg_Paralelo, toma los valores de entrada necesarios para obtener, a partir de una t5a
impuesta (que es el valore que se itera), obtener los valores de s5b y de s6a , permitiendo compararlos. La
diferencia entre ambos es precisamente el único parámetro de salida de esta función. Este será el valor
que se conseguirá anular mediante fsolve.

function [ dif ] = calculo_t5_2P_Desg_Paralelo( t5_a, p5_a, h1_a, rend_s_turb, h4_b, p5_b, ...
h1_g, h3_g, x_alta, x_baja, Mb )
%% Desarrollador: Joaquin Corredoyra Alcaraz
% Tutor: Ruben Abbas Camara
% U.D. Motores Termicos
% ETS Ingenieros Industriales
% Universidad Politecnica de Madrid
% 2016
%%
% 5a
h5_a=XSteam('h_pT', p5_a, t5_a);
s5_a=XSteam('s_pT', p5_a, t5_a);
%6s_a
h6_as=XSteam('h_ps', p5_b, s5_a);
% 6_a
h6_a=h5_a-rend_s_turb*(h5_a-h6_as);
s6_a=XSteam('s_ph', p5_b, h6_a);
% 5b %mg(h1g-h3g)=mb(h5b-h4b)+ma(h5a-h1a)--> 5b
h5_b=h4_b+Mb*(h1_g-h3_g)-(x_alta/x_baja)*(h5_a-h1_a);
s5_b=XSteam('s_ph', p5_b, h5_b);

dif=s6_a-s5_b;

end

Tras la obtención de 5a y 5b, ya se puede pasar a obtener 2g y, tras este, IA. Se recuerda que ek
criterio escogido para la asignación del punto 2g ha sido detallado en la Sección (2.5.2).

% 2g Mt(h1g-h3g)=x_alta(h5a-h1a)+x_baja(h5b-h4b)
calor_sub=x_baja*(h5_b-h4_b);
calor_sup=x_alta*(h5_a-h1_a);
calor_total=Mt*(h1_g-h3_g);
k=3;
t2_g=t3_g+(t1_g-t3_g)*(calor_sub+calor_sup/k)/calor_total+273.15;
h2_g=(x(1)*th_prop('h','CO2',t2_g)+x(2)*th_prop('h','H2O',t2_g)+ ...
x(3)*th_prop('h','N2',t2_g)+x(4)*th_prop('h','O2',t2_g))/MW_gases_comb*ratio;
t2_g=t2_g-273.15;
while t5_b>t2_g-DT_baja && k≥1
k=k*0.9;
t2_g=t3_g+(t1_g-t3_g)*(calor_sub+calor_sup/k)/calor_total+273.15;
h2_g=(x(1)*th_prop('h','CO2',t2_g)+x(2)*th_prop('h','H2O',t2_g)+ ...
x(3)*th_prop('h','N2',t2_g)+x(4)*th_prop('h','O2',t2_g))/MW_gases_comb*ratio;
t2_g=t2_g-273.15;
end

ETSI Industriales - 92- Universidad Politécnica de Madrid


Ciclo de Vapor con dos niveles de presión en paralelo

%SOBRECALENTADOR DE BAJA-->mg(h2g-h3g)=mb(h5b-h4b)+ma(hIA-h1a)-->IA
hIA=h1_a+Ma*(h2_g-h3_g)-(x_baja/x_alta)*(h5_b-h4_b);
pIA=p1_a+(p5_a-p1_a)*(hIA-h1_a)/(h5_a-h1_a);
tIA=XSteam('T_ph', pIA, hIA);
sIA=XSteam('s_ph', pIA, hIA);

Tras este paso, solo queda por obtener los puntos aguas abajo de las turbinas de alta y de baja; 6sa,
6a, 5m, 6s, 6, y ext. Estos se hallan según métodos que ya han sido explicados previamente.
Antes de comenzar la representación de las gráficas, se comprueba que los resultados obtenidos son
válidos:

%% % % % % % C
%OMPROBACION RESULTADOS % % % % % % % %

error=0;
if (t5_a>t1_g-DT_alta)
disp('Las condiciones del ciclo estan fuera de lo permitido y t5_a es mayor de lo ...
debido. ');
error=6;
end
if (t5_b>t2_g-DT_baja)
disp('Las condiciones del ciclo estan fuera de lo permitido y t5_b es mayor de lo ...
debido. Aumentar AP_b o PP_b');
error=7;
end
if (h5_b<h4_b)
disp('Las condiciones del ciclo estan fuera de lo permitido y el punto 5_b es de ...
equilibrio bifasico. Disminuir AP_b o PP_b');
error=8;
end
if(hIA<h1_a)
disp('Las condiciones del ciclo estan fuera de lo permitido y el ciclo supercritico ...
pierde calor en el tramo compartido con el sobrecalentador de baja.');
error=9;
end

2.5.5.3. Representación Gráfica

La forma de realizar la representación de las figuras es similar a lo visto en la Sección (2.3.5.3) y


(2.5.4.3). Primero se realiza el diagrama T q, para lo cual se calculan los calores q1, q2, q3, y q4 vistos
en la figura (2.32), y las curvas que contienen la evolución de la temperatura del fluido supercrítico en la
CRC.

%% % % % % GRAFICA CRC %%%%%%

q_econ_1=h4_g-h5_g; q1=q_econ_1;
q_evap_1=h3_g-h4_g; q2=q1+q_evap_1;
q_sobrec_1=h2_g-h3_g; q3=q2+q_sobrec_1;
q_superc_2=h1_g-h2_g; q4=q3+q_superc_2; %[q]=kJ/kg_aire

puntos=100;
qtot_g32=h2_g-h3_g;
q_g32=linspace(0, qtot_g32, puntos);
qtot_b45=h5_b-h4_b;
q_b45=linspace(0, qtot_b45, puntos);
P1=linspace(p1_a,pIA,puntos);
h_ia_1=zeros([1, puntos]);
t_ia_1=zeros([1, puntos]);
for i=1:1:puntos
h_ia_1(i)=h1_a+Ma*q_g32(i)-(x_baja/x_alta)*q_b45(i);
t_ia_1(i)=XSteam('T_ph',P1(i),h_ia_1(i));
end

qtot_g21=h1_g-h2_g;
q_g21=linspace(0, qtot_g21, puntos);

ETSI Industriales - 93- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

P2=linspace(pIA,p5_a,puntos);
h_ia_2=zeros([1, puntos]);
t_ia_2=zeros([1, puntos]);
for i=1:1:puntos
h_ia_2(i)=hIA+Ma*q_g21(i);
t_ia_2(i)=XSteam('T_ph',P2(i),h_ia_2(i));
end
if clearfigures
figure(3); clf
end
figure(3); hold all;
%% % ciclo de baja % % %
plot([0 , q1],...
[t1_b, t2_b],...
[q1 , q2 , q3],...
[t3_b, t4_b, t5_b], 'linewidth', 2, 'color', [0 0.2 0.6]);

%% % ciclo de alta % % %
q_g32=q_g32+q2;
plot( q_g32, t_ia_1,'linewidth', 2, 'color', [0 0.75 0.75]);
q_g21=q_g21+q3;
plot( q_g21, t_ia_2,'linewidth', 2, 'color', [0 0.75 0.75]);

%% % gg cc % % %
plot([0 , q1 , q2 , q3 , q4 ],...
[t5_g , t4_g, t3_g, t2_g, t1_g], 'linewidth', 2, 'color', [0.635 0.078 0.184]);

xlabel('Exchanged Heat (kJ/kg of air)');


ylabel('Temperature ( C)');

Como se puede ver, no hay una única curva que contenga los datos de la temperatura del fluido
supercrítico en la caldera, si no que se divide en dos tramos; el primero en paralelo con el sobrecalentador
de baja desde 1a hasta IA, y el segundo desde ese punto hasta completar su calentamiento, en 5a.
La representación de los diagramas h s y T s no alberga diferencias significativas con la de los ciclos
subcríticos, a excepción de que no existe el tramo horizontal de evaporación a pa , y por tanto se calculan
los puntos intermedios entre 1a y 5a.

2.5.6. Ejemplos de Simulación del Ciclo Subcrítico

A continuación se van a realizar una serie de simulaciones para ciclos subcríticos y supercríticos con el
fin de explicar más eficazmente los efectos de la modificación de ciertas variables. Dada la mayor cantidad
de parámetros, el número de simulaciones será también más grande que en otros programas. Todas las
simulaciones se realizarán para el mismo ciclo de gas.
Ciclo de Gas:
[t1_g, t2_g, x, Fr, ratio, w_TG, rend_TG]=
CicloGas(300, 1, 12, [0.88,0.98,0.93], [0.05, 0.08, 0.06], 1800, -1, 1, 1);
COMPARACIÓN 1:
Simulación A:
[t5_A, Mt_A, q_tot_A, q_caldera_A, x6_A, x_ext_A, w_TV_A, rend_TV_A, rend_CC_A]=
CicloVap_2P_Desg_Paralelo( [30, 90], 0.0571, 1.1, [5, 10], [10, 60], [30 5], 20,
0.85,[0.9,0.88], [3 3], 1, 1, t1_g, t2_g, x, ratio, rend_TG);
Simulación B:
[t5_B, Mt_B, q_tot_B, q_caldera_B, x6_B, x_ext_B, w_TV_B, rend_TV_B, rend_CC_B]=
CicloVap_2P_Desg_Paralelo( [30, 120], 0.0571, 1.1, [5, 10], [10, 60], [30 5], 20,
0.85,[0.9,0.88], [3 3], 1, 1, t1_g, t2_g, x, ratio, rend_TG);
Simulación C:
[t5_C, Mt_C, q_tot_C, q_caldera_C, x6_C, x_ext_C, w_TV_C, rend_TV_C, rend_CC_C]=
CicloVap_2P_Desg_Paralelo( [20, 90], 0.0571, 1.1, [5, 10], [10, 60], [30 5], 20,
0.85,[0.9,0.88], [3 3], 1, 1, t1_g, t2_g, x, ratio, rend_TG);

ETSI Industriales - 94- Universidad Politécnica de Madrid


Ciclo de Vapor con dos niveles de presión en paralelo

4000

3500 Simulación A

3000 Simulación B
Enthaply (kJ/kg)

2500
Simulación C
2000

1500

1000

500

0
0 1 2 3 4 5 6 7 8 9 10
Specific Entropy (kJ/(kgºC))

Figura 2.34: Diagrama h s: Ejemplo de Simulación; Variación de las presiones de línea (Elaboración
propia)

700

Simulación A
600

500
Simulación B
Temperature (ºC)

400
Simulación C

300

200

100

0
0 1 2 3 4 5 6 7 8 9
Specific Entropy (kJ/(kgºC))

Figura 2.35: Diagrama T s: Ejemplo de Simulación; Variación de las presiones de línea (Elaboración
propia)

800

Simulación A
700

600
Simulación B
Temperature (º C)

500
Simulación C

400

300

200

100
0 100 200 300 400 500 600 700 800
Exchanged Heat (kJ/kg of air)

Figura 2.36: Diagrama T q: Ejemplo de Simulación; Variación de las presiones de línea (Elaboración
propia)

En esta primera comparación se han realizado tres simulaciones con distintas presiones; la primera
simulación se tomará como referencia, la segunda tiene una presión de alta superior pero la misma presión
de baja, y la tercera tiene menor presión de baja pero la misma presión de alta.

i) Puede verse que el aumento de la presión de alta produce que la temperatura a la que comienza
su evaporación, T3a . Esto provoca que también aumente la temperatura de los gases a la cual se
llega hasta este punto; T3g = T3a + P Pa , lo que produce que haya más calor disponible en el
tramo. Este calor extra es aprovechado por el caudal de baja, obteniendo una temperatura de vapor
sobrecalentado superior. Este efecto se produce con cualquier modificación que implique una mayor

ETSI Industriales - 95- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

Argumentos de Salida (Uds.) Simulación A Simulación B Simulación C


t5_b (◦ C) 324.16 331.51 315.1
t5_a (◦ C)! 675.34 683.5 676.34
·
maire
Mt · 4.1865 4.1865 4.1905
magua 

kJ
q_tot 775.08 775.08 775.1902
kgaire
q_inicio ( %) 17.03 17.03 14.00
q_baja ( %) 9.58 9.66 10.04
q_alta ( %) 73.39 73.31 75.95
x6 0.9083 0.8948 0.9091
x_ext
  0.1088 0.1105 0.1087
kJ
w_TV 325.051 333.72 324.88
kgaire
rend_TV ( %) 41.61 42.62 41.59
rend_CC ( %) 54.91 55.69 54.90

Cuadro 2.6: Resultados de la Simulación 1 de tres Ciclos Subcríticos de Vapor con Ciclo-
Vap_2P_Desg_Paralelo

diferencia de temperaturas de los GGCC entre el comienzo y el final del tramo paralelo (ya que
implica que hay más energía disponible); un aumento de los AP y PP de alta, o un descenso de los
de baja tendrán un efecto similar. El descenso de pb produce, de la misma forma, una disminución
de T3b y de T5g = T3b + P Pb .
ii) El aumento de pa supone un aumento de la temperatura de salida del vapor sobrecalentado de alta
presión, T5a , que generalmente no compensa la subida de presión y se traduce en un descenso del
título de vapor a la salida de la turbina. El descenso de pb produce que disminuye T5b pero que
aumente ligeramente T5a
iii) Aumentar la presión de alta no altera no produce variaciones en los primeros tramos del ciclo
de baja, y por tanto se mantienen constante en ambos casos Mt y q_inicio. Por contra, q_baja
aumenta al haber obtenido una T5b mayor. El descenso de la presión de baja sí que modifica este
tramo, lo que provoca un aumento de Mt, lo que conlleva que disminuya q_inicio. q_baja aumenta
ya que el aumento de la entalpía necesaria para completar la evaporación compensa el aumento de
la relación de caudales.
iv) La fracción de caudal másico destinado a la extracción depende directamente de las presiones del
ciclo, aumentando si estas lo hacen y viceversa.

v) El trabajo obtenido en las turbinas, y por tanto los rendimientos de los ciclos de vapor y global,
aumentan si las entalpías de los puntos 5b y 5a aumenta. Por tanto, en la simulación B se obtienen
valores mayores de estos tres parámetros dado que las entalpías de dichos puntos son mayores,
mientras que en la C estos valores disminuyen ligeramente porque el ligero aumento de t5a no
compensa la bajada de presión y temperatura del punto 5b.

vi) El efecto de modificar los parámetros de baja es menor en esta simulación dado que la fracción de
caudal másico de alta es significativamente superior a la del de baja.

COMPARACIÓN 2:
Simulación A:
[t5_A, Mt_A, q_tot_A, q_caldera_A, x6_A, x_ext_A, w_TV_A, rend_TV_A, rend_CC_A]=
CicloVap_2P_Desg_Paralelo( [30, 120], 0.0571, 1.1, [5, 10], [10, 60], [30 5], 20,
0.85,[0.9,0.88], [3 3], 1, 1, t1_g, t2_g, x, ratio, rend_TG);
Simulación B:
[t5_B, Mt_B, q_tot_B, q_caldera_B, x6_B, x_ext_B, w_TV_B, rend_TV_B, rend_CC_B]=

ETSI Industriales - 96- Universidad Politécnica de Madrid


Ciclo de Vapor con dos niveles de presión en paralelo

CicloVap_2P_Desg_Paralelo( [30, 120], 0.0571, 1.1, [5, 10], [10, 50], [30 5], 20,
0.85,[0.9,0.88], [3 3], 1, 1, t1_g, t2_g, x, ratio, rend_TG);
Simulación C:
[t5_C, Mt_C, q_tot_C, q_caldera_C, x6_C, x_ext_C, w_TV_C, rend_TV_C, rend_CC_C]=
CicloVap_2P_Desg_Paralelo( [30, 120], 0.0571, 1.1, [5, 10], [05, 50], [30 5], 20,
0.85,[0.9,0.88], [3 3], 1, 1, t1_g, t2_g, x, ratio, rend_TG);

800

Simulación A
700

Simulación B
600
Temperature (º C)

Simulación C
500

400

300

200

100
0 100 200 300 400 500 600 700 800
Exchanged Heat (kJ/kg of air)

Figura 2.37: Diagrama T q: Ejemplo 2 de Simulación; Variación de los PP (Elaboración propia)

Simulación A
350
Simulación B
Temperature (º C)

300
Simulación C

250

200

150

100 150 200 250 300


Exchanged Heat (kJ/kg of air)

Figura 2.38: Detalle del Ejemplo 2 de Simulación CicloVap_2P_Desg_Paralelo en ciclos subcríticos

En la segunda comparación se han variado los PP de alta y de baja, sabiendo que la modificación de
los AP tendrá un efecto similar, si bien menos acusado. Se puede ver que tienen un efecto significativo
sobre los puntos de vapor sobrecalentado. Si se disminuye el PP o el AP de alta, el ciclo de baja dispone
de menos calor para sobrecalentarse, y puede de hecho llegar a producirse el error de que el ciclo de alta
tome energía del de baja, produciendo ue h5b < h4b , como se puede ver en las figuras (2.37, 2.38). Por
tanto, un descenso de los AP o PP de alta debe ser compensado con un descenso de dichos valores en el
ciclo de baja presión, como se ha hecho en la simulación C.
Se puede ver que la disminución de cualquiera de estos valores aumenta la temperatura de salida del
fluido sobrecalentado de alta presión.
COMPARACIÓN 3:
Por último, antes de comenzar con las simulaciones de ciclos supercríticos, se va a comparar el efecto
del parámetro x_alta, por medio de las siguientes simulaciones:
Simulación A:
[t5_A, Mt_A, q_tot_A, q_caldera_A, x6_A, x_ext_A, w_TV_A, rend_TV_A, rend_CC_A]=
CicloVap_2P_Desg_Paralelo( [30, 120], 0.0571, 1.1, [10, 10], [8, 60], [30 5], 20,
0.85,[0.9,0.88], [3 3], 1, 1, t1_g, t2_g, x, ratio, rend_TG);

ETSI Industriales - 97- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

Simulación B:
[t5_B, Mt_B, q_tot_B, q_caldera_B, x6_B, x_ext_B, w_TV_B, rend_TV_B, rend_CC_B]=
CicloVap_2P_Desg_Paralelo( [30, 120], 0.0571, 1.1, [10, 10], [8, 60], [30 5], 20,
0.87,[0.9,0.88], [3 3], 1, 1, t1_g, t2_g, x, ratio, rend_TG);

800

700
Simulación A

600
Simulación B
Temperature (º C)

500

400

300

200

100
0 100 200 300 400 500 600 700 800
Exchanged Heat (kJ/kg of air)

Figura 2.39: Diagrama T q: Ejemplo 3 de Simulación; Variación de la fracción de caudal másico de alta
(Elaboración propia)

Como se puede ver, un pequeño aumento de x_alta implica que el ciclo de baja se caliente mucho más,
dado que absorbe la misma cantidad de calor pero dispone de menos caudal para absorberlo. La variación
de este parámetro debe realizarse cuidadosamente dado que en muchos casos puede producirse un error,
como se puede ver en la simulación B. Aumentar x_alta produce, de la misma forma, un descenso de
t5a , al disponer de una cantidad menor de calor (dado que evaporar más caudal necesita de más energía)
y además tener que elevar la temperatura de más masa.

2.5.7. Ejemplos de Simulación del Ciclo Supercrítico

Pasamos ahora a analizar los ciclos supercríticos con esta configuración.


Simulación A:
[t5_A, Mt_A, q_tot_A, q_caldera_A, x6_A, x_ext_A, w_TV_A, rend_TV_A, rend_CC_A]=
CicloVap_2P_Desg_Paralelo( [55, 230], 0.0571, 1.1, [5, 5], [10, 80], [10 5], 20,
0.85,[0.9,0.88], [3 3], 1, 1, t1_g, t2_g, x, ratio, rend_TG);
Simulación B:
[t5_B, Mt_B, qtot_B, q_caldera_B, x6_B, x_ext_B, w_TV_B, rend_TV_B, rend_CC_B]=
CicloVap_2P_Desg_Paralelo( [30, 230], 0.0571, 1.1, [5, 5], [10, 80], [10 5], 20,
0.85,[0.9,0.88], [3 3], 1, 1, t1_g, t2_g, x, ratio, rend_TG);
Simulación C:
[t5_C, Mt_C, qtot_C, q_caldera_C, x6_C, x_ext_C, w_TV_C, rend_TV_C, rend_CC_C]=
CicloVap_2P_Desg_Paralelo( [55, 230], 0.0571, 1.1, [5, 5], [8, 80], [10 5], 20,
0.85,[0.9,0.88], [3 3], 1, 1, t1_g, t2_g, x, ratio, rend_TG);
Simulación D:
[t5_A, Mt_A, q_tot_A, q_caldera_A, x6_A, x_ext_A, w_TV_A, rend_TV_A, rend_CC_A]=
CicloVap_2P_Desg_Paralelo( [55, 230], 0.0571, 1.1, [5, 5], [10, 80], [10 5], 20,
0.55,[0.9,0.88], [3 3], 1, 1, t1_g, t2_g, x, ratio, rend_TG);
A partir de la figura (2.40) y de la tabla de resultados correspondiente, se puede ver que modificar la
presión de baja, su PP, o la fracción de caudales másicos tiene consecuencias similares que en los ciclos
subcríticos:

i) Una disminución de pb (simulación B) impplica unas menores temperaturas de salida en ambas


líneas, y aunque el calor total absorbido es mayor (ya que se entra con una presión menor a la CRC,

ETSI Industriales - 98- Universidad Politécnica de Madrid


Ciclo de Vapor con dos niveles de presión en paralelo

800
Simulación A
700

Simulación B
600
Temperature (º C)

Simulación C
500

Simulación D
400

300

200

100
0 100 200 300 400 500 600 700 800
Exchanged Heat (kJ/kg of air)

Figura 2.40: Diagrama T q: Ejemplo de Simulación; ciclos supercríticos (Elaboración propia)

Argumentos de Salida (Uds.) Sim. A Sim. B Sim. C Sim. D


t5_b (◦ C) 469.20 384.96 483.50 513.68
t5_a (◦ C)! 709.21 707.19 725.93 761.178
·
maire
Mt · 4.2205 4.1865 4.2757 4.2205
magua 

kJ
q_tot 774.81 775.08 774.8102 774.81
kgaire
q_inicio ( %) 22.15 17.03 21.86 22.14
q_baja ( %) 10.08 10.23 10.11 31.69
q_alta ( %) 67.77 72.73 68.03 46.15
x6 0.8711 0.8676 0.8779 0.8917
x_ext
  0.1136 0.1140 0.1127 0.1109
kJ
w_TV 354.36 352.45 355.97 338.91
kgaire
rend_TV ( %) 44.86 44.64 45.08 43.10
rend_CC ( %) 57.42 57.25 57.59 56.06

Cuadro 2.7: Resultados de la Simulación de cuatro Ciclos Supercríticos de Vapor con Ciclo-
Vap_2P_Desg_Paralelo

y por tanto con una temperatura menor), el trabajo obtenido en las turbinas y los rendimientos son
menores.
ii) Disminuir P Pb implica aumentar tanto T5b como T5a , lo cual conlleva un aumento de los rendimien-
tos de la TV y del CC. En el caso supercrítico, modificar l apresión de baja no conlleva cambios
significativos a no ser que se varíe mucho.

iii) Una disminución de x_alta aumenta la cantidad de calor que irá destinada al ciclo de baja, y se
consigue aumentar T5b . Además, el calor restante tras sobrecalentar el ciclo de baja, aunque menor
que si no se hubiera modificado x_alta, logra aumentar T5a dado que se compensa este menor
calor con la menor cantidad de fluido supercrítico que es necesario calentar. Por contra, el trabajo
obtenido en las turbinas es menor debido a que una mayor parte del caudal realiza solo la expansión
desde pb en vez de realizar una previa desde pa . Esto provoca que el rendimiento del ciclo de vapor
y del ciclo combinado disminuyan. Se puede ver que los ciclos supercríticos, al tener deslocaizado
el punto 3b, son más flexibles en cuanto a variaciones de esta y otras variables.
iv) Se puede observar que los rendimientos obtenidos en ciclos supercríticos son significativamente
mayores que los que ofrecen los ciclos subcríticos, y que se elimina el problema del título de vapor
en los últimos escalonamientos de las turbinas, sobre todo si se disminuye x_alta.

ETSI Industriales - 99- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

2.6. Ciclo de Vapor con dos niveles de presión en cascada


Una configuración distinta para ete tipo de ciclos es poner el economizador de alta a continuación o
previamente al sobrecalentador de baja, o incluso intercalarlos, para lograr aumentar más la temperatura
del punto 5b sin sobrepasar la temperatura de los GGCC. La configuración del ciclo de vapor es la misma
que la vista en la figura (2.28), y la de la caldera de recuperación de calor es orácticamente igual, con la
excepción de que el sobrecalentador de baja y el economizador de alta no están en paralelo.

2.6.1. Desarrollo Termodinámico del Ciclo Subcrítico

En este ciclo, los puntos característicos exteriores a la CRC se mantienen, por lo que los diagramas h s
y T s son idénticos. Es dentro de la CRC donde se realizan modificaciones, por estar el economizador de
alta y el sobrecalentador de baja. Además, se han implementado las posibilidades de que el sobrecalentador
de baja esté situado antes o después del economizador de alta, o incluso que se encuentre en medio. Esto
se ha realizado buscando que los puntos de agua a mayor temperatura estén en las zonas donde los gases
de combustión también estén a más temperatura.
Por tanto, se tienen las diferentes posibilidades:

Caso 1) El sobrecalentador de baja está situado antes del economizador de alta. En este caso, T2a > T5b .
Caso 2) El sobrecalentador de baja está situado en mitad del economizador de alta; este se divide en dos
tramos para acomodar al sobrecalentador en medio. Esto sucede en caso de que T2a > T5b , pero
T5b > TGG CC − DTbaja .
Caso 3) El economizador de alta está situado antes del sobrecalentador de baja. Esto sucede si T5b > T2a .

Caso 4) El economizador de alta está situado entre el sobrecalentador de baja. Esto se da si T5b > T2a y
T2a > TGG CC − DTalta .

En cualquiera de los casos, los puntos característicos del ciclo de vapor no varían, por lo que los pará-
metros de salida se mantienen invariantes. Se trata por tanto una forma de asegurar que esos resultados
pueden conseguirse con esta configuración y darlos como válidos, en lugar de tener que desecharlos por
sobrepasar la temperatura del agua a la de los gases de combustión en algún punto.
En la figura (2.41) pueden verse los tres primeros casos expuestos, que son los más frecuentes. Como
se puede ver, se favorece que los puntos de más temperatura se coloquen más a la derecha. En los casos
2 y 4 se ha decidido realizar una iteración hasta encontrar el punto en el que T5b o T2a , respectivamente,
tengan una temperatura igual al punto intermedio a partir del cual se vuelve a tener el economizador de
alta o el sobrecalentador de baja. Este punto intermedio se ha llamado Ia en el caso 2, e Ib en el caso
4. Como se puede ver, en el caso 2 (y también en el 4) se recurre a un punto intermedio entre 4g y 3g,
llamado Ig. Este punto tiene asociado el calor q_int_23.
Los puntos 1,2,3, y 4, tanto de alta como de baja presión, se averiguan según los procedimientos
vistos hasta el momento. También los puntos característicos de los GGCC que se sitúan sobre ellos. Los
puntos exteriores a la CRC también siguen la misma metodología de obtención.
Se pasa a describir el proceso de obtención del resto de puntos, omitiendo la explicación de cada
uno, puesto que ya ha sido realizada en la Sección (2.5.1). También se omiten a partir de este momento
los balances de enrgía y otras ecuaciones, a no ser que se diferencie con lo visto hasta el momento. Se
recuerda que, en caso de querer consultar dichas ecuaciones, estas aparecen en el código del programa.

5b: Vapor sobrecalentado a presión de baja. Para obtenerlo, se tiene en cuenta que se conoce
su presión, y se realiza un balance de energía entre los puntos 5g y 3g de la CRC, dado que entre ellos
la única incógnita es h5b .

ETSI Industriales - 100- Universidad Politécnica de Madrid


Ciclo de Vapor con dos niveles de presión en cascada

800

700

600

500
3g
400
2a
300 5g 4g
5b
200

4b 1a
100
0 100 q2 q3 200 q4 400 500 600 700

(a) Caso 1

800

700

600

500

3g
400
Ig
4g
300 Ia 2a
5g Ia
5b
200
4b
4b 1a
100
0 100 q2 qint23 q3 q4 400 500 600 700

(b) Caso 2

800

700

600

500

3g
400 4g
5b
2a
300
5g 1a

200
4b
4b 1a
100
0 100 q2 200 q3 q4 400 500 600 700

(c) Caso 3

Figura 2.41: Distintos casos de ciclo 2P subcríticos en cascada (Elaboración Propia)

4g: Gases de combustión a la altura del comienzo del sobrecalentador de baja. Una vez
conocida la entalpía h5b , es inmediato hallar este punto, realizando un balance de energía entre los puntos
5g y 4g.
Una vez que se conocen 5b y 4g, se inicia un proceso de comparación con 2a, tras el cual se se habrán
reubicado estos puntos y calculado los estados intermedios de ser necesario realizar dicha tarea. Este
proceso se explicará en detalle cuando se analice el código del programa.

5a: Vapor sobrecalentado a presión de alta. Se conoce su presión, y su entalpía se obtiene


mediante un balance de energía entre los puntos 2g y 1g. Con estos datos ya se puede conocer su
temperatura y entropía.
A continuación, el programa obtiene los puntos: 6sa, 6s, 5m, 6s, 6, y ext, según los métodos descritos
anteriormente.

ETSI Industriales - 101- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

2.6.2. Desarrollo Termodinámico del Ciclo Supercrítico

En caso de que la presión de alta sea supercrítica, se vuelve a tener un grado de libertad que se
empleará, igual que en el caso de ciclo 2P en paralelo, en asegurar que la entropía del punto resultante
de la expansión del caudal de alta hasta la de baja coincida con la entropía del vapor sobrecalentado de
baja presión, utilizando para ello la misma metodología. Esta consiste en iterar la temperatura del vapor
sobrecalentado de alta presión hasta conseguir aquella T5a que satisface las condiciones impuestas.
Por ser un caso de ciclo en cascada, se ha implementado la posibilidad de que el sobrecalentamiento de
baja esté intercalado con el intercambiador de calor del flujo supercrítico. No se ha valorado la posibilidad
de que todo el calentamiento supercrítico se realice antes que el sobrecalentamiento subcrítico que las
mayores temperaturas se dan en los caudales de mayor presión.

800
1g
700
5a
600

2g
Temperature (ºC)

500
3g
5b
400

300

4b 1a
200

100
0 100 200 300 q2 400 q3 500 600 q4
Exchanged Heat (kJ/kg of air)

(a) Caso 1

800
1g
700
Ig
2g 5a
600
Temperature (ºC)

500 Ia 5b Ia
3g
400

1a
300
4b 4b
200

100
0 100 200 300 q2 400 500 q3 600 qint34 q4
Exchanged Heat (kJ/kg of air)

(b) Caso 2

Figura 2.42: Distintos casos de ciclo 2P subcríticos en cascada (Elaboración Propia)

Por tanto, se tienen las diferentes posibilidades:

Caso 1) El sobrecalentador de baja está situado antes del intercambiador supercrítico.

Caso 2) El sobrecalentador de baja está situado en mitad del intercambiador supercrítico; este se divide
en dos tramos para acomodar al sobrecalentador en medio. Esto sucede en caso de que T5b >
TGG CC − DTbaja .

A parte de la posibilidad de poder intercalar el sobrecalentador de baja (lo cual se hace de la misma
forma que en el ciclo subcrítico), la única diferencia con el ciclo equivalente en paralelo es que el punto
2g pasa a estar localizado. Se recuerda que en el caso en el que el vapor sobrecalentado de baja presión
va en paralelo con el flujo supercrítico se tenía la libertad de elegir hasta qué punto se alargaba el
sobrecalentador dentro de la CRC, pudiendo asegurar que la temperatura de este flujo no superase la
de los GGCC. En este caso, dado que un intercambiador va a continuación del otro, el punto 2g puede

ETSI Industriales - 102- Universidad Politécnica de Madrid


Ciclo de Vapor con dos niveles de presión en cascada

obtenerse con el siguiente balance7 :

mg · (h2g − h3g ) = ma · (h4a − h2a ) (2.36)

2.6.3. Variables de Diseño

Las variables de entrada o de salida se mantienen con respecto al programa CicloVap_2P_Desg_Paralelo.


Además, la información que proporcionan es la misma también.

function [t5, Mt, qtot, q_caldera, x6, x_ext, w_TV, rend_TV, rend_CC, error]= ...
CicloVap_2P_Desg_Cascada( p, p_cond, p_ext, AP, PP, DT, DI,x_alta,rend, perd_carga, ...
grafica, clearfigures,t1_g, t_sal_g, x, ratio, rend_TG)
%%
% CICLO DE VAPOR, 2P, CON DESGASIFICADOR, CON ALTA Y BAJA EN CASCADA, SIN RECALENTADOR
%% Desarrollador: Joaquin Corredoyra Alcaraz
% Tutor: Ruben Abbas Camara
% U.D. Motores Termicos
% ETS Ingenieros Industriales
% Universidad Politecnica de Madrid
% 2016

2.6.4. Programa CicloVap_2P_Desg_Cascada para Ciclo Subcrítico

2.6.4.1. Inicialización del Programa

Se mantiene el código mostrado en la Sección (2.5.4.1).

2.6.4.2. Obtención de los puntos principales de los diagramas

En esta Sección se detalla la parte del programa utilizada para la caracterización de los puntos que
difiere con la explicada para el ciclo en paralelo.
Primero se va a mostrar la forma de obtener 5b y las comparaciones realizadas para determinar si se
trata del caso 1, 2, 3, ó 4.

%SOBRECALENTADOR DE BAJA && ECONOMIZADOR DE ALTA-->


%mg(h3g-h5g)=mb(h5b-h4b)+ma(h2a-h1a); 5b-->
h5_b=h4_b+Mb*(h3_g-h5_g)-(x_alta/x_baja)*(h2_a-h1_a);
p5_b=p_b*(1-perd_carga_sobrec/100);
t5_b=XSteam('T_ph', p5_b, h5_b);
s5_b=XSteam('s_ph', p5_b, h5_b);
if t2_a≥t5_b
%mg(h4g-h5g)=mb(h5b-h4b); 4g-->
h4_g=h5_g+(1/Mb)*(h5_b-h4_b);
t4_g=fsolve(@(t)x(1)*th_prop('h','CO2',t)+x(2)*th_prop('h','H2O',t)+ ...
x(3)*th_prop('h','N2',t)+x(4)*th_prop('h','O2',t)- ...
h4_g/ratio*MW_gases_comb,t5_g,options);
t4_g=t4_g-273.15;
casoSobrec1=1;
dif_T_baja=t5_b-(t4_g-DT_baja);
if t5_b>t4_g-DT_baja
k=fsolve(@(k) calculo_k_2P_Desg_Cascada_Sobrec1(k, t5_b, p1_a, h1_a, p2_a, ...
h2_a, DT_baja, Ma, t4_g, h5_g, x, MW_gases_comb, ratio), 1, options);
t4_g=t4_g+k*(t5_b-(t4_g-DT_baja))+273.15;
h4_g=(x(1)*th_prop('h','CO2',t4_g)+x(2)*th_prop('h','H2O',t4_g)+ ...
x(3)*th_prop('h','N2',t4_g)+x(4)*th_prop('h','O2',t4_g))/MW_gases_comb*ratio;
t4_g=t4_g-273.15;
7 Este balance se realiza en primer lugar bajo la suposición de que no será necesario intercalar el sobrecalentador de

baja. Tras obtener este valor de h2g y su temperatura correspondiente se realiza una comparación de temperaturas, y de
ser necesario se sigue el procedimiento necesario, que será explicado más adelante.

ETSI Industriales - 103- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

% mg(h4g-h5g)=ma(hIA-h1a); IA-->
hIA=h1_a+Ma*(h4_g-h5_g);
pIA=p1_a+(p2_a-p1_a)*(hIA-h1_a)/(h2_a-h1_a);
tIA=XSteam('T_ph', pIA, hIA);
sIA=XSteam('s_ph', pIA, hIA);
% mg(hIG-h4g)=mb(h5b-h4b); IG-->
hIG=h4_g+(1/Mb)*(h5_b-h4_b);
tIG=fsolve(@(t)x(1)*th_prop('h','CO2',t)+x(2)*th_prop('h','H2O',t)+ ...
x(3)*th_prop('h','N2',t)+x(4)*th_prop('h','O2',t)- ...
hIG/ratio*MW_gases_comb,t4_g,options);
tIG=tIG-273.15;
casoSobrec1=2;
dif_T_baja=t5_b-(tIG-DT_baja);
end
else
%mg(h4g-h5g)=ma(h2a-h1a); 4g-->
h4_g=h5_g+(1/Ma)*(h2_a-h1_a);
t4_g=fsolve(@(t)x(1)*th_prop('h','CO2',t)+x(2)*th_prop('h','H2O',t)+ ...
x(3)*th_prop('h','N2',t)+x(4)*th_prop('h','O2',t)- ...
h4_g/ratio*MW_gases_comb,t5_g,options);
t4_g=t4_g-273.15;
casoSobrec1=3;
dif_T_baja=t5_b-(t3_g-DT_baja);
if t2_a>t4_g-DT_alta
k=fsolve(@(k) calculo_k_2P_Desg_Cascada_Sobrec1(k, t2_a, p4_b, h4_b, p5_b, ...
h5_b, DT_alta, Mb, t4_g, h5_g, x, MW_gases_comb, ratio), 1, options);
t4_g=t4_g+k*(t2_a-(t4_g-DT_alta))+273.15;
h4_g=(x(1)*th_prop('h','CO2',t4_g)+x(2)*th_prop('h','H2O',t4_g)+ ...
x(3)*th_prop('h','N2',t4_g)+x(4)*th_prop('h','O2',t4_g))/MW_gases_comb*ratio;
t4_g=t4_g-273.15;
% mg(h4g-h5g)=ma(hIB-h4b); IB-->
hIB=h4_b+Mb*(h4_g-h5_g);
pIB=p4_b+(p5_b-p4_b)*(hIB-h4_b)/(h5_b-h4_b);
tIB=XSteam('T_ph', pIB, hIB);
sIB=XSteam('s_ph', pIB, hIB);
% mg(hIG-h4g)=ma(h2a-h1a); IG-->
hIG=h4_g+(1/Ma)*(h2_a-h1_a);
tIG=fsolve(@(t)x(1)*th_prop('h','CO2',t)+x(2)*th_prop('h','H2O',t)+ ...
x(3)*th_prop('h','N2',t)+x(4)*th_prop('h','O2',t) ...
-hIG/ratio*MW_gases_comb,t4_g,options);
tIG=tIG-273.15;
casoSobrec1=4;
end
end

Se pasa a explicar el proceso seguido para cada caso, manteniendo el orden anterior, que es el que
sigue el código, distinguiendo los casos mediante sentencias condicionales.
Caso 1: Sobrecalentador de baja antes del economizador de alta
En este caso se calcula la entalpía del punto 4g realizando un balance, y no es necesario realizar más
alteraciones en el programa hasta llegar a la representación gráfica.
Caso 2: Sobrecalentador de baja entre el economizador de alta
En este caso se va a variar la posición en la CRC de los puntos característicos del ciclo de vapor, por lo
que se modifica el punto 4g. Para ello se recurre a fsolve y a la función auxiliar
calculo_k_2P_Desg_Cascada_Sobrec1, que se analizará a continuación. Al finalizar la iteración se ob-
tiene un valor de k, que es una variable que se ha definido para ayudar a asignar la nueva T4g , mediante
la ecuación:
T4g = T4g + (T5b − (T4g − DTbaja )) · k
Tras haber reubicado el punto 4g, se obtienen mediante balances los puntos intermedios del economizador
de alta presión, IA, y de los GGCC, IG.
La función auxiliar calculo_k_2P_Desg_Cascada_Sobrec1 toma las variables necesarias para, a partir
de un valor de k, hallar la temperatura del punto intermedio del economizador de alta y compararlat con
T5b , ya que se ha tomado como base de diseño que estas coincidan. Esta elección se ha realizado sabiendo

ETSI Industriales - 104- Universidad Politécnica de Madrid


Ciclo de Vapor con dos niveles de presión en cascada

que , para facilitar el intercambio de calor, el fluido de mayor temperatura debe estar en donde a más
temperatura estén los GGCC. A continuación se muestra el código de dicha función:

function [ dif ] = calculo_k_2P_Desg_Cascada_Sobrec1(k, t_fin_int, p_inic_ext, h_inic_ext, ...


p_fin_ext, h_fin_ext, DT, M, t4_g, h5_g, x, MW_gases_comb, ratio)
%% %CICLO DE VAPOR, SIMPLE (1P), CON DESGASIFICADOR
%% Desarrollador: Joaquin Corredoyra Alcaraz
% Tutor: Ruben Abbas Camara
% U.D. Motores Termicos
% ETS Ingenieros Industriales
% Universidad Politecnica de Madrid
% 2016
%%
t4_g_aux=t4_g+k*(t_fin_int-(t4_g-DT))+273.15;
h4_g_aux=(x(1)*th_prop('h','CO2',t4_g_aux)+x(2)*th_prop('h','H2O',t4_g_aux ...
x(3)*th_prop('h','N2',t4_g_aux)+x(4)*th_prop('h','O2',t4_g_aux))/MW_gases_comb*ratio;
% mg(h4g-h5g)=m_agua*(h_I-h_inic)_ext
hI_ext=h_inic_ext+M*(h4_g_aux-h5_g);
pI_ext=p_inic_ext+(p_fin_ext-p_inic_ext)*(hI_ext-h_inic_ext)/(h_fin_ext-h_inic_ext);
tI_ext=XSteam('T_ph', pI_ext, hI_ext);

dif=t_fin_int-tI_ext;

Caso 3: Sobrecalentador de baja después del economizador de alta


Este caso se resuelve de forma análoga al primero, teniendo en cuenta que el balance de energía entre
los puntos 5g y 4g debe realizarse al economizador de alta en luga de al sobrecalentador de baja.
Caso 4: Economizador de alta entre el sobrecalentador de baja
Los puntos intermedios de este caso se resuelven de la misma forma que en el caso 3, pero invirtiendo
los papeles del economizador y el sobrecalentador. Se recurre a la misma función auxiliar.
Intercalado con este proceso está la asignación de la variable dif_T_baja, la cual se usará para
determinar si el vapor sobrecalentado de baja presión tiene, a pesar de las precauciones tomads, una
temperatura mayor de lo permitido.
La obtención del resto de puntos del ciclo no guarda diferencias significativas con otros programas.
Antes de comenzar la representación gráfica tiene lugar la comprobación de si se han tenido tempe-
raturas a lo largo de la CRC que superan las máximas posibles.

error=0;
if isnan(t5_a)
disp('Las condiciones del ciclo estan fuera de lo permitido y no existe una t5_a ...
para ellas Aumentar AP_a o PP_a');
error=1;
end
if(t5_a>t1_g-DT_alta)
disp('Las condiciones del ciclo estan fuera de lo permitido yt5_a es mayor de lo ...
debido. Aumentar AP_a o PP_a');
error=2;
end
if(dif_T_baja>0)
disp('Las condiciones del ciclo estan fuera de lo permitido y t5_b es mayor de lo ...
debido. Aumentar AP_b o PP_b, o disminuir AP_a o PP_a');
error=3;
end
if(h5_b<h4_b)
disp('Las condiciones del ciclo estan fuera de lo permitido y el punto 5_b es de ...
equilibrio bifasico. Aumentar AP_a o PP_a, o disminuir AP_b o PP_b');
error=4;
end
if(h5_a<h4_a)
disp('Las condiciones del ciclo estan fuera de lo permitido y el punto 5_a es de ...
equilibrio bifasico. Disminuir AP_a o PP_a');
error=5;
end

ETSI Industriales - 105- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

Se puede ver que las comprobaciones son similares a las llevadas a cabo para el ciclo en paralelo, ex-
ceptuando la comprobación de la temperatura T5b , que se ha realizado mediante la variable dif_T_baja
para evitar la repetición de sentencias condicionantes innecesarias.

2.6.4.3. Representación Gráfica

La representación de los diagramas h s u T s se realiza de la misma forma que en el programa


equivalente en paralelo. Para la representación del diagrama T q se ha tenido la precaución de diferenciar
los pasos a seguir según el caso al que pertenece el ciclo, lo que incluye una correcta definición de los
calores qi que se usan para realizar la gráfica y una adecuada colocación de los distintos puntos de alta
y de baja presión.

q_econ_1=h6_g-h7_g; q1=q_econ_1;
q_evap_1=h5_g-h6_g; q2=q1+q_evap_1;
if casoSobrec1==1 %
q_sobrec_1=h4_g-h5_g; q3=q2+q_sobrec_1;
q_econ_2=h3_g-h4_g; q4=q3+q_econ_2;
elseif casoSobrec1==2
q_econ_2A=h4_g-h5_g; q_int_23=q2+q_econ_2A;
q_sobrec_1=hIG-h4_g; q3=q_int_23+q_sobrec_1;
q_econ_2B=h3_g-hIG; q4=q3+q_econ_2B;
elseif casoSobrec1==3
q_econ_2=h4_g-h5_g; q3=q2+q_econ_2;
q_sobrec_1=h3_g-h4_g; q4=q3+q_sobrec_1;
elseif casoSobrec1==4
q_sobrec_1A=h4_g-h5_g; q_int_23=q2+q_sobrec_1A;
q_econ_2=hIG-h4_g; q3=q_int_23+q_econ_2;
q_sobrec_1B=h5_g-hIG; q4=q3+q_sobrec_1B;
end
q_evap_2=h2_g-h3_g; q5=q4+q_evap_2;
q_sobrec_2=h1_g-h2_g; q6=q5+q_sobrec_2; %[q]=kJ/kg_aire

%% % % % % GRAFICA CRC % % % % % %
if clearfigures
figure(3); clf
end
figure(3); hold all;
%% % ciclo de baja % % %
plot([0 , q1],...
[t1_b, t2_b], 'linewidth', 2, 'color', [0 0.2 0.6]);
plot([q1 , q2 ],...
[t3_b, t4_b], 'linewidth', 2, 'color', [0 0.2 0.6]);
if casoSobrec1==1 % El de T mayor mas a la derecha
%% % ciclo de baja % % %
plot([q2 , q3 ],...
[t4_b, t5_b], 'linewidth', 2, 'color', [0 0.2 0.6]);
%% % ciclo de alta % % %
plot([q3, q4],...
[t1_a, t2_a],'linewidth', 2, 'color', [0 0.75 0.75]);
elseif casoSobrec1==2
%% % ciclo de baja % % %
plot([q_int_23 , q3 ],...
[t4_b , t5_b], 'linewidth', 2, 'color', [0 0.2 0.6]);
%% % ciclo de alta % % %
plot([q2 , q_int_23],...
[t1_a, tIA ],'linewidth', 2, 'color', [0 0.75 0.75]);
plot([q3 , q4 ],...
[tIA, t2_a],'linewidth', 2, 'color', [0 0.75 0.75]);
elseif casoSobrec1==3
%% % ciclo de baja % % %
plot([q3 , q4],...
[t4_b, t5_b], 'linewidth', 2, 'color', [0 0.2 0.6]);
%% % ciclo de alta % % %
plot([q2, q3],...
[t1_a, t2_a],'linewidth', 2, 'color', [0 0.75 0.75]);
elseif casoSobrec1==4
%% % ciclo de baja % % %

ETSI Industriales - 106- Universidad Politécnica de Madrid


Ciclo de Vapor con dos niveles de presión en cascada

plot([q2 , q_int_23],...
[t4_b, tIB ],'linewidth', 2, 'color', [0 0.2 0.6]);
plot([q3 , q4 ],...
[tIB, t5_b],'linewidth', 2, 'color', [0 0.2 0.6]);
%% % ciclo de alta % % %
plot([q_int_23 , q3 ],...
[t1_a , t2_a], 'linewidth', 2, 'color', [0 0.75 0.75]);
end
%% % ciclo de alta % % %
plot([q4 , q5 , q6],...
[t3_a, t4_a, t5_a],'linewidth', 2, 'color', [0 0.75 0.75]);
%% % gg cc % % %
if casoSobrec1==2 || casoSobrec1==4
plot([0 , q1 , q2 , q_int_23, q3 , q4 , q5 , q6 ],...
[t7_g, t6_g , t5_g, t4_g , tIG , t3_g, t2_g, t1_g], 'linewidth', 2, ...
'color', [0.635 0.078 0.184]);
else
plot([0 , q1 , q2 , q3 , q4 , q5 , q6 ],...
[t7_g, t6_g , t5_g, t4_g, t3_g, t2_g, t1_g], 'linewidth', 2, 'color', [0.635 ...
0.078 0.184]);
end

Como se puede ver, la metodología es la misma que la seguida en otros casos más simples, con la adición
de la implementación de las posibles configuraciones del sobrecalentador de baja y economizador de alta,
lo cual se ha realizado mediante sentencias condicionantes if.

2.6.4.4. Finalización del Programa

El programa acaba asignando los parámetros de salida:

%% % OUTPUTS % % %
t5=[t5_b, t5_a];
qtot=h1_g-h_salida_g;
q_inicio=(h2_b-h1_b)/Mt;
q_baja=(h5_b-h2_b)/Mb;
q_alta=(h5_a-h1_a)/Ma;
q_caldera=[q_inicio, q_baja, q_alta]/qtot*100;
w_TV=(h5_a-h6_a)/Ma+(h5_m-h6)/Mt; % en kJ/kg_aire
w_Bba=((h1_b-h9)+(h8-h7)*(1-x_ext))/Mt+(h1_a-h3_b)/Ma;
rend_TV=(w_TV-w_Bba)/(h1_g-h_salida_g)*100;
rend_CC=rend_TV+rend_TG-rend_TV*rend_TG/100;

2.6.5. Programa CicloVap_2P_Desg_Cascada para Ciclo Supercrítico

2.6.5.1. Inicialización del programa

No existen modificaciones con respecto al código mostrado en la Sección (2.5.4.1).

2.6.5.2. Obtención de los puntos principales de los diagramas

Se trata de una mezcla entre el programa CicloVap_2P_Desg_Paralelo para ciclos supercríticos y el


destinado a la simulación de ciclos de dos niveles de presión en cascada, CicloVap_2P_Desg_Cascada, para
ciclos subcríticos, ya comentado. A continuación se muestra el código utilizado para la caracterización del
punto 5a, para lo cual se utiliza una función auxiliar análoga a la vista en la Sección (2.5.5.2), mediante
la cual se obtiene el valor ‘s6a − s5b ’.

p5_a=p_a*(1-perd_carga_sobrec/100);
p5_b=p_b*(1-perd_carga_sobrec/100);

ETSI Industriales - 107- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

t5_a=fsolve(@(t) calculo_t5_2P_Desg_Cascada( t, p5_a, h1_a, rend_s_turb, h4_b, p5_b, h1_g, ...


h3_g, x_alta, x_baja, Mb ),t1_g-DT_alta, options);

%5_a
h5_a=XSteam('h_pT', p5_a, t5_a);
s5_a=XSteam('s_pT', p5_a, t5_a);
%mg(h1g-h3g)=mb(h5b-h4b)+ma(h5a-h1a)-->sacamos el punto 5b
h5_b=h4_b+Mb*(h1_g-h3_g)-(x_alta/x_baja)*(h5_a-h1_a);
t5_b=XSteam('T_ph', p5_b, h5_b);
s5_b=XSteam('s_ph', p5_b, h5_b);
%mg(h2g-h3g)=mb(h5b-h4b); 2g-->
h2_g=h3_g+(1/Mb)*(h5_b-h4_b);
t2_g=fsolve(@(t)x(1)*th_prop('h','CO2',t)+x(2)*th_prop('h','H2O',t)+ ...
x(3)*th_prop('h','N2',t)+x(4)*th_prop('h','O2',t)-h2_g/ratio*MW_gases_comb,t3_g,options);
t2_g=t2_g-273.15;

Una vez obtenidos estos puntos, se pasa a comprobar si la temperatura T5b es mayor de lo debido, en
cuyo caso se intercala el sobrecalentador de baja con el ciclo supercrítico.

casoSobrec1=1;
dif_T_baja=t5_b-(t2_g-DT_baja);
if t2_g-DT_baja<t5_b
k=fsolve(@(k)calculo_k_2P_Desg_Cascada(k, h4_b, t5_b, h5_b, p1_a, h1_a, p5_a, h5_a, ...
DT_baja, Mb, Ma, t2_g, h3_g, x, MW_gases_comb, ratio), 1, options);
tIG=t5_b+DT_baja+273.15+k*(t5_b-(t2_g-DT_baja));
hIG=(x(1)*th_prop('h','CO2',tIG)+x(2)*th_prop('h','H2O',tIG)+ ...
x(3)*th_prop('h','N2',tIG)+x(4)*th_prop('h','O2',tIG))/MW_gases_comb*ratio;
tIG=tIG-273.15;
% mg(hIG-h2g)=mb(h5b-h4b)
h2_g=hIG-(1/Mb)*(h5_b-h4_b);
t2_g=fsolve(@(t)x(1)*th_prop('h','CO2',t)+x(2)*th_prop('h','H2O',t)+ ...
x(3)*th_prop('h','N2',t)+x(4)*th_prop('h','O2',t)- ...
h2_g/ratio*MW_gases_comb,t3_g,options);
t2_g=t2_g-273.15;
% mg(h2g-h3g)=ma(hIA-h1a)
hIA=h1_a+Ma*(h2_g-h3_g);
pIA=p1_a+(p5_a-p1_a)*(hIA-h1_a)/(h5_a-h1_a);
tIA=XSteam('T_ph', pIA, hIA);
sIA=XSteam('s_ph', pIA, hIA);
casoSobrec1=2;
dif_T_baja=t5_b-(tIG-DT_baja);
end

En caso de que no haya que realizar modificaciones porque el punto 5b está dentro de los límites, nos
encontramos en el caso 1 (casoSobrec1=1;) y no hay que realizar modificaciones. De no ser así, se trata
del caso 2, y se comienza una iteración para hallar un punto intermedio en la evolución de los GGCC,
IG, que se adecúe a las necesidades del ciclo. La función auxiliar utilizada es la misma que en el caso
subcrítico.
Se puede ver que en ambos casos se inicializa la variable dif_T_baja, cuya finalizad es la misma que
en el caso subcrítico; poder comprobar que, tras las modificaciones realizadas, T5b toma un valor válido.
A continuación se muestran los posibles casos imposibles que se han tenido en cuenta:

error=0;
if (t5_a>t1_g-DT_alta)
disp('Las condiciones del ciclo estan fuera de lo permitido y t5_a es mayor de lo ...
debido. ');
error=6;
end
if (dif_T_baja>0)
disp('Las condiciones del ciclo estan fuera de lo permitido y t5_b es mayor de lo ...
debido. Aumentar AP_b o PP_b');
error=7;
end
if (h5_b<h4_b)
disp('Las condiciones del ciclo estan fuera de lo permitido y el punto 5_b es de ...
equilibrio bifasico. Disminuir AP_b o PP_b');

ETSI Industriales - 108- Universidad Politécnica de Madrid


Ciclo de Vapor con dos niveles de presión en cascada

error=8;
end

2.6.5.3. Representación Gráfica

La representación de las gr’aficas h s y T s no se diferencia de la seguida en el ciclo equivalente en


paralelo.
Para representar la gráfica T q se comienza hallando los calores que servirán para situar los distintos
puntos, distinguiendo entre los casos casoSobrec1 = 1 y casoSobrec1 = 2. En este segundo caso, se
puede observar que se han hallado dos curvas de temperatura de fluido supercrítico, correspondientes a
la evolución del mismo antes y después del sobrecalentador de baja.

puntos=100;

q_econ_1=h4_g-h5_g; q1=q_econ_1;
q_evap_1=h3_g-h4_g; q2=q1+q_evap_1;
if casoSobrec1==1
q_sobrec_1=h2_g-h3_g; q3=q2+q_sobrec_1;
q_superc=h1_g-h2_g; q4=q3+q_superc;

qtot_g21=h1_g-h2_g;
q_g21=linspace(0, qtot_g21, puntos);
P=linspace(p1_a,p5_a,puntos);
h_ia=zeros([1, puntos]);
t_ia=zeros([1, puntos]);
for i=1:1:puntos
h_ia(i)=h1_a+Ma*q_g21(i);
t_ia(i)=XSteam('T_ph',P(i),h_ia(i));
end
elseif casoSobrec1==2
q_superc1=h2_g-h3_g; q3=q2+q_superc1;
q_sobrec_1=hIG-h2_g; q_int_34=q3+q_sobrec_1;
q_superc2=h1_g-hIG; q4=q_int_34+q_superc2;

qtot_g32=h2_g-h3_g;
q_g32=linspace(0, qtot_g32, puntos);
P1=linspace(p1_a,pIA,puntos);
h_ia1=zeros([1, puntos]);
t_ia1=zeros([1, puntos]);
for i=1:1:puntos
h_ia1(i)=h1_a+Ma*q_g32(i);
t_ia1(i)=XSteam('T_ph',P1(i),h_ia1(i));
end
qtot_gIG1=h1_g-hIG;
q_gIG1=linspace(0, qtot_gIG1, puntos);
P2=linspace(pIA,p5_a,puntos);
h_ia2=zeros([1, puntos]);
t_ia2=zeros([1, puntos]);
for i=1:1:puntos
h_ia2(i)=hIA+Ma*q_gIG1(i);
t_ia2(i)=XSteam('T_ph',P2(i),h_ia2(i));
end
end %[q]=kJ/kg_aire

Con esta información ya se puede realizar la gráfica T q:

%% % ciclo de baja % % %
plot([0 , q1],...
[t1_b, t2_b],...
[q1 , q2 ],...
[t3_b, t4_b], 'linewidth', 2, 'color', [0 0.2 0.6]);
if casoSobrec1==1
%% % ciclo de baja % % %
plot([q3 , q4 ],...

ETSI Industriales - 109- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

[t4_b, t5_b], 'linewidth', 2, 'color', [0 0.2 0.6]);


%% % ciclo de alta % % %
q_g21=q_g21+q3;
plot( q_g21, t_ia,'linewidth', 2, 'color', [0 0.75 0.75]);
%% % gg cc % % %
plot([0 , q1 , q2 , q3 , q4 ],...
[t5_g , t4_g, t3_g, t2_g, t1_g], 'linewidth', 2, 'color', [0.635 0.078 0.184]);
elseif casoSobrec1==2
%% % ciclo de baja % % %
plot([q3 , q_int_34 ],...
[t4_b, t5_b ], 'linewidth', 2, 'color', [0 0.2 0.6]);
%% % ciclo de alta % % %
q_g32=q_g32+q2;
plot( q_g32, t_ia1,'linewidth', 2, 'color', [0 0.75 0.75]);
q_gIG1=q_gIG1+q_int_34;
plot( q_gIG1, t_ia2,'linewidth', 2, 'color', [0 0.75 0.75]);
%% % gg cc % % %
plot([0 , q1 , q2 , q3 , q_int_34 , q4 ],...
[t5_g , t4_g, t3_g, t2_g, tIG , t1_g], 'linewidth', 2, 'color', [0.635 ...
0.078 0.184]);
end
xlabel('Exchanged Heat (kJ/kg of air)');
ylabel('Temperature ( C)');

2.6.6. Ejemplos de Simulación de Ciclos Subcríticos y Supercríticos

Dado que los resultados obtenidos son similares al caso equivalente en paralelo, se va a realizar una
comparación conjunta de los ciclos subcrítico y supercrítico. Estas simulaciones se realizarán para el
mismo CicloGas.
Ciclo de Gas:
[t1_g, t2_g, x, Fr, ratio, w_TG, rend_TG]=
CicloGas(300, 1, 12, [0.88,0.98,0.93], [0.05, 0.08, 0.06], 1750, -1, 1, 1);
Simulación A:
[t5_A, Mt_A, q_tot_A, q_caldera_A, x6_A, x_ext_A, w_TV_A, rend_TV_A, rend_CC_A]=
CicloVap_2P_Desg_Cascada( [20, 120], 0.0571, 1.1, [4, 5], [5, 30], [5 5], 20,
0.9,[0.9,0.88], [3 3], 1, 1, t1_g, t2_g, x, ratio, rend_TG);
Simulación B:
[t5_B, Mt_B, qtot_B, q_caldera_B, x6_B, x_ext_B, w_TV_B, rend_TV_B, rend_CC_B]=
CicloVap_2P_Desg_Cascada( [20, 120], 0.0571, 1.1, [4, 8], [5, 30], [5 5], 20,
0.9,[0.9,0.88], [3 3], 1, 1, t1_g, t2_g, x, ratio, rend_TG);
Simulación C:
[t5_C, Mt_C, qtot_C, q_caldera_C, x6_C, x_ext_C, w_TV_C, rend_TV_C, rend_CC_C]=
CicloVap_2P_Desg_Cascada( [20, 230], 0.0571, 1.1, [4, 5], [5, 30], [5 5], 20,
0.9,[0.9,0.88], [3 3], 1, 1, t1_g, t2_g, x, ratio, rend_TG);
Observando la gráfica (2.43) y los resultados expuestos en el cuadro adjunto se puede ver cómo el
aumento del APa conlleva una pequeña variación en los parámetros de salida, conllevando al final un
ligero descenso del rendimiento del ciclo combinado. A pesar de ello, y dada la alta fracción másica del
caudal de alta, esta peque na variación supone un incremento significativo de la temperatura del punto
de baja 5b.
De estos resultados se desprende también que el uso de presiones supercríticas conlleva un aumento
significativo del rendimiento del ciclo, si bien disminuye de manera notable el título de vapor a la salida
de la turbina, por lo que hay que comprobar que este valor no descienda por debajo del límite de 0.85.

ETSI Industriales - 110- Universidad Politécnica de Madrid


Ciclo de Vapor con dos niveles de presión en cascada

800

Simulación A
700

Simulación B
600
Temperature (ºC)

500
Simulación C

400

300

200

100
0 100 200 300 400 500 600 700 800
Exchanged Heat (kJ/kg of air)

Figura 2.43: Diagrama T q: Ejemplo de Simulación CicloVap_2P_Desg_Cascada; ciclos subcríticos y


supercríticos (Elaboración propia)

800

700 Simulación A

600 Simulación B
Temperature (ºC)

500
Simulación C
400

300

200

100

0
0 1 2 3 4 5 6 7 8 9
Specific Entropy (kJ/(kgºC))

Figura 2.44: Diagrama T s: Ejemplo de Simulación CicloVap_2P_Desg_Cascada; ciclos subcríticos y


supercríticos (Elaboración propia)

Argumentos de Salida (Uds.) Simulación A Simulación B Simulación C


t5_b (◦ C) 231.67 301.46 338.53
t5_a (◦ C)! 690.85 683.13 711.42
·
maire
Mt · 4.4690 4.4690 4.4690
magua 

kJ
q_tot 733.97 773.91 773.97
kgaire
q_inicio ( %) 14.00 14.00 14.00
q_baja ( %) 6.00 6.53 6.78
q_alta ( %) 80.00 79.47 79.22
x6 0.8956 0.8967 0.8684
x_ext
  0.1104 0.1103 0.1139
kJ
w_TV 319.31 318.73 336.96
kgaire
rend_TV ( %) 43.06 42.98 45.06
rend_CC ( %) 56.01 55.94 57.55

Cuadro 2.8: Resultados de la Simulación de Ciclos de Vapor con CicloVap_2P_Desg_Cascada

ETSI Industriales - 111- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

2.7. Ciclo de Vapor con dos niveles de presión y recalentamiento


en paralelo
La adición de un proceso de recalentamiento es la última mejora que se estudiará para los ciclos de
dos niveles de presión. En este programa se analizará una configuración con tramos en los que tanto el
sobrecalentador de baja y el economizador de alta como el sobrecalentador de alta y el recalentamiento
estén en paralelo. Este ciclo guarda ciertas similitudes con el equivalente en paralelo sin recalentamiento,
exceptuando el tramo final de la CRC.

2.7.1. Desarrollo Termodinámico del Ciclo Subcrítico


En la figura (2.45) se puede observar la configuración del ciclo que va a ser estudiado. En él, el caudal
de baja presión está representada por las líneas azul oscuro, el caudal de alta por las líneas azul claro, y el
caudal que pasa a ser recalentado por la línea verde. Este caudal que pasa a ser recalentado está compuesto
por el vapor sobrecalentado de baja presión y por el caudal parcialmente expandido proveniente de la
turbina de alta presión.

Figura 2.45: Configuración del Ciclo de Vapor y la CRC para dos niveles de presión en paralelo, con
recalentamiento y presiones subcríticas (Elaboración propia)

A continuación se pasa a comentar los puntos característicos nuevos que este ciclo incorpora, así como
su forma de obtención, además de las novedades en el cálculo de otros puntos ya conocidos.

5b: Vapor sobrecalentado a presión de baja. Se obtiene realizando un balance al tramo com-
partido por el sobrecalentador de baja y el economizador de alta.
mg · (h3g − h4g ) = mb · (h5b − h4b ) + ma · (h2a − h1a ) (2.37)

ETSI Industriales - 112- Universidad Politécnica de Madrid


Ciclo de Vapor con dos niveles de presión y recalentamiento en paralelo

700

600
5a 5m

500
Temperature (ºC)

400
4a
2a,3a 5b
300
4m
2b,3b,1a 4b 6a ext
200

100 9,1b
7,8 6
0
0 1 2 3 4 5 6 7 8 9
Specific Entropy (kJ/(kgºC))

Figura 2.46: Diagrama T q del Ciclo de Vapor 2P Subcrítico con Recalentamiento (Elaboración propia)

800

1g
700

5a
600 5m
Temperature (ºC)

500 2g

400
3g 4a
300
4g 2a,3a
4m
5g 1a
200
6g 5b
2b,3b 4b
100 1b
0 q1 100 q2 200 q3 300 q4 400 500 600 q5 700
Exchanged Heat (kJ/kg of air)

Figura 2.47: Diagrama T q del Ciclo de Vapor 2P Subcrítico con Recalentamiento (Elaboración propia)

5a: Vapor sobrecalentado a presión de alta. Para hallarlo se recurre a un proceso iterativo
similar al visto en otras ocasiones. En él, se itera con un valor de T5a , con lo que se puede obtener el
punto 5a y el resto de puntos del ciclo con la imposición de que T5m = T5a , es decir, de que el caudal
recalentado adquiera la misma temperatura que el vapor sobrecalentado del ciclo de alta. Una vez hecho
esto, se comprueba si el calor disponible por los gases en combustión es igual al que necesita el ciclo para
la temperatura T5a impuesta.

4m: Punto resultado de la combinación del caudal parcialmente expandido de alta y el


sobrecalentado de baja. A este punto se le llamaba 5m en los programas sin recalentamiento, y
directamente se expandía. En esta ocasión, se le renombra como 4m ya que vuelve a introducirse en la
CRC. Se conoce su presión, que es la de 5b, y se obtiene su entalpía mediante la expresión:

h4m = xalta · h6a + xbaja · h5b (2.38)

5m: Vapor recalentado. Se introduce una nueva componente al vector que contiene las pérdidas
de carga para tener en cuenta las pérdidas que tienen lugar en este tramo. Por tanto, con esto obtenemos
p5m . Esto y la imposición de que T5m = T5a permiten obtener el resto de propiedades del punto.
El resto de puntos del ciclo se obtienen de la misma forma que en los ciclos sin recalentamiento.

2.7.2. Desarrollo Termodinámico del Ciclo Supercrítico

Aparecen dos intermedios en la evolución del fluido supercrítico que son de interés para calcular la
curva T q. Estos puntos marcan los lugares de la CRC en los que el intercambiador de calor supercrítico

ETSI Industriales - 113- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

700

600

500
Temperature (ºC)

400

300

200

100

0
0 1 2 3 4 5 6 7 8 9
Specific Entropy (kJ/(kgºC))

Figura 2.48: Diagrama T q del Ciclo de Vapor 2P Supercrítico con Recalentamiento (Elaboración propia)

800

1g
700
5a, 5m
600
Temperature (ºC)

2g
500
3g Ia2
400
4g Ia1
300

5g 4m
200 1a 5b
6g
2b,3b 4b
1b
100
0 q1 100 200 q2 300 q3 q4 500 600 q5 700
Exchanged Heat (kJ/kg of air)

Figura 2.49: Diagrama T q del Ciclo de Vapor 2P Supercrítico con Recalentamiento (Elaboración propia)

absorbe calor a la vez que otro elemento, y a eso se debe el cambio de curvatura que se produce al pasar
dichos puntos, notablemente visible cuando comienza el recalentamiento.
Además, se aprovecha el grado de libertad que proporciona la ausencia de PP y AP de alta, y se
impone que la entropía del vapor sobrecalentado de baja coincida con la del fluido proveniente de la
explansión en la turbina de alta.
Se obtiene el punto 5a mediante un proceso iterativo con fsolve, como se ha explicado al inicio de
la Sección. Una vez conseguido este punto, se obtienen 5m, 6a, 4m y 5b. Este proceso se verá más
detalladamente cuando se comente el código del programa.

3g: Punto característico de los GGCC en el cual se extrae el caudal de baja de la CRC.
Una vez obtenidos los puntos mencionados se procede a la obtención de la entalpía de este punto. Se
recuerda que, como en el caso paralelo sin recalentamiento, se dispone de cierta libertad para fijar este
punto. Se vuelve a recurrir a la estimación inicial de que el caudal supercrítico absorbe en ese tramo
un tercio del calor total que necesita. Con ello, se obtiene una T3g para la cual se comprueba que
T3g − DTbaja > T5b . De no ser así, se aumenta la cantidad de calor que absorberá el flujo supercrítico en
ese tramo. Se recuerda que esto se realiza porque no tiene efecto sobre los parámetros de salida de nuestro
ciclo, y que su objetivo es conseguir ubicar el punto 5b en un lugar de la CRC en el que su temperatura

ETSI Industriales - 114- Universidad Politécnica de Madrid


Ciclo de Vapor con dos niveles de presión y recalentamiento en paralelo

no supere los límites. A continuación pueden verse los cálculos realizados:



calorsub = xbaja · (h5b − h4b );


calorsup = xalta · (h5a − h1a );




calorrec = h5m − h4m ;





calortotal = Mt · (h1g − h4g );





k1 = 3; (2.39)
 calorsub + calorsup /k1
T3g = T4g + (T1g − T4g ) · ;


calortotal




Si T3g − DTbaja < T5b ;




k1 = k1 · 0,9;





T = · · ·
3g

Ia1: Punto de la evolución del flujo supercrítico a partir del que este pasa a absorber
calor solo. Una vez obtenido 3g es inmediato, mediante un balance de energía entre los puntos 4g y
3g, obtener la entalpía de este punto. Su presión se obtiene suponiendo un descenso lineal de la misma
conforme el fluido supercrítico avanza por la CRC:
hIA1 − h1a
pIA1 = p1a + (p5a − p1a ) · (2.40)
h5a − h1a

2g:Punto característico de los GGCC en el cual se introduce el caudal para recalentar en


la CRC. Se sigue un razonamiento similar al utilizado para obtener 3g, pero en este caso se aumenta
el valor de k en caso de que T4m > T2g , aunque se dé esto sería improbable. También se tiene en cuenta
la posibilidad de que el tramo paralelo con el sobrecalentamiento de baja ocupe más de 1/3 del total del
intercambiador supercrítico, y por tanto se asigna a k2 un valor inicial que no implique conflicto entre
ambos cálculos. 

 k2 = (1 − 1/k1) · 3;
calorrec + calorsup /k2


T2g = T1g − (T1g − T4g ) ·


 ;
calortotal
Si T2g < T4m ; (2.41)


k2 = k2 · 1,1;





T2g = · · ·

Ia2: Punto de la evolución del flujo supercrítico a partir del que este pasa a absorber
calor en paralelo al caudal de recalentamiento. Una vez obtenido 2g es inmediato, mediante un
balance de energía entre los puntos 2g y 1g, obtener la entalpía de este punto. Su presión se obtiene
suponiendo un descenso lineal de la misma conforme el fluido supercrítico avanza por la CRC:
hIA2 − h1a
pIA2 = p1a + (p5a − p1a ) · (2.42)
h5a − h1a
Cabe remarcar que p1a > p5a , por lo que tanto pIA1 como pIA2 son menores que p1a .
El cálculo del resto de puntos no guarda diferencias significativas con respecto a lo visto en otras
Secciones.

2.7.3. Variables de Diseño

Estas no difieren de las utilizadas en otros ciclos 2P, pero se añade una componente al parámetro
de salida q_caldera, con el porcentaje de calor utilizado en el recalentamiento, y otra al parámetro de
entrada perd_carga, con las pérdidas de carga que tienen lugar durante el recalentamiento (en %).

ETSI Industriales - 115- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

function [t5, Mt, qtot, q_caldera, x6, x_ext, w_TV, rend_TV, rend_CC, error] =...
CicloVap_2P_Desg_Rec_Paralelo( p, p_cond, p_ext, AP, PP, DT, DI, x_alta,rend, ...
perd_carga, grafica, clearfigures, t1_g, tsal_g, x, ratio, rend_TG)
%%
%CICLO DE VAPOR, 2P, CON DESGASIFICADOR Y RECALENTADOR, EN PARALELO
%% Desarrollador: Joaquin Corredoyra Alcaraz
% Tutor: Ruben Abbas Camara
% U.D. Motores Termicos
% ETS Ingenieros Industriales
% Universidad Politecnica de Madrid
% 2016

2.7.4. Programa CicloVap_2P_Desg_Rec_Paralel para Ciclo Subcrítico

2.7.4.1. Inicialización del Programa

Esta parte es muy similar a la ya comentada en otros ciclos 2P, por lo que solo se muestra la iniciali-
zación de perd_carga, que es la única variable de entrada que presenta diferencias.

if perd_carga==-1;
perd_carga=[3 3 3];
end
perd_carga_econ=perd_carga(1);
perd_carga_sobrec=perd_carga(2);
perd_carga_rec=perd_carga(3);

2.7.4.2. Obtención de los puntos principales de los diagramas

A continuación se enseña el código utilizado para obtener los puntos novedosos tanto por el método
utilizado como porque no existían en ciclos anteriores.

%SOBRECALENTADOR DE ALTA == RECALENTADOR-->


%mg(h1g-h2g)=ma(h5a-h4a)+mv(h5m-h4m);5a-->

p5_a=p_a*(1-perd_carga_sobrec/100);

t5_a=fsolve(@(t)calculo_t5_2P_Desg_Rec_sub(t, p5_a, h4_a, rend_s_turb, ...


perd_carga_sobrec, p5_b, h5_b, h1_g, h2_g, Mt, x_alta, x_baja),t1_g-DT_alta,options);

h5_a=XSteam('h_pT', p5_a, t5_a);


s5_a=XSteam('s_pT', p5_a, t5_a);
% 6sa
p6_as=p5_b;
s6_as=s5_a;
h6_as=XSteam('h_ps', p6_as, s6_as);
t6_as=XSteam('T_ps', p6_as, s6_as);
% 6a
p6_a=p6_as;
h6_a=h5_a-rend_s_turb*(h5_a-h6_as);
s6_a=XSteam('s_ph', p6_a, h6_a);
t6_a=XSteam('t_ph', p6_a, h6_a);
% 4m-->mezcla de 5b y de 6_a
p4_m=p5_b;
h4_m=x_alta*h6_a+x_baja*h5_b;
s4_m=XSteam('s_ph', p4_m, h4_m);
t4_m=XSteam('t_ph', p4_m, h4_m);
% 5m
p5_m=p5_b*(1-perd_carga_rec/100);
t5_m=t5_a;
h5_m=XSteam('h_pT', p5_m, t5_m);
s5_m=XSteam('s_pT', p5_m, t5_m);

ETSI Industriales - 116- Universidad Politécnica de Madrid


Ciclo de Vapor con dos niveles de presión y recalentamiento en paralelo

Se puede ver cómo, una vez caracterizado el punto 5b, se pueden obtener el resto de puntos necesarios
para calcular la energía total necesaria para llevar a cabo los procesos deseados. Esto es así porque se
tienen las entalpías de inicio y finalización de estos procesos.
Para obtener la T5a que iguale el requerimiento de energía con la disponible en la CRC se utiliza la
función auxiliar calculo_t5_2P_Desg_Rec_sub, que devuelve una diferencia entre dichos calores para
una T5a dada. Esta diferencia es llevada a cero iterando por medio de fsolve. El código de esta función
auxiliar no es sino una versión abreviada del proceso de obtención de los puntos mostrados en el extracto
de programa anterior;

function [ dif ] = calculo_t5_2P_Desg_Rec_sub( t5_a, p5_a, h4_a, rend_s_turb, ...


perd_carga_rec, p5_b, h5_b, h1_g, h_inic_rec_g, Mt, x_alta, x_baja)
%% Desarrollador: Joaquin Corredoyra Alcaraz
% Tutor: Ruben Abbas Camara
% U.D. Motores Termicos
% ETS Ingenieros Industriales
% Universidad Politecnica de Madrid
% 2016
%%
% 5a
h5_a=XSteam('h_pT', p5_a, t5_a);
s5_a=XSteam('s_pT', p5_a, t5_a);
% 5m
p5_m=p5_b*(1-perd_carga_rec/100);
h5_m=XSteam('h_pT', p5_m, t5_a);

% 6sa
h6_as=XSteam('h_ps', p5_b, s5_a);
% 6a
h6_a=h5_a-rend_s_turb*(h5_a-h6_as);

% 4m
h4_m=x_alta*h6_a+x_baja*h5_b;
% mg(h1_g-h2_g)=mv(h5_m-h4_m)+ma(h5a-h4a); Mtot(h1_g-h2_g)=(h5_m-h4_m)+x_alta(h5a-h4a)
calor_agua=(h5_m-h4_m)+x_alta*(h5_a-h4_a);
calor_gases=Mt*(h1_g-h_inic_rec_g);

dif=calor_agua-calor_gases;
end

Tras hallar estos puntos, el programa obtiene el aquellos aguas abajo de la CRC. Antes de esto, se
verifica que los resultados obtenidos son válidos;

error=0;
if isnan(t5_a)
disp('Las condiciones del ciclo estan fuera de lo permitido y no existe una t5_a para ...
ellas Aumentar AP_a o PP_a');
error=1;
end
if(t5_a>t1_g-DT_alta)
disp('Las condiciones del ciclo estan fuera de lo permitido y t5_a es mayor de lo ...
debido. Aumentar AP_a o PP_a');
error=2;
end
if(t5_b>t3_g-DT_baja)
disp('Las condiciones del ciclo estan fuera de lo permitido y t5_b es mayor de lo ...
debido. Aumentar AP_b o PP_b, o disminuir AP_a o PP_a');
error=3;
end
if(h5_b<h4_b)
disp('Las condiciones del ciclo estan fuera de lo permitido y el punto 5_b es de ...
equilibrio bifasico. Aumentar AP_a o PP_a, o disminuir AP_b o PP_b');
error=4;
end
if(h5_a<h4_a)
disp('Las condiciones del ciclo estan fuera de lo permitido y el punto 5_a es de ...
equilibrio bifasico. Disminuir AP_b o PP_b');

ETSI Industriales - 117- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

error=5;
end
if (h5_m<h4_m)
disp('Las condiciones del ciclo estan fuera de lo permitido y el punto recalentamiento ...
no ha cumplido su funcion');
error=6;
end

2.7.4.3. Representación Gráfica

Primero se realiza la gráfica T q, para lo cual se calculan los calores intermedios necesarios. Al ser
esta configuración en paralelo, es más sencilla la representación que en el caso en cascada, en el que hay
que prever distintas posibilidades.

%% % % % % GRAFICA CRC % % % % % %
q_econ_1=h5_g-h6_g; q1=q_econ_1;
q_evap_1=h4_g-h5_g; q2=q1+q_evap_1;
q_sobrec_1=h3_g-h4_g; q3=q2+q_sobrec_1;
q_iterm_superc=h2_g-h3_g; q4=q3+q_iterm_superc;
q_rec=h1_g-h2_g; q5=q4+q_rec; %[q]=kJ/kg_aire
%% % ciclo de baja % % %
plot([0 , q1],...
[t1_b, t2_b],...
[q1 , q2 , q3],...
[t3_b, t4_b, t5_b], 'linewidth', 2, 'color', [0 0.2 0.6]);
%% % ciclo de alta % % %
plot([q2 , q3 ],...
[t1_a, t2_a],...
[q3 , q4 , q5],...
[t3_a, t4_a, t5_a],'linewidth', 2, 'color', [0 0.5 0.6]);
%% % recalentamiento % % %
plot([q4 , q5],...
[t4_m, t5_m],'linewidth', 2, 'color', [0 0.8 0]);
%% % gg cc % % %
plot([0 , q1 , q2 , q3 , q4 , q5 ],...
[t6_g, t5_g , t4_g, t3_g, t2_g, t1_g], 'linewidth', 2, 'color', [0.635 ...
0.078 0.184]);
xlabel('Exchanged Heat (kJ/kg of air)');
ylabel('Temperature (ºC)');

Tras esto, se pasa a trazar las gr’aficas h s y T s, entre cuyos métodos no hay diferencias, por lo que
sólo se mostrará el código utilizado para el trazado de la primera de estas figuras.

%% % intermedios ciclo de baja % % %


%Puntos intermedios entre 1b y 3b
[hint13_b, ¬, sint13_b, tint13_b]=calculo_intermedios(h1_b, h3_b, p1_b, p3_b, 10);
%Puntos intermedios entre 4b y 5b
[hint45_b, ¬, sint45_b, tint45_b]=calculo_intermedios(h4_b, h5_b, p4_b, p5_b, 10);
%% % intermedios ciclo de alta % % %
%Puntos intermedios entre 1a y 3a
[hint13_a, ¬, sint13_a, tint13_a]=calculo_intermedios(h1_a, h3_a, p1_a, p3_a, 10);
%Puntos intermedios entre 4a y 5a
[hint45_a, ¬, sint45_a, tint45_a]=calculo_intermedios(h4_a, h5_a, p4_a, p5_a, 10);
%Puntos intermedios entre 6_as y 6_a
[hint_6as_6a, ¬, sint_6as_6a, tint_6as_6a]=calculo_intermedios(h6_as, h6_a, p6_as, ...
p6_a, 10);
%% % intermedios comunes % % %
%Puntos intermedios entre 5b y 6a
[hint_5b_6a, ¬, sint_5b_6a, tint_5b_6a]=calculo_intermedios(h5_b, h6_a, p5_b, ...
p6_a, 10);
%Puntos intermedios entre 4m y 5m
[hint_4m_5m, ¬, sint_4m_5m, tint_4m_5m]=calculo_intermedios(h4_m, h5_m, p4_m, ...
p5_m, 10);
%Puntos intermedios entre 8 y 9
[hint_89, ¬, sint_89, tint_89]=calculo_intermedios(h8, h9, p8, p9, 10);

ETSI Industriales - 118- Universidad Politécnica de Madrid


Ciclo de Vapor con dos niveles de presión y recalentamiento en paralelo

%% % GRAFICO H-S % % %
if clearfigures
figure(4); clf;
fastmollier(1);
else
figure(4); hold all
end
%% % ciclo de baja % % %
plot([s9, sint13_b, sint45_b, sint_5b_6a, sint_4m_5m],...
[h9, hint13_b, hint45_b, hint_5b_6a, hint_4m_5m],'linewidth', 3, 'color', [0 0.2 ...
0.6]);
%% % ciclo de alta % % %
plot([s9, sint13_a, sint45_a, s6_a],...
[h9, hint13_a, hint45_a, h6_a],'linewidth', 3, 'color', [0 0.2 0.6]);
plot([s5_a, sint_6as_6a],...
[h5_a, hint_6as_6a],'color', [0 0.5 0], 'linestyle', '--','linewidth', 2);

%% % comun % % %
if h6>XSteam('hV_p', p6)
%Puntos intermedios entre 6 y 6_V
[hint_6V, ¬, sint_6V, tint_6V]=calculo_intermedios(h6, XSteam('hV_p', p6), p6, ...
p6, 10);
%Puntos intermedios entre 6s y 6
[hint_6s6, ¬, sint_6s6, tint_6s6]=calculo_intermedios(h6s, h6, p6s, p6, 10);
plot([s5_m, sint_6V, s7, sint_89],...
[h5_m, hint_6V, h7, hint_89],'linewidth', 3, 'color', [0 0.2 0.6]);
plot([s5_m, s6s, sint_6s6, s6],...
[h5_m, h6s, hint_6s6, h6],'color', [0 0.5 0], 'linestyle', ...
'--','linewidth', 2);
else
plot([s5_m, s6, s7, sint_89],...
[h5_m, h6, h7, hint_89],'linewidth', 3, 'color', [0 0.2 0.6]);
plot([s5_m, s6s, s6],...
[h5_m, h6s, h6],'color', [0 0.5 0], 'linestyle', '--','linewidth', 2);
end
if h_ext>XSteam('hV_p', p_ext)
%Puntos intermedios entre ext y ext_V
[hint_extV, ¬, sint_extV, tint_extV]=calculo_intermedios(h_ext, XSteam('hV_p', ...
p_ext), p_ext, p_ext, 10);
plot([sint_extV, s9],...
[hint_extV, h9] ,'linewidth', 3, 'color', [0.5 0.2 0.6]);
else
plot([s_ext, s9],...
[h_ext, h9] ,'linewidth', 3, 'color', [0.5 0.2 0.6]);
end
%% % GRAFICO T-S % % %
%% % %. . . % % % %

Aunque larga, la metodología para realizar estas gráficas ya ha sido analizada.

2.7.4.4. Finalización del Programa

Es similar a la ya observada, con la particularidad de la componente extra de q_caldera;

%% % OUTPUTS % % %
t5=[t5_b, t5_a];
qtot=h1_g-h_salida_g;
q_inicio=(h2_b-h1_b)/Mt;
q_baja=(h5_b-h2_b)/Mb;
q_alta=(h5_a-h1_a)/Ma;
q_rec=(h5_m-h4_m)/Mt;
q_caldera=[q_inicio, q_baja, q_alta, q_rec]/qtot*100;
w_TV=(h5_a-h6_a)/Ma+(h5_m-h6)/Mt; % en kJ/kg_aire
w_Bba=((h1_b-h9)+(h8-h7)*(1-x_ext))/Mt+(h1_a-h3_b)/Ma;
rend_TV=(w_TV-w_Bba)/(h1_g-h_salida_g)*100;
rend_CC=rend_TV+rend_TG-rend_TV*rend_TG/100;

ETSI Industriales - 119- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

Cabe resaltar que no se devuelve la temperatura del vapor recalentado dado que es la misma que la del
vapor sobrecalentado de alta.

2.7.5. Programa CicloVap_2P_Desg_Rec_Paralel para Ciclo Supercrítico

2.7.5.1. Inicialización del Programa

Esta parte es idéntica a la ya vista en la Sección (2.7.4.1).

2.7.5.2. Obtención de los puntos principales de los diagramas

En este caso, el punto 5a se halla de una forma similar pero no igual a la utilizada en el equivalente
subcrítico. Esto se debe a que no se tiene información suficiente para obtener 5b, por lo que se recurre
a la imposición ya mencionada de que s5b = s6a . Con este dato ya se puede calcular dicho punto sin
recurrir a balances. A continuación se muestra la metodología seguida para obtener los puntos 6sa, 6a,
5b, 4m y 5m a partir del conocimiento del punto 5a.

%SOBRECALENTADOR DE BAJA == PASO UNICO DE ALTA-


p5_a=p_a*(1-perd_carga_sobrec/100);
p5_b=p_b*(1-perd_carga_sobrec/100);

t5_a=fsolve(@(t) calculo_t5_2P_Desg_Rec_Paralelo_sup(t, p5_a, h1_a, rend_s_turb, ...


perd_carga_rec, p5_b, h4_b, h1_g, h4_g, Mt, x_alta, x_baja,'no'),t1_g-DT_alta, ...
options);
% 5a
h5_a=XSteam('h_pT', p5_a, t5_a);
s5_a=XSteam('s_pT', p5_a, t5_a);
% 6s_a
p6_as=p5_b;
s6_as=s5_a;
h6_as=XSteam('h_ps', p6_as, s6_as);
t6_as=XSteam('T_ps', p6_as, s6_as);
% 6_a
p6_a=p6_as;
h6_a=h5_a-rend_s_turb*(h5_a-h6_as);
s6_a=XSteam('s_ph', p6_a, h6_a);
t6_a=XSteam('t_ph', p6_a, h6_a);
% 5b
s5_b=s6_a;
h5_b=XSteam('h_ps', p5_b, s5_b);
t5_b=XSteam('T_ps', p5_b, s5_b);
% 4m
p4_m=p5_b;
h4_m=x_alta*h6_a+x_baja*h5_b;
t4_m=XSteam('T_ph',p4_m, h4_m);
s4_m=XSteam('s_ph',p4_m, h4_m);
% 5m
t5_m=t5_a;
p5_m=p5_b*(1-perd_carga_rec/100);
h5_m=XSteam('h_pT', p5_m, t5_a);
s5_m=XSteam('s_pT', p5_m, t5_m);

Para obtener 5a se recurre a la función auxiliar calculo_t5_2P_Desg_Rec_Paralelo_sup, que ofrece


el mismo output y es muy parecida a la utilizada en el ciclo subcrítico con el mismo fin, calculo_t5_2P_Desg_Rec_sub.
La diferencia entre estas está en que el punto 5b es un dato de entrada en la función auxiliar del caso
subcrítico, mientras que en la de los ciclos supercríticos debe ser hallada tras 6a.

function [ dif ] = calculo_t5_2P_Desg_Rec_Paralelo_sup( t5_a, p5_a, h1_a, rend_s_turb, ...


perd_carga_rec, p5_b, h4_b, h1_g, h4_g, Mt, x_alta, x_baja, displ)
%% Desarrollador: Joaquin Corredoyra Alcaraz
% Tutor: Ruben Abbas Camara
% U.D. Motores Termicos

ETSI Industriales - 120- Universidad Politécnica de Madrid


Ciclo de Vapor con dos niveles de presión y recalentamiento en paralelo

% ETS Ingenieros Industriales


% Universidad Politecnica de Madrid
% 2016
%%
% 5a
h5_a=XSteam('h_pT', p5_a, t5_a);
s5_a=XSteam('s_pT', p5_a, t5_a);
% 5m
p5_m=p5_b*(1-perd_carga_rec/100);
h5_m=XSteam('h_pT', p5_m, t5_a);
% 6sa
h6_as=XSteam('h_ps', p5_b, s5_a);
% 6a
h6_a=h5_a-rend_s_turb*(h5_a-h6_as);
s6_a=XSteam('s_ph', p5_b, h6_a);
% 5b
h5_b=XSteam('h_ps', p5_b, s6_a);
%4_m
h4_m=x_alta*h6_a+x_baja*h5_b;
% mg(h1_g-h4_g)=mv(h5m-h4m)+ma(h5a-h1a)+mb(h5b-h4b); ...
Mtot(h1_g-h2_g)=(h5_m-h4_m)+x_alta(h5a-h1a)+x_baja(h5b-h4b)
calor_agua=(h5_m-h4_m)+x_alta*(h5_a-h1_a)+x_baja*(h5_b-h4_b);
calor_gases=Mt*(h1_g-h4_g);

dif=calor_gases-calor_agua;
end

Tras esto, quedan por obtener los puntos intermedios del flujo supercrítico y los correspondientes
puntos característicos de los GGCC. El procedimiento para hallar estos puntos ya ha sido explicado en
la Sección (2.7.2). A continuación se muestra el código utilizado para implementar dicha metodología:

%% % PUNTOS INTERMEDIOS SUPERCRITICO % % %


% mg(h1_g-h4_g)=mv(h5m-h4m)+ma(h5a-h1a)+mb(h5b-h4b); ...
Mtot(h1_g-h2_g)=(h5_m-h4_m)+x_alta(h5a-h1a)+x_baja(h5b-h4b)
calor_sub=x_baja*(h5_b-h4_b);
calor_sup=x_alta*(h5_a-h1_a);
calor_rec=h5_m-h4_m;
calor_total=Mt*(h1_g-h4_g);
% 3g
k1=3;
t3_g=t4_g+(t1_g-t4_g)*(calor_sub+calor_sup/k1)/calor_total+273.15;
h3_g=(x(1)*th_prop('h','CO2',t3_g)+x(2)*th_prop('h','H2O',t3_g)+...
x(3)*th_prop('h','N2',t3_g)+x(4)*th_prop('h','O2',t3_g))/MW_gases_comb*ratio;
t3_g=t3_g-273.15;
while t5_b>t3_g-DT_baja && k1≥1
k1=k1*0.9;
h3_g=(x(1)*th_prop('h','CO2',t3_g)+x(2)*th_prop('h','H2O',t3_g)+ ...
x(3)*th_prop('h','N2',t3_g)+x(4)*th_prop('h','O2',t3_g))/MW_gases_comb*ratio;
t3_g=t3_g-273.15;
end
% IA1: mg(h3g-h4g)=mb(h5b-h4b)+ma(hIA1-h1a)
hIA1=h1_a+Ma*(h3_g-h4_g)-(x_baja/x_alta)*(h5_b-h4_b);
pIA1=p1_a+(p5_a-p1_a)*(hIA1-h1_a)/(h5_a-h1_a);
tIA1=XSteam('T_ph', pIA1, hIA1);
sIA1=XSteam('s_ph', pIA1, hIA1);
% 2g
k2=(1-1/k1)*3;
t2_g=t1_g-(t1_g-t4_g)*(calor_rec+calor_sup/k2)/calor_total+273.15;
h2_g=(x(1)*th_prop('h','CO2',t2_g)+x(2)*th_prop('h','H2O',t2_g)+ ...
x(3)*th_prop('h','N2',t2_g)+x(4)*th_prop('h','O2',t2_g))/MW_gases_comb*ratio;
t2_g=t2_g-273.15;
while t4_m>t2_g
k2=k2*1.1;
t2_g=t1_g-(t1_g-t4_g)*(calor_rec+calor_sup/k)/calor_total+273.15;
h2_g=(x(1)*th_prop('h','CO2',t2_g)+x(2)*th_prop('h','H2O',t2_g)+ ...
x(3)*th_prop('h','N2',t2_g)+x(4)*th_prop('h','O2',t2_g))/MW_gases_comb*ratio;
t2_g=t2_g-273.15;
end
% IA2: mg(h1g-h2g)=mv(h5m-h4m)+ma(h5a-hIA2)

ETSI Industriales - 121- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

hIA2=h5_a-Ma*(h1_g-h2_g)+(1/x_alta)*(h5_m-h4_m);
pIA2=p1_a+(p5_a-p1_a)*(hIA2-h1_a)/(h5_a-h1_a);
tIA2=XSteam('T_ph', pIA2, hIA2);
sIA2=XSteam('s_ph', pIA2, hIA2);

Con esta información resulta inmediata la obtención de los puntos característicos restantes del ciclo.
Antes de comenzar este proceso, se verifica que la simulación ha sido correcta;

error=0;
if (t5_a>t1_g-DT_alta)
disp('Las condiciones del ciclo estan fuera de lo permitido y t5_a es mayor de lo ...
debido. ');
error=7;
end
if (t5_b>t2_g-DT_baja)
disp('Las condiciones del ciclo estan fuera de lo permitido y t5_b es mayor de lo ...
debido. Aumentar AP_b o PP_b');
error=8;
end
if (h5_b<h4_b)
disp('Las condiciones del ciclo estan fuera de lo permitido y el punto 5_b es de ...
equilibrio bifasico. Disminuir AP_b o PP_b');
error=9;
end
if (h5_m<h4_m)
disp('Las condiciones del ciclo estan fuera de lo permitido y el punto recalentamiento ...
no ha cumplido su funcion');
error=10;
end
if (min_dif_Supr_1<0) || (min_dif_Supr_2<0) || (min_dif_Supr_3<0)
disp('Las condiciones del ciclo estan fuera de lo permitido y la temperatura del flujo ...
supercritico supera la de los GGCC en algun punto de la caldera')
error=11;
end

Se ha implementado en este caso la posibilidad de que el fluido supercrítico alcance en algún punto de la
CRC una temperatura mayor que la de los GGCC en dicha zona, lo que se comprueba con las variables
min_dif_Supr_1 para el primer tramo, en paralelo con el sobrecalentador de baja, min_dif_Supr_2 para
el segundo, en solitario, y min_dif_Supr_3 para el tramo final, en el que va en paralelo con el recalentador.
Estos valores contienen la diferencia mínima entre la temperatura de los GGCC y del caudal supercrítico
en los tramos citados, y para obtener est valor se obtiene la curva de temperaturas de ambos caudales
en cada tramo indicado. Esto se realiza mediante el siguiente código, que en otras ocasiones se situaba
dentro de la representación gráfica:

puntos=100;

qtot_g43=h3_g-h4_g;
q_g43=linspace(0, qtot_g43, puntos);
h_ig_1=linspace(h4_g, h3_g, puntos)*MW_gases_comb/ratio;
t_ig_1=zeros([1, puntos]); t_ig_1(1)=t4_g+273.15;
qtot_b45=h5_b-h4_b;
q_b45=linspace(0, qtot_b45, puntos);
P1=linspace(p1_a,pIA1,puntos);
h_ia_1=zeros([1, puntos]); h_ia_1(1)=h1_a;
t_ia_1=zeros([1, puntos]); t_ia_1(1)=t1_a;
for i=2:1:puntos %mg(h3g-h4g)=mb(h5b-h4b)+ma(hIA1-h1a)
h_ia_1(i)=h1_a+Ma*q_g43(i)-(x_baja/x_alta)*q_b45(i);
t_ia_1(i)=XSteam('T_ph',P1(i),h_ia_1(i));
t_ig_1(i)=fsolve(@(t)x(1)*th_prop('h','CO2',t)+x(2)*th_prop('h','H2O',t)+ ...
x(3)*th_prop('h','N2',t)+x(4)*th_prop('h','O2',t)-h_ig_1(i),t_ig_1(i-1),options)-273.15;
end
min_dif_Supr_1=min(t_ig_1-t_ia_1);

qtot_g32=h2_g-h3_g;
q_g32=linspace(0, qtot_g32, puntos);
h_ig_2=linspace(h3_g, h2_g, puntos)*MW_gases_comb/ratio;

ETSI Industriales - 122- Universidad Politécnica de Madrid


Ciclo de Vapor con dos niveles de presión y recalentamiento en paralelo

t_ig_2=zeros([1, puntos]); t_ig_2(1)=t3_g+273.15;


P2=linspace(pIA1,pIA2,puntos);
h_ia_2=zeros([1, puntos]); h_ia_2(1)=hIA1;
t_ia_2=zeros([1, puntos]); t_ia_2(1)=tIA1;
for i=2:1:puntos
h_ia_2(i)=hIA1+Ma*q_g32(i);
t_ia_2(i)=XSteam('T_ph',P2(i),h_ia_2(i));
t_ig_2(i)=fsolve(@(t)x(1)*th_prop('h','CO2',t)+x(2)*th_prop('h','H2O',t)+ ...
x(3)*th_prop('h','N2',t)+x(4)*th_prop('h','O2',t)-h_ig_2(i),t_ig_2(i-1),options)-273.15;
end
min_dif_Supr_2=min(t_ig_2-t_ia_2);

qtot_g21=h1_g-h2_g;
q_g21=linspace(0, qtot_g21, puntos);
h_ig_3=linspace(h2_g, h1_g, puntos)*MW_gases_comb/ratio;
t_ig_3=zeros([1, puntos]); t_ig_3(1)=t2_g+273.15;
qtot_m45=h5_m-h4_m;
q_m45=linspace(0, qtot_m45, puntos);
P3=linspace(pIA2,p5_a,puntos);
h_ia_3=zeros([1, puntos]); h_ia_3(1)=hIA2;
t_ia_3=zeros([1, puntos]); t_ia_3(1)=tIA2;
for i=2:1:puntos % mg(h1g-h2g)=mv(h5m-h4m)+ma(h5a-hIA2)
h_ia_3(i)=hIA2+Ma*q_g21(i)-(1/x_alta)*q_m45(i);
t_ia_3(i)=XSteam('T_ph',P3(i),h_ia_3(i));
t_ig_3(i)=fsolve(@(t)x(1)*th_prop('h','CO2',t)+x(2)*th_prop('h','H2O',t)+ ...
x(3)*th_prop('h','N2',t)+x(4)*th_prop('h','O2',t)-h_ig_3(i),t_ig_3(i-1),options)-273.15;
end
min_dif_Supr_3=min(t_ig_3-t_ia_3);

2.7.5.3. Representación Gráfica

La representación de las gráficas h s y T s es no guarda diferencias relevantes con las de otros ciclos
ya vistos. Para el diagrama T q, aunque se sigue la misma metodología, se va a mostrar dado que hay
dos tramos en los que el flujo supercrítico va en paralelo con otros caudales.
En primer lugar se obtienen los calores que serán utilizados para situar los puntos en la gráfica, y las
curvas con la evolución de la temperatura del fluido supercrítico.
Como se ha visto en casos similares, para obtener estas curvas de temperatura se utilizan balances de
energía aplicados al tramo en cuestión, y realizados no entre el principio y el final del tramo, lo que solo
permitiría obtener un punto de la gráfica, si no que se divide este balance en ‘puntos’ sub-balances.
Esta operación es la que conlleva más tiempo del programa debido a tener que iterar con fsolve
para obtener la curva de temperaturas de los gases. Además, no es común obtener este error e incluso de
darse en el programa no implica necesariamente que se de en la realidad puesto que se puede diseñar la
caldera de forma que se subsane este error. Es por esto que a la hora de obtener resultados se omitirá
esta comprobación.

q_econ_1=h5_g-h6_g; q1=q_econ_1;
q_evap_1=h4_g-h5_g; q2=q1+q_evap_1;
q_sobrec_1=h3_g-h4_g; q3=q2+q_sobrec_1;
q_iterm_superc=h2_g-h3_g; q4=q3+q_iterm_superc;
q_rec=h1_g-h2_g; q5=q4+q_rec; %[q]=kJ/kg_aire

A continuación se lleva a cabo la representación de dicha gráfica.

%% % ciclo de baja % % %
plot([0 , q1],...
[t1_b, t2_b],...
[q1 , q2 , q3],...
[t3_b, t4_b, t5_b], 'linewidth', 2, 'color', [0 0.2 0.6]);
%% % ciclo de alta % % %
q_g43=q_g43+q2;
plot( q_g43, t_ia_1,'linewidth', 2, 'color', [0 0.5 0.6]);

ETSI Industriales - 123- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

q_g32=q_g32+q3;
plot( q_g32, t_ia_2,'linewidth', 2, 'color', [0 0.5 0.6]);
q_g21=q_g21+q4;
plot( q_g21, t_ia_3,'linewidth', 2, 'color', [0 0.5 0.6]);
%% % recalentamiento % % %
plot([q4 , q5],...
[t4_m, t5_m],'linewidth', 2, 'color', [0 0.8 0]);
%% % gg cc % % %
plot([0 , q1 , q2 , q3 , q4 , q5 ],...
[t6_g, t5_g , t4_g, t3_g, t2_g, t1_g], 'linewidth', 2, 'color', [0.635 0.078 0.184]);
xlabel('Exchanged Heat (kJ/kg of air)');
ylabel('Temperature ( C)');

2.7.6. Ejemplos de Simulación del Ciclos Subcríticos y Supercríticos

A continuación se presenta una comparación entre los resultados de tres simulaciones, dos de ellas
subcríticas y una supercrítica, para la misma turbina de gas:
Ciclo de Gas:
[t1_g, t2_g, x, Fr, ratio, w_TG, rend_TG]=
CicloGas(300, 1, 18, [0.88,0.98,0.93], [0.05, 0.08, 0.06], 1750, -1, 1, 1);
Simulación A:
[t5_A, Mt_A, q_tot_A, q_caldera_A, x6_A, x_ext_A, w_TV_A, rend_TV_A, rend_CC_A]=
CicloVap_2P_Desg_Rec_Paralelo( [9 120], 0.0571, 1.1, [2, 2], [10, 10], [10, 10], 37,
0.8,[0.9,0.88], [3 3 3], 1, 1, t1_g, t2_g, x, ratio, rend_TG);
Simulación B:
[t5_B, Mt_B, qtot_B, q_caldera_B, x6_B, x_ext_B, w_TV_B, rend_TV_B, rend_CC_B]=
CicloVap_2P_Desg_Rec_Paralelo( [9 90], 0.0571, 1.1, [2, 2], [10, 10], [10, 10], 37,
0.84,[0.9,0.88], [3 3 3], 1, 1, t1_g, t2_g, x, ratio, rend_TG);
Simulación C:
[t5_C, Mt_C, qtot_C, q_caldera_C, x6_C, x_ext_C, w_TV_C, rend_TV_C, rend_CC_C]=
CicloVap_2P_Desg_Rec_Paralelo( [9 225], 0.0571, 1.1, [2, 2], [10, 10], [10, 10], 37,
0.7,[0.9,0.88], [3 3 3], 1, 1, t1_g, t2_g, x, ratio, rend_TG);

700
Simulacion A
600

Simulacion B
500
Temperature (ºC)

Simulacion C
400

300

200

100
0 100 200 300 400 500 600 700
Exchanged Heat (kJ/kg of air)

Figura 2.50: Diagrama T q: Ejemplo de Simulación CicloVap_2P_Desg_Rec_Paralelo; ciclos subcríticos


y supercríticos (Elaboración propia)

Se puede ver cómo en los ciclos con recalentamiento se logra cumplir uno de los objetivos buscados;
aumentar el título de vapor a la salida de la turbina. Tanto es así que para las tres simulaciones realizadas
se ha obtenido en este punto vapor sobrecalentado en lugar de fluido en estado bifásico.

ETSI Industriales - 124- Universidad Politécnica de Madrid


Ciclo de Vapor con dos niveles de presión y recalentamiento en paralelo

700
Simulacion A
600

Simulacion B
500
Temperature (ºC)

400 Simulacion C

300

200

100

0
0 1 2 3 4 5 6 7 8 9
Specific Entropy (kJ/(kgºC))

Figura 2.51: Diagrama T s: Ejemplo de Simulación CicloVap_2P_Desg_Rec_Paralelo; ciclos subcríticos


y supercríticos (Elaboración propia)

Argumentos de Salida (Uds.) Simulación A Simulación B Simulación C


t5_b (◦ C) 219.04 258.45 210.98
t5_a (◦ C)! 581.27 584.41 644.59
·
maire
Mt · 6.1375 6.1375 6.4176
magua 

kJ
q_tot 606.85 606.85 606.85
kgaire
q_inicio ( %) 8.16 8.16 7.81
q_baja ( %) 11.52 9.59 16.39
q_alta ( %) 60.31 64.17 51.71
q_rec ( %) 20.01 18.06 24.09
x6 1 1 1
x_ext
  0.0945 0.0943 0.0907
kJ
w_TV 257.05 256.20 260.36
kgaire
rend_TV ( %) 42.02 41.95 42.38
rend_CC ( %) 56.59 56.54 56.86

Cuadro 2.9: Resultados de la Simulación de Ciclos de Vapor con CicloVap_2P_Desg_Rec_Paralelo

Para las tres simulaciones se ha utilizado la misma presión en la línea de baja, y se puede ver en la
gráfica (2.50) cómo modificar la variable x_alta altera la cantidad de calor que la evaporación necesita;
cuanto mayor es este valor, menor es el caudal de baja, y por tanto menor calor necesita. Por contra,
cuanto menor sea este valor, mayor será el caudal de baja, por lo que requerirá más energía para realizar
la evaporación. Como las gráficas de las distintas simulaciones en este tramo se superponen, esto se
puede observar mirando en qué punto comienza el primer tramo en paralelo, lo cual sucede primero en
la simulación B (x_alta=0.84), después en la A (x_alta=0.8), y finalmente en la simulación C.
Se vuelve a comprobar que la utilización de presiones altas y en particular supercríticas proporciona
rendimientos superiores.
Por último, puede verse que la cantidad de calor utilizada en el recalentamiento es relativamente alta
en los tres casos, rondando valores del 20 %.

ETSI Industriales - 125- Universidad Politécnica de Madrid


Ciclo de Vapor con dos niveles de presión y recalentamiento en cascada

2.8. Ciclo de Vapor con dos niveles de presión y recalentamiento


en cascada
Se trata de la última configuración que será estudiada en este trabajo. En ella, el sobrecalentador de
baja presión y el economizador de alta pueden estar uno a continuación del otro, o uno intercalado con
el otro. La configuración del ciclo se mantiene invariable con respecto a la mostrada en la figura (2.45)
exceptuando que los elementos citados anteriormente pasan de estar en paralelo a en serie.
En esta Sección se va a modificar la metodología seguida para analizar los programas, dado que esta
configuración es una mezcla entre los ciclos 2P en cascada sin recalentamiento vistos, en la Sección (2.6), y
los ciclos 2P en paralelo con recalentamiento, vistos en la Sección (2.7). Esta modificación consiste en que
no se realizará una explicación separada de los ciclos subcríticos y supercríticos, ni se mostrará tampoco
tanto código, puesto que la mayor cantidad de posibilidades de intercalar los distintos intercambiadores
de calor implica que el programa aumente considerablemente de tamaño, pero siguiendo la filosofía vista
hasta el momento.

2.8.1. Desarrollo Termodinámico del Ciclo

Puesto que las modificaciones con respecto al ciclo equivalente en la caldera, los diagramas h s y T s
no albergan diferencias con los de la configuración en paralelo, por lo que las diferencias entre los puntos
característicos están localizadas dentro de la CRC. Estas diferencias son puntos intermedios que surgen al
intercalar intercambiadores. Se han tenido en cuenta distintas posibilidades, algunas de las cuales pueden
verse en las figuras (2.52, 2.53).

800
2ga 1g
5a 5m
700 2gb
Irec
600 2g Irec
3g
Temperature (ºC)

500 I2A
I2A
400
4g
300 2a,3a 4a
6g 5g
4m
200 7g 5b
8g
100 2b,3b 4b 1a
1b
0
0 q1 q2 q3 q4 q5 qI56a qI56b q6 q7 900
Exchanged Heat (kJ/kg of air)

(a) Caso 1

800
1g
700

2g 5m
600
5a
3g
Temperature (ºC)

500

400

I1g 4g
300 5g
6g 2a,3a 4a
4m
200 7g 5b
8g
4b 1a 4b
100 2b,3b Isobrec1A
1b
0
0 q1 q2 q Int23 q3 q4 q5 q6 q7 800
Exchanged Heat (kJ/kg of air)

(b) Caso 2

Figura 2.52: Distintos casos de ciclo 2P con recalentamiento en cascada (1) (Elaboración Propia)

ETSI Industriales - 127- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

800
2ga 1g
2gb
700
Irec
Irec 5m
600 2g 5a
I2A I2A
3g
Temperature (ºC)

500

400
4g
300
5g I1g 2a,3a 4a
6g 4m
5b
200 7g
8g 4b
100 2b,3b 4b 1a
I1A
1b q3
0
0 q1 q2 q Int23 q4 q5 qI56a qI56b q6 q7 900
Exchanged Heat (kJ/kg of air)

(a) Caso 3

800
2gb 1g
700 2ga
5m
600
Irec 5a
2g
Temperature (ºC)

500
I2a
400
5b
300 3g
4g
4m
200 5g
6g 4b 1a
100
2b,3b
1b
0
0 q1 q2 q3 q3 qI34 q4 q5 900
Exchanged Heat (kJ/kg of air)

(b) Caso 4

Figura 2.53: Distintos casos de ciclo 2P con recalentamiento en cascada (2) (Elaboración Propia)

Los puntos exteriores a la CRC se obtienen de la misma forma a la vista hasta el momento; los
posteriores al condensador mediante los datos de entrada, y aquellos aguas abajo de las turbinas una
vez obtenidos los puntos característicos situados en la caldera. De estos últimos, la complejidad está en
hallar los puntos de vapor sobrecalentado y los que marcan la evolución del recalentamiento. Esto se hace
mediante balances de energía puramente y la imposición T5m = T5a en el caso subcrítico, y de ser un ciclo
supercrítico se tiene que añadir además una condición de diseño, que como se ha mencionado en otras
ocasiones, se trata de obligar a que los puntos 5b y 6a coincidan.
Los puntos intermedios que aparecen en las figuras (2.52) y (2.53) se obtienen mediante procesos
iterativos similares a los vistos hasta el momento, recurriendo a funciones auxiliares que permiten situar
los elementos conflictivos en puntos en los que la gráfica T q sea válida. Se recuerda que esto no altera
los outuputs del ciclo dado que los puntos característicos no se modifican, y solo se altera su teórico
posicionamiento en la caldera de recuperación de calor. Como se puede ver, las posibilidades valoradas
para la colocación del sobrecalentador de baja y el economizador de alta son las mismas que en el caso del
ciclo 2P en cascada sin recalentador. La novedad está por tanto en la colocación del sobrecalentador de
alta y el tramo de recalentamiento, para el cual se ha valorado la posibilidad de ue el punto 5a tenga una
temperatura superior a la de los GGCC de ese lugar, por lo que sería necesario partir el sobrecalentador
(o el tramo de intercambiador supercrítico si ese es el caso) para acercar este punto a un lugar en el que
los gases de combustión tengan más temperatura.

2.8.2. Variables de Diseño

Los parámetros de entrada y de salida se mantienen invariables con respecto a los vistos para el
programa CicloVap_2P_Desg_Rec_Paralelo, aportando cada una de ellas la misma información. Se
recuerda que la variable q_caldera consta de cuatro componentes, siendo la última de ellas una novedad
con respecto a los ciclos sin recalentamiento, y almacenando el porcentaje del calor total utilizado en el
recalentamiento.

ETSI Industriales - 128- Universidad Politécnica de Madrid


Ciclo de Vapor con dos niveles de presión y recalentamiento en cascada

function [t5, Mt, qtot, q_caldera, x6, x_ext, w_TV, rend_TV, rend_CC, error] =...
CicloVap_2P_Desg_Rec_Cascada( p, p_cond, p_ext, AP, PP, DT, DI, x_alta,rend, perd_carga, ...
grafica, clearfigures,t1_g, tsal_g, x, ratio, rend_TG)
%%
% CICLO DE VAPOR, 2P, CON DESGASIFICADOR Y RECALENTADOR, EN CASCADA
%% Desarrollador: Joaquin Corredoyra Alcaraz
% Tutor: Ruben Abbas Camara
% U.D. Motores Termicos
% ETS Ingenieros Industriales
% Universidad Politecnica de Madrid
% 2016

2.8.3. Programa CicloVap_2P_Desg_Rec_Cascada para Ciclos Subcr’iticos


y Supercríticos

2.8.3.1. Inicialización del Programa

No presenta modificaciones con respecto a la realizada en otros ciclos de 2P. Se recuerda que el
parámetro de entrada que almacena las pérdidas de presión consta de tres componentes, introduciendo
la posibilidad de que se produzca una bajada de presión en el tramo del recalentador.

2.8.3.2. Obtención de los puntos principales de los diagramas

Como ya se ha comentado, la diferencia principal está en la obtención de los puntos de vapor sobre-
calentado de alta y de baja, a partir de los cuales es inmediata la obtención de los puntos característicos
del recalentamiento, 4m y 5m.
A continuación se presenta el código utilizado para la obtención de estos puntos, diferenciando los
casos de ciclo de alta subcrítico o supercrítico.
Ciclo Subcrítico

% SOBRECALENTADOR DE BAJA && ECONOMIZADOR DE ALTA-->


% mg(h4g-h6g)=mb(h5b-h4b)+ma(h2a-h1a)-->5b
h5_b=h4_b+Mb*(h4_g-h6_g)-(x_alta/x_baja)*(h2_a-h1_a);
p5_b=p_b*(1-perd_carga_sobrec/100);
t5_b=XSteam('T_ph', p5_b, h5_b);
s5_b=XSteam('s_ph', p5_b, h5_b);
% SOBRECALENTADOR DE ALTA && RECALENTADOR-->
% mg(h1g-h3g)=ma(h5a-h4a)+mv(h5m-h4m)=Q_sobrec2_HP+Q_sobrec2_LP-->5a
p5_a=p_a*(1-perd_carga_sobrec/100);

t5_a=fsolve(@(t)calculo_t5_2P_Desg_Rec_sub(t, p5_a, h4_a, rend_s_turb, ...


perd_carga_sobrec, p5_b, h5_b, h1_g, h3_g, Mt, x_alta, x_baja),t1_g-DT_alta,options);

h5_a=XSteam('h_pT', p5_a, t5_a);


s5_a=XSteam('s_pT', p5_a, t5_a);
% 6sa
p6_as=p5_b;
s6_as=s5_a;
h6_as=XSteam('h_ps', p6_as, s6_as);
t6_as=XSteam('T_ps', p6_as, s6_as);
% 6a
p6_a=p6_as;
h6_a=h5_a-rend_s_turb*(h5_a-h6_as);
s6_a=XSteam('s_ph', p6_a, h6_a);
t6_a=XSteam('t_ph', p6_a, h6_a);
% 4m
p4_m=p5_b;
h4_m=x_alta*h6_a+x_baja*h5_b;
s4_m=XSteam('s_ph', p4_m, h4_m);
t4_m=XSteam('t_ph', p4_m, h4_m);
% 5m

ETSI Industriales - 129- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

p5_m=p5_b*(1-perd_carga_rec/100)
t5_m=t5_a;
h5_m=XSteam('h_pT', p5_m, t5_m);
s5_m=XSteam('s_pT', p5_m, t5_m);

La fución auxiliar calculo_t5_2P_Desg_Rec_sub se utiliza para calcular las propiedades termodi-


námicas de los puntos 5a, 6sa, 6a, 4m, y 5m necesarias para poder comparar el calor disponible en
los gases de combustión, que no varía, y el necesario para obtener dichos puntos para una T5a dada. La
función fsolve itera con esta temperatura hasta obtener una solución en la que el calor demandad y el
disponible se igualan.
Ciclo Supercrítico

%SOBRECALENTADOR DE BAJA && PASO UNICO DE ALTA


p5_a=p_a*(1-perd_carga_sobrec/100);
p5_b=p_b*(1-perd_carga_sobrec/100);

t5_a=fsolve(@(t) calculo_t5_2P_Desg_Rec_Cascada_sup(t, p5_a, h1_a, rend_s_turb, ...


perd_carga_rec, p5_b, h4_b, h1_g, h4_g, Mt, x_alta, x_baja),t1_g-DT_alta, options);

% 5a
h5_a=XSteam('h_pT', p5_a, t5_a);
s5_a=XSteam('s_pT', p5_a, t5_a);
% 6sa
p6_as=p5_b;
s6_as=s5_a;
h6_as=XSteam('h_ps', p6_as, s6_as);
t6_as=XSteam('T_ps', p6_as, s6_as);
% 6a
p6_a=p6_as;
h6_a=h5_a-rend_s_turb*(h5_a-h6_as);
s6_a=XSteam('s_ph', p6_a, h6_a);
t6_a=XSteam('t_ph', p6_a, h6_a);
% 5b
s5_b=s6_a;
h5_b=XSteam('h_ps', p5_b, s5_b);
t5_b=XSteam('T_ps', p5_b, s5_b);
% 4m
p4_m=p5_b;
h4_m=x_alta*h6_a+x_baja*h5_b;
t4_m=XSteam('T_ph',p4_m, h4_m);
s4_m=XSteam('s_ph',p4_m, h4_m);
% 5m
t5_m=t5_a;
p5_m=p5_b*(1-perd_carga_rec/100);
h5_m=XSteam('h_pT', p5_m, t5_a);
s5_m=XSteam('s_pT', p5_m, t5_m);

Como ya se ha comentado, en este caso no se dispone de información suficiente para obtener el punto
5b mediante balances de energía, por lo que para su definición se recurre la imposición de s5b = s6a , lo
que implica que el vapor sobrecalentado de la línea de baja coincide termodinámicamente con el vapor
parcialmente expandido proveniente de la línea de alta. La función auxiliar
calculo_t5_2P_Desg_Rec_Cascada_sup tiene la misma funcionalidad que la utilizada para el ciclo sub-
crítico, pero incorpora la obtención del punto 5b, que antes era un parámetro de entrada.
Tras la obtención de los puntos característicos de las líneas de alta y de baja se inicia un proceso
de comprobación de si estos tienen temperaturas mayores que las de los GGCC en su posición. La
metodología de estos procesos es idéntica a la vista en las Secciónes (2.6.4.2) y (2.6.5.2), añadiendo el
caso de la posible división del tramo de recalentamiento. A continuación se muestra el código utilizado
para realizar este proceso, diferenciando los casos subcrítico y supercrítico.
Ciclo Subcrítico
Para obtener los puntos intermedios mostrados en las figuras (2.52) y (2.53) se utilizan funciones
auxiliares que iteran sobre el punto en el que se realizaría el corte del sobrecalentamiento del caudal de

ETSI Industriales - 130- Universidad Politécnica de Madrid


Ciclo de Vapor con dos niveles de presión y recalentamiento en cascada

alta hasta que el punto 5a se sitúa en un punto en el que su temperatura no sobrepasa la de los GGCC.
El problema que puede surgir es que la temperatura de dicho punto sea demasiado alta, y no se pueda
obtener un ciclo válido ni realizando esta modificación, puesto que aunque se conseguiría situar 5a en un
lugar aceptable, ahora sería el punto en el cual se realiza el corte el que sobrepasaría los límites permitidos.
Para estos casos sería necesario realizar más cortes hasta obtener en todo lugar Tgases comb > Tagua .

if t5_a>t2_g-DT_alta
% Punto intermedio del sobrecalentamiento
k2=fsolve(@(k)calculo_k_2P_Desg_Rec_Cascada_Rec(k, h5_a, t4_a, p4_a, h4_a, t5_a, ...
p5_a, Ma, Mt, DT_alta, p4_m, h4_m, p5_m, t3_g, h3_g, x, MW_gases_comb, ratio, ...
options),0.5, options);
tI2_superc=t4_a+k2*(t5_a-t4_a);
pI2_superc=p4_a+k2*(p5_a-p4_a);
hI2_superc=XSteam('h_pT', pI2_superc, tI2_superc);
% Punto intermedio de gas sobre I2_superc
% mg(h2gc-h3g)=ma(hI2_superc-h4a)
h2_g=h3_g+(1/Ma)*(hI2_superc-h4_a);
t2_g=fsolve(@(t)x(1)*th_prop('h','CO2',t)+x(2)*th_prop('h','H2O',t)+ ...
x(3)*th_prop('h','N2',t)+x(4)*th_prop('h','O2',t)- ...
h2_g/ratio*MW_gases_comb,t3_g,options);
t2_g=t2_g-273.15;
% Punto intermedio del recalentamiento
tI_rec=tI2_superc+(t5_a-tI2_superc)*k2;
pI_rec=p4_m+(p5_m-p4_m)*(tI_rec-t4_m)/(t5_m-t4_m);
hI_rec=XSteam('h_pT', pI_rec, tI_rec);
% Punto intermedio de gas sobre hI_rec2
% mg(h2gb-h2g)=mv(hI_rec-h4m)
h2_gb=h2_g+(1/Mt)*(hI_rec-h4_m);
t2_gb=fsolve(@(t)x(1)*th_prop('h','CO2',t)+x(2)*th_prop('h','H2O',t)+ ...
x(3)*th_prop('h','N2',t)+x(4)*th_prop('h','O2',t)- ...
h2_gb/ratio*MW_gases_comb,t2_g,options);
t2_gb=t2_gb-273.15;
% Punto intermedio de gas sobre h5_b
% mg(h2ga-h2gb)=ma(h5_a-hI2_superc)
h2_ga=h2_gb+(1/Ma)*(h5_a-hI2_superc);
t2_ga=fsolve(@(t)x(1)*th_prop('h','CO2',t)+x(2)*th_prop('h','H2O',t)+ ...
x(3)*th_prop('h','N2',t)+x(4)*th_prop('h','O2',t)- ...
h2_ga/ratio*MW_gases_comb,t2_gc,options);
t2_ga=t2_ga-273.15;
casoRec=2;
end

Ciclo Supercrítico
Se sigue el mismo procedimiento, utilizando la función auxuliar
calculo_k_2P_Desg_Rec_Cascada_Rec_sup.
Una vez hallados todos los puntos intermedios, se pasa a obtener los puntos 6s, 6, y ext, y a realizar
las comprobaciones de si ha tenido lugar algún error, de forma similar a la vista en otros programas.

2.8.3.3. Representación Gráfica

Se realiza siguiendo procedimientos similares a otros programas, con diferencias debido a la adición del
proceso de recalentamiento. Para tener en cuenta las distintas posibilidades de configuración de la CRC
al trazar la curva T qse recurre a sentencias condicionales if y a las variables casoSobrec1 y casoRec,
que almacenan el caso de disposición del sobrecalentador de baja y del recalentamiento, respectivamente.
El primer paso para representar esta curva es la obtención de los calores indicados en las abcisas de
las figuras (2.52) y (2.53), y las curvas con la evolución de la temperatura del caudal supercrítico en dicho
caso. Para el ciclo subcrítico, este proceso es el siguiente:

q_econ_1=h7_g-h8_g; q1=q_econ_1;
q_evap_1=h6_g-h7_g; q2=q1+q_evap_1;
if casoSobrec1==1

ETSI Industriales - 131- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

q_sobrec_1=h5_g-h6_g; q3=q2+q_sobrec_1;
q_econ_2=h4_g-h5_g; q4=q3+q_econ_2;
elseif casoSobrec1==2
q_econ_2=h5_g-h6_g; q3=q2+q_econ_2;
q_sobrec_1=h4_g-h5_g; q4=q3+q_sobrec_1;
elseif casoSobrec1==3
q_econ_2A=h5_g-h6_g; q_int_23=q2+q_econ_2A;
q_sobrec_1=hIG-h5_g; q3=q_int_23+q_sobrec_1;
q_econ_2B=h4_g-hIG; q4=q3+q_econ_2B;
end
q_evap_2=h3_g-h4_g; q5=q4+q_evap_2;
if casoRec==1
q_sobrec_2=h2_g-h3_g; q6=q5+q_sobrec_2;
q_rec=(h1_g-h2_g); q7=q6+q_rec;
elseif casoRec==2
q_sobrec_2A=(h2_g-h3_g); q_int_56A=q5+q_sobrec_2A;
q_recA=(h2_gb-h2_g); q_int_56B=q_int_56A+q_recA;
q_sobrec_2B=(h2_ga-h2_gb); q6=q_int_56B+q_sobrec_2B;
q_recB=(h1_g-h2_ga); q7=q6+q_recB; % [q]=kJ/kg_aire
end

Para el caso supercrítico se necesita obtener las distintas curvas que almacenan con la evolución de
la temperatura del caudal de alta en los distintos tramos. Para facilitar el proceso, que se complica
en caso de que se realicen intercalamientos en el tramo del sobrecalentador de baja y en el tramo del
recalentamiento, se recurre a los puntos auxiliares rec a8 e inic a9 .

q_econ_1=h5_g-h6_g; q1=q_econ_1;
q_evap_1=h4_g-h5_g; q2=q1+q_evap_1;
if casoSobrec1==1
q_sobrec_1=h3_g-h4_g; q3=q2+q_sobrec_1;
q_superc=h2_g-h3_g; q4=q3+q_superc;

qtot_g32=h2_g-h3_g;
q_g32=linspace(0, qtot_g32, puntos);
P=linspace(p1_a,p_rec_a,puntos);
h_ia=zeros([1, puntos]);
t_ia=zeros([1, puntos]);
for i=1:1:puntos
h_ia(i)=h1_a+Ma*q_g32(i);
t_ia(i)=XSteam('T_ph',P(i),h_ia(i));
end
elseif casoSobrec1==2
q_supercA=h3_g-h4_g; q_23=q2+q_supercA;
q_sobrec_1A=hIG_sobrec1-h3_g; q3=q_23+q_sobrec_1A;

q_superc_B=h2_g-hIG_sobrec1; q4=q3+q_superc_B;

qtot_g43=h3_g-h4_g;
q_g43=linspace(0, qtot_g43, puntos);
P1=linspace(p1_a,pIA_sobrec1,puntos);
h_ia1=zeros([1, puntos]);
t_ia1=zeros([1, puntos]);
for i=1:1:puntos
h_ia1(i)=h1_a+Ma*q_g43(i);
t_ia1(i)=XSteam('T_ph',P1(i),h_ia1(i));
end

qtot_gIG1=h2_g-hIG_sobrec1;
q_gIG1=linspace(0, qtot_gIG1, puntos);
P2=linspace(pIA_sobrec1,p_rec_a,puntos);
h_ia2=zeros([1, puntos]);
t_ia2=zeros([1, puntos]);
for i=1:1:puntos
h_ia2(i)=hIA_sobrec1+Ma*q_gIG1(i);
8 El punto rec a es el último punto del caudal supercrítico antes de dar paso al recalentamiento. Por tanto, este punto

puede coincidir con 5a o con I2a, según el caso del ciclo.


9 Similar al punto anterior, inic a coincide con el punto del caudal supercrítico que coincide con la extracción del vapor

sobrecalentado de baja. Por tanto, puede corresponderse con 1a o con I1a.

ETSI Industriales - 132- Universidad Politécnica de Madrid


Ciclo de Vapor con dos niveles de presión y recalentamiento en cascada

t_ia2(i)=XSteam('T_ph',P2(i),h_ia2(i));
end
end
if casoRec==1
q_supercB=h2_g-h3_g; q4=q3+q_supercB;
q_rec=h1_g-h2_g; q5=q4+q_rec;

qtot_g32=h2_g-h3_g;
q_g32=linspace(0, qtot_g32, puntos);
P1=linspace(p_inic_a,p_rec_a,puntos);
h_ia_1=zeros([1, puntos]);
t_ia_1=zeros([1, puntos]);
for i=1:1:puntos
h_ia_1(i)=h_inic_a+Ma*q_g32(i);
t_ia_1(i)=XSteam('T_ph',P1(i),h_ia_1(i));
end
elseif casoRec==2
q_supercB=h2_g-h3_g; q4=q3+q_supercB;
q_recA=h2_gb-h2_g; q_45A=q4+q_recA;
q_supercC=h2_ga-h2_gb; q_45B=q_45A+q_supercC;
q_recB=h1_g-h2_ga; q5=q_45B+q_recB;

qtot_g32c=h2_g-h3_g;
q_g32c=linspace(0, qtot_g32c, puntos);
if casoSobrec1==1
P1=linspace(p_inic_a,pI2_superc,puntos);
elseif casoSobrec1==2
P1=linspace(pIA_sobrec1,pI2_superc,puntos);
end
h_ia_1=zeros([1, puntos]);
t_ia_1=zeros([1, puntos]);
for i=1:1:puntos
h_ia_1(i)=h_inic_a+Ma*q_g32c(i);
t_ia_1(i)=XSteam('T_ph',P1(i),h_ia_1(i));
end
qtot_g2b2a=h2_ga-h2_gb;
q_g2b2a=linspace(0, qtot_g2b2a, puntos);
P2=linspace(pI2_superc,p5_a,puntos);
h_ia_2=zeros([1, puntos]);
t_ia_2=zeros([1, puntos]);
for i=1:1:puntos
h_ia_2(i)=hI2_superc+Ma*q_g2b2a(i);
t_ia_2(i)=XSteam('T_ph',P2(i),h_ia_2(i));
end
end

Con esta información, se procede a realizar la representación de las gráficas, de la misma forma vista
hasta el momento.

2.8.3.4. Finalización del programa

Este proceso se realiza de la misma forma independientemente de si se trata un ciclo subcrítico o


supercrítico. En él, se asignan los parámetros de salida con el formato deseado, utilizando el mismo
código que se muestra en la Sección (2.6.4.4).

2.8.4. Ejemplos de Simulación del Ciclos Subcríticos y Supercríticos


A continuación se presenta una comparación entre los resultados de tres simulaciones, dos de ellas
subcríticas y una supercrítica, para la misma turbina de gas:
Ciclo de Gas:
[t1_g, t2_g, x, Fr, ratio, w_TG, rend_TG]=
CicloGas(300, 1, 12, [0.88,0.98,0.93], [0.05, 0.08, 0.06], 1800, -1, 1, 1);
Simulación A:
[t5_A, Mt_A, q_tot_A, q_caldera_A, x6_A, x_ext_A, w_TV_A, rend_TV_A, rend_CC_A]=

ETSI Industriales - 133- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

CicloVap_2P_Desg_Rec_Cascada( [5 150], 0.0571, 0.2, [2, 2], [8, 10], [20,10], 37


0.8,[0.9,0.88], [3 3 3], 1, 1, t1_g, t2_g, x, ratio, rend_TG);
Simulación B:
[t5_B, Mt_B, qtot_B, q_caldera_B, x6_B, x_ext_B, w_TV_B, rend_TV_B, rend_CC_B]=
CicloVap_2P_Desg_Rec_Cascada( [5 150], 0.0571, 0.15, [2, 2], [8, 10], [20,10], 37
0.84,[0.9,0.88], [3 3 3], 1, 1, t1_g, t2_g, x, ratio, rend_TG);
Simulación C:
[t5_C, Mt_C, qtot_C, q_caldera_C, x6_C, x_ext_C, w_TV_C, rend_TV_C, rend_CC_C]=
CicloVap_2P_Desg_Rec_Cascada( [5 230], 0.0571, 0.2, [2, 2], [8, 10], [20,10], 37
0.7,[0.9,0.88], [3 3 3], 1, 1, t1_g, t2_g, x, ratio, rend_TG);

800

700
Simulación A

600
Simulación B
Temperature (ºC)

500

400
Simulación C
300

200

100

0
0 100 200 300 400 500 600 700 800 900
Exchanged Heat (kJ/kg of air)

Figura 2.54: Diagrama T q: Ejemplo de Simulación CicloVap_2P_Desg_Rec_Cascada; ciclos subcríticos


y supercríticos (Elaboración propia)

800

700
Simulación A

600
Simulación B
Temperature (ºC)

500

400
Simulación C
300

200

100

0
0 1 2 3 4 5 6 7 8 9 10
Specific Entropy (kJ/(kgºC))

Figura 2.55: Diagrama T s: Ejemplo de Simulación CicloVap_2P_Desg_Rec_Cascada; ciclos subcríticos


y supercríticos (Elaboración propia)

En estas simulaciones se ha tomado la primera (A) como base, respecto a la cual se ha disminuido la
presión de extracción en la segunda simulación (B), y se lleva hasta ciclo supercrítico en la tercera (C).
Se puede observar cómo aumenta la cantidad de calor disponible en caso de disminuir la presión de
extracción, además de disminuir notablemente la fracción de caudal de extracción. Además, en esa misma
siulación se puede ver que se ha tenido un caso en el que no se obtiene vapor recalentado en el ciclo
de baja, si no que debido a las modificaciones, el programa ha utilizado parte de la energía del ciclo de
baja para llevar a cabo el calentamiento en el economizador de alta. Esto puede verse en el cuadro de
resultados, dada la baja T5b , o en la gráfica (2.54), dado que no existe un incremento de temperatura tras
la evaporación en la simulación B.
Por otra parte, se puede observar también en la gráfica T q de resultados cómo la curva con la
evolución de la temperatura supercrítica se aproxima más a la de gases que en los otros dos casos.
También se comprueba que la simulación de mayor rendimiento es la de ciclo de alta supercrítico.

ETSI Industriales - 134- Universidad Politécnica de Madrid


Argumentos de Salida (Uds.) Simulación A Simulación B Simulación C
t5_b (◦ C) 192.13 150.69 207.26
t5_a (◦ C)! 736.36 702.11 726.23
·
maire
Mt · 5.6059 5.4549 5.6059
magua 

kJ
q_tot 802.53 809.07 802.53
kgaire
q_inicio ( %) 8.44 9.18 8.44
q_baja ( %) 9.82 9.28 9.96
q_alta ( %) 58.24 57.81 56.82
q_rec ( %) 23.50 23.73 24.78
x6 1 1 1
x_ext
  0.0351 0.0274 0.0352
kJ
w_TV 343.40 338.96 346.66
kgaire
rend_TV ( %) 42.45 41.55 42.68
rend_CC ( %) 55.56 54.86 55.74

Cuadro 2.10: Resultados de la Simulación de Ciclos de Vapor con CicloVap_2P_Desg_Rec_Cascada


MODELADO DE PLANTAS DE CICLO COMBINADO

2.9. Ciclos caracterizados con Rendimientos Politrópicos


El rendimiento politrópico se utiliza en turbinas y compresores para definir la línea de expansión o
compresión, respectivamente, de forma más cercana a la realidad que mediante el rendimiento isentrópico.
Este último supone una evolución lineal entre la entrada y la salida de los elementos citados, mediante
que con el rendimiento politrópico se utiliza para aproximar la evolución diferencial de las propiedades
del fluido al atravesar alguna de las citadas turbomáquinas.
A continuación puede verse una comparación entre los rendimientos isentrópicos y politrópicos de
compresión y expansión:

Proceso ηisentrópico ηpolitrópico


hfinal s − hinicial dhs
Compresión ηiC = ηpC =
hfinal − hinicial dh
hinicial − hfinal dh
Expansión ηiT = ηpT =
hinicial − hfinal s dhs

Cuadro 2.11: Rendimientos isentrópico y politrópico de compresión y expansión

Por tanto, en vez de definir solamente los puntos inicial y final de la línea de expansión o compresión,
se definen puntos intermedios a partir del anterior, emulando la evolución a lo largo de los distintos
escalonamientos de la turbomáquina en la que se realice el proceso.
En el presente trabajo de fin de grado se ha realizado una adaptación de los programas CicloGas y
CicloVap_1P_SinDesg_Politrop en los que mediante una función auxiliar se obtendrán las curvas de
evolución politrópica. Este programa auxiliar, llamado politropica, consta de los siguientes parámetros
de entrada y de salida:
Variables de Entrada:

- ti: Temperatura inicial de la compresión o expansión.


- pi: Presión inicial de la compresión o expansión.
- pf: Presión final de la compresión o expansión.
- rend: Rendimiento politrópico de compresión o expansión.

- comp: Vector de cuatro componentes que almacena las fracciones másicas de los gases de combus-
tión10 .
- n: Esta variables debe tomar como posibles valores 1, 2, ó 3, y en función de estos el programa
ejecuta una parte del código destinada al proceso identificado con dicho valor. Esta correspondencia
es la siguiente:
1: Compresión politrópica de aire.
2: Expansión politrópica de GGCC.
3: Expansión politrópica de vapor de agua.
- puntos: Número de puntos intermedios que se desea calcular.

Variables de Salida:

- tf: Temperatura final tras el proceso de compresión o expansión.


- hf: Entalpía final tras el proceso de compresión o expansión.

- sf: Entropía final tras el proceso de compresión o expansión.


10 Se utiliza solo en caso de que el proceso del que se quiere obtener la línea de evolución de propiedades sea el de

compresión de aire o expansión de gases de combustión

ETSI Industriales - 136- Universidad Politécnica de Madrid


Ciclos caracterizados con Rendimientos Politrópicos

- t_int: Vector de ‘puntos’ componentes con la evolución de la temperatura en dicho proceso.


- h_int: Vector de ‘puntos’ componentes con la evolución de la entalpía en dicho proceso.
- s_int: Vector de ‘puntos’ componentes con la evolución de la entropía en dicho proceso.

Aunque este programa ejecuta tres partes de código distintas según el proceso de interés, consta de
una inicialización común;

load janafJ.mat;

p=linspace(pi, pf, puntos); % se divide el salto de presiones en "puntos" escalonamientos


s_int=zeros(1,puntos); t_int(1)=ti;
h_int=zeros(1,puntos); h_int(1)=hi;
t_int=zeros(1,puntos); s_int(1)=si;

s_s=zeros(1,puntos);
t_s=zeros(1,puntos);
h_s=zeros(1,puntos);

dh=zeros(1,puntos);
dh_s=zeros(1,puntos);

options=optimoptions('fsolve', 'Display', 'off');


R=8.314;
x=zeros(1, 4);
sM=0;
for i=1:1:length(comp);
x(i)=comp(i);
sM=sM+x(i)*log(x(i));
end

Como se puede ver, la evolución de presiones se divide en ‘puntos’ escalonamientos, entre los cuales se
calcularán, a partor de los valores iniciales y del rendimiento politrópico, los valores isentrópicos y finales
correspondientes para dicho escalonamiento.Las variables acabadas en _int almacenarán los valores que
finalmente devolverá el programa mientras que las acabadas en _s contienen los puntos isentrópicos. Los
vectores dh y dh_s almacenarán los valores incrementales de entalpía.

2.9.1. Programa CicloGas_Politrop

Este programa es idéntico a CicloGas salvo por el método utilizado para obtener las curvas de
compresión 1p-2 y de expansión 3-4 y la creación de una nueva variable de salida, rend_equiv. Esta
variable es un vector de dos componentes con el rendimiento isentrópico equivalente necesario para obtener
proceso. Este rendimiento se calcula una vez obtenida la línea de compresión o expansión, utilizando los
puntos finales obtenidos para definir un rendimiento isentrópico;
hfinal s − hinicial

 ηequiv s C =


hfinal p − hinicial
(2.43)
h − hfinal p
 ηequiv s T = inicial


hinicial − hfinal s

2.9.1.1. Compresión politrópica de aire

En el programa principal se ejecutaría el siguiente código:

% 2: aire saliente del compresor


%2s:
s2s=s1_p; p2=p2_1*p1_p; %p2s=p2;
options=optimoptions('fsolve', 'Display', 'off');
t2s=fsolve(@(x)(0.21*th_prop('s','O2', x)+0.79*th_prop('s', 'N2', ...
x)-R*(log(p2/1)+(0.21*log(0.21)+0.79*log(0.79)))-s1_p),t1+250,options);

ETSI Industriales - 137- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

h2s=0.21*th_prop('h','O2', t2s)+0.79*th_prop('h', 'N2', t2s);


%2:
x=[0.21, 0.79];
[t2,h2,s2,t_1p2, h_1p2, s_1p2]=politropica(t1, p1_p, p2, h1_p, s1_p, ...
rend_pol_compr, x, 1, 50);
rend_equiv_c=(h2s-h1_p)/(h2-h1_p);

Y la parte de politropica que se ejecuta en el caso n=1 es la siguiente:

if n==1; %Compresion en TG; d(hs)/dh=rend_pol


for i=2:1:puntos;
s_s(i)=s_int(i-1);
t_s(i)=fsolve(@(t)x(1)*th_prop('s','O2', t)+x(2)*th_prop('s', 'N2', ...
t)-R*(log(p(i)/1)+sM(1))-s_s(i),t_int(i-1),options);
h_s(i)=x(1)*th_prop('h','O2', t_s(i))+x(2)*th_prop('h', 'N2', t_s(i));

dh_s(i)=h_s(i)-h_int(i-1);
dh(i)=dh_s(i)/rend;

h_int(i)=h_int(i-1)+dh(i);
t_int(i)=fsolve(@(t)x(1)*th_prop('h','O2', t)+x(2)*th_prop('h', 'N2', ...
t)-h_int(i),t_s(i),options);
s_int(i)=x(1)*th_prop('s','O2', t_int(i))+x(2)*th_prop('s', 'N2', ...
t_int(i))-R*(log(p(i)/1)+sM(1));
end
tf=t_int(puntos);
hf=h_int(puntos);
sf=s_int(puntos);

Como se puede ver, se utiliza el punto inicial para obtener los valores termodinámicos del punto siguiente,
y en la siguiente iteración se toma el punto hallado en la anterior como nuevo punto inicial. En la figura

450

400

350
Temperature (ºC)

300

250

200

150

100

50

0
0.14 0.16 0.18 0.2 0.22 0.24 0.26 0.28 0.3
Specific Entropy (kJ/(kgºC))

Figura 2.56: Comparación entre compresión isentrópica y politrópica equivalentes de aire

(2.56) pueden observarse las curvas resultantes de definir el compresor mediante el rendimiento politrópico
(en rojo) o el isentrópico equivalente (en azul).

2.9.1.2. Expansión politrópica de gases de combustión

De forma análoga al proceso anterior, en el programa principal se ejecutan las siguientes sentencias:

%4: gases de combustion, a la salida de la turbina


%4s:
p4=p1*(1+perd_carga_CRC); %p4s=p4;
s4s=s3;
t4s=fsolve(@(t)x(1)*th_prop('s','CO2',t)+x(2)*th_prop('s','H2O',t)+ ...
x(3)*th_prop('s','N2',t)+x(4)*th_prop('s','O2',t)-R*(sM(2)+log(p4/1))- ...
s4s,t3,options);

ETSI Industriales - 138- Universidad Politécnica de Madrid


Ciclos caracterizados con Rendimientos Politrópicos

h4s=x(1)*th_prop('h','CO2',t4s)+x(2)*th_prop('h','H2O',t4s)+ ...
x(3)*th_prop('h','N2',t4s)+x(4)*th_prop('h','O2',t4s);
%4:
[t4,h4,s4,t_34, h_34, s_34]=politropica(t3, p3, p4, h3, s3, rend_pol_turb, x, 2, 50);
rend_equiv_t=(h3-h4)/(h3-h4s);

El programa auxiliar ejecuta un código similar al visto para el caso n=1, pero teniendo en cuenta de
que se trata de una expansión, y un de una compresión;

elseif n==2; %Expansion en TG; dh/d(hs)=rend_pol


for i=2:1:puntos; %x=[x_CO2, x_H2O, x_N2, x_O2]
s_s(i)=s_int(i-1);
t_s(i)=fsolve(@(t)x(1)*th_prop('s','CO2',t)+x(2)*th_prop('s','H2O',t)+ ...
x(3)*th_prop('s','N2',t)+x(4)*th_prop('s','O2',t)-R*(sM(2)+log(p(i)/1))- ...
s_s(i),t_int(i-1),options);
h_s(i)=x(1)*th_prop('h','CO2',t_s(i))+x(2)*th_prop('h','H2O',t_s(i))+ ...
x(3)*th_prop('h','N2',t_s(i))+x(4)*th_prop('h','O2',t_s(i));

dh_s(i)=h_int(i-1)-h_s(i);
dh(i)=dh_s(i)*rend;

h_int(i)=h_int(i-1)-dh(i);
t_int(i)=fsolve(@(t)x(1)*th_prop('h','CO2',t)+x(2)*th_prop('h','H2O',t)+ ...
x(3)*th_prop('h','N2',t)+x(4)*th_prop('h','O2',t)- h_int(i),t_s(i),options);
s_int(i)=x(1)*th_prop('s','CO2',t_int(i))+x(2)*th_prop('s','H2O',t_int(i))+ ...
x(3)*th_prop('s','N2',t_int(i))+x(4)*th_prop('s','O2',t_int(i))- ...
R*(sM(2)+log(p(i)/1));
end
tf=t_int(puntos);
hf=h_int(puntos);
sf=s_int(puntos);

1500

1400

1300
Temperature (ºC)

1200

1100

1000

900

800

700

1.39 1.4 1.41 1.42 1.43 1.44 1.45 1.46 1.47 1.48 1.49
Specific Entropy (kJ/(kgºC))

Figura 2.57: Comparación entre expansión isentrópica y politrópica equivalentes de gases de combustión
(Elaboración propia)

En la figura (2.57) pueden observarse las curvas resultantes de definir la turbina mediante el rendi-
miento politrópico (en rojo) o el isentrópico equivalente (en azul).

2.9.2. Programa CicloVap_1P_SinDesg_Politrop

En este caso sólo se ha implementado el rendimiento politrópico para los procesos de expansión en las
turbinas de vapor, dado que las compresiones del ciclo se producen en fluidos líquidos mediante bombas,
dando lugar a saltos entálpicos mucho menores, por lo que la diferencia apenas es apreciable.
Siguiendo la misma metodología que en CicloGas_Politrop, el programa se mantiene invariante
exceptuando la inclusión de la variable de salida rend_equiv. Por tanto, una vez llegado al cálculo del
punto 6, se ejecuta la llamada al programa auxiliar;

ETSI Industriales - 139- Universidad Politécnica de Madrid


MODELADO DE PLANTAS DE CICLO COMBINADO

%6
p6=p_cond;
[t6,h6,s6, t_56,h_56,s_56]=politropica(t5, p5, p6, h5, s5, rend_pol_turb, 0, 3, 100);
x6=XSteam('x_ph', p6, h6);
rend_equiv=(h5-h6)/(h5-h6s);

Este programa ejecuta entonces la el código correspondiente al último caso contemplado; la expansión
politrópica de vapor sobrecalentado.

elseif n==3 %Expansion en TV; dh/d(hs)=rend_pol


for i=2:1:puntos;
s_s(i)=s_int(i-1);
h_s(i)=XSteam('h_ps', p(i), s_s(i));

dh_s(i)=h_int(i-1)-h_s(i);
dh(i)=dh_s(i)*rend;

h_int(i)=h_int(i-1)-dh(i);
t_int(i)=XSteam('T_ph', p(i), h_int(i));
s_int(i)=XSteam('s_ph', p(i), h_int(i));
end
tf=t_int(puntos);
hf=h_int(puntos);
sf=s_int(puntos);
else
disp('n tiene que valer 1, 2 o 3');
end

Se puede ver que al final del programa se contempla la opción de que n sea distinto de 1, 2, ó 3, en
cuyo caso se muestra una advertencia por pantalla.

600

500

400
Temperature (ºC)

300

200

100

0
0 1 2 3 4 5 6 7 8 9
Specific Entropy (kJ/(kgºC))

(a) Diagrama T s

3600

3400

3200
Enthaply (kJ/kg)

3000

2800

2600

2400

2200

5 5.5 6 6.5 7 7.5


Specific Entropy (kJ/(kgºC))

(b) Detalle del diagrama h s

Figura 2.58: Comparación entre expansión isentrópica y politrópica equivalentes de vapor sobrecalentado
(Elaboración propia)

ETSI Industriales - 140- Universidad Politécnica de Madrid


Capítulo 3

Programas de Optimización de Ciclos


Combinados mediante Algoritmos Genéticos
La última parte de este trabajo de fin de grado consiste en la realización de los programas necesarios
para desarrollar algoritmos genéticos que optimicen los programas de simulación de ciclos combinados
llevados a cabo. Estos algoritmos obtendrán la combinación de los parámetros de entrada tratados en el
algoritmo genético en cuestión que proporcionen un mayor rendimiento para un ciclo de gas determinado.
Esto cuenta con la desventaja de que no se han tenido en cuenta otros posibles intereses en el diseño de
las plantas de ciclo combinado, como el precio y tamaño de los componentes.
Esta Sección se comenzará detallando en profundidad la metodología utilizada para crear el AG del
ciclo de vapor más sencillo, el ciclo 1P sin desgasificador, y tras esto se comentarán las diferencias entre
el resto de algoritmos genéticos, ya que la estructura de los mismos será muy similar, a excepcón del
tratamiento de las nuevas variables y de los casos de error.

3.1. Ciclo 1P sin desgasificador: Optimización de la presión de


línea y del PP
En el primer AG realizado se han elegido las dos variables que más afectan al rendimiento del ciclo
combinado una vez que se ha seleccionado la turbina de gas; la presión a la que tiene lugar la evaporación
y la diferencia mínima de temperatura con los GGCC, conocida como Pinch Point. Para realizar la
optimización de este ciclo se ha tenido en cuenta que dado que las simulaciones realizadas para los ciclos
subcrítico y supercrítico no son comparables, se debía llevar a cabo una AG que optimizase los ciclos
subcríticos, y otro para los supercríticos. En esta Sección se comentará al principio el procedimiento y los
programas utilizados para la optimización de ciclos subcríticos, y al final se comentarán las diferencias
con los programas llevados a cabo para optimizar ciclos supercríticos.

3.1.1. Variables de Diseño


Las variables de diseño utilizadas se pueden dividir en aquellas relacionadas con el ciclo combinado
(temperatura de entrada de los gases de combustión, rendimientos isentrópicos de turbinas y bombas,
pérdidas de carga en los conductos,...) y aquellas referidas al AG en sí (presión de selección, intensidad
de mutación,...).

function [mejor_rend, mejor_individuo, TEST_historial, POB_historial, FIT_historial, ...


valor_criterio]= AG_1P_SinDesg_sub(t_ent_g, t_sal_g, x, ratio, rend_TG, p_cond, AP, ...
DT, DI, rend, perd_carga, N, gen_max, min_generaciones, pres_seleccion, int_mut, ...
prob_mut, criterio_parada)
% % AG para un CICLO DE VAPOR, SIMPLE (1P), SIN DESGASIFICADOR, SUBCRITICO
%% Desarrollador: Joaquin Corredoyra Alcaraz
% Tutor: Ruben Abbas Camara
% U.D. Motores Termicos
% ETS Ingenieros Industriales
% Universidad Politecnica de Madrid
% 2016
%%

Como se puede ver, el programa consta de un elevado número de variables de entrada. Estas son:
Variables de entrada relacionadas con el Ciclo de Gas: Estas son t_ent_g, t_sal_g, x,
ratio, y rend_TG. Todas ellas han sido analizadas anteriormente. Las dos primeras son la temperatura

ETSI Industriales - 142- Universidad Politécnica de Madrid


Ciclo 1P sin desgasificador: Optimización de la presión de línea y del PP

de entrada de los GGCC en la cámara de combustión y la mínima posible con la que pueden salir de la
misma. El vector x contiene las fracciones másicas de los GGCC, y ratio contiene la relación de caudales
entre el de GGCC y el de aire. Por último, rend_TG contiene el rendimiento del ciclo de gas, necesario
para calcular el rendimiento del ciclo de vapor.
Variables de entrada relacionadas con el Ciclo de Vapor: Este grupo lo conformanlas variables
del ciclo de vapor que no van a ser objeto de optimización. Por tanto, son las mismas variables que en
CicloVap_1P_SinDesg, a excepción de la presión y del PP. Son la presión a la que tiene lugar la con-
densación p_cond, el Approach Point AP, la diferencia terminal de temperaturas mínima DT, la diferencia
inicial de temperaturas DI, el vector rend con los rendimientos isentrópicos de las bombas y las turbinas,
y el vector perd_carga con las pérdidas de carga en el economizador y en el sobrecalentador.
Variables de entrada relacionadas con el AG:

i) N: Número total de individuos de cada población.


ii) gen_max: Número máximo de generaciones que se permite realizar al AG. Se implementa para
evitar que se prolongue la iteración durante demasiado tiempo.
iii) min_generaciones: Número mínimo de generaciones que se llevarán a cabo. Tras haber realizado
este número mínimo de generaciones, se comenzará a aplicar el criterio de finalización. El objetivo de
esta variable es permitir que las mutaciones tomen un peso significativo y no se acabe el programa
antes de que hayan podido realizar un mínimo de alteraciones aleatorias.
iv) pres_seleccion: La presión de selección. Cuanto mayor sea más probabilidades tienen los indivi-
duos más fuertes de ser escogidos.
v) int_mut: Altera el tamaño de las modificaciones provocadas al mutar. Cuanto mayor sea, mayores
serán estas variaciones.
vi) prob_mut: Probabilidad de mutación. Cuanto mayor sea, más cantidad de población sufrirá muta-
ciones en cada iteracón.
vii) criterio_parada: El valor con el que se comparará el criterio de convergencia. Cuando el valor
de este criterio de convergencia sea menor que el criterio de parada, la optimización se dará por
finalizada.

Cuando finaliza el proceso de optimización devuelve los siguientes parámetros de salida:

i) mejor_rend: Rendimiento más alto encontrado durante el proceso.


ii) mejor_individuo: Solución para la cual se ha obtenido el mejor rendimiento.
iii) TEST_historial: Se trata de una matriz que alverga tres vectores de ‘max_generaciones’ compo-
nentes cada uno. El primer vector almacenará el valor del rendimiento del mejor individuo de cada
generación; el segundo vector estará formado por la media de los rendimientos de cada generación,
y el tercero tendrá el valor relativo entre el fitness medio de la población y el del mejor individuo
de la misma.
iv) POB_historial: Matriz con los individuos de cada generación.
v) FIT_historial: Matriz compuesta por vectores que contienen el rendimiento de los intividuos de
POB_historial.
vi) valor_criterio: Vector compuesto por los valores de lo criterios de convergencia de cada genera-
ción.

3.1.2. Programa de AG_1P_SinDesg_sub


La estructura seguida en este AG será la misma que se siga en el resto de algoritmos, diferenciándose
en algunas de las funciones auxiliares utilizadas. Como se ha mencionado, solo se optimizarán en este
programa la presión de línea y el PP, por lo que cada individuo constará de dos genes, siendo la primera
de ellas la presión, y la segunda el Pinch Point.

ETSI Industriales - 143- Universidad Politécnica de Madrid


PROGRAMAS DE OPTIMIZACIÓN DE CICLOS COMBINADOS MEDIANTE ALGORITMOS
GENÉTICOS

3.1.3. Inicialización del programa

Al principio se ofrece al usuario la posibilidad de no introducir algunos parámetros del ciclo de vapor, y
que a estos se les asigne un valor default. Aunque se ha implementado, esto no es muy recomendable dado
que la finalidad del AG es encontrar la solución que más beneficio dé, y para ello es conveniente realizar
introducir parámetros de acuerdo con las necesidades del usuario. En esta iniciailización se obtienen
también los puntos que se mantienen invariables a lo largo de la optimización; en este caso, el punto 7
(l’iquido saturado a la salida del condensador) y el de entrada de los gases de combustión a la CRC.

%% % DEFAULTS % % %
load janafJ.mat;
MW_gases_comb=x(1)*eval(['MolWeight.' 'CO2'])+x(2)*eval(['MolWeight.' 'H2O'])+...
x(3)*eval(['MolWeight.' 'N2'])+x(4)*eval(['MolWeight.' 'O2']);

if p_cond==-1
p_cond=0.0571;
end
if AP==-1
AP=5;
end
if DT==-1
DT=5;
end
if DI==-1
DI=20;
end
if rend==-1
rend=[0.9,0.88];
end
if perd_carga==-1
perd_carga=[3 3];
end

%% % INFORMACION NECESARIA PARA EL AG % % %


% GGCC
t1_g=t_ent_g+273.15;
h1_g=(x(1)*th_prop('h','CO2',t1_g)+x(2)*th_prop('h','H2O',t1_g)+ ...
x(3)*th_prop('h','N2',t1_g)+x(4)*th_prop('h','O2',t1_g))/MW_gases_comb*ratio;
t1_g=t1_g-273.15;
t4_g=t_sal_g;
%7
h_anterior=XSteam('hL_p',p_cond);
s_anterior=XSteam('sL_p',p_cond);

Para generalizar y realizar un tratamiento más parecido en los AG, se denomina h_anterior y
s_anterior a la entalpía y entropía del punto previo a la entrada en la CRC.
Tras haber inicializado el programa se pasa a llevar a cabo el proceso típico del AG explicado en la
Sección (1.3.2.2)).

3.1.4. Creación de la Población Inicial

El primer paso del proceso de optimización consiste en la generación aleatoria de los N individuos de la
primera iteración. Es un proceso importante en el que se debe tener especial cuidado en los valores máximo
mínimo que pueden tomar las variables optimizadas, en este caso la presión y el PP. Para la presión se ha
establecido un intervalo de valores de entre 40 y 220 bares (se recuerda que se trata de optimización del
ciclo subcrítico). El límite inferior se debe a que se sabe de antemano que el rendimiento aumenta con la
presión, por lo que notiene sentido iterar con presiones menores. Para el PP se ha establecido un límite
inferior de 2 grados Kelvin, dado que valores excesivamente bajos pueden llevar a un excesivo incremento
del precio de la planta y de la superficie necesaria por los intercambiadores, y uno máximo de 30 K.
En el programa principal se ejecutariían las siguientes sentencias para llevar a cbo el proceso de
creación de la primera población;

ETSI Industriales - 144- Universidad Politécnica de Madrid


Ciclo 1P sin desgasificador: Optimización de la presión de línea y del PP

%% INICIO PROGRAMA & POBLACION INICIAL


POB_historial=zeros([N, 2, gen_max]);
FIT_historial=zeros([N, gen_max]);
valor_criterio=zeros([gen_max,1]);

%% % 1 -Creacion de la poblacion inicial


[pob, inputs_fitness_pob]=Poblacion_Inicial_1P_sinDesg_sub(N, p_cond, AP, DT, DI, ...
rend, perd_carga, t1_g, t4_g, x, MW_gases_comb, ratio, h1_g, h_anterior, s_anterior);
POB_historial(:,:,1)=pob;

%% % 2 - Evaluacion de la poblacion inicial


[fitness_pob]=Fitness_1P_sinDesg(inputs_fitness_pob, rend_TG);
FIT_historial(:,1)=fitness_pob;
[FIT_max, posic]=max(fitness_pob);
FIT_media=sum(fitness_pob)/N;
FIT_max_rel=100*FIT_media/FIT_max;
test_generacion=[FIT_max, FIT_media, FIT_max_rel];

%% % 3 - Indicadores de evolucion
MEJOR_individuo=zeros([gen_max, 2]);
TEST_historial=zeros([gen_max, 3]);
MEJOR_individuo(1,:)=pob(posic,:);
TEST_historial(1,:)=test_generacion;

Paso 1: Creación de la nueva generación La creación de la población inicial propiamente dicha


tiene lugar únicamente durante el paso 1, y para ello se recurre a la función auxiliar
Poblacion_Inicial_1P_sinDesg_sub. Esta función recibe los inputs necesarios para crear los N primeros
individuos y devuelve dos vectores; el primero de ellos contiene a la población, y el segundo los parámetros
de entrada necesarios para calcular el fitness de cada individuo, que se comentarán más adelante. A
continuación puede verse la citada función auxiliar:

function [pob, inputs_fitness]=Poblacion_Inicial_1P_sinDesg_sub(N, p_cond, AP, ...


DT_terminal, DT_inicial, rend, perd_carga, ...
t1_g, t4_g, x, MW_gases_comb, ratio, h1_g, h_anterior, s_anterior)
%% Desarrollador: Joaquin Corredoyra Alcaraz
% Tutor: Ruben Abbas Camara
% U.D. Motores Termicos
% ETS Ingenieros Industriales
% Universidad Politecnica de Madrid
% 2016

%% PROGRAMA
pob=zeros(N,2);
inputs_fitness=zeros(N,5);
p_min=40;
p_max=220;
PP_min=2;
PP_max=30;

for i=1:1:N
p=randi([p_min,p_max-1], 'double')+rand;
PP=randi([PP_min,PP_max-1], 'double')+rand;

[p, PP, h5, h6, h1, h7, M, h1_g, h4_g]=Comprobar_Inputs_1P_sinDesg_sub( p, p_cond, AP, ...
PP, DT_terminal, DT_inicial, s_anterior, h_anterior, rend, perd_carga, h1_g, t1_g, ...
t4_g, x, MW_gases_comb, ratio);
pob(i,:)=[p, PP];
inputs_fitness(i,:)=[h5, h6, h1, h7, M, h1_g, h4_g];
end

El procedimiento de creación de un individuo por tanto incluye un primer paso en el que se asignan
los valores aleatorios a dicho individuo y su posterior comprobación para ver si cumple con los criterios
necesarios para considerar que se trata de una solución válida. Esta comprobación se realiza mediante la
función Comprobar_Inputs_1P_sinDesg_sub, la cual comprueba que la temperatura del vapor sobreca-

ETSI Industriales - 145- Universidad Politécnica de Madrid


PROGRAMAS DE OPTIMIZACIÓN DE CICLOS COMBINADOS MEDIANTE ALGORITMOS
GENÉTICOS

lentado no es superior a la de entrada de los GGCC, y que el título de vapor a la salida de la turbina de
gas es mayor o igual a 0.85. A continuación se muestra dicha función;

function [p, PP, h5, h6, h1, h7, M, h1_g, h4_g]=Comprobar_Inputs_1P_sinDesg_sub( p, ...
p_cond, AP, PP, DT_terminal, DT_inicial,...
s_anterior, h_anterior, rend, perd_carga,...
h1_g, t1_g, t4_g, x, MW_gases_comb, ratio)
%% Desarrollador: Joaquin Corredoyra Alcaraz
% Tutor: Ruben Abbas Camara
% U.D. Motores Termicos
% ETS Ingenieros Industriales
% Universidad Politecnica de Madrid
% 2016
%%
p_min=40;
p_max=220;
PP_min=2;
PP_max=30;

if p<p_min
p=p_min;
elseif p>p_max
p=p_max;
end
if PP<PP_min
PP=PP_min;
elseif PP>PP_max
PP=PP_max;
end

[t5, x6, h5, h6, h1, h7, M, h1_g, h4_g]=Evaluar_Inputs_1P_sinDesg_sub( p, p_cond, AP, PP, ...
DT_inicial, s_anterior, h_anterior, rend, perd_carga, h1_g, t4_g, x, MW_gases_comb, ...
ratio);
t5_limite=t1_g-DT_terminal;

p_inicial=0;
PP_inicial=0;
p_nuevo=1;
PP_nuevo=1;

while (p_inicial6=p_nuevo && PP_inicial6=PP_nuevo)&&(isnan(t5) || t5>t5_limite || x6<0.85)


variacion1=rand;

if ((PP+variacion1)≤PP_max||(p-variacion1)≥p_min) && (x6≥0.85 || isnan(x6))


PP=PP+variacion1;
p=p-variacion1;
[t5, x6, h5, h6, h1, h7, M, h1_g, h4_g]=Evaluar_Inputs_1P_sinDesg_sub( p, p_cond, ...
AP, PP, DT_inicial, s_anterior, h_anterior, rend, perd_carga, h1_g, t4_g, x, ...
MW_gases_comb, ratio);

elseif x6<0.85
p_inicial=p;
PP_inicial=PP;
variacion2=rand;
if p-5*variacion2≥p_min
p=p-5*variacion2;
p_nuevo=p;
end
if PP-variacion2≥PP_min
PP=PP-variacion2;
PP_nuevo=PP;
end
[t5, x6, h5, h6, h1, h7, M, h1_g, h4_g]=Evaluar_Inputs_1P_sinDesg_sub( p, p_cond, ...
AP, PP, DT_inicial, s_anterior, h_anterior, rend, perd_carga, h1_g, t4_g, x, ...
MW_gases_comb, ratio);
if (p_inicial==p_nuevo && PP_inicial==PP_nuevo)
h5=h6;
end
end
end

ETSI Industriales - 146- Universidad Politécnica de Madrid


Ciclo 1P sin desgasificador: Optimización de la presión de línea y del PP

if x6<0.85
h5=h6; h1=h7;
end

Esta función tiene el objetivo de corregir cada individuo de manera que aporte soluciones válidas. Este
proceso lo realiza la función mostrada y la subfunción Evaluar_Inputs_1P_sinDesg_sub. La primera
se encarga de evaluar los valores de T5 y x6 devueltos por la seunda, y actúa en consecuencia según
el caso en el que se encuentre. Esto se ha podido realizar porque al trabajar solo con dos variables es
sencillo determinar los pasos a seguir necesarios para conseguir un individuo válido; en la optimización
de 2P es más sencillo recurrir a penalizaciones dado que la cantidad de variables y la correlación entre las
mismas es considerablemente mayor. Las penalizaciones consisten en disminuir el fitness de un individuo
no válido de forma proporcional a la magnitud del fallo que tiene. Esta modificación de los valroes se
realiza mediante las variables auxiliares variacion1 y variable2, las cuales se asignan aleatoriamente
con el fin de mantener la esencia de los AG de crear individuos aleatoriamente, a pesar de que se esté
dirigiendo este proceso para corregir a los individuos.
Se ha tenido en cuenta la posibilidad de que para una determinada TG no se consiga alcanzar el mínimo
de x6 = 0,85, por lo que para evitar que el programa entre en un bucle infinito se han implementado las
variables p_inicial, p_final, PP_inicial y PP_final, que en caso de llegar a los valores máximo o
mínimo alcanzables por los individuos producir’an una detención de este proceso, asignando a h5 y h1
valores que producirán que el rendimiento de la turbina de vapor sea nulo, por lo que quedará ηCC = ηT G .

function [t5, x6, h5, h6, h1, h7, M, h1_g, h4_g]=Evaluar_Inputs_1P_sinDesg_sub( p, p_cond, ...
AP, PP, DT_inicial, s_anterior, h_anterior, rend, perd_carga,...
h1_g, t4_g, x, MW_gases_comb, ratio)
%% Desarrollador: Joaquin Corredoyra Alcaraz
% Tutor: Ruben Abbas Camara
% U.D. Motores Termicos
% ETS Ingenieros Industriales
% Universidad Politecnica de Madrid
% 2016
%%

% 7
h7=h_anterior;
%1s
p1=p*(1+perd_carga(1)/100);
h1s=XSteam('h_ps', p1, s_anterior);
%1 (1s-7)/(1-7)=rend
h1=h_anterior+(h1s-h_anterior)/rend(1);
t1=XSteam('T_ph', p1, h1);
%3
t3=XSteam('Tsat_p', p);
%4
h4=XSteam('hV_p',p);
%2
h2=XSteam('h_pT', p, t3-AP);
%3g
t3_g=t3+PP+273.15;
h3_g=(x(1)*th_prop('h','CO2',t3_g)+x(2)*th_prop('h','H2O',t3_g)+ ...
x(3)*th_prop('h','N2',t3_g)+x(4)*th_prop('h','O2',t3_g))/MW_gases_comb*ratio;
% Balance de energia-->ma(h3g-h4g)=mv(h2-h1); Sacamos M=ma/mv-->
if t1+DT_inicial>t4_g
t4_g=t1+DT_inicial+273.15;
else
t4_g=t4_g+273.15;
end
h4_g=(x(1)*th_prop('h','CO2',t4_g)+x(2)*th_prop('h','H2O',t4_g)+ ...
x(3)*th_prop('h','N2',t4_g)+x(4)*th_prop('h','O2',t4_g))/MW_gases_comb*ratio;
M=(h2-h1)/(h3_g-h4_g);
%Balance de energia-->ma(h2g-h3g)=mv(h4-h2); Sacamos el punto 2g-->
h2_g=h3_g+(1/M)*(h4-h2);
%Balance de energia-->ma(h1g-h2g)=mv(h5-h4)-->sacamos el punto 5
h5=h4+M*(h1_g-h2_g);
p5=p*(1-perd_carga(2)/100);
t5=XSteam('T_ph', p5, h5);

ETSI Industriales - 147- Universidad Politécnica de Madrid


PROGRAMAS DE OPTIMIZACIÓN DE CICLOS COMBINADOS MEDIANTE ALGORITMOS
GENÉTICOS

s5=XSteam('s_ph', p5, h5);


%6s
h6s=XSteam('h_ps', p_cond, s5);
%6
h6=h5-rend(2)*(h5-h6s);
x6=XSteam('x_ph', p_cond, h6);

Como se puede ver, esta función se encarga de realizar el ciclo 1P subcrítico sin desgasificador de
forma acelerada con el fin de obtener los valores T5 y x6 . Aprovechando que se realiza una simulación del
ciclo, también se obtienen los valores necesarios para calcular el rendimiento del ciclo vapor; las entalpías
antes y después de la expansión en la turbina y de la compresión en la bomba de circulación a la salida del
condensador, la realción de caudales M , y la entalpía de los gases de combustión a la entrada y a la salida
de la CRC. Esto se realiza para evitar realizar una nueva simulación para cada individuo válido con el
fin de obtener su fitness; de esta forma, la función que asigna la fortaleza de cada individuo simplemente
tomará estos valores y realizará con ellos la operación necesaria para hallar dicho rendimiento.

Paso 2: Evaluación de la generación creada Una vez que se ha completado el paso 1 del AG,
se pasa a evaluar la población obtenida. Esto se realiza mediante el paso 2 del programa principal, por
medio de la función auxiliar Fitness_1P_sinDesg. Esta función toma como variables de entrada los
valores necesarios para calcular el rendimiento del ciclo de vapor, y el rendimiento del ciclo gas para el
cual se está realizando la optimización. Se trata de una función sencilla en la que se inicializan los valores
introducidos por el vector inputs_fitness y se obtiene el rendimiento. En caso de que el rendimiento no
exista porque se halla producido algún caso no previsto y alguno de los parámetros de entrada no halla
sido obtenido por las funciones anteriores debido a que no es físicamente posible, al rendimiento del ciclo
se le asigna el valor −1.

function [rend_Ciclo]=Fitness_1P_sinDesg(inputs_fitness, rend_TG)


%% Desarrollador: Joaquin Corredoyra Alcaraz
% Tutor: Ruben Abbas Camara
% U.D. Motores Termicos
% ETS Ingenieros Industriales
% Universidad Politecnica de Madrid
% 2016
%%
[N_indiv, ¬]=size(inputs_fitness);
rend_Ciclo=zeros([N_indiv, 1]);

%% Calculo Rentimiento del Ciclo Combinado


for i=1:1:N_indiv
h5=inputs_fitness(i,1);
h6=inputs_fitness(i,2);
h1=inputs_fitness(i,3);
h7=inputs_fitness(i,4);
M=inputs_fitness(i,5);
h1_g=inputs_fitness(i,6);
h4_g=inputs_fitness(i,7);
%% RESULTADOS
rend_TV=((h5-h6)-(h1-h7))/(M*(h1_g-h4_g))*100;
rend_CC=rend_TV+rend_TG-rend_TV*rend_TG/100;
if isnan(rend_CC)
rend_Ciclo(i)=-1;
else
rend_Ciclo(i)=rend_CC;
end
end

Paso 3: Rellenado de los registros de la generación inicial Tras finalizar el proceso de


evaluación de la población inicial se guarda en los registros el mejor individuo de dicha población en
MEJOR_individuo y los valores para la misma de TEST_historial.

ETSI Industriales - 148- Universidad Politécnica de Madrid


Ciclo 1P sin desgasificador: Optimización de la presión de línea y del PP

3.1.5. Creación de los descendientes de una población

Una vez que se tiene la primera generación creada, evaluada y con sus valores pertinentes almacenados
en los registros, se inicia un bucle en el que se generará un total de ‘1 − ming eneraciones’ sin considerar
que se pueda haber alcanzado el criterio de convergencia, el cual se explicará más adelante. En cada
iteración de este bucle se llevará a cabo por tanto la creación de la nueva generación (incluyendo este
paso los procesos de selección, recombinación y mutación de la generación precedente) , su evaluación y
el reemplazamiento de la población anterior. A continuación puede verse la parte del programa principal
que realiza este proceso.

%% PRIMERAS ITERACIONES

INT_MUT=int_mut;
for i=2:1:min_generaciones
%% % 4 - Creacion de los descendientes
[pob_int, inputs_fitness_int]=Pobl_Intermedia_1P_sinDesg_sub(pob, fitness_pob, ...
prob_mut, INT_MUT, pres_seleccion, p_cond, AP, DT, DI, s_anterior, h_anterior, ...
rend, perd_carga, h1_g, t1_g, t4_g, x, MW_gases_comb, ratio);

%% % 5 - Evaluacion de dicha poblacion intermedia


[fitness_int]=Fitness_1P_sinDesg(inputs_fitness_int, rend_TG);

%% % 6 - Rellenado de los registros totales, que contaran con las poblaciones ...
intermedias tambien
POB_tot=[pob; pob_int];
FIT_tot=[fitness_pob; fitness_int];

%% % 7 - Reemplazamiento de la poblacion
[pob, fitness_pob, test_generacion, ...
mejor_indiv]=Reemplazamiento_1P_sinDesg(POB_tot, FIT_tot, pres_seleccion, N);

%% % 8 - Rellenado de los registros finales & registros de indicadores de evolucion


POB_historial(:,:,i)=pob;
FIT_historial(:,i)=fitness_pob;
MEJOR_individuo(i,:)=mejor_indiv;
TEST_historial(i,:)=test_generacion;
valor_criterio(i)=(TEST_historial(i,2)-TEST_historial(1,2));
%% % 9 - Recalculado de parametros
coef_mut=(100-test_generacion(end))/(100-FIT_max_rel);
INT_MUT=int_mut*coef_mut;
end

A continuación se van a explicar los pasos del 4 al 6 que realiza el algoritmo genético, mostrando las
funciones auxiliares llamadas, que comprenden la creación de la descendencia de una población.

Paso 4: Creación de los descendientes En este paso se lleva a cabo la mayor parte del proceso
de generación de una población nueva; la selección, recombinación, y mutación de la generación anterior.
Esta población intermedia creada no tendrá solo N individuos, sino que contendrá los N individuos
de la población inicial, los N descendientes, y los individuos resultantes de la mutación. Esto se realiza
mediante la función auxiliar Pobl_Intermedia_1P_sinDesg_sub, que devuelve un vector con la población
descendiente y la mutada, y los valores respectivos con los que se evaluará su fitness.

function [pob_int, inputs_fitness_int]=Pobl_Intermedia_1P_sinDesg_sub(pob, fitness, ...


prob_mut, INT_MUT, pres_seleccion, p_cond, AP, DT_terminal, DT_inicial, s_anterior, ...
h_anterior, rend, perd_carga, h1_g, t1_g, t4_g, x, MW_gases_comb, ratio)

%% Desarrollador: Joaquin Corredoyra Alcaraz


% Tutor: Ruben Abbas Camara
% U.D. Motores Termicos
% ETS Ingenieros Industriales
% Universidad Politecnica de Madrid
% 2016
%%

ETSI Industriales - 149- Universidad Politécnica de Madrid


PROGRAMAS DE OPTIMIZACIÓN DE CICLOS COMBINADOS MEDIANTE ALGORITMOS
GENÉTICOS

[N,n_var]=size(pob);
num_progen=round(0.5*N);
num_mating_pool=round(0.75*N);

%% % CROSSOVER % % %
% SELECCION
[fit_max, ¬]=max(fitness);
[probabilidades]=Prob_Seleccion( fitness, fit_max, pres_seleccion);
[seleccionados_reprod, ¬]=Selec_Probab_Lineal(pob, probabilidades, num_mating_pool);
% RECOMBINACION
descendientes=zeros([2*num_progen, n_var]);
inputs_fitness_descendientes=zeros([2*num_progen, 5]);
for i=1:2:(2*num_progen)
a=round(num_mating_pool*rand+0.5); %Para que siempre coja un numero >0
b=round(num_mating_pool*rand+0.5);
progenitor1=seleccionados_reprod(a,:);
progenitor2=seleccionados_reprod(b,:);
[descendiente1, descendiente2]=Reproduccion_Uniforme(progenitor1, progenitor2);
descendientes(i,:)=descendiente1;
descendientes(i+1,:)=descendiente2;
end
% COMPROBACION DE LOS DESCENDIENTES
for i=1:1:2*num_progen
[descendientes(i, 1), descendientes(i, 2), h5, h6, h1, h7, M, h1_g, ...
h4_g]=Comprobar_Inputs_1P_sinDesg_sub(descendientes(i, 1), p_cond, AP, ...
descendientes(i, 2), DT_terminal, DT_inicial, s_anterior, h_anterior, rend, ...
perd_carga, h1_g, t1_g, t4_g, x, MW_gases_comb, ratio);

inputs_fitness_descendientes(i,:)=[h5, h6, h1, h7, M, h1_g, h4_g];


end

%% % MUTACION % % %
num_mut=round(0.5*N);
% SELECCION
[seleccionados_mut, ¬]=Selec_Probab_Lineal(pob, probabilidades, num_mut);
% MUTACION
descendencia_mutada=Mutacion_1P_sinDesg(seleccionados_mut, INT_MUT, prob_mut);
inputs_fitness_mut=zeros([num_mut, 5]);
% COMPROBACION DE LOS DESCENDIENTES
for i=1:1:num_mut
[descendencia_mutada(i, 1), descendencia_mutada(i, 2), h5, h6, h1, h7, M, h1_g, ...
h4_g]=Comprobar_Inputs_1P_sinDesg_sub(descendencia_mutada(i, 1), p_cond, AP, ...
descendencia_mutada(i, 2), DT_terminal, DT_inicial, s_anterior, h_anterior, rend, ...
perd_carga, h1_g, t1_g, t4_g, x, MW_gases_comb, ratio);
inputs_fitness_mut(i,:)=[h5, h6,h1, h7, M, h1_g, h4_g];
end
%% % POBLACION INTERMEDIA % % %
[pob_int]=[descendientes; descendencia_mutada];
[inputs_fitness_int]=[inputs_fitness_descendientes; inputs_fitness_mut];
end

Crossover:
En esta primera parte de la generación de la población intermedia se lleva a cabo la creación de la
mating pool1 mediante un proceso de selección y la obtención de la descendencia por recombinación.
Proceso de Selección: Primero se genera el vector selecionados_reprod con aquellos individuos
que conforman la mating pool. Para escogerlos, en primer lugar se le asigna una probabilidad de ser
elegido a cada individuo de la generación inicial mediante Prob_Seleccion. Esta función toma como
datos de entrada el vector con los rendimientos de todos lso individuos, el rendimiento del individuo
más fuerte, y la presión de selección. Se ha elegido asignar probabilidades de acuerdo con un proceso de
seleción similar al de tipo Boltzman explicado en la Sección (1.3.3.4) aunque con la modificación de la
inclusión en la ecuación (1.10) de la presión de selección (pressel ) en lugar de la temperatura. Este valor
es introducido por el usuario y no varía a lo largo del progograma, y se recuerda que cuanto mayor sea,
mayor será la diferencia entre la probabilidad de ser seleccionado de los individuos fuertes con respecto a
1 Se recuerda que la mating pool es un conjunto de posibles progenitores entre los cuales aleatoriamente se irán seleccio-

nando parejas de ellos para obtener descendencia

ETSI Industriales - 150- Universidad Politécnica de Madrid


Ciclo 1P sin desgasificador: Optimización de la presión de línea y del PP

los débiles. Con esta modificación, la ecuación mediante la cual se asignan probabilidades a os individuos
de una población es la siguiente:
Pi = exp [−(ηmáx − ηi ) · pressel ] (3.1)
Al utilizar esta expresión también se introduce el elitismo, dado que el individuo de mayor fitness de la
población recibirá una probabilidad de ser elegido igual a 1, dado que Pi = 1 si ηi = ηmáx . Por tanto, de
esta forma el programa garantiza la inclusión del individuo más fuerte en la mating pool. El programa
auxiliar Prob_Seleccion es el siguiente:

function [probabilidad]=Prob_Seleccion( fitness, fitness_max, pres_seleccion)


%% Desarrollador: Joaquin Corredoyra Alcaraz
% Tutor: Ruben Abbas Camara
% U.D. Motores Termicos
% ETS Ingenieros Industriales
% Universidad Politecnica de Madrid
% 2016
%%
[N,¬]=size(fitness);
probabilidad=zeros([N,1]);
for i=1:1:N
probabilidad(i)=exp(-(abs(fitness_max-fitness(i)))*pres_seleccion);
end

El proceso de selección se completa mediante una selección por muestreo universal, como la explicada
en la Sección (1.3.3.4). Esto se realiza mediante la función auxiliar Selec_Probab_Lineal que, como se
puede ver a continuación, sigue la misma metodología que la explicada en dicha Sección.

function[ seleccionados, posicion_selec]=Selec_Probab_Lineal(pob, probabilidades, num_selecc)


%% Desarrollador: Joaquin Corredoyra Alcaraz
% Tutor: Ruben Abbas Camara
% U.D. Motores Termicos
% ETS Ingenieros Industriales
% Universidad Politecnica de Madrid
% 2016
%%
[¬,n_var]=size(pob);
seleccionados=zeros([num_selecc, n_var]);
posicion_selec=zeros([num_selecc, 1]);

suma_prob=sum(probabilidades);
intervalo=suma_prob/num_selecc;

%% % COLOCACION DE PUNTEROS % % %
punteros=zeros([num_selecc, 1]);
punteros(1)=intervalo*rand;
for i=2:1:num_selecc
punteros(i)=punteros(i-1)+intervalo;
end
%% % ORDENACION PROBABILIDADES % % %
[prob_ord, posic_inicial]=sort(probabilidades, 'descend');
contador=zeros([ length(prob_ord)+1, 1]);
for i=1:1:length(prob_ord)
contador(i+1)=contador(i)+prob_ord(i);
end
%% % SELECCION PROGENITORES % % %
for i=1:1:num_selecc
j=1;
while j≤length(prob_ord) && posicion_selec(i)==0
if contador(j)≤punteros(i) && punteros(i)≤contador(j+1)
seleccionados(i,:)=pob(posic_inicial(j),:);
posicion_selec(i)=posic_inicial(j);
end
j=j+1;
end
end
end

ETSI Industriales - 151- Universidad Politécnica de Madrid


PROGRAMAS DE OPTIMIZACIÓN DE CICLOS COMBINADOS MEDIANTE ALGORITMOS
GENÉTICOS

Esta función devuelve la matriz seleccionados con los individuos que formarán la mating pool, y el
vector posicion_selec, con su posción dentro de la población inicial.
Proceso de Recombinación: Una vez completado el proceso de selección, comienza el de recom-
binación. Mediante un bucle for se van seleccionando parejas de progenitores de entre los seleccionados
previamente, y se introducen estos individuos en la función auxiliar encargada de realizar dicha recom-
binación; Reproduccion_Uniforme. Dicha recombinación se realiza por medio de crossover uniforme,
aunque como en el programa analizado los individuos solo cuentan con dos componentes, la recombina-
ción pasa a ser un intercambio del primer gen de un progenitor con el del otro. No obstante, la función
Reproduccion_Uniforme ha sido desarrollada de forma que realice un crossover uniforme para cualquier
tamaño de individuo, de forma que no tendrá que ser modificada en posteriores algoritmos. Esta función
es la siguiente:

function [descendiente1, descendiente2]=Reproduccion_Uniforme(progenitor1, progenitor2)


%% Desarrollador: Joaquin Corredoyra Alcaraz
% Tutor: Ruben Abbas Camara
% U.D. Motores Termicos
% ETS Ingenieros Industriales
% Universidad Politecnica de Madrid
% 2016
%%
[¬,n_var]=size(progenitor1);
descendiente1=zeros([1, n_var]);
descendiente2=zeros([1, n_var]);
%% % VECTOR MASCARA % % %
indiv_aux=round(rand(1,n_var));
numero_ptos_crossover=0;
for i=1:1:n_var
numero_ptos_crossover=numero_ptos_crossover+indiv_aux(i);
end
u=round(n_var*rand+0.5);
if numero_ptos_crossover==0
indiv_aux(u)=1;
elseif numero_ptos_crossover==n_var
indiv_aux(u)=0;
end
%% % RECOMBINACION % % %
for i=1:1:n_var
if indiv_aux(i)==0
descendiente1(i)=progenitor1(i);
descendiente2(i)=progenitor2(i);
elseif indiv_aux(i)==1
descendiente1(i)=progenitor2(i);
descendiente2(i)=progenitor1(i);
end
end
end

Se hace uso de un vector máscara indiv_aux formado por unos y ceros, de la misma longitud que
un individuo de la población. Este vector se usa en la recombinación de las variables de forma que si
en una posición determinada el vector toma valor 0, el primer descendiente (descendiente1) tomará
en dicha posición el valor que proporciona el primer progenitor (progenitor1) para dicha variable,
mientras que el segundo descendiente toma el valor que proporciona el segundo progenitor. Lo contrario
sucede si el valor del vector máscara en dicha posición es 1. Se puede ver que si el vector máscara
estuviera compuesto enteramente por ceros o por unos, no tendría lugr ninguna recombinación dado que
los descendientes recibirían todas las variables del mismo progenitor. Para evitar esto se introducen las
variables num_puntos_crossover y u. La primera contabiliza la cantidad de unos que contiene el vector
máscara, y de ser esta cantidad cero o n_var, lo que equivale a que el vector máscara esté compuesto
enteramente de unos, este vector se modifica en la posición aleatoria u para tomar un valor 1 o un valor
0, respectivamente. De esta forma se consigue que se intercambie al menos una de ls variables.
Al finalizar, se devuelven los dos vectores correspondientes a los dos descendientes obtenidos. Como
se ha dicho, este proceso se enmarca dentro de un bucle for, que se realiza hasta obtener N nuevos
descendientes.

ETSI Industriales - 152- Universidad Politécnica de Madrid


Ciclo 1P sin desgasificador: Optimización de la presión de línea y del PP

Al finalizar este proceso, se comprueba que los descendientes obtenidos son válidos y se modifican de
no serlo.
Mutación:
Se ha escogido que mute la mitad de la población precedente. La mitad que será mutada se selec-
ciona primero mediante Selec_Probab_Lineal, y tras realizar esto se introduce en la función auxiliar
Mutacion_1P_sinDesg. Esta función se utilizará con muy pocas modificaciones en el resto de AGs, y
devuelve un vector con los descendientes resultado de la mutación. Para realizar la mutación se hace uso
de una matriz compuesta por tantos vectores máscara como individuos se desee mutar. La probabilidad
de que un elemento de esta matriz sea 0 es mayor que la de que valga o 1 a no ser que prob_mut tome
un valor mayor de 0.5, que hace que sea más probable que el valor sea 1. Esto es porque ‘rand-0.5*1’
devuelve números comprendidos en el intervalo (−0,5, 0,5), y es la adición de 1*prob_mut lo que permite
que se pueda tomar el valor 1. Para cada vector incluido en la matriz se realiza un proceso de comproba-
ción de que no está formado enteramente por ceros, dado que entonces no habría mutación. Después de
esto, y tras haber inicializdo una matriz que contendrá mutaciones aleatorias para componente de cada
individuo, se realiza la mutación de los individuos seleccionados para tal proceso. Es en la generación de
la matriz con las mutaciones en donde se diferenciará esta función auxiliar de la utilizada en otros AG.
A continuación se muestra el código de dicha función:

function [descend_mut]=Mutacion_1P_sinDesg(seleccionados_mut, int_mut, prob_mut)


%% Desarrollador: Joaquin Corredoyra Alcaraz
% Tutor: Ruben Abbas Camara
% U.D. Motores Termicos
% ETS Ingenieros Industriales
% Universidad Politecnica de Madrid
% 2016
%%
%% % MUTACIONES % % %
% Se generan las mutaciones aleatoriamente favoreciendo un incremento en p (variara ...
entre -1 y 2 por int_mut) y
% una disminucion en PP (que variara entre -1 y 0 K por int_mut)
[N, n_var]=size(seleccionados_mut);
mutaciones=zeros([N, n_var]);
mutaciones(:,1)=int_mut*(3*rand(N,1)-ones(N,1));
mutaciones(:,2)=int_mut*(rand(N,1)-ones(N,1));
%% % MATRIZ DE VECTORES MASCARA % % %
matriz_aux=round(rand(N,n_var)-0.5*ones(N,n_var)+prob_mut*ones(N,n_var));
numero_ptos_crossover=zeros(N,1);
for i=1:1:N
for j=1:1:n_var
numero_ptos_crossover(i)=numero_ptos_crossover(i)+matriz_aux(i,j);
end
end
u=round(n_var*rand(N,1)+0.5); %Variable aleatoria para vigilar que no mute niguna de ...
las variables
for i=1:1:N
if numero_ptos_crossover(i)==0
matriz_aux(i,u(i))=1;
end
end

%% % MUTACION PROGENITORES % % %
descend_mut=seleccionados_mut+mutaciones.*matriz_aux;
end

Para realizar la matriz mutaciones se ha tenido en cuenta que los mayores rendimientos se obtienen para
valores altos de presi’on y bajos de PP, por lo que se favorece que la mutación tenga este efecto. Esto no
se puede realizar en algoritmos en los que no se tenga tan claro cuál es el efecto de todas y cada una de
las variables; en estos casos, las mutaciones serán puramente aleatorias, pudiendo elevar o disminuir el
valor de cada variable con la misma probabilidad. Se puede ver cómo int_mut modifica la intensidad de
la mutación; cuanto mayor sea, de mayor magnitud serán las variaciones producidas durante la mutación.
El proceso de mutación termina con una comprobación de los descendientes obtenidos, dando lugar a
soluciones válidas.

ETSI Industriales - 153- Universidad Politécnica de Madrid


PROGRAMAS DE OPTIMIZACIÓN DE CICLOS COMBINADOS MEDIANTE ALGORITMOS
GENÉTICOS

Tras finalizar la mutación se da por finalizada la función Pobl_Intermedia_1P_sinDesg_sub, y de-


vuelve una matriz con la descendencia por recombinación y por mutación, y otra matriz con los valores
necesarios para calcular sus fitness en el Paso 5.

3.1.6. Reemplazamiento de la población anterior

Tras haber generado la descendencia, en el Paso 6 se juntan la población inicial y la intermedia, y


esta población total se introduce en el Paso 7 en la función auxiliar Reemplazamiento_1P_sinDesg, que
devuelve como salidas la nueva población formada por N individuos, sus fitness, un vector con las tres
componentes del test de la nueva generación, y el mejor individuo de la misma. El código de dicha función
se muestra a continuación:

function [nueva_pob, nuevos_fitness, test_generacion, ...


mejor_indiv]=Reemplazamiento_1P_sinDesg(pob_int, fitness_int, ...
pres_seleccion, N)
%% Desarrollador: Joaquin Corredoyra Alcaraz
% Tutor: Ruben Abbas Camara
% U.D. Motores Termicos
% ETS Ingenieros Industriales
% Universidad Politecnica de Madrid
% 2016
%%
[¬, n_var]=size(pob_int);
nueva_pob=zeros([N, n_var]);
nuevos_fitness=zeros([N, 1]);
%% % SELECCION % % %
[FIT_max, posic]=max(fitness_int);
mejor_indiv=pob_int(posic, :);
nueva_pob(1,:)=mejor_indiv;
nuevos_fitness(1)=FIT_max;
[probabilidades]=Prob_Seleccion( fitness_int, FIT_max, pres_seleccion);
[nueva_pob(2:N,:), posicion_selecc]=Selec_Probab_Lineal(pob_int, probabilidades, N-1);
for i=2:1:N
nuevos_fitness(i)=fitness_int(posicion_selecc(i-1));
end

%% % TEST GENERACION % % %
FIT_media=sum(nuevos_fitness)/N;
FIT_max_rel=100*FIT_media/FIT_max;
test_generacion=[FIT_max, FIT_media, FIT_max_rel];

end

Como se puede ver, se aplica claramente el elitismo al reservar una plaza de la nueva generación para
el mejor individuo de la anterior. Los N − 1 individuos restantes se eligen utilizando la función auxiliar
Selec_Probab_Lineal ya explicada.

Paso 8: Rellenado de los registros de la nueva generación Se realiza de igual forma que el
Paso 3.

3.1.7. Recalculado de parámetros

Antes de volver a realizar el bucle for en el que se crean las primeras generaciones tiene lugar la
modificación del parámetro IMT_MUT. Mientras que int_mut es un parámetro de entrada del programa
principal y se mantiene constante, INT_MUT va variando a lo largo de las iteraciones con el fin de adaptarse
a la generación evaluada. De esta forma, toma valores entre 0 e ‘int_mut’ dependiendo de un coeficiente
de mutación. Este coeficiente se calcula utilizando el fitness relativo de la generación creada y el de la
generación inicial, y disminuye a medida que el fitness medio de la generación se acerca al fitness máximo
de la misma. Este coeficiente es mayor cuanto más parecidos sean los fitness relativos de la población
nueva y la inicial, con el fin de favorecer la diversificación de la población.

ETSI Industriales - 154- Universidad Politécnica de Madrid


Ciclo 1P sin desgasificador: Optimización de la presión de línea y del PP

%% % 9 - Recalculamiento de parametros
coef_mut=(100-test_generacion(end))/(100-FIT_max_rel);
INT_MUT=int_mut*coef_mut;

Tras haber realizado el bucle mostrado en la Sección (3.1.4) se inicia otro bucle, esta vez condicionado
por un while, en el que se van generando nuevas generaciones hasta alcanzar el número de generaciones
máximo o cumplir con el criterio de convergencia.

i=min_generaciones+1;
epsilon=50;
while (epsilon>criterio_parada || epsilon<0) && i≤gen_max
[pob_int,inputs_fitness_pob]=Pobl_Intermedia_1P_sinDesg_sub(pob, fitness_pob, ...
prob_mut, INT_MUT, pres_seleccion, p_cond, AP, DT, DI, s_anterior, h_anterior, ...
rend, perd_carga, h1_g, t1_g, t4_g, x, MW_gases_comb, ratio);
%% % Evaluacion de dicha poblacion intermedia
[fitness_int]=Fitness_1P_sinDesg(inputs_fitness_pob, rend_TG);
%% % Rellenado de los registros totales, que contaran con las poblaciones ...
intermedias tambien
POB_tot=[pob; pob_int];
FIT_tot=[fitness_pob; fitness_int];
%% % Reemplazamiento de la poblacion
[pob, fitness_pob, test_generacion, ...
mejor_indiv]=Reemplazamiento_1P_sinDesg(POB_tot, FIT_tot, pres_seleccion, N);
%% % Rellenado de los registros finales & registros de indicadores de evolucion
POB_historial(:,:,i)=pob;
FIT_historial(:,i)=fitness_pob;
MEJOR_individuo(i,:)=mejor_indiv;
TEST_historial(i,:)=test_generacion;
%% % Recalculado de parametros
INT_MUT=int_mut*(100-test_generacion(end))/(100-FIT_max_rel);

%% % 10 - Comprobacion del criterio de parada


epsilon=(TEST_historial(i,2)-TEST_historial(i-min_generaciones,2));
valor_criterio(i)=epsilon;

i=i+1;
end

Como se puede ver, este bucle es idéntico al anterior, exceptuando las condiciones por las que se detiene
y la adición de un nuevo paso, el Paso 10, en el cual se calcula el valor del criterio de convergencia, que
se explica a continuación.

3.1.7.1. Critero de convergencia

Para evaluar si el proceso de optimización ha llegado a su límite se usa un criterio de convergencia


basado en el fitness medio de la población;
Criterioi = η i − η i−min generaciones (3.2)

Por tanto se compara el fitness medio de la generaci’on actual, i, con el de la generión ‘min generaciones’
anterior. Se recuerda que el objetivo de esto es permitir que las mutaciones tengan efecto. Por tanto, si las
citadas generaciones tienen un rendimiento medio muy similar, significará que no se puede realizar una
mejora significativa de las soluciones por mucho que se creen más generaciones, y el algoritmo se detiene.
La ventaja de utilizar para el criterio de convergencia el valor medio del rendimiento de la población
frente a utilizar el rendimiento del mejor individuo de la misma es que se alcanza un alto número de
soluciones buenas.
Inicialmente se le asigna a epsilon un valor sficientemente alto para que no entre en conflicto con
el valor del criterio de convergencia introducido por el usuario, evitando la posibilidad de no realizar el
bucle while.
También se puede ver que se le asigna a la variable i el valor de la generación que va a ser creada.
Esta variable se irá incrementando de uno en uno al final de cada iteración, y se utiliza como contador

ETSI Industriales - 155- Universidad Politécnica de Madrid


PROGRAMAS DE OPTIMIZACIÓN DE CICLOS COMBINADOS MEDIANTE ALGORITMOS
GENÉTICOS

de generaciones, para analizar si la generación que va a ser creada es superior al número máximo de
iteraciones definido.

3.1.8. Modificaciones para los ciclos supercríticos

Como se ha comentado, la simulación de los ciclos subcríticos y supercríticos no es comparable debido


a que se ha tenido que recurrir a procedimiento diferente en el ciclo supercrítico para hallar los puntos
característicos. La ausencia del proceso de evaporación es el motivo de este diferente tratamiento. Por ello,
los rendimientos obtenidos en ciclos supercríticos son significativamente menores y hay una discontinuidad
en el paso de subcrítico a supercrítico, que se comentará en la Sección de resultados.
En lo que respecta al programa AG_1P_SinDesg_sup, las diferencias con el programa anteriormente
descrito son muy pocas. La primera de ellas se encuentra en la asignación de los valores máximo y
mínimo que puede valer la presión, establecido entre 221 y 250 bar, y del PP, que varía entre 2 y
‘DI’ Kelvin2 . La otra diferencia está en la función auxiliar utilizada para comprobar la validez de los
individuos, Comprobar_Inputs_1P_sinDesg_sup. Aunque el proceso de modificación de la presión y el
PP es idéntico, la subfunción a la que se llama para obtener T5 y x6 es una versión abreviada del proceso
de obtención de los puntos de la caldera en un ciclo supercrítico, con os procesos de iteración explicados
en la Sección (2.3.5.2). Debido a la realización de estos procesos, el AG destinado a ciclos supercríticos
tiene una duración notablemente mayor.

3.2. Ciclo 1P sin desgasificador: Optimización de la presión de


línea, el PP y el AP
El siguiente programa realizado, AG_1P_Sin_Desg_AP, se centra en analizar el mismo tipo de ciclos,
pero encaminado a optimizar una variable extra, el AP. Las similitudes entre los programas son por tanto
muchas, y en la presente Sección se analizarán únicamente las diferencias entre ellos.

3.2.1. Variables de diseño

Tanto los parámetros de entrada como los de salida se mantienen iguales, a excepción de que en este
caso no se pide al usuario que introduzca un valor de AP, dado que hallarlo es parte del proceso de
optimización. Debido a esto, los cromosomas de este algoritmo constan de tres genes, como se refleja en
el cuadro (3.1).

Cromosoma Presión (bar) Pinch Point (◦ C) AP (◦ C)

Cuadro 3.1: Cromosoma del programa AG_1P_Sin_Desg_AP (Elaboración propia)

Esta variable extra obliga a modificar algunas de las funciones auxiliares utilizadas durante el proceso,
pero se mantiene intacta la estructura del algoritmo, dividida en la creación de la generación inicial (pasos
1-3); bucle while en el que se generan las primeras generaciones, cuyo número se define mediante el
parámetro de entrada min_generaciones (pasos 4-9); y un bucle for en el que se realizan iteraciones
hasta alcanzar alguno de los criterios de convergencia, ek de náximas generaciones o el del fitness medio
de la generación (repite los pasos del bucle while e incorpora el 10).

3.2.2. Diferencias entre AG_1P_Sin_Desg_AP y AG_1P_Sin_Desg

En esta sección se van a analizar las diferencias entre estos dos algoritmos, en el orden en el que se
implementan durante el desarrollo del algoritmo.
2 Se recuerda que DI es la diferencia inicial de temperaturas en la CRC, y que en los ciclos supercríticos debía ser mayor

que el PP para evitar que el programa entre en un bucle infinito.

ETSI Industriales - 156- Universidad Politécnica de Madrid


Ciclo 1P sin desgasificador: Optimización de la presión de línea, el PP y el AP

3.2.2.1. Diferencias en la creación de la generación inicial

Además de generar valores aleatorios de p y PP, se hace lo propio con el AP. Se ha estimado un
intervalo de valores para este gen de entre 1 y 10 ◦ C;

function [pob, inputs_fitness]=Poblacion_Inicial_1P_sinDesg_AP(N, p_cond, DT_terminal, ...


DT_inicial, rend, perd_carga, ...
t1_g, t4_g, x, MW_gases_comb, ratio, h1_g, h_anterior, s_anterior)
%% Desarrollador: Joaquin Corredoyra Alcaraz
% ... %
%% PROGRAMA
pob=zeros(N,3);
inputs_fitness=zeros(N,7);
p_min=40;
p_max=250;
PP_min=2;
PP_max=30;
AP_min=1;
AP_max=10;
for i=1:1:N
p=randi([p_min,p_max-1], 'double')+rand;
if p>220.5846
PP_max=DT_inicial;
end
PP=randi([PP_min,PP_max-1], 'double')+rand;
AP=randi([AP_min, AP_max-1], 'double')+rand;

[p, PP, AP, h5, h6, h1, h9, M, h1_g, h4_g]=Comprobar_Inputs_1P_sinDesg_AP( p, p_cond, AP, ...
PP, DT_terminal, DT_inicial, s_anterior, h_anterior, rend, perd_carga, h1_g, t1_g, ...
t4_g, x, MW_gases_comb, ratio);
pob(i,:)=[p, PP, AP];
inputs_fitness(i,:)=[h5, h6, h1, h9, M, h1_g, h4_g];
end

Como se puede ver, en esta función secontempla también la posibilidad de que el individuo tenga un valor
de presión supercrítica al modificar el valor del PP maximo en dicho caso, para evitar que tome un valor
superior a la diferencia inicial de temperaturas, con los problemas que esto conlleva.

3.2.2.2. Diferencias en la comprobación de la validez de los individuos

En Comprobar_Inputs_1P_sinDesg_AP se añade una variación del AP con el objetivo de conseguir


una solución cuyos valores T5 y x6 estén dentro de los límites permitidos. Conviene recordar que este
proceso de comprobación se puede realizar porque se conoce la interacción entre las variables analizadas,
y que en algoritmos de más variables se sustituirá este proceso de modificación de los individuos por otro
de penalizaciones que modificarán el rendimiento de los mismos en función de su error.
En este caso, el programa queda:

function [p, PP, AP, h5, h6, h1, h7, M, h1_g, h4_g]=Comprobar_Inputs_1P_sinDesg_AP( p, ...
p_cond, AP, PP, DT_terminal, DT_inicial,...
s_anterior, h_anterior, rend, perd_carga,...
h1_g, t1_g, t4_g, x, MW_gases_comb, ratio)
%% Desarrollador: Joaquin Corredoyra Alcaraz
% ... %
p_min=20;
p_max=250;
PP_min=2;
PP_max=30;
if p>220.5846
PP_max=DT_inicial;
end
AP_min=1;
AP_max=10;
if p<p_min

ETSI Industriales - 157- Universidad Politécnica de Madrid


PROGRAMAS DE OPTIMIZACIÓN DE CICLOS COMBINADOS MEDIANTE ALGORITMOS
GENÉTICOS

p=p_min;
elseif p>p_max
p=p_max;
end
if PP<PP_min
PP=PP_min;
elseif PP>PP_max
PP=PP_max;
end
[t5, x6, h5, h6, h1, h7, M, h1_g, h4_g] = Evaluar_Inputs_1P_sinDesg_AP( p, p_cond, AP, ...
PP, DT_terminal, DT_inicial, s_anterior, h_anterior, rend, perd_carga, h1_g, t1_g, ...
t4_g, x, MW_gases_comb, ratio);

t5_limite=t1_g-DT_terminal;
p_inicial=0; p_nuevo=1;
PP_inicial=0; PP_nuevo=1;
AP_inicial=0; AP_nuevo=1;

while (p_inicial6=p_nuevo && PP_inicial6=PP_nuevo && AP_inicial6=AP_nuevo) && ...


(isnan(t5)||t5>t5_limite||x6<0.85)
variacion1=rand;
if ((PP+variacion1)≤PP_max||(p-variacion1)≥p_min||(AP+vaciacion1)≤AP_max) && ...
(x6≥0.85 || isnan(x6) )
PP=PP+variacion1;
p=p-variacion1;
AP=AP+variacion1;
[t5, x6, h5, h6, h1, h7, M, h1_g, h4_g]=Evaluar_Inputs_1P_sinDesg_AP( p, ...
p_cond, AP, PP, DT_terminal, DT_inicial, s_anterior, h_anterior, rend, ...
perd_carga, h1_g, t1_g, t4_g, x, MW_gases_comb, ratio);
elseif x6<0.85
p_inicial=p;
PP_inicial=PP;
AP_inicial=AP;
variacion2=rand;
if p-5*variacion2≥p_min
p=p-5*variacion2;
p_nuevo=p;
end
if PP-variacion2≥PP_min
PP=PP-variacion2;
PP_nuevo=PP;
end
if AP-variacion2≥AP_min
AP=AP-variacion2;
AP_nuevo=AP;
end
[t5, x6, h5, h6, h1, h7, M, h1_g, h4_g]=Evaluar_Inputs_1P_sinDesg_AP( p, ...
p_cond, AP, PP, DT_terminal, DT_inicial, s_anterior, h_anterior, rend, ...
perd_carga, h1_g, t1_g, t4_g, x, MW_gases_comb, ratio);
end
end
if x6<0.85
h5=h6; h1=h7;
end

Se puede ver que la metodología es la misma que en el cso en el que no se optimiza el AP. Se recuerda
que las variables variacion1 y variacion2 se utilizan para modificar los genes del individuo, previa
comprovación de que dicha modificación no sobrepasará los valores límite de dichos genes. La funcionalidad
de las variables acabadas en _inicial y _final es analizar si se ha llegado ya a los valores límites y no
se ha podido realizar una variación de los genes; esto se comprueba en el bucle while y, de ser los tres
pares de valores iguales entre sí, se finaliza la iteración y se modifican los valores de h5 y h1 para que el
rendimiento del ciclo de vapor de un resultado nulo. Se recuerda que el motivo de esta metodología de
comprobación es que para ciclos de gas con una temperatura de entrada a la CRC demasiado baja no es
posible obtener x6 ≥ 0,85. Este problema se tiene sobre todo en ciclos supercríticos.

ETSI Industriales - 158- Universidad Politécnica de Madrid


Ciclo 1P con desgasificador: Optimización de las presiones de línea y de extración y el PP

3.2.2.3. Diferencias en la mutación de los individuos

Se utiliza exactamente el mismo código para realizar las mutaciones con la excepción de que la matriz
mutaciones, que alberga las modificaciones aleatorias que se pueden llegar a producir en los genes de
todos los individuos del grupo de individuos seleccionados para la mutación. Esta matriz se ha adaptado
para albergar la variación de los genes correspondientes con el AP;

function [descend_mut]=Mutacion_1P_sinDesg_AP(seleccionados_mut, int_mut, prob_mut)


%% Desarrollador: Joaquin Corredoyra Alcaraz
%% % ... % % %

%% % MUTACIONES % % %
[N, n_var]=size(seleccionados_mut);
mutaciones=zeros([N, n_var]);
mutaciones(:,1)=int_mut*2*rand(N,1);
mutaciones(:,2)=int_mut*rand(N,1);
mutaciones(:,3)=int_mut*rand(N,1);
%% % VECTOR MASCARA % % %
%% % ... %%%

El resto del contenido del AG se mantiene invariable.

3.3. Ciclo 1P con desgasificador: Optimización de las presiones


de línea y de extración y el PP
Es el último de los AG que se ha completado en el tiempo en el cual se ha realizado este TFG. Otras
variantes como el AG para la optimización del ciclo 1P con desgasificador incluyendo el AP, o los AG
para ciclos 2P, están en desarrollo en el momento.
Este programa, denominado AG_1P_ConDesg_sub alberga algunas diferencias de metodología con res-
pecto a los anteriores, en relación sobre todo a la forma de evaluar los fitness de las poblaciones, como se
verá en las Secciones siguientes.

3.3.1. Inicialización del programa

Se realiza de la misma forma que la mostrada en la Sección (3.1.3), pero en este caso el punto 7 no
tendrá la misma la importancia que en el programa anterior, dado que no es el punto inmediatamente
anterior a la CRC debido a la existencia del desgasificador entre medias.

3.3.1.1. Creación de la Población Inicial

Se añade la asignación del valor de la presión de extracción, que tomará valores comprendidos entre
la presión de condensación y 10 bares. Se ha tenido cuidado de añadir la condición de que esta presión
sea siempre menor ue la de línea, como puede verse a continuación;

unction [pob]=Poblacion_Inicial_1P_ConDesg_sub(N, p_cond, AP, DT_terminal, DT_inicial, ...


rend, perd_carga, t1_g, t4_g, x, MW_gases_comb, ratio, h1_g)
%% Desarrollador: Joaquin Corredoyra Alcaraz
% ... %
%%
pob=zeros(N,3);
p_min=1;
p_max=220;
PP_min=2;
PP_max=30;
p_ext_min=p_cond;
p_ext_max=10;

ETSI Industriales - 159- Universidad Politécnica de Madrid


PROGRAMAS DE OPTIMIZACIÓN DE CICLOS COMBINADOS MEDIANTE ALGORITMOS
GENÉTICOS

p_ext_max_aux=p_ext_max;

for i=1:1:N
p=randi([p_min,p_max-1], 'double')+rand;
if p<p_ext_max
p_ext_max_aux=p;
end
p_ext=p_ext_min+(p_ext_max_aux-p_ext_min)*rand;
PP=randi([PP_min,PP_max-1], 'double')+rand;

[p, p_ext, PP]=Comprobar_Inputs_1P_ConDesg_sub( p, p_cond, p_ext, AP, PP, DT_terminal, ...


DT_inicial, rend, perd_carga, h1_g, t1_g, t4_g, x, MW_gases_comb, ratio);
pob(i,:)=[p, p_ext, PP];
end

Además, se puede ver que no se utiliza la variable inputs_fitness. Esto es porque, a diferencia de en
los programas vistos, los puntos exteriores a la CRC dependen de las variables optimizadas, y su obtención
supondría que Comprobar_Inputs_1P_ConDesg_sub tuviese que hallarlos para cada comprobación, lo que
ralentizaría enormemente el programa, sobre todo por tener que hallar el punto de extracción. Por tanto,
en la función que evalúa el fitness de los individuos, se realizará una simulación abreviada del ciclo a fin
de obtener las variables necesarias para calcular el rendimiento del mismo.

Paso 2: Evaluación de la generación creada Como se ha comentado, el proceso de obtención


de los fitness difiere del anterior, y se recurre a la simulación del ciclo en vez de pasarle a la función
Fitness_1P_conDesg los valores necesarios para calcular rend_CC como variables de entrada. A conti-
nuación se muestra dicha función:

function [rend_Ciclo]=Fitness_1P_conDesg(pob, p_cond, DT_inicial, rend, perd_carga, t4_g, ...


x, MW_gases_comb, ratio, h1_g, h_anterior, s_anterior, rend_TG)
%% Desarrollador: Joaquin Corredoyra Alcaraz
% Tutor: Ruben Abbas Camara
% U.D. Motores Termicos
% ETS Ingenieros Industriales
% Universidad Politecnica de Madrid
% 2016
%%
[N_indiv, ¬]=size(pob);
rend_Ciclo=zeros([N_indiv, 1]);
for i=1:1:N_indiv
p=pob(i,1);
p_ext=pob(i,2);
PP=pob(i,3);
AP=pob(i,4);
%7
h7=h_anterior;
s7=s_anterior;
%8s
h8s=XSteam('h_ps', p_ext, s7);
%8 (8s-7)/(8-7)=rend
h8=h7+(h8s-h7)/rend(1);
%9
h9=XSteam('hL_p',p_ext);
s9=XSteam('sL_p',p_ext);
%1s
h1s=XSteam('h_ps', p*(1+perd_carga(1)/100), s9);
%1 (1s-7)/(1-7)=rend
h1=h9+(h1s-h9)/rend(1);
t1=XSteam('T_ph', p+perd_carga(1), h1);
%3
t3=XSteam('Tsat_p', p);
%4
h4=XSteam('hV_p',p);
%2
h2=XSteam('h_pT', p, t3-AP);
%3g
t3_g=t3+PP+273.15;

ETSI Industriales - 160- Universidad Politécnica de Madrid


Ciclo 1P con desgasificador: Optimización de las presiones de línea y de extración y el PP

h3_g=(x(1)*th_prop('h','CO2',t3_g)+x(2)*th_prop('h','H2O',t3_g)+ ...
x(3)*th_prop('h','N2',t3_g)+x(4)*th_prop('h','O2',t3_g))/MW_gases_comb*ratio;
%4g
if t1+DT_inicial>t4_g
t4_g=t1+DT_inicial+273.15;
else
t4_g=t4_g+273.15;
end
h4_g=(x(1)*th_prop('h','CO2',t4_g)+x(2)*th_prop('h','H2O',t4_g)+ ...
x(3)*th_prop('h','N2',t4_g)+x(4)*th_prop('h','O2',t4_g))/MW_gases_comb*ratio;
%M
M=(h2-h1)/(h3_g-h4_g);
%2g
h2_g=h3_g+(1/M)*(h4-h2);
%5
h5=h4+M*(h1_g-h2_g);
p5=p*(1-perd_carga(2)/100);
s5=XSteam('s_ph', p5, h5);
%6s
h6s=XSteam('h_ps', p_cond, s5);
%6
h6=h5-rend(2)*(h5-h6s);
s6=XSteam('s_ph', p_cond, h6);
x6=XSteam('x_ph', p_cond, h6);
%ext
puntos=500;
[Dp, H, S]=aprox_ext(h5, h6, s5, s6 ,p_ext, puntos);
while Dp>0.0001
[Dp, H, S]=aprox_ext(H(1), H(2), S(1), S(2) ,p_ext, puntos);
end
h_ext=(H(1)+H(2))/2;
%(1-x)h8+x*h_ext=h9
x_ext=(h9-h8)/(h_ext-h8);
end

%% RESULTADOS
rend_TV=((h5-h6)-((h1-h9)+(1-x_ext)*(h8-h7)))/(M*(h1_g-h4_g))*100;
rend_CC=rend_TV+rend_TG-rend_TV*rend_TG/100;
if x6<0.85
rend_CC=0.4;
end
if isnan(rend_CC)
rend_Ciclo(i)=-1;
else
rend_Ciclo(i)=rend_CC;
end
end

El resto del programa no guarda diferencias significativas con lo visto hasta el momento, dado que el
primer AG se desarrolló con esa misma finalidad; que a partir de dicho algoritmo, se pudiera realizar una
adaptación a distintos ciclos de vapor con una variación mínima del código.

ETSI Industriales - 161- Universidad Politécnica de Madrid


Capítulo 4

Resultados
En este Capítulo se va a realizar en primer lugar un análisis más extenso de los ciclos combinados
mediante el uso de los programas de simulación llevados acabo. Se irán dedicando distintas Secciones a
cada uno de los programas con el fin de comprender mejor los resultados que arrojan los mismos.
Tras finalizar el análisis de los resultados obtenidos en dichos programas, se mostrarán los que pro-
porcionan los algoritmos genéticos y se valorará su eficiencia.

4.1. Resultados obtenidos con los programas de simulación


Como se ha comentado, en esta sección se va a realizar un análisis de los distintos programas explicados
a lo largo del capítulo (2), siguiendo un orden similar. Al final de la Sección se realizará una comparación
de los resultados obtenidos.

4.1.1. Resultados obtenidos con CicloVap_1P_SinDesg

En esta sección se va a analizar el efecto de las distintas variables de entrada sobre el ciclo 1P sin
desgasificador.

4.1.1.1. Aclaración de las diferencias entre simulaciones subcríticas y supercríticas

Como se ha mencionado a lo largo del trabajo, en este programa no son comparables los resultados
arrojados por los ciclos subcríticos y los supercríticos, debido en parte a las diferencias en los criterios
de simulación entre ambos. Para mostrar dicha discontinuidad se muestra a continuación la variación del
rendimiento de un ciclo combinado manteniendo constantes todas las variables a excepción de la presión
de línea:

56
Rendimiento del Ciclo Combinado (%)

55

54

53

52

51

50
40 60 80 100 120 140 160 180 200 220 240 260
Presión de la línea (bar)

Figura 4.1: Variación del rendimiento de un ciclo combinado 1P sin desgasificador en función de la presión
(Elaboración Propia)

Como se puede ver, el rendimiento aumenta conforme aumenta la presión de evaporación, hasta llegar
a las presiones supercríticas. Se produce una discontinuidad tras la cual desciende el rendimiento, para
a continuación volver a aumentar ligeramente con la presión. Se ha razonado que este fenómeno sucede
probablemente porque en los ciclos subcríticos se ha tomado la aproximación de que la temperatura
del agua asciende de forma lineal. Esta base de diseño se puede ver al realizar los balances de energía
al principio y al final de los distintos intercambiadores, al contrario que en los ciclos supercríticos, en

ETSI Industriales - 163- Universidad Politécnica de Madrid


RESULTADOS

los que los balances se subdividen para hallar la evolución de temperatura del fluido en la CRC. Esta
curvatura precisamente es la causante de que el PP utilizado para definir el ciclo supercrítico tenga lugar
en el comienzo de la CRC en lugar de en zonas más alejadas del inicio, lo que habría permitido obtener
temperaturas de salida mayores con el consiguiente aumento del rendimiento.
En la figura (4.2a) se puede observar cómo la temperatura de salida en los casos supercríticos es menor
que en los subcríticos. Además en la figura inferior, se puede comprobar que el aumento de temperatura

800

700

600
Temperature (ºC)

500

400
p=40 bar
300 p=90 bar
p=150 bar
200
p=200 bar
100 p=230 bar
Gases Comb
0
0 100 200 300 400 500 600 700 800
Exchanged Heat (kJ/kg of air)

400
Localización del PP a 220 bar
350

300
Localización del PP a 230 bar
Temperature (ºC)

250

200

150

100

50

50 100 150 200 250 300


Exchanged Heat (kJ/kg of air)

Figura 4.2: Comparación de la evolución de temperaturas dentro de la CRC para distintas presiones
(Elaboración propia)

del agua líquida supercrítica no sigue una evolución lineal, si no que consta de cierta curvatura. Esto
conduce, como se resalta en la figura (4.2b), a que el PP se sitúe antes en presiones supercríticas que
en subcríticas. Por tanto, se llega a la conclusión de que el procedimiento llevado a cabo para ciclos
subcríticos es erróneo a partir de cierta presión, puesto que deja de ser válida la hipótesis de que la
evolución de temperatura entre dos puntos calculados sigue una evolución recta.
Esto en la realidad no es un problema dado que no existen apenas ciclos combinados que operen a
presiones subcríticas tan altas en ciclos de un nivel de presión. Es más normal implementar presiones tan
elevadas cuando se trata de ciclos 2P, 3P, o más.
Una vez realizada esta aclaración, se pasa a analizar los resultados de ambos ciclos, teniendo en cuenta
que para presiones altas pero aún subcríticas, los rendimientos y otros parámetros de salida pueden ser
mayores de lo que serían en la realidad.

4.1.1.2. Análisis paramétrico de las variables de diseño

En esta sección se va a realizar un análisis detallado sobre los valores que toman las variables de salida
del programa para ciertos intervalos de las variables de entrada.

Efecto del AP (fig. 4.3): El efecto del AP es similar al que tiene el Pinch Point. En estos ciclos,
es fácil deducir que cuanto menor sea este valor, más calor será necesario aportar durante el economi-
zador, dado que el agua líquida se mantendrá en este intercambiador de calor hasta haber alcanzado la

ETSI Industriales - 164- Universidad Politécnica de Madrid


Resultados obtenidos con los programas de simulación

temperatura de saturación a la presión de línea menos el AP. Como consecuencia de esto, y dado que
el punto 3 (vapor saturado) se mantiene fijo para una presión y Pinch Point dados, se deduce que la
cantidad de calor total que debe ser absorbida en ese tramo aumenta cuanto menor sea el AP, lo que
en el programa desarrollado equivale a que aumente la relación de caudales entre el aire y el agua, M
(figura 4.3c). Debido a este aumento del caudal de aire (que equivale a un incremento del caudal de gases
de combustión) se dispone de más cantidad de energía para intercambiar en los procesos de evaporación
y de sobrecalentamiento, traduciéndose en una mayor temperatura de salida de los gases de combustión
(figura 4.3a). Este aumento de temperatura provoca a su vez un mayor salto entálpico en la turbina de
vapor, con el consecuente aumento del rendimiento del ciclo (figura 4.3e), y en un aumento del título
de vapor (figura 4.3b), lo cual siempre es deseable para preservar los álabes de dicha turbina. El efecto
sobre los porcentajes de calor absorbidos en los distintos intercambiadores es más leve, pero se puede
concluir que un descenso del AP favorece un mayor porcentaje de calor absorbido en el economizador y
en el sobrecalentador, y un menos porcentaje del mismo en el evaporador (figura 4.3d).
En esta figura se han realizado simulaciones para distintos ciclos de gas, representados por la tem-
peratura de entrada de los GGCC en la caldera; 801◦ C en verde, 736.7◦ C en rojo, y 672.6◦ C en azul1 .
Se puede ver cómo su efecto sobre los parámetros de salida del ciclo es notablemente mayor al del AP,
favoreciendo el aumento de T5 con las consecuencias que ello implica, ya analizadas.

Efecto del PP (fig. 4.4): Tiene unos efectos sobre el ciclo análogos a los del AP. Esto se debe a
que un menor valor del PP ‘desplaza’ a la izquierda (inicio de la CRC) a la meseta de evaporación, lo que
conlleva un aumento del caudal necesario de gases de combustión para realizar el proceso de calentamiento
en el economizador en un tramo de menor longitud. De igual forma que sucede con el AP, esto conlleva
un aumento de temperatura a la salida de la CRC del vapor sobrecalentado, con sus correspondientes
aumentos de x6 y ηCC . Debido a que el efecto es muy similar, y para evitar repetir gráficas parecidas,
solo se presenta en la figura (4.4) la variación de estas dos últimas variables en función del PP y para los
mismos casos de ciclo de gas de la comparación anterior.

Efecto de la DI(fig. 4.5): El efecto de esta variable es más complicado de prever a primera vista,
pero es similar al del PP o el AP, aunque con mayor repercusión sobre los efectos finales. En primer lugar
se recuerda que DI se utiliza para fijar una temperatura mínima posible entre los gases de combustión a
su salida de la CRC y el agua a presión entrante en la misma. Esta variable por tanto solo empieza a hacer
efecto en los ciclos si la temperatura del agua entrante es lo suficientemente alta o si esta variable es mayor
que Tsalida gases − Tentrada agua . Es por esto que en las gráficas de la figura (4.5) se tiene un primer tramo
en el que no se produce ningún efecto ante la variación de DI. Una vez que DI supera el valor umbral
correspondiente al ciclo en cuestión, las gráficas comienzan a variar. A partir de este punto, un aumento
de DI implica, para empezar, que aumentan las pérdidas de energía al expulsar gases a una temperatura
mayor del mínimo posible. También implica que la relación de caudales M aumenta considerablemente, al
tener que conseguir calentar el fluido desde su temperatura de entrada hasta el la temperatura marcada
por Tsaturación − AP , ambas constantes, con una menor cantidad de calor específico disponible. Este
aumento de caudal implica que el sobrecalentamiento produce un incremento de la temperatura de salida
del vapor. Se puede ver en la gráfica (4.5a) que esta temperatura llega a sobrepasar el límite permitido,
Tentrada gases comb − DT , en el caso Tentrada gases comb = 801◦ C. Esto produce que el programa devuelva
los parámetros de salida con valor -2, lo que justifica el repentino descenso de las variables a partir
de DI ≈ 47◦ C. Hasta ese punto, el efecto del aumento de T5 tiene las mismas consecuencias sobre los
parámetros de salida que ya se han comentado en apartados anteriores. Cabe resaltar que el incremento
del rendimiento del ciclo combinado es escaso debido a que el aumento del trabajo obtenido en la turbina
de vapor no se da para un calor absorbido en la CRC constante, si no que este calor disminuye a medida
que aumenta DI.
1 En los siguientes gráficos, a no ser que se diga explícitamente lo contrario, se mantiene el código de colores para los
distintos casos de ciclo de gas

ETSI Industriales - 165- Universidad Politécnica de Madrid


RESULTADOS

750

700
T entrada GGCC=672.6ºC
T entrada GGCC=736.7ºC

T salida Vapor Sobrecalentado (ºC)


650 T entrada GGCC=801 ºC
600

550

500

450

400

350
1 2 3 4 5 6 7 8 9 10
AP (ºC)

(a) Efecto del AP sobre T5

0.96

T entrada GGCC=672.6ºC
Titulo de vapor a la salida de la turbina , x6

0.94
T entrada GGCC=736.7ºC
0.92
T entrada GGCC=801 ºC
0.9

0.88

0.86

0.84

0.82

0.8

0.78
1 2 3 4 5 6 7 8 9 10
AP (ºC)

(b) Efecto del AP sobre x6

4.45

T entrada GGCC=672.6ºC
4.4 T entrada GGCC=736.7ºC
T entrada GGCC=801 ºC
M (kg aire/kg agua )

4.35

4.3

4.25

4.2

4.15
1 2 3 4 5 6 7 8 9 10
AP (ºC)

(c) Efectol del AP sobre M

50

45

40
Calor absorbido (%)

35

30
q econ (%), T entrada GGCC=672.6ºC
25 q evap (%), " "
q sobrec (%), " "
20
q econ (%), T entrada GGCC=801 ºC
15 q evap (%), " "
q sobrec (%), " "
10
1 2 3 4 5 6 7 8 9 10
AP (ºC)

(d) Efecto del AP sobre qcaldera

53

T entrada GGCC=672.6ºC
52.5
T entrada GGCC=736.7ºC
52 T entrada GGCC=801 ºC
51.5
rend CC (%)

51

50.5

50

49.5

49
1 2 3 4 5 6 7 8 9 10
AP (ºC)

(e) Efecto del AP sobre ηCC

Figura 4.3: Resultados de la variación del Approach Point en CicloVap_1P_SinDesg

ETSI Industriales - 166- Universidad Politécnica de Madrid


Resultados obtenidos con los programas de simulación

Titulo de vapor a la salida de la turbina, x6


0.95

0.9

0.85

0.8

0.75
0 2 4 6 8 10 12 14 16 18 20
PP (ºC)
(a) Efecto del PP sobre x6

53

52.5

52

51.5
rend CC (%)

51

50.5

50

49.5

49

48.5
0 2 4 6 8 10 12 14 16 18 20
PP (ºC)

(b) Efecto del PP sobre ηCC

Figura 4.4: Resultados de la variación del Pinch Point en CicloVap_1P_SinDesg

850
T maxima de salida del vapor sobrecalentado
800
Temp vapor sobrecalentado (ºC)

750

700

650

600

550

500

450

400
20 25 30 35 40 45 50
DI (ºC)

(a) Efecto de la DI sobre T5

4.9

4.8
M(kg aire/kg agua)

4.7

4.6

4.5

4.4

4.3
20 25 30 35 40 45 50
DI (ºC)

(b) Efectol de la DI sobre M

60

58

56

54
rend CC (%)

52

50

48

46

44

42

40
20 25 30 35 40 45 50
DI (ºC)

(c) Efecto de la DI sobre ηCC

Figura 4.5: Resultados de la variación de la diferencia inicial de temperauras en CicloVap_1P_SinDesg

ETSI Industriales - 167- Universidad Politécnica de Madrid


RESULTADOS

Efecto de la presión de línea: Su efecto ya se ha comentado y ha sido el más analizado durante


el trabajo, por lo que no se van a representar gráficas sobre dicho efecto en este momento. Además, se
ha intuido que los resultados para valores altos conlleva cierto error debido a la invalidez de la hipótesis
de aumento lineal de la temperatura del agua. En cualquier caso, un aumento de p conlleva un aumento
de la temperatura de salida de los gases de combustión, lo que produce un aumento del rendimiento pero
no un aumento del título de vapor a la salida de la turbina, sino que este valor disminuye debido a que
la expansión comienza en puntos de menor entropía.

Efecto del PP en ciclos supercríticos (fig. 4.6): Las variables de entrada tienen un efecto en
los ciclos supercríticos similar a el que tienen en los subcríticos. Se ha elegido el PP para escenificar esta
afirmación.

750

700
Temp vapor sobrecalentado (ºC)

650

600

550

500

450

400
2 4 6 8 10 12 14 16 18 20
PP (ºC)

(a) Efecto del PP sobre T5

0.9
Titulo de vapor a la salida de la turbina, x6

0.88

0.86

0.84

0.82

0.8

0.78

0.76

0.74

0.72

0.7
2 4 6 8 10 12 14 16 18 20
PP (ºC)

(b) Efecto del PP sobre x6

4.45

4.4

4.35

4.3
M(kg aire/kg agua)

4.25

4.2

4.15

4.1

4.05

3.95
2 4 6 8 10 12 14 16 18 20
PP (ºC)

(c) Efecto del PP sobre M

55

54.5

54

53.5
rend CC (%)

53

52.5

52

51.5

51

50.5
2 4 6 8 10 12 14 16 18 20
PP (ºC)

(d) Efecto del PP sobre ηCC

Figura 4.6: Resultados de la variación del Pinch Point en CicloVap_1P_SinDesg para ciclos supercríticos

ETSI Industriales - 168- Universidad Politécnica de Madrid


Resultados obtenidos con los programas de simulación

Se observa claramente en la figura (4.6b) que el título de vapor obtenido en la salida de la turbina
de gas es menor del mínimo admisible para todos los valores de PP en los dos casos de ciclo de gas de
menor temperatura de entrada de los gases en la CRC.

4.1.1.3. Efecto de la variación conjunta de la presión de línea y el Pinch Point

El siguiente paso en el análisis de los resultados de este programa consiste en analizar cómo varían los
parámetros de salida con la variación de la presión y el Pinch Point simultáneamente. Se va a proceder a
mostrar y comentar gráficas de isocurvas en las que para la variación de dicho par de variables de entrada
se obtiene el resultado sobre uno de los parámetros de salida.
En esta sección se omitirá el estudio para distintos ciclos de gas, puesto que el efecto de la variación
de la temperatura de entrada de los gases de combustión a la CRC ha quedado bien definida; cuanto
mayor es la temperatura, mayor es el rendimiento obtenido, la temperatura del vapor sobrecalentado a la
salida,el porcentaje de calor absorbido en el sobrecalentador, y el título de vapor a la salida de la turbina.
Por contra, la relación de caudales de aire y de agua disminuye. Las gráficas han sido realizadas para el
caso intermedio de temperatura de entrada de los gases de combustión en la CRC 736.7◦ C.
A continuación se muestran las gráficas de isocurvas obtenidas para la variación de los distintos
parámetros de entrada citados;

T5 (º C)
220
700 650 600

200 650 600

600
650
180 550
600
550
160
600
550
140 500
p (bar)

600 550
500
120

550 500
100 450

500 450
80
550
400
60 450
500
400
40
5 10 15 20 25 30
PP (K)

Figura 4.7: Efecto de la variación conjunta de p y PP sobre la temperatura del vapor sobrecalentado en
CicloVap_1P_SinDesg

x6
220
0.87 0.86
0.88 0.84
200

0.8
5 0.83
6 4
180 7 0.8 0.8
0.8

160
83

82

140
p (bar)

0.

0.
0.85

120
0.84

0.8 0.
8 86
0.8
100 7

80 0.89
0.88 0.85 0.8
0.87 0.86 3
0.9 0.84
60
0.89
0.91 0.88
0.9 0.87 0.86 0.85
40
5 10 15 20 25 30
PP (K)

Figura 4.8: Efecto de la variación conjunta de p y PP sobre el título de vapor a la salida de la turbina en
CicloVap_1P_SinDesg

Como se ha comentado o se puede ver en las figuras de la Sección anterior, tanto el aumento de la
presión como el descenso del PP provocan un aumento de la temperatura a la salida del sobrecalentador,
la relación de caudales, el porcentaje de calor absorbido en el sobrecalentador y el rendimiento del ciclo,
y un descenso del porcentaje de calor absorbido en el evaporador. En estas gráficas, los efectos de la
modificación de estas variables se suman, dado que no se contraponen, y su efecto es más notable cuanto

ETSI Industriales - 169- Universidad Politécnica de Madrid


RESULTADOS

más curvatura presentan las isolíneas. No pasa así con el resto de las variables, en donde estos efectos
son contradictorios.
LLama especialmente la atención la figura (4.8), en donde se puede observar claramente cómo el
aumento del PP provoca un aumento del título de vapor, pero el de la presión atraviesa variaciones en
su efecto; en un primer lugar tiende a disminuir el título de vapor, y al llegar a cierta presión de línea
cercana a los 140 bares, cambia la tendencia y el título de vapor tiende a aumentar. Este cambio de
tendencia tan claro se debe a que, para presiones bajas, el aumento de entropía que conlleva el aumento
de temperatura no es capaz de compensar la disminuciíon de entropía que implica aumentar la presión
del fluido, por lo que la expansión en la turbina comienza cada vez más a la izquierda en los diagrams
T s. Esto conlleva que la expansión finalice en una zona bifásica de cada vez menor título de vapor. Sin
embargo, llegado a cierto nivel de presión, la generación de entropía debida al constante incremento e la
temperatura supera la disminución de entropía que conlleva el aumento de presión, por lo que a partir
de esa p, el vapor sobrecalentado a la salida de la CRC tendrá una entropía mayor según aumente la
presión, obteniéndose un mayor x6 .

M (kg aire/ kg agua)


220 4.7
4.8 4.6 4.5

200 4.7 4.6 4.5 4.4

180 4.5 4.4


4.7 4.6 4.3
160 4.4
4.5
4.6 4.3
140 4.2
p (bar)

4.4
120 4.5 4.3
4.2
100 4.1
4.4
4.3
80 4.2
4.1
4.5

4
60

40
5 10 15 20 25 30
PP (K)

Figura 4.9: Efecto de la variación conjunta de p y PP sobre la la relación de caudales másicos en Ciclo-
Vap_1P_SinDesg

q_econ (%)
220 48
46
44 48
200 46
44 46
180 44 46
42
44
160 42
44
42 44
40 42
140
p (bar)

40 42
40 42
120 38 40
38 40
38 40
100 36 38
36 38
36 38
34 36
80 34 36
34 36
32 34
32 34
60 32 34
30 32
30 32
30 32
28 30
40 28 30
5 10 15 20 25 30
PP (K)

Figura 4.10: Efecto de la variación conjunta de p y PP sobre el porcentaje de calor absorbido por el
economizador en CicloVap_1P_SinDesg

ETSI Industriales - 170- Universidad Politécnica de Madrid


Resultados obtenidos con los programas de simulación

q_evap (%)
220 10 10 10 10
15 15 15 15 15 15

200 20 20 20
20 20 20

180 25 25
25 25
25 25

160 30 30
30 30
30 30
140 35
p (bar)

35 35
35
35
35
120
40
40
40
40
100 40
40
45
45
45
80 45
45
45 50
50
60 50
50
50 55
50 55
40 55
5 10 15 20 25 30
PP (K)

Figura 4.11: Efecto de la variación conjunta de p y PP sobre el porcentaje de calor absorbido por el
evaporador en CicloVap_1P_SinDesg

q_sobrec (%)
220 45 40 40
40 40
40 40 35
35
200 35
35
35 30
35 30
180 30
30
160 30 25
30 25
25
140
p (bar)

25
20
120 25
20
25
100 20

20
80
15
60 20

15
40
5 10 15 20 25 30
PP (K)

Figura 4.12: Efecto de la variación conjunta de p y PP sobre el porcentaje de calor absorbido por el
sobrecalentador en CicloVap_1P_SinDesg

rend_CC (%)
220 54
54
200 53
54
53
180 53
53
160 53
52
53 52
140 52
p (bar)

52
120 52 51
52 51
51
100 51
51 50
51 50
80 50
50
50 49
60 49
50 49
49 48
49 48
40 48
5 10 15 20 25 30
PP (K)

Figura 4.13: Efecto de la variación conjunta de p y PP sobre el rendimiento del ciclo de combinado en
CicloVap_1P_SinDesg

El efecto de la variación simultánea de pares del resto de parámetros de entrada sobre el programa
CicloVap_1P_SinDesg es muy similar, y las distintas gr’aficas tienen entre sí formas análogas. A conti-
nuación se muestra como ejemplo cómo varía el rendimiento del ciclo global para variaciones conjuntas
de la diferencia inicial de temperaturas y el PP.

ETSI Industriales - 171- Universidad Politécnica de Madrid


RESULTADOS

rend_CC (%)
20

49.6
18
49.8
50.6 50.4
50.2 50
16

14 49.8
50.8 50.6 50.4
50.2 50
12
DI (K)

10 50.8 50.6 50.4


51 50.2 50

51.2 50.8 50.6 50.4


6 51 50.2

4
51.4 51.2 50.8 50.6 50.4
51
2
2 4 6 8 10 12 14 16 18 20
PP (K)

Figura 4.14: Efecto de la variación conjunta de la DI y el PP sobre el rendimiento del ciclo de combinado
en CicloVap_1P_SinDesg

4.1.2. Resultados obtenidos con CicloVap_1P_ConDesg

Dado que el anterior ciclo y este, de 1P con desgasificador, son muy similares y han seguido la misma
metodología para su simulación, en esta sección se va a analizar solo el efecto de la presión de extracción.

4.1.2.1. Análisis paramétrico del efecto de la presión de extracción

Se ha retomado la utilización de tres tipos distintos de ciclo de gas; los mismos que los utilizados en
la Sección (4.1.1.2), por lo que el código de colores usados se mantiene invariable. Se ha utilizado para
las simulaciones una presión de línea de 90 bares.
Puede observarse que un aumento de la presión de extracción conlleva un aumento de la temperatura
de salida, debido a que se necesita una mayor relación de caudales másicos, lo que conlleva que en el
tramo del sobrecalentador halla más calor total disponible. Debido a este aumento de temperatura de
salida aumenta el título de vapor a la salida de la turbina y el rendimiento del ciclo. Se recuerda que el
motivo por el cual no se utilizan presiones de extracción altas es que aunque aumente el rendimiento, el
calor total cedido por los gases de combustión es menor ya que salen de la CRC a temperaturas mayores.
Esto puede apreciarse claramente en la figura 4.20.
Se recuerda que, en la figura (4.18), las líneas continuas hacen referencia al porcentaje de calor
absorbido en el economizador; las curvas de trazo discontinuo toman los valores del porcentaje de calor
absorbido en el evaporador, y por último, las líneas de trazadas con puntos y rallas representan el
porcentaje de calor absorbido en el sobrecalentador. Se puede observar en dicha figura que con el aumento
de la presión de extracción, el porcentaje de calor absorbido en el sobrecalentador aumenta en detrimento
de los otros dos.
Temp vapor sobrecalentado (ºC)

800

700

600

500

400
0 2 4 6 8 10 12
p_ext (bar)

Figura 4.15: Efecto de la variación de la presión de extracción sobre la T5 en CicloVap_1P_ConDesg

ETSI Industriales - 172- Universidad Politécnica de Madrid


Resultados obtenidos con los programas de simulación

Titulo de vapor a la salida de la turbina, x6


1

0.95

0.9

0.85

0.8
0 2 4 6 8 10 12
p_ext (bar)

Figura 4.16: Efecto de la variación de la presión de extracción sobre x6 en CicloVap_1P_ConDesg

5
M(kg aire/kg agua)

4.8

4.6

4.4

4.2
0 2 4 6 8 10 12
p_ext (bar)

Figura 4.17: Efecto de la variación de la presión de extracción sobre M en CicloVap_1P_ConDesg

60
Calor absorbido (%)

50

40

30

20

10
0 2 4 6 8 10 12
p_ext (bar)

Figura 4.18: Efecto de la variación de la presión de extracción sobre qcaldera en CicloVap_1P_ConDesg

50
rend CC (%)

45

40

35
0 2 4 6 8 10 12
p_ext (bar)

Figura 4.19: Efecto de la variación de la presión de extracción sobre ηCC en CicloVap_1P_ConDesg

ETSI Industriales - 173- Universidad Politécnica de Madrid


RESULTADOS

850

q total absorbido (kJ/kg aire) 800

750

700

650

600

550

500
0 2 4 6 8 10 12
p_ext (bar)

Figura 4.20: Efecto de la variación de la presión de extracción sobre el calor total absorbido por el agua
en la CRC, en CicloVap_1P_ConDesg

Los cambios de curvatura que tienen lugar en torno a pext = 1 bar se deben a que para presiones
bajas de extracción, la temperatura de entrada del agua a la CRC es menor que Tsalida GGCC − DI. Por
tanto, y como se puede ver dada la mayor pendiente de las curvas en ese tramo, es ahí cuando la presión
de extracción tiene una mayor influencia sobre los parámetros relacionados con la CRC.
Los efectos de la presión de extracción sobre las variables de salida de los ciclos supercríticos son
análogos a los efectos en los ciclos subcríticos.

4.1.2.2. Efecto de la variación conjunta de la presión de línea y la presión de extracción

Esta es la pareja de variables que se ha elegido para estudiar, dado que los efectos del resto de variables
son más fácilmente predecibles. Otra vez, se realizará un estudio únicamente de los ciclos subcríticos, que
son los más comunes en 1P.
T5 (º C)
220 600 625
575
600 625
550 575 600
200 600
575 600
550 575
525 575
180 550 575
550
500 525 550
160 525 550
525
500 525
140 475
p (bar)

500 525
500
475
120 450 500
475 500
450 475
100 425 475
450
475
80 400 425 450

60 425
375 400 0
45 475
40
1 2 3 4 5 6 7 8 9 10
p_ext(bar)

Figura 4.21: Efecto de la variación conjunta de p y p_ext sobre la temperatura del vapor sobrecalentado
en CicloVap_1P_ConDesg

Como puede verse, el efecto de la presión de extracción es más difícil de prever que otros analizados.
Una primera apreciación es que el efecto de aumentar la misma es más intenso cuanto menor es la la
presión de exctracción; a medida que dicho valor va aumentando, su efecto disminuye. Esto se debe a
que, como se ha comentado en la Sección anterior, para presiones de extracción bajas no se modifican
apenas los las propiedades del fluido dentro de la CRC, y solo cuando se alcanza una presión tal que al
realizar la compresión desde el desgasificador hasta la presión de línea la temperatura resultante obliga a
expulsar gases de combustión a más temperatura de la mínima posible, y por tanto aumentan las pérdidas
energéticas, cuando disminuye su efecto sobre los parámetros de salida. También este efecto es mayor en
la mayoría de las variables de salida si se tienen presiones bajas en el ciclo. Esto puede ser debido a que
el valor relativo de la presión de extracción con respecto a la de línea es mayor para presiones de línea

ETSI Industriales - 174- Universidad Politécnica de Madrid


Resultados obtenidos con los programas de simulación

x6
220 0.85
0.84
0. 0.83
82 0.85
200 0.84
0.83 0.84
180
0.
0.84
18 0.8 0.83
2
160

140
p (bar)

3
0.8
120

2 0.84
100 0.8
0.83
81

0.84
0.

80 0.84 0.85
0.83
0.82 0.84 0.85
0.85 0.86
60
0.83 0.84 0.86 0.87
0.85 0.86 0.87 0.88
0.85 0.86 0.87 0.88 0.89
40 0.9
1 2 3 4 5 6 7 8 9 10
p_ext(bar)

Figura 4.22: Efecto de la variación conjunta de p y p_ext sobre el título de vapor a la salida de la turbina
en CicloVap_1P_ConDesg

es mayor que para presiones altas. Una vez realizado este apunte, se pasa a comentar el efecto de estas
variables sobre los parámetros de salida.
Con respecto a la temperatura del vapor sobrecalentado (fig. 4.21), se puede afirmar que un aumento
de la presión de extracción favorece un aumento de temperatura, aunque dicho efecto es muy ligero
para presiones de línea altas. Similar a esta gráfica es la de la figura (4.24), pero se diferencia en que
la sensibilidad de la relación de caudales hacia la presión de extracción se mantiene durante un tramo
mayor de presiones de línea. Este aumento de T5 y de M se relaciona con el aumento del porcentaje de
calor requerido por el sobrecalentador (figura 4.27), cuya forma es similar, y del rendimiento del ciclo
combinado.
Se puede observar en la gráfica (4.22) que el efecto de pext sobre x6 es mayor para presiones altas
que para presiones bajas, al contrario que sucedía con otros parámetros. Al contrario también que otras
variables de salida, la fracción másica del caudal extraído hacia el desgasificador (figura 4.23) no se ve
afectado apenas por la presión e línea en los casos de baja presión de extracción, y que dicha influencia
va aumentando conforme aumenta la presión de extracción del ciclo.

x_ext
220
95
0.1

200
0.045
0.075

0.105

0.135
0.03
0.06
0.09

0.12

21
0.15

0.165

0.18

0.

180

160
5
0.22

140
p (bar)

120
0.195

0.2

100
0.045
0.075

0.105

0.135
0.03
0.06
0.09

0.12

0.15

0.165

1
0.18

80

60
0.21
0.195
40
1 2 3 4 5 6 7 8 9 10
p_ext(bar)

Figura 4.23: Efecto de la variación conjunta de p y p_ext sobre la fracción másica del caudal de extracción
en CicloVap_1P_ConDesg

Como se muestra en la figura (4.26), el porcentaje de calor necesario para llevar a cabo la evaporación
se mantiene prácticamente invariable con respecto a la presión de extracción, exceptuando el primer
tramo ya comentado.

ETSI Industriales - 175- Universidad Politécnica de Madrid


RESULTADOS

M (kg aire/kg agua)


220 5 5.1 5.2 5.3
4.9 5.2
4.8 5.1
200 5 5.2
4. 5.1
7 4.9 5
180 5.1
4. 4.8
6 4.9 5
160 5
4.7 4.8 4.9

140 4.9
p (bar)

4.8
4.

4.6
5

4.7
120
4.8
4.7
100 4.6
4.4

4.8
4.5
80

60 4.7
4.3

4.8
4.6 4.9
40
1 2 3 4 5 6 7 8 9 10
p_ext(bar)

Figura 4.24: Efecto de la variación conjunta de p y p_ext sobre la la relación de caudales másicos en
CicloVap_1P_ConDesg

q_econ (%)
220

40
200 35

35
180
40
45

35
160
35 30
140
p (bar)

30
35 30
40

120
30 25
100 25
30 25
35

80 25 20
20
25 20
60
30 20 15
15
40 25 20 15
1 2 3 4 5 6 7 8 9 10
p_ext(bar)

Figura 4.25: Efecto de la variación conjunta de p y p_ext sobre el porcentaje de calor absorbido por el
economizador en CicloVap_1P_ConDesg

q_evap (%)
220 15 15 15
15 15 15
20 20 20 20 20
20
200
25 25 25 25 25
25
180 30 30 30 30
30
30
35 35 35
160 35 35
35
40 40 40
140 40 40
p (bar)

40
45 45 45
120 45
45
45 50
50 50
100 50
50
50 55 55
55 55
80 55
55 60 60
60 60
60 60
60
65 65 65 65
40 65
1 2 3 4 5 6 7 8 9 10
p_ext(bar)

Figura 4.26: Efecto de la variación conjunta de p y p_ext sobre el porcentaje de calor absorbido por el
evaporador en CicloVap_1P_ConDesg

rend_CC (%)
220 59
57 58 60
54
53

55

200 56
59
180 58
57
59
160
58
56
52

140 55
p (bar)

57
54 58
120 53 56 57
51

100 55
57
56
54
80 55 56
52 53
50

54 55
60
49

53 54 55
51 52
40 53 54
1 2 3 4 5 6 7 8 9 10
p_ext(bar)

Figura 4.29: Efecto de la variación conjunta de p y p_ext sobre el rendimiento del ciclo de combinado en
CicloVap_1P_ConDesg

ETSI Industriales - 176- Universidad Politécnica de Madrid


Resultados obtenidos con los programas de simulación

q_sobrec (%)
220 40 45 45 50 50
45 45
35 40 45
40
200 40
35 40
30 40
35
180 35
35
30 35
25 30
160 30
30
25 30
140
p (bar)

20 25
25
120
25
20 25
100
15 20

80 20

60
15
20
40
1 2 3 4 5 6 7 8 9 10
p_ext(bar)

Figura 4.27: Efecto de la variación conjunta de p y p_ext sobre el porcentaje de calor absorbido por el
sobrecalentador en CicloVap_1P_ConDesg

q_tot (kJ/kg aire)


220

200

180
670
660
650
640
630

620

610

600

590

580

570

560

550

540
160

140
p (bar)

120

100

80
670
660
650
640
630

620

610

600

590

580

570

560

550

540
60

40
1 2 3 4 5 6 7 8 9 10
p_ext(bar)

Figura 4.28: Efecto de la variación conjunta de p y p_ext sobre el calor total absorbido en la CRC en
CicloVap_1P_ConDesg

Con esto se da por finalizado el análisis de los resultados de los ciclos 1P con desgasificador.

4.1.3. Resultados obtenidos para los programas 2P sin recalentamiento

Dado que se ha analizado en detalle en la sección anterior cómo afectan cada una de las variables a
un ciclo simple, y este efecto se mantiene para el resto de los ciclos de vapor independientemente de sus
niveles de presión, no se va a realizar una explicación tan detallada. Se procederḿostrando algunas de
las gráficas obtenidas a partir de la variación simultánea de las presiones de alta y de baja presión.
En esta sección se analizará el primer par de programas ejecutados. Se recuerda que uno se dedicaba
al estudio de los ciclos de alta y baja en paralelo, y el otro exploraba la posibilidad de que el ciclo de alta
esté a continuación del de baja, o incluso que el sobrecalentador de baja se intercale con el economizador
de alta.
Como se ha comentado, se va a estudiar el efecto de la variación de las presiones de línea sobre un
ciclo de vapor de dos líneas de presión sin recalentamiento. No se va a realizar una diferenciación entre
los programas en paralelo y en cascada dado que a pesar de poder modificar la posición del sobreca-
lentador de baja, no se ha considerado que pueda colocarse tras el evaporador de alta, por lo que los
resultados obtenidos son muy similares para ambas simulaciones. Si se hubiera previsto esta posibilidad,
la temperatura del punto 5b podría tomar valores mucho mayores, y entonces las diferencias entre ambas
simulaciones sería notable.

Efecto sobre las temperaturas de salida de los caudales de vapor sobrecalentado de alta
y de baja (figs. 4.30 y 4.31): A continuación se muestran dos gráficas que permiten observar la
evolución de las temperaturas de salida del vapor sobrecalentado de alta y de baja presión; Como se
puede observar, las gráficas toman una forma muy distinta. Se puede apreciar que en ambas gráficas hay
zonas que no se han representado. Esto es debido a que para los valores para los cuales se realizaban esas

ETSI Industriales - 177- Universidad Politécnica de Madrid


RESULTADOS

Temperatura de salida del vapor sobrecalentado de alta presión (T A, ºC)


20

585
560
550

575

580
565
545

555

590

595
0

570
54
15
P B (bar)

545 0

0
55 0

60
56

5
58

60
5
5 5
55

57
56

0
10

58

0
0 0
57

61
59 5
59

5
550

61
555
560 0
565 62
560 570 575 580 585
565 600 625
570 590 595 605 630
575 575 580 610 615
5 585
60 80 100 120 140 160 180 200 220
P A (bar)

(a) T5a (◦ C)

Temperatura de salida del vapor sobrecalentado de baja presión (ºC)


20
230

26
240

230
250

240
260
220

15

210
25
P B (bar)

220
0
26
270 260
0

0 23
23

10 24 0 0
25 270 24
280 270
250 0 20 190
0
280 290 280 2
260 290 260 220 10
290 300 300 270
270 310
310 320 300 290 280 2
250240 30
280 300 320 330 320310
290 310 330 340 350 340 330 260
27
5 320 340 350 360 370 360 350 340330 320310300 290 2800
60 80 100 120 140 160 180 200 220
P A (bar)

(b) T5b (◦ C)

Figura 4.30: Efecto de la modificación de las presiones de línea sobre las temperaturas de salida de vapor
sobrecalentado

T 5B (ºC)

360

340
400

320
350

300
300
280
250
260
200
240
150
20 220
220
15 200
180 200
160
10 140
120
100
80
5 60
P B (bar) P A (bar)

Figura 4.31: Representación en 3D de la variación de T5b con las presiones de la línea

simulaciones daban resultados no válidos. Por tanto, una primera conclusión que puede hacerse es que si
aumentan ambas presiones lo suficiente, aumentan las posibilidades de alcanzar temperaturas imposibles
dentro de la caldera.
Se puede apreciar claramente que T5a aumenta si aumenta la presi’on de la línea de alta, y desciende
si aumenta la de baja.
Por otra parte, T5b aumenta con la presión de la línea de alta (esto provoca que el sobrecalentador
de baja disponga de más espacio para absorber calor, dado que están en paralelo) hasta llegar a cierto
punto, tras el cual disminuye con el incremento de dicha presión. T5b desciende también si aumenta la
presión de baja, lo cual se debe a que cuanta mayor sea la presión a la que evapora el caudal de baja,
menos energía disponible queda para que se sobrecaliente, dado que en la simulación se toma como base
de diseño que el calentamiento del economizador de alta tiene que llevarse a cabo sí o sí.

ETSI Industriales - 178- Universidad Politécnica de Madrid


Resultados obtenidos con los programas de simulación

Es de interés mostrar la gráfica 3D equivalente de la figura (4.30b), que ayuda a entender mejor el
efecto de las presiones sobre esta variable.
En esta figura (4.31) se ve más claramente cómo las mayores temperaturas se alcanzan para valores
intermedios de presión de alta y lo más bajos posibles de presión de baja.

Efecto sobre el título de vapor a la salida de la turbina (fig. 4.32): Como se puede obserbar,
y de igual forma que en los ciclos 1P, el t’itulo de vapor desciende si aumentamos las presiones de línea,
teniendo la variación de pa un efecto de mayor magnitud. La explicación a este fenómeno es la misma
que para los ciclos 1P; una menor presión conlleva una mayor generación de entropía en los procesos de
calentamiento, y al realizar la expansión se termina en un punto de equilibrio bifásico o incluso vapor
sobrecalentado (aunque ese no es el caso en esta simulación).

Titulo de vapor a la salida de la turbina


20

0.8
0.86

4
0.8

0.
5

38
0.8

15
7
P B (bar)

0.8
4 0.8
0.8 3
0.8 5
6
10 0.84
0.8
7 0.85
0.86
0.88
0.84
0.85
0.87 0.86
0.89
0.88 0.87 0.85
0.86
0.9 0.89 0.88 0.87 0.86
5
60 80 100 120 140 160 180 200 220
P A (bar)

Figura 4.32: Efecto de la modificación de las presiones de línea sobre el título de vapor a la salida de la
turbina

Efecto sobre la relación de caudales másicos de aire y de agua (fig. 4.33) Dado que durante
el primer tramo de la CRC, en el cual se realiza el balance de masas por el que se obtiene esta variable,
está formado exclusivamente por caudal de baja presión, el efecto de pa es nulo sobre este parámetro. Por
tanto, pb tiene el mismo efecto sobre esta variable que el que tenía la presión de línea en los ciclos 1P.
Cuanto menor sea esta presión, mayor será la relación de caudales, por tener que realizar el calentamiento
del economizador con una energía específica disponible menor.

M (kg aire/kg agua)


20

15 4.18 4.18 4.18 4.18 4.18


P B (bar)

4.2 4.2 4.2 4.2 4.2


10
4.22 4.22 4.22 4.22 4.22 4.22

4.24 4.24 4.24 4.24 4.24 4.24


4.26 4.26 4.26 4.26 4.26 4.26
4.28 4.28 4.28 4.28 4.28 4.28
4.3 4.3 4.3 4.3 4.3 4.3
4.32 4.32 4.32 4.32 4.32 4.32
5 4.34 4.34 4.34 4.34 4.34 4.34
60 80 100 120 140 160 180 200 220
P A (bar)

Figura 4.33: Efecto de la modificación de las presiones de línea sobre M

Efecto sobre los porcentajes de calor absorbidos en cada tramo de la CRC (fig. 4.34)
Se recuerda que la información proporcionada por esta variable incluye el porcentaje de calor absorbido
por todo el caudal en el economizador de baja, qinicio , el cedido al evaporador y sobrecalentador de baja
juntos, qbaja , y al absorbido por el caudal de alta incluyendo su paso por el economizador, el evaporador

ETSI Industriales - 179- Universidad Politécnica de Madrid


RESULTADOS

y el sobrecalentador de alta; qalta . Se puede ver que qinicio no varía con la presión de alta, de la misma
forma que sucedía con M . Por otra parte, qbaja aumenta con la presión de baja y disminuye si aumenta
la presión de alta. Por último, qalta sigue la evolución contraria que qbaja , dado que la suma de los tres
porcentajes tiene que dar el 100 %. De esta forma, qalta aumenta para valores menores de pb (dado que si
la presión de baja es menor, la relación de caudales másicos aumenta y esto deriva en una mayor cantidad
de calor disponible para sobrecalentar el vapor de alta), y disminuye para valores altos de presión de alta,
dado que en este caso la cantidad de calor necesaria para llevar a cabo la evaporación disminuye.
q CALDERA
20
5 71.25
3. 71.25
1 q alta
71.25 14.25 71.25 13
71.25
14.25 .5 q baja
14.2
5 72.5
15 72.5
q inicio
5 72.5
2 72.5
14. 72.5
P B (bar)

14.2
5 73.75
73.75 15
15 73.75 73.75
73.75 15 75
10 75
14.2
15 75 5
75 15
75 75 76.25
15.75
15.75 15.75
76.25
15 .25
76.7 15
76.25 5
15.75 76.25
16.5 76.25
16.5
16.5 .5
77.75
77.5 16.5 15
5
60 80 100 120 140 160 180 200 220
P A (bar)

Figura 4.34: Efecto de la modificación de las presiones de línea sobre qcaldera

Efecto sobre la fracción másica del caudal de extracción (fig. 4.35) En este caso, se puede
ver otra vez cómo para bajas presiones de la línea de baja se tiene que la magnitud del efecto de la
variación de dicha presión o la de alta sobre xext es notablemente mayor que para valores altos de pb .
Este efecto ya se ha razonado en secciones anteriores. Cabe destacar que xext aumenta también si lo hace
la presión de la línea de alta.

Fracción másica de caudal de extracción


20
0.11

0.
12
0.1

0.
5

11
0.1
0.11

0.
1

9
6

11
17

8
4

15
P B (bar)

0.1
0.1 19
0.1
0.

0.1 0. 1 17 18
11

15 16
3

0.1
10 14
0.117 0.11
0.116 8
0.1 0.115
12
0.11 0.114
3 0.116 0.117
0.11 0.115
1 0.114
0.112 0.113 0.115 0.116
0.11 0.113 0.114
5 0.111 0.112 0.115
60 80 100 120 140 160 180 200 220
P A (bar)

Figura 4.35: Efecto de la modificación de las presiones de línea sobre xext

Efecto sobre el rendimiento del ciclo combinado (fig. 4.36) Por último, pasamos a analizar
el efecto de las presiones sobre el rendimiento del ciclo global. Se puede ver que éste aumenta cuanto
mayores son las presiones de línea, y sobre todo para presiones elevadas de la línea de alta. Esto se debe
en parte a que en la simulación se ha introducido un valor de la fracción de caudal de alta mayor de 0.5.

ETSI Industriales - 180- Universidad Politécnica de Madrid


Resultados obtenidos con los programas de simulación

rend CC (%)
20

54

54

55
.5
52

52.5

53

53.5
15
P B (bar)

54
54

.5
10
52

52.5

53
53

.5
54 54
.5

5
60 80 100 120 140 160 180 200 220
P A (bar)

Figura 4.36: Efecto de la modificación de las presiones de línea sobre ηCC

4.1.4. Resultados obtenidos para los programas 2P con recalentamiento


Se va a seguir un procedimiento similar al visto para los ciclos sin recalentamiento. Dado que tampoco
aquí se ha valorado la posibilidad de intercalar el sobrecalentador de baja con el de alta, otra vez lo
resultados obtenidos para ambos programas son similares, y el efecto de los inputs, muy parecido. Se va
a realizar la misma comparación que en la Sección anterior, variando las presiones de línea.
Temperatura de salida del vapor sobrecalentado de alta presión
20
700

660

660
680
15 660
72
0
P B (bar)

700 680
680
700 680
740 720
700
10 700
720 700
760 740 720
720 720
740
780 760 740
760 740 740
800 780
820 800
840
5 860
60 80 100 120 140 160 180 200
P A (bar)

Figura 4.37: Efecto de la modificación de las presiones de línea sobre T5a en un ciclo 2P con recalentamiento

Temperatura de salida del vapor sobrecalentado de baja presión


400

350
450

400
300
350

300
250

250

50
200 200
100
150 150
5 200
10
15 250
20
P A (bar)
P B (bar)

Figura 4.38: Efecto de la modificación de las presiones de línea sobre T5b en un ciclo 2P con recalentamiento

En este caso, la presión de salida de la línea de alta, que es igual a la presión de salida del caudal
recalentado, aumenta para valores decrecientes de ambas presiones de línea. Esto es así porque de ser
menores, mayor es la cantidad de calor disponible para llevar a cabo el recalentamiento.
El efecto sobre la temperatura de salida de baja es más leve, y ha tenido que representarse en 3D para
poder apreciarlo. Se puede ver que esta temperatura aumenta conforme aumenta la presión de baja, y
que el efecto de la presión de alta es casi nulo.

ETSI Industriales - 181- Universidad Politécnica de Madrid


RESULTADOS

Titulo de vapor a la salida de la turbina


20 0.995 0.994
0.998
0.997 0.996
0.999 0.995
19.5 1 0.998 0.997 0.996
1 0.999
19 0.998 0.997
0.999 0.998
18.5 1 0.999

18 1 1
P B (bar)

17.5

17

16.5

16

15.5

15
120 130 140 150 160 170 180 190 200 210
P A (bar)

Figura 4.39: Efecto de la modificación de las presiones de línea sobre x6 en un ciclo 2P con recalentamiento

Titulo de vapor a la salida de la turbina


1

0.999

0.998
1

0.998 0.997

0.996 0.996

50
0.994
100 0.995

0.992 150
5 0.994
10 200
15
250 P A (bar)
20
P B (bar)

Figura 4.40: Representación en 3D del efecto de la modificación de las presiones de línea sobre x6 en un
ciclo 2P con recalentamiento

Uno de los objetivos buscados que la implementación del tramo de recalentamiento es el aumento del
título de vapor. Como puede verse en las figuras (4.39) y (??), solo para presiones altas tanto en la línea
de baja como en la de alta se obtiene a la salida de la turbina un estado de equilibrio bifásico, y no calor
sobrecalentado. Se recuerda que en estos programas q_caldera cuenta con una cuarta componente, que

M (kg aire/kg agua)


20

5 5 5 5 5 5

15
5.1 5.1 5.1 5.1 5.1 5.1
P B (bar)

5.2 5.2 5.2 5.2 5.2 5.2

10 5.3 5.3 5.3 5.3 5.3 5.3

5.4 5.4 5.4 5.4 5.4 5.4


5.5 5.5 5.5 5.5 5.5 5.5
5.6 5.6 5.6
5.7
5.8
5
60 80 100 120 140 160 180 200
P A (bar)

Figura 4.41: Efecto de la modificación de las presiones de línea sobre M en un ciclo 2P con recalentamiento

almacena el valor del porcentaje de calor absorbido por el recalentador. Se puede ver que la forma de las
curvas qinicio y qbaja se mantiene, mientras que qalta varía con respecto a los ciclos sin recalentamiento.
Ambos descienden para presiones superiores en las líneas de alta y de baja.
El motivo de que en la gr’afica (4.43) no se aprecie el efecto da bajas presiones sobre xext es que
en dichos niveles la simulación da como resultado ciclos imposibles. Se aprecia bien en dicha figura que
cuanto mayor es la presión de alta, mayor debe ser la de baja para que el ciclo sea posible.

ETSI Industriales - 182- Universidad Politécnica de Madrid


Resultados obtenidos con los programas de simulación

q CALDERA
20
21 5
75
3.

.5
qinicio

22

24.75
5

.25
.75

24
21 56 q

23
15 155 15 15 .2 15 15 baja
5 55
q

57
alta

.5
60
15 21 qrec
6.25

58
13.75 13.75 13.75 13.75 6.25
13.75 13.75

.75
75
P B (bar)

6.25
5 21. .5 6.25
22 56.2
5
5
12.5 12.5 6.2 12.5 57 12.5 12.5 12.5
.5

23.25
7.5 7.5
10

24
56.2
57.5

24
7.5

.7
11.25 6.25 11.25 11.25 11.25 11.25 11.25

5
22.5 5 58
7. .75
8.75 57.5 8.75
60

10 10 10 10 10 10 8.75
8.75
22.5
7.5
8.75 8.75
5
60 80 100 120 140 160 180 200
P A (bar)

Figura 4.42: Efecto de la modificación de las presiones de línea sobre qcaldera en un ciclo 2P con recalen-
tamiento

Fraccion masica de caudal de extraccion


20 0.04
0.0
39 0.04

0.039

0.039
15 0.039
0.03 0.039
8 0.039
P B (bar)

0.038
0.038
0.038
0.038 0.038
0.037
10
0.037
0.037
0.037 0.037 0.037
0.036
0.036
0.036 0.036
0.035
0.035
0.034
5
60 80 100 120 140 160 180 200
P A (bar)

Figura 4.43: Efecto de la modificación de las presiones de línea sobre xext en un ciclo 2P con recalenta-
miento

rend CC (%)
20
54.6

55

.4
.8

.6
55
.2
54

55
55

8
55.
15
P B (bar)

55.8
55.6
55 55.4
.2
55 55.8
56
55.6 56
10 55.8
55.4 56
56.2
55.6 55.8 56 56.2
56.2 56.4
56 56.2 56.4
55.8 56.4
56.2
56
56.2
5
60 80 100 120 140 160 180 200
P A (bar)

Figura 4.44: Efecto de la modificación de las presiones de línea sobre el rendimiento de un ciclo combinado
2P con recalentamiento

Por último, se puede apreciar en la gráfica (4.44) que la presión de baja juega un papel mucho más
relevante en la determinación del rendimiento del ciclo combinado. Esto es porque el recalentamiento tiene
lugar precisamente a dicha presión, tras juntar el caudal de vapor sobrecalentado de baja y el caudal de
alta parcialmente expandido. Se puede ver cómo el rendimiento aumenta para presiones menores en la
línea de baja y presiones mayores en la línea de alta.
Con esto se da por concluido el análisis de los resultados arrojados por los programas de simulación.

ETSI Industriales - 183- Universidad Politécnica de Madrid


RESULTADOS

4.2. Resultados de los Algoritmos Genéticos


A continuación se van a exponer muy brevemente algunos de los resultados obtenidos para los distintos
algoritmos genéticos desarrollados, comenzando por el más simple de ellos.

4.2.0.1. Resultados obtenidos con AG_1P_SinDesg

Este programa es capaz de encontrar rápidamente un máximo aceptable, para los ciclos subcríticos.
Este resultaado obtenido puede variar dependiendo de algunas variables de entrada del AG, como por
ejemplo del numero de individuos. Cuanto mayor sea este parámetro, mayores serán las posibilidades de
dar con el máximo absoluto. En la siguiente figura puede verse una comparación de la simulación obtenida
utilizando N = 20 individuos y N = 100 individuos, manteniendo constantes el resto de parámetros.

55

54

53

52

51

Fitness max, N=20


50
Fitness media, N=20
Fitness max, N=100
Fitness media, N=100
49
0 5 10 15 20 25 30 35 40

Figura 4.45: Comparación de los resultados obtenidos en AG_1P_SinDesg_sub para distinto número de
individuos en cada población

Así mismo, la modificación de otros parámetros de entrada como la presión de selección o la intensidad
de mutación provocan que el algoritmo finalice antes. En el caso de la figura anterior, las soluciones dadas
por el AG para un ciclo de gas con una temperatura de entrada de los gases de combustión en la CRC es
de 800,01◦ C:

• Solución aportada para N = 20 individuos; p=217,0053 bar; PP=2,09111 K.

• Solución aportada para N = 100 individuos; p=220,0000 bar; PP=2,0000 K.

Se puede ver que las soluciones tienden a tener la máxima presión y el mínimo PP posible. También
de puede apreciar que las soluciones obtenidas por ambos algoritmos son muy similares, obteniendo un
fitness máximo apenas diferenciable como puede verse en la figura (4.45).

4.2.0.2. Resultados obtenidos con AG_1P_SinDesg_AP

Este programa optimiza el mismo ciclo pero introduce también la el AP como parámetro a optimizar.
En la figura (4.46) puede observarse la evolución del fitnes máximo (trazo contínuo) y el medio (trazo
discontinuo) durante el avance de la iteración;
La simulación de la figura (4.46) ha sido realizada para un ciclo de gas en el que la temperatura
de entrada de los gases de combustión en la CRC es de 800,01◦ C, y el mejor individuo devuelto por la

ETSI Industriales - 184- Universidad Politécnica de Madrid


Resultados de los Algoritmos Genéticos

55.5

55

54.5

54

53.5

53
0 10 20 30 40 50 60 70 80

Figura 4.46: Evolución de los fitness máximo y medio de cada población durante las iteraciones

función es tiene los siguientes genes; p=220,4272 bar; PP=10,0079 K; y AP=6,9234 K. Este resultado
refleja que a pesar de seguir buscando la presión máxima, en este caso el rendimiento máximo no se da
para el PP mínimo posible, si no que se busca una relación de compromiso con el AP.
Otra conclusión que se saca de la figura (4.46) es que el algoritmo da resultados correctos, dado que el
rendimiento máximo alcanzado es superior a los obtenidos por el AG que no contempla la optimización
del Approach Point.

ETSI Industriales - 185- Universidad Politécnica de Madrid


Capítulo 5

Gestión del Proyecto

5.1. Presupuesto Económico

Los ordenadores constan de un período de amortización de cuatro años generalmente, y el de la licencia


de Matlab es de un año dado que sólo se permite adquirir dicha licencia por períodos de un año.
Por otra parte, el período de utilización de ambos productos destinado a la realización del trabajo es
un año.
Denttro de la cantidad de horas dedicadas se ha incluido el tiempo que ha llevado el proceso de
investigación, desarrollo de los programas y redacción de la memoria.

5.2. Planificación Temporal

ETSI Industriales - 187- Universidad Politécnica de Madrid


Id Modo de Nombre de tarea Duración Comienzo Fin Predecesoras
3er trimestre 4º trimestre 1er trimestre 2º trimestre 3er trimestre
tarea ago sep oct nov dic ene feb mar abr may jun jul ago
1 Elección TFG 20 días mar 15/09/15 mié 30/09/15
2 Búsqueda TFG 7 días? mar 15/09/15 sáb 19/09/15

3 1er contacto con el tutor0 días sáb 19/09/15 sáb 19/09/15 2 19/09

4 Primera Reunión con el 0 días jue 24/09/15 jue 24/09/15 3FC+5 días 24/09
tutor
5 Selección definitiva 1 día? vie 02/10/15 sáb 03/10/15 4FC+10 días

6 Inicio de Reuniones con el 0 días mar 27/10/15 mar 27/10/15 27/10


tutor
7 Recopilación de información 101,4 días mar 27/10/15 vie 08/01/16 6
sobre Ciclos Combinados;
Lectura de tesis

8 Inicio Realización 0 días vie 08/01/16 vie 08/01/16 7 08/01


Programas
9 Realización Simuladores de 31,4 días vie 08/01/16 sáb 30/01/16 8
Ciclos de Gas
10 Realización CicloGas 20 días vie 08/01/16 sáb 23/01/16
11 Realización 10 días sáb 23/01/16 sáb 30/01/16 10
CicloGas_Politr
12 Inicio Programas CicloVap 1P 0 días sáb 30/01/16 sáb 30/01/16 11 30/01

13 Realización Programas sáb 30/01/16 12


CicloVap 1P

Tarea Tarea inactiva Sólo el comienzo


División Hito inactivo Sólo fin
Hito Resumen inactivo Fecha límite
Proyecto: Proyecto1
Resumen Tarea manual Tareas críticas
Fecha: vie 22/07/16
Resumen del proyecto Sólo duración División crítica
Tareas externas Informe de resumen manual Progreso
Hito externo Resumen manual

Página 1
Id Modo de Nombre de tarea Duración Comienzo Fin Predecesoras
3er trimestre 4º trimestre 1er trimestre 2º trimestre 3er trimestre
tarea ago sep oct nov dic ene feb mar abr may jun jul ago
14 Realización versiones 20 días sáb 30/01/16 lun 15/02/16
sinDesg
15 Realización versiones 10 días lun 15/02/16 lun 22/02/16 14
conDesg
16 Inicio Programas CicloVap 0 días lun 22/02/16 lun 22/02/16 15 22/02
2P
17 Realización Programas 16
CicloVap 2P
18 Implementación ciclos 71,4 días lun 02/05/16 jue 23/06/16
subcríticos 2P
19 Implementación ciclos 36,8 días jue 23/06/16 mié 20/07/16 18
supercríticos 2P
20 Investigación AG
21 Recopilación Información 15 días mar 01/03/16 vie 11/03/16
Ags; Lectura de TFG

22 Recopilación Información 10 días sáb 12/03/16 sáb 19/03/16 21


Ags; Lectura de
Bibliografía

23 Inicio Ags 0 días sáb 19/03/16 sáb 19/03/16 22 19/03


24 Realización Ags 41 días? sáb 19/03/16 lun 18/04/16 23
25 Realización AG_1PsinDesg 20 días sáb 19/03/16 sáb 02/04/16 22

26 Realización 10 días sáb 02/04/16 sáb 09/04/16 25


AG_1PconDesg
27 Realización 10 días lun 11/04/16 lun 18/04/16 26
AG_1PsinDesg_AP

Tarea Tarea inactiva Sólo el comienzo


División Hito inactivo Sólo fin
Hito Resumen inactivo Fecha límite
Proyecto: Proyecto1
Resumen Tarea manual Tareas críticas
Fecha: vie 22/07/16
Resumen del proyecto Sólo duración División crítica
Tareas externas Informe de resumen manual Progreso
Hito externo Resumen manual

Página 2
Id Modo de Nombre de tarea Duración Comienzo Fin Predecesoras
3er trimestre 4º trimestre 1er trimestre 2º trimestre 3er trimestre
tarea ago sep oct nov dic ene feb mar abr may jun jul ago
28 Inicio Ags de 2P 0 días lun 18/04/16 lun 18/04/16 27 18/04
29 Desarrollo AG 2P 1 día? lun 18/04/16 lun 18/04/16 28

30 Redacción de la Memoria 45,4 días lun 20/06/16 vie 22/07/16

Tarea Tarea inactiva Sólo el comienzo


División Hito inactivo Sólo fin
Hito Resumen inactivo Fecha límite
Proyecto: Proyecto1
Resumen Tarea manual Tareas críticas
Fecha: vie 22/07/16
Resumen del proyecto Sólo duración División crítica
Tareas externas Informe de resumen manual Progreso
Hito externo Resumen manual

Página 3
Capítulo 6

Conclusiones y Líneas Futuras


Tras haber llevado a cabo la explicación del trabajo realizado durante este Trabajo de Fin de Grado
se puede concluir que se ha generado un alto número de programas eficientes y fiables los cuales permiten
cumplir holgadamente el motivo por el cual se realizó; conseguir desarrollar unas herramientas mediante
lsa cuales se pueda realizar un proceso de autoaprendizaje sobre los Ciclos Combinados, sus parámetros
de diseño y su optimización.
No obstante, conforme se ha ido avanzando en la realización del mismo, se ha podido ver la gran
trabajo que quedaría por hacer. Dentro del trabajo realizable en líneas futuras destaca el desarrollo de un
programa de simulación de ciclos 2P que permita realizar simulaciones de cualquier configuración posible,
no solo de algunas propuestas por el desarrollador. También es recomendable acabar en un futuro los
Algoritmos Genéticos que optimizan los ciclos de 2P, e iniciar el desarrollo de programas de simulación y
optimización de ciclos de tres o más niveles de presión.

ETSI Industriales - 192- Universidad Politécnica de Madrid


Bibliografía

Hans-Georg Beyer and Hans-Paul Schwefel. Evolution strategies, a comprehensive introduction. Natural
Computing, 1(3):52, 2002.
D.G. Bogard. Gas turbine film cooling. Journal of Propulsion and Power, 22(2):22, 2006.
M. Duvison. Modelización y simulación térmica del precalentamiento del combustible de la turbina de gas
en una Central Térmica de Ciclo Combinado (CTCC) de tres niveles de presión y optimización de los
parámetros de diseño de la planta. PhD thesis, Universidad Politécnica de Madrid; Escuela Técnica
Superior de Ingenieros Industriales, 2016.
Santiago Sebugal García and Florentino Gómez Muñoz. Centrales Térmicas de Ciclo Combinado; Teoría
y Proyecto. Endesa, 2006. ISBN 84-7978-735-X.

John H. Holland. Adaptation in natural and artificial systems: An introductory analysis with applications
to biology, control, and artificial intelligence. Mit University Press Group Ltd, 1992. ISBN 978-
0262581110.
Dr. Ulrich Jecht. Análisis de gases de combustión en la industria. guía práctica para medir emisiones y
procesos. Technical report, Testo AG, 2004.
A. J.Rovira. Desarrollo de un Modelo para la Caracterización Termoeconómica de Ciclos Combinados de
Turbinas de Gas y de Vapor en Condiciones de Carga Variable. PhD thesis, Universidad Politécnica
de Madrid; Escuela Técnica Superior de Ingenieros Industriales, 2004.
A. C. Karaoglanli, K. Ogawa, A. Turk, and I. Ozdemir. Progress in Gas Turbine Performance. 2013.
ISBN 978-953-51-1166-5.
John R. Koza. Genetic Programming: On the Programming of Computers by Means of Natural Selection:
On the Programming of Computers by Means of Natural Selection v. 1 (Complex Adaptive Systems).
Mit University Press Group Ltd, 1992. ISBN 978-0262111706.

Zbigniew Michalewicz. Genetic Algorithms + Data Structures = Evolution Programs. Springer, 1991.
ISBN 978-3540606765.
Melanie Mitchell. An Introduction to Genetic Algorithms. MIT Press, 1999. ISBN 0−262−13316−4.
Jacobo Lansac Nieto. Optimización de un colector lineal fresnel mediante algoritmos genéticos, 2015.

J. L. Rapún. Modelo Matémático del Comportamiento de Ciclos Combinados de Turbinas de Gas y Vapor.
PhD thesis, Universidad Politécnica de Madrid; Escuela Técnica Superior de Ingenieros Industriales,
1999.
Renovetec. Calderas de recuperación, - -. URL http://www.plantasdecogeneracion.com/index.php/
calderas-de-recuperacion.

Staff Report. Agawam merchant gt24 combined cycle plant uses once-through hrsg. Technical report,
Modern Power Systems, 1999.
S. N. Sivanandam and S. N. Deepa. Introduction to Genetic Algorithms. Springer, 2007. ISBN 978-3-
540-73189-4.

University of Virginia Wadley Research Group. High temperature coatings: Thermal barrier coatings
systems, apr 2013. URL http://www.virginia.edu/ms/research/wadley/high-temp.html.

ETSI Industriales - 194- Universidad Politécnica de Madrid

También podría gustarte