CÁPITULO 4. SIMULACIÓN DEL COMPORTAMIENTO FÍSICO DE LA RED

En este cuarto capítulo se presenta una herramienta de simulación sobre MATLAB de los resultados obtenidos de las optimizaciones mediante el sistema SPOL RBG [2]. Una vez obtenida una solución al problema tras la optimización del proceso, es útil disponer de herramientas que ayuden al chequeo de la misma. Dichas herramientas, además de reproducir el modo de operación del sistema frente a cada una de las soluciones propuestas de forma visual, son muy útiles a la hora de detectar posibles errores en la construcción del modelo. El empleo de este tipo de herramientas de simulación y visualización para comprobar la validez de una optimización no es novedosa.  A. Herrán ya la aplicó a un caso de optimización de una red de gaseoductos en su tesis  [26] y existe diversa y variada literatura en cuanto a la importancia que tienen los simuladores de eventos discretos en las optimizaciones, ya sea para comprobar los resultados, o incluso, como método para realizarlas [27].

La necesidad de la existencia de esta herramienta es incuestionable. El sistema SPOL RBG, emplea para la optimización un resolutor comercial, CPLEX.  Existen ciertos aspectos prácticos a considerar cuando se pretenden resolver dichos modelos mediante técnicas clásicas a través de un resolutor  de este tipo. Entre tales aspectos prácticos se encuentran la linealización de términos no lineales y la adición, o supresión de restricciones redundantes para acelerar la convergencia del algoritmo utilizado. Consecuencia directa de estos aspectos prácticos es que la red de gaseoductos sobre la que estamos trabajando no esté modelada con el detalle físico, sino que se ha hecho un promediado de los valores del gas almacenado en los pipes sin tener en cuenta el comportamiento del gas en el interior del tubo. Así pues, en este caso concreto, lo que se persigue es una doble realimentación entre la optimización y la simulación (figura 4.1). Los resultados de la optimización se imponen en el simulador construido tramo a tramo. De cara a la detección de errores, la existencia de un simulador global carece de sentido, pues en caso de producirse un error en la simulación (derivado de unos malos datos de entrada), encontrar el dato exacto que produce el fallo sería prácticamente imposible, aunque si que podría aportar alguna idea a cerca de en donde podría situarse el fallo, por ejemplo si la presión en alguno de los puntos cayera por debajo del mínimo de entrega.

Figura 4.1. Relación de realimentación entre simulación y optimización.

 

 

El sistema de optimización SPOL RBG devuelve todos los valores de operación de la red, pero los que nos interesan de cara a la simulación son solo las entradas en el sistema, las salidas y los flujos por tramos. Con los datos de entrada y salida, el simulador será capaz, teniendo en cuenta el comportamiento físico del gas, de obtener los valores de flujos y presiones en puntos clave del sistema. Las presiones que devuelve el simulador nos permitirán conocer si la solución aportada por el optimizador es factible en lo que a restricciones físicas se refiere (como por ejemplo la de que al final de un tramo se alcancen las presiones de aspiración que las estaciones de compresión necesitan para funcionar); mientras tanto los flujos que nos proporciona la simulación por tramos, al compararlos con los obtenidos en la optimización, nos permitirán saber si los parámetros fijos bajo los que actúa el optimizador son correctos. En caso de no ser correctos los parámetros impuestos por el optimizador, la doble realimentación nos permitiría cambiarlos y volver a simular para comprobar que se ha corregido el error  (debe tenerse en cuenta que un simulador físico de eventos discretos no predice el valor de ninguna variable).

Al final de este capítulo se presentarán los resultados de las simulaciones, que, como ya se ha comentado, las simulaciones se han hecho tramo a tramo. El tramo para el que se presentan los resultados es un tramo real de la red de gaseoductos de España, el correspondiente a las zonas II y III. A efectos de transporte de gas la península ibérica está dividida en cinco zonas, las que se muestran en la figura 4.2. En dicha figura además se muestran resaltadas las zonas II (Este) y III (Norte), a las que corresponden las comunidades autónomas de: Cataluña, Aragón, Navarra, País Vasco y Rioja.

Figura 4.2. Mapa de la península con las divisiones por zonas de transporte.

 

Con la simulación de los tramos de la red que incluyen las zonas II y III se pretende ilustrar el comportamiento del resto de tramos, pues se trata de una región que incluye todas las instalaciones básicas de una red de gaseoductos. Cuenta con dos plantas de regasificación (las plantas de regasificación son elementos de entrada de gas en la red, cuya labor principal es la de convertir el gas natural que llega en estado líquido, GNL, en buques metaneros de nuevo a su estado gaseoso para inyectarlo en la red), dos almacenamientos subterráneos (de los que se ha hablado sobradamente en el capítulo 2 de este trabajo) y cinco estaciones de compresión (cuyo funcionamiento se detallará en el apartado 4.2). Además este tramo del gaseoducto cuenta con la particularidad de la existencia de un lazo cerrado. Entendemos por lazo cerrado una configuración del gaseoducto tal que un mismo punto puede alcanzarse por dos vías diferentes. Este tipo de conformaciones de la red requiere un tratamiento más especializado que se explica con detalle en el apartado 4.3. La disposición de todas estas estructuras, así como las conexiones entre ellas, se muestran en la figura 4.3.

Figura 4.3.Esquema de los gaseoductos e instalaciones a modelar.

 

4.1. Objetivos del capítulo.

·         El objetivo principal es diseñar, empleando MATLAB como herramienta, un modelo que reciba como entrada los flujos de gas entrantes o salientes de la red al completo (producción de las plantas de regasificación, flujos de gas inyectados y extraídos de los almacenes, producción de los yacimientos subterráneos y entrada y salida de gas por las conexiones internacionales), así como la demanda detallada de cada uno de los nodos de la red, y devuelva una respuesta que permita identificar como viables los datos de entrada y que además proporcione el valor de la presión en puntos calve de la red, como por ejemplo las estaciones de compresión. El modelo permitirá ajustar las presiones y flujos en la red teniendo en cuenta la existencia de lazos y de tramos desdoblados en ella.

·         Resolución del problema de los lazos cerrados planteándolo como una optimización.

·         Mostrar los resultados de algunas simulaciones.

·         Proporcionar algunas de las nociones básicas del comportamiento del gas en los gaseoductos así como sobre el funcionamiento de las estaciones de compresión que se han empleado en la elaboración del modelo.

 

4.2. Fundamentos teóricos: comportamiento de un gas en el interior de un tubo,  funcionamiento de las estaciones de compresión.

En este apartado se abordarán algunos comportamientos de forma teórica. Es imposible conocer la presión en los nodos de la red si no se comprende el comportamiento de un gas en un tubo, del mismo modo en que es imposible programar un sistema que emule el comportamiento de una estación de compresión sin saber cómo funciona una.

Figura 4.4.Estación de compresión de Sakhalin (Rusia).

 

Figura 4.5. Pipe que conecta China con Myanmar.

 

El modelo de simulación requiere conocer el comportamiento del gas en el interior de un tubo cilíndrico, porque los gaseoductos, los elementos por los que se transporta el gas, no son más que tuberías cilíndricas de diámetro constante. En el gaseoducto, el gas, ya sea por diferencia de alturas, por rozamiento o por diferencia de temperaturas, pierde energía, lo cual se traduce en una diferencia de presión que necesariamente ha de tenerse en cuenta en una caída de presión. Esta caída de presión será justamente la que trataremos en 4.2.a. Comportamiento del gas en el interior de un tubo.

Respecto a las estaciones de compresión, es necesario tenerlas en cuenta en la simulación, ya que, por supuesto, si no están comportándose de un modo pasivo, alteran tanto el flujo de gas que circula por un pipe, como su presión. Este es el motivo de que detallemos su funcionamiento en 4.2.b. Funcionamiento de las estaciones de compresión.

4.2.a. Comportamiento del gas en el interior de un tubo.

Sea un tubo cilíndrico de longitud L y diámetro D a través del que circula un flujo de gas φ.

Figura 4.6. Flujo de gas a través de un gaseoducto.

 

En [28], J.Krope, P. Trop y D.Goričanec, obtienen que la diferencia de presión de gas entre dos puntos de una tubería, designados con los números 1 y 2 (figura 4.6), puede expresarse mediante la siguiente ecuación:

Donde L es la longitud del tramo considerado, φ es el flujo de gas y R es un coeficiente llamado factor de resistencia que depende del factor de compresibilidad del gas (Z), la temperatura (Tm), el diámetro de la tubería (D), el recorrido libre medio de las moléculas de gas natural (λ), la constante de los gases (Rg) y una función a la que se nombrará como s y que a su vez depende de la diferencia de altura entre los puntos 1 y 2, de la gravedad de la temperatura y, de nuevo, del factor de compresión.

El recorrido libre medio puede ser expresado en función de un coeficiente empírico llamado Re que dependerá del gas a tratar:

Para que el factor de resistencia quede totalmente definido, bastará pues con conocer la forma de la función s, que es la que corresponde a la ecuación [4.4]:

Donde g es la aceleración de la gravedad, que en lo cálculos a lo largo de esta práctica se tomará como 9.82 m·s-2, Tm la temperatura media del gas en el tramo y dz, la diferencia de altura entre los puntos 1 y 2.

Una vez que conocemos la expresión matemática que relaciona s con la diferencia de alturas, podemos observar que cuando la diferencia de alturas sea cero, es decir, los puntos del gaseoducto entre los que queremos conocer la presión estén a la misma altura, el valor de s será cero también,  lo que hará que R sea cero, y por tanto la diferencia de presiones también tenga ese valor, y sabemos que eso no debe ser así, pues, esta diferencia de presiones no depende solamente de la inclinación del tubo.

Para solucionar este contratiempo basta con que definamos una nueva función, a la que llamaremos ses1, del siguiente modo.  

Incluyendo esta función en la ecuación [4.2] tendremos la definición que se utilizará para el factor de resistencia a la hora de calcular las diferencias de presiones:

4.2.b. Funcionamiento de las estaciones de compresión.

Una estación de compresión es un elemento de las redes de gas diseñado específicamente para aumentar la presión del gas que fluye a través de la misma. Estas estaciones tienen un comportamiento pasivo mientras están inactivas, pero, en caso de que sea necesario para el transporte de gas, se activan ejerciendo su función, a expensas de un cierto autoconsumo. Definimos autoconsumo la pequeña cantidad del gas vehiculado que se consume en el funcionamiento de los turbocompresores de la estación. Las estaciones de compresión de la red tienen una serie de componentes clave que pueden verse en la figura 4.7.

 

Figura 4.7. Esquema de una estación de compresión típica.

 

Procedemos pues a detallar cada uno de los elementos que aparecen numerados en la figura 4.7:

  1. Zona de recepción del pipe: es la conexión entre los gaseoductos y la estación de compresión.
  2. Separadores y depuradores: eliminan los residuos líquidos o sólidos que pudieran acompañar al gas que entra en la estación de compresión.
  3. Compresores: de los compresores se hablará con más detenimiento a continuación.
  4. Unidades de enfriamiento: en la estación de compresión se produce un aumento de la temperatura del gas como consecuencia del aumento de la presión, por tanto es necesario un enfriamiento del gas antes de devolverlo a la red.
  5. Sistema de lubricación por aceite: destinado a proteger, lubricar y enfriar todas las partes móviles de los compresores de la estación.
  6. Silenciadores: amortiguan el sonido de los compresores para que se adapten a las leyes vigentes.
  7. Sistema de combustible: procesa el gas que entra a la planta para que sirva como combustible para la misma. Este comportamiento ya se ha visto al hablar de los autoconsumos.
  8. Generadores de emergencia: se activarán en el caso de que haya una suspensión del suministro eléctrico.

El elemento principal de las estaciones de compresión es el turbocompresor centrífugo. El típico compresor centrífugo consiste [29-32], en una máquina de monoetapa con un rotor o en una máquina multietapa con toda una línea de motores. Cada una de las etapas consiste en un sistema de entrada (en el caso de la primera etapa), un canal de retorno, un impulsor, un difusor y después de la última etapa un colector de descarga. El gas entraría por el sistema de entrada y llegaría al primer impulsor. Un impulsor consiste en una serie de paletas giratorias que proporcionan energía mecánica al gas, así pues, el gas abandona el impulsor con mayor velocidad y presión de la que llevaba y avanza hasta el difusor. En el difusor la velocidad adquirida se emplea para aumentar aún más la presión. Los difusores pueden contener o no aspas. Si el compresor tuviera más de un impulsor, después de salir del difusor, el gas pasaría al siguiente impulsor a través del canal de retorno. Después del difusor del último impulsor, el gas entra en el colector de descarga.

Figura 4.8. Esquema de un compresor centrífugo (Solar Turbines Incorporated).

 

Figura 4.9. Esquema unidimensional de la primera fase de un compresor centrífugo.

 

La mejor manera de ilustrar el rendimiento de un compresor centrífugo es mostrando el gráfico la altura isoentrópica (isentropic head). La altura isoentrópica es la energía que requeriría una compresión adiabática, o dicho de otra manera, la cantidad de trabajo que hay que aplicar para afectar a la variación de entalpía del gas. El mapa representa el dominio de trabajo del compresor (figura 4.10). El límite en lo que se refiere a los flujos menores, lo impone el llamado límite de sobretensión (surge limit), línea azul en la figura 4.10. El límite de sobretensión se da cuando compresor no puede añadir suficiente energía para superar la resistencia del sistema o contrapresión. Los límites superior e inferior en color verde en la figura 4.10 corresponden a la velocidad máxima y mínima de las turbinas. Estas velocidades dependen de muchos factores, como la temperatura o el material de las aspas. Dentro de este dominio el compresor podrá trabajar y si queremos construir estos mapas para las estaciones de compresión del modelo, necesitaremos los datos que nos permitan trazarlos.

Figura 4.10. Región de trabajo de un compresor obtenida fijando la presión de succión.

 

4.3. Construcción del modelo de la red.

Como cualquier modelo realizado en realizado en MATLAB, tenemos que tener en cuenta tres apartados básicos, el primero de ellos sería el de los datos que se reciben y el preprocesamiento de los mismos, el segundo sería el diseño de las funciones necesarias para el modelado del sistema y el código en general, y por último tendríamos las conexiones entre funciones y código que dotan de estructura y coherencia al método.

La forma en la que se estructurará este modelo consiste en bloques de texto que se ejecutarán llamando a una biblioteca de funciones diseñadas para que simulen el comportamiento de los distintos elementos del sistema. Las funciones que simulan el comportamiento de los elementos del sistema obedecen a las leyes teóricas explicadas en el apartado anterior, pero merece una mención especial el problema del tratamiento de los lazos cerrados en el sistema ya que la red de gaseoductos contiene múltiples lazos cerrados y requieren un tratamiento más especializado que un simple pipe. La figura 4.11 ilustra uno de estos lazos, en concreto el que forman los puntos: Esquedas, Albeda, Castelnou y Zaragoza. Para modelar estos lazos, hay que tener en cuenta que no sabemos qué cantidad de gas se va a distribuir por cada rama, por lo que la manera más sencilla de resolver el problema es plantear un pequeño problema de optimización en el que se calcule el flujo que tiene que pasar por cada rama (x y fin-x) de modo que se minimice la diferencia entre las presiones, en valor absoluto,  que llegan por cada una (p3-p1).

Figura 4.11. Lazo cerrado Esquedas, Albeda, Castelnou y Zaragoza. Posibles flujos de gas.

 

4.3.a. Estructura de datos.

Los datos procedentes del simulador se reciben en un archivo de Microsoft Excel que contiene para cada tramo de la red los diferentes nodos que posee y datos físicos sobre los gaseoductos que los conectan, como la longitud, el diámetro de los mismos y para cada uno de dichos tramos la altura inicial y final (para poder calcular la diferencia de altura entre los nodos). Además para cada nodo se incluye, en caso de que la haya, la demanda, tanto como convencional, como eléctrica. Si el nodo corresponde a una entrada al sistema o corresponde a un almacenamiento, también se indicará. A los tramos se les nombrará con la letra L seguida de un número y a los nodos con una N seguida también de un número. Todos estos datos se procesarán con funciones de lectura (Lectura_Excel en la tabla 4.3) de modo que sea más sencillo operar con ellos y ordenándolos en una estructura como la que aparece en la tabla 4.1 a modo de ejemplo.

Pipe

Nodo i

Nodo f

L(km)

D(m)

H1m

H2m

Nododemanda

Demanda

‘L01’

‘N1’

‘N2’

6.3830

0.60960

3

6

‘N1’

3600

Tabla 4.1. Ejemplo de estructura de datos.

 

Esta estructura es imprescindible para poder operar con los datos en las funciones posteriores porque, a la hora de recuperar los datos para todos los cálculos, se tomarán de la columna correspondiente.

4.3.b. Variables y términos, funciones y bloques de código.

Ya se ha comentado que para esta herramienta de simulación se han creado funciones que recrean el comportamiento físico del sistema y bloques de código que la dotan de estructura. De esto tratará este apartado, pero se explicará con los mismos términos y nomenclaturas que se emplearon durante la elaboración del código, así que es primordial que antes de proceder con las explicaciones oportunas se presente un pequeño glosario de términos y funciones.

i.       Glosario de términos.

·  Cond: Por defecto es 0, e indica que se quita el flujo a la salida del nodo inferior. Si es distinto de 0 no se quita la salida.

·  Compresor: Estructuras con las curvas de trabajo del compresor.

·  Cprsor: Estructura con los polinomios que delimitan la zona de trabajo del compresor.

·  D: Diámetro del pipe en metros.

·  dem: es la suma de la demanda de zona. Esta demanda de zona se extrae de la estructura de red introducida sumando los valores de una columna.

·  demanda: estructura de demanda creada del mismo modo y en la misma hoja que pipes.

·  dz: diferencia de cotas inicial y final en metros.

·  f: flujo por los ramales paralelos.

·  fin: flujo de entrada a la red en m3/h

·  fout: Flujo en m3/h en la salida

·  FlowE: Matriz de flujos. Cada fila representa unos flujos de entrada correspondientes a distintas velocidades de la turbina del compresor. La primera fila es la de menor velocidad y la última fila la de mayor. La primera columna es la de menor flujo, la última la de mayor.  Los datos se pueden haber obtenido de la lectura de la base de datos 'ec_lugar.xls' o en la función Baneras_compresor.m.

·  Gwh: volumen de gas en Gwh.

·  HeadE: Matriz de alturas isoentrópicas en metros correspondientes a las matrices de flujos FlowE. Una columna corresponde a un mismo valor de eficiencia.

·  Int: número de turbocompresores a usar.

·  L: Longitud del pipe en metros.

·  Longitud: longitud de una red en metros.

·  lpipes: estructura con los tramos que forman la red, por ejemplo: lpipes={‘L01’, ‘L02’, ‘L03’} .

·  md: vector fila con rango de flujo en Km3/h

·  nt: número de turbocompresores.

·  p1: se trata de una matriz de presiones en la que las filas corresponden a las que tienen el mismo flujo (contante) y las columnas a las que tienen p2 contante.

·  p2: vector fila con el rango de la presión final en baras.

·  Pdmax: presión máxima de descarga.

·  Pdmin: Presión mínima de descarga.

·  Pdopt: Presión óptima de descarga.

·  pin: presión de entrada a la red en baras.

·  pipes: es una estructura creada mediante el procesado de los datos que hace Lectura_Excel.m (tabla 4.3) y que se aloja en el documento creado por este mismo bloque de texto llamado: longitudes_demanda_entradas_rev.xls.

·  Pout: Presión en baras en la salida

·  PM: Peso molecular en Kg.

·  prodBrc: producción de la planta de regasificación de Barcelona.

·  Ps: presión de succión en bares.

·  Q: flujo en m3/h a través de un compresor.

·  R: es la constante de los gases.

·  Re: coeficiente empírico que sirve para calcular el recorrido libre medio.

·  Red: estructura con la información de la red tal y como se genera en Lectura_Excel.m (tabla 4.3). Dicha estructura ya se ha presentado en la tabla 4.1. del apartado 4.3.a. Estructura de datos.

·  red1: En el caso de que existan tramos desdoblados, este es uno de ellos

·  red2: El otro tramo en caso de que haya desdoblamiento.

·  sentido: positivo si el sentido es el indicado en el nombre, y negativo si es el inverso.

·  Tm: temperatura media.

·  Ts: temperatura de succión en ºC.

·  vol: volume total de la red en Km3.

·  x: Flujo de la red 1.

·  Zs: Factor de compresibilidad.

 

ii.     Funciones.

A continuación, se presenta la tabla 4.2, que contiene información acerca de todas las funciones empleadas en  el modelo, como son las variables de entrada y las de salida, además de una pequeña descripción de su utilidad. Se han ordenado las funciones por orden alfabético.

 

Nombre

Salidas

Entradas

Descripción

analLeg

Pout, fout, vol, red

red, ind,  fin, pin, sentido,cond

Calcula la caída de presión en una trama o leg de la red, y la red de entrada y la de salida presenta las mismas diferencias que en las dos funciones anteriores.

 analRed

Pout, fout, vol, red

red, fin, pin, sentido

Calcula las caídas de presiones, flujos de salida y volúmenes de los tramos de la red. De nuevo la diferencia entre la variable red que aparece en las entradas y las salidas es la de los casos anteriores.

 analRedBack

Pout, fin, vol, red

red, fout, pin, sentido

Es básicamente la misma función que en el caso anterior, pero en vez de recibir el flujo de entrada y calcular el de salida, recibe el de salida y calcula el de entrada.

analRedDes

Pout, fout, vol, red

red, fin, pin, sentido

Analiza de la red desdoblada siguiendo el mismo patrón de análisis que en los casos anteriores.

creaTramo

red

Pipes, demanda

Es necesaria una de estas funciones para cada tramo de la red que incluyan los pipes que vamos a tener en cuenta en cada tramo.

CreaRed

red

lpipes, pipes, demanda

Función para crear una red a partir de los ‘legs’ incluidos en lpipes y los archivos de pipes y demanda creados a partir de la hoja de Excel en el archivo Lectura_excel.

CurvasCompresor

Compresor

FlowE, HeadE, Ts, Zs, PM, unidad

Porporciona las curvas que determinan el funcionamiento del compresor.

demandaRed

dem

red

Calcula la demanda de red que es la suma de la demanda de zona y que se extrae de la estructura de red introducida sumando los valores de una columna

fundesd

f

x, fin, pin, red1, red2

Función que calcula el flujo por dos ramales paralelos.

funopt

f

x, fin, pin, redCasZar, redCasAlb, redZarEsq, red EsqAlb, redEsqSer

Función que calcula el flujo cuando existe un lazo en el gaseoducto. Se plantea el caso concreto de Zaragoza-Catelnou-Albeda-Esqueda.

gwh2vol

vol

gwh

Pasa el volumen de gas de Gwh a m3 con la equivalencia; 1Gwh=0.86·105 m3.

p1Ffp2

p1

md,p2,L,D,dz,Tm,Re, R

Crea una matriz de presiones en la que las filas corresponden a las que tienen el mismo flujo (contante) y las columnas a las que tienen p2 contante.

p2Fflux

p2, Z

Flujo, p1, L, D, dz, Tm, Re, R

Calcula p2 como una función del flujo, p1, L y D y lo ajusta a una recta.

PdCpr

Pdmax, Pdmin,Pdopt, int

Cprsor, Q, Ps, nt, Zs

Determina las presiones de descarga mínima y máxima de un compresor a pratir de los datos de entrada.

vol2Gwh

gwh

vol

Pasa el volumen de gas de m3 Gwh a con la equivalencia; 1Gwh=0.86·105 m3.

volumen

vol

p1, p2, L, D, Tm, R

Calcula el volumen de gas en un tubo.

Tabla 4.2.Funciones necesarias para el simulador de la red.

 

 

iii.    Bloques de código.

Además de las funciones es necesario definir unos bloques de código que nos permitan estructurar y ordenar las llamadas a las mismas para crear un buen modelo de simulación para la red. En la tabla 4.3. aparecerán los tres bloques de código que se emplearán y que deberían ejecutarse sucesivamente para cada simulación, así como la descripción de lo que hace cada uno.

 

Nombre

Función

Analisis

Bloque de código que hará las llamadas oportunas para que se complete el análisis de los tramos concreto que se estudia aquí, pero que se puede generalizar para toda la red sin más que reproducir el código.

EC Nombre de la estación de compresión

Calcula las curvas de bañeras que delimitan el funcionamiento de la estación de compresión de cuyo nombre figure en la identificación del bloque de código.

Lectura_Excel

Lee una hoja desde datos y nos devuelve el archivo pipes y el archivo demanda dentro de pipes_demanda.mat, que se usarán como datos de partida en el resto de funciones. 

Tabla 4.3. Bloques de código necesarios para el simulador

 

4.3.c. Problema de optimización de los lazos.

Para solucionar el problema de optimización que se describe en la figura 4.11 del inicio del apartado 4.3. se ha seleccionado la función fminbnd de la toolbox de optimización de Matlab. Esta función emplea el algoritmo de optimización de búsqueda de la Sección Dorada y el de interpolación parabólica. El Método de la Sección Dorada es un método de búsqueda iterativo en una dimensión (1 variable, en este caso x) donde se trata de ir aproximando un punto por medio de anidamiento [4.8]. La interpolación parabólica o cuadrática aprovecha la ventaja de que un polinomio de segundo grado con  frecuencia proporciona una buena aproximación de la forma de la función en las cercanías de  un valor óptimo.  Así como existe una única recta que pasa por dos puntos, hay únicamente una ecuación  cuadrática que pasa por tres puntos. De esta forma, si se tienen tres puntos que contienen un  punto óptimo, se ajusta una parábola a los puntos, después se puede derivar e igualar a cero,  y así obtener una estimación del óptimo [4.9].

Como ya se ha comentado, la manera más sencilla de resolver el problema es mediante una optimización en el que se calcule el flujo que tiene que pasar por cada una de las ramas definidas en la figura 4.11 de modo que se minimice la diferencia entre las presiones. El problema, que no tiene restricciones quedaría definido como la minimización de:

En donde las presiones están relacionadas con x, que es el flujo que circula por una de las ramas, como se indica en la figura 4.12.

Figura 4.12. Problema de optimización de los lazos

4.3.d. Modelado del sistema.

En este apartado se describirá la relación entre las funciones y los bloques de código del apartado 4.3.2, para que queden claras las relaciones entre unas y otras. Empecemos los el caso del archivo Lectura_Excel, de la tabla 4.3, que es una de las piedras angulares del modelo. Está relacionado con las funciones creaTramo, demandaRed y vol2Gwh, de la tabla 4.2, y además da lugar al archivo pipes_demanda.mat que se empleará continuamente en el resto de funciones, se ilustran estas relaciones en la figura 4.13. El archivo pipes_demanda.mat contiene los datos con la estructura de datos de la tabla 4.1.

Figura 4.13: Relaciones del bloque de código Lectura_Excel.

 

Figura 4.14: Ejemplo ilustrativo de las relaciones de los bloques de código EC Nombre de la estación de compresión.

 

Los siguientes bloques de código que se analizarán serán los que corresponden al procesado de los datos de las estaciones de compresión, que hacen llamadas a las funciones CurvasCompresor y pdCpr de la tabla 4.2 y generan los archivos ec_nombre de la estación de compresión.mat  y las curvas de trabajo, o gráficos la altura isoentrópica, de los turbocompresores. En la figura 4.14 se muestran estas relaciones para el ejemplo concreto de la estación de compresión de Tivisa.

El archivo ec_nombre de la estación de compresión.mat  contiene todos los datos que se necesitan conocer para hacer la simulación del comportamiento de las estaciones de compresión y los mapas de altura isoentrópica. Estos datos están estructurados de una tabla como la 4.4.

FlowE (Flujo) (m3/h)

Head E (Altura isoentrópica) (J/kg)

Velocidad (rpm)

Eficiencia

(%)

Ps (presión de succión mínima) (baras)

Ts (temperatura de succión) (ºC)

Ps (factor de comprsibilidad)

PM (peso de 1 mol en kg)

3176.33

38270.34

5700

83.5

45

21

0.9

16

Tabla 4.4. Ejemplo de estructura de datos de los archivos ec_nombre de la estación de compresión.mat.

                     

 

Por último, quedaría por analizar el bloque Análisis, que nos proporcionará los datos que necesitamos, que son los flujos, en cada uno de los tramos de la red que analizamos. En este fichero, por el momento solamente se incluyen los tramos mencionados en el apartado de la descripción, pero para modelar la red completa y hacer un simulador global, bastaría con incluir el resto de tramos, aunque ya se ha comentado que un simulador global es menos útil. Las funciones que emplea principalmente este bloque de código son funop, demandaRed, analRed, analRedBack y analRedDes de la tabla 4.2, y las usa sobre cada uno de los sub tramos, luego los flujos y demandas se suman convenientemente, teniendo en cuenta sus sentidos, para dar lugar a los flujos y demandas que se necesitan. Además en este último bloque de análisis, también se llama a la función de optimización para el problema de los lazos. En la figura 4.15 aparece un esquema de lo que sería este bloque de código.

Figura 4.15: Esquema de las relaciones del  bloque de código Análisis.

 

 

4.4. Resultados.

En la introducción de este capítulo, ya se ha comentado que lo que se persigue con la herramienta de simulación desarrollada es el doble objetivo de validar los resultados de la optimización y la corrección de parámetros fijos del sistema. Para ello proporcionaremos a la herramienta las entradas y las salidas de gas del tramo que va a simularse (figura 4.3) y obtendremos unos flujos. Podremos comparar estos flujos con los previstos por el sistema de planificación y, si las desviaciones son lo suficientemente pequeñas (en torno al 10%), sabremos que los parámetros fijos eran correctos. Por otra parte la simulación también proporciona las presiones en los nodos del tramo simulado. En algunos puntos el que la presión sea la adecuada es más crítico que en otros, por ejemplo la presión en un nodo secundario no es importante, pero si el gas llega a una estación de compresión por debajo de una presión umbral llamada presión de aspiración, la estación de compresión no funcionará. Las presiones en los puntos críticos son las que nos dirán si la optimización es válida.

Antes de ejecutar una simulación hay que generar las curvas de trabajo de las estaciones de compresión con las funciones descritas para ello (figura 4.14) en el apartado 4.3.d. Modelado del sistema. En el tramo que estamos simulando (figura 4.3) existen tres estaciones de compresión principales, la de Haro, la de Bañeras y la de Tivisa. Hay otras dos estaciones, la de Villar de Arnedo y Zaragoza, que se tomarán como nodos normales porque son estaciones cuya puesta en marcha es excepcional. Los resultados de ejecutar las funciones EcBañeras, EcHaro y EcTivisa, es decir,  las curvas de trabajo, se muestran en la figuras 4.16 a 4.18.

Figura 4.16. Región de trabajo de la Estación de Haro

Figura 4.17.Región de trabajo de la Estación de Bañeras

Figura 4.18. Región de trabajo de la Estación de Tivisa.

 

 Una vez que se conoce el comportamiento de las estaciones de compresión podemos pasar a hacer la simulación del comportamiento en la red y validar la optimización y los parámetros fijos del sisma de optimización SPOL (RBG) [2]. La optimización se realiza para un periodo bimensual, pero como la simulación hay que hacerla día a día, solo se va a estudiar un periodo de 10 días, desde el 26 de Septiembre de 2013 al 6 de Octubre del mismo año. Es un periodo de inyección, es decir, se extrae gas del sistema y se introduce en los almacenamientos (los periodos de inyección y extracción de los almacenamientos subterráneos están descritos detalladamente en el Capítulo 2 de este trabajo). Como el simulador contempla la red de gas con mucho más detalle y no necesita de las simplificaciones del optimizador, los tramos no coinciden completamente; como es natural, el optimizador tiene menos nodos. Los dos modelos pueden compararse en la figura 4.19.

Figura 4.19. Comparación del tramo modelado por el simulador y el optimizador.

 

La simplificación que hace el optimizador consiste en la reducción de varios nodos, de modo que para comprobar que los flujos de simulador y optimizador son equivalentes habrá que sumar los flujos del primero correspondientes al tramo en cuestión del segundo y así establecemos las siguientes equivalencias simulador-optimizador:

 

Vistas estas equivalencias, se pasa a mostrar los resultados de la optimización y la simulación para cada uno de los 10 días. Los resultados se muestran en las tablas 4.5 a 4.14. A cada día le corresponde una tabla y en ella se incluye los datos de las entradas y salidas del sistema, las demandas de cada tramo, los flujos que proporciona el simulador y los que proporciona el optimizador. Además justo después de cada tabla se ha incluido una imagen con el sentido de los flujos para que el resultado pueda visualizarse de una manera más cómoda.

26 de Septiembre de 2013

Bilbao

Barcelona

Gaviota

Serrablo

Larrau

85

128

54

18

85.5

TRAMOS

Demanda (GWh)

Flujos simulación (GWh)

Flujos operación (GWh)

Desviación

(%)

Bilbao- Haro

148.47

148.47

149.81

0.9

Gaviota- Haro

91.67

91.67

89.01

2.9

Haro - Villar de Arnedo

18.85

18.85

18.83

0.1

Villar de Arnedo - Zaragoza

42.44

42.44

38.58

9.1

Zaragoza - Serrablo

19.34

19.34

17.79

8

Tivisa - Zaragoza

9.13

9.13

8.31

9

Bañeras - Tivisa

83.79

83.79

79.68

4.9

Barcelona - Bañeras

124.20

124.20

120.60

2.9

 

 

Tabla 4.5. Flujos resultantes de la optimización para el 26 de Septiembre de 2013.

                 

 

27 de Septiembre de 2013

Bilbao

Barcelona

Gaviota

Serrablo

Larrau

 

 

 

 

 

TRAMOS

Demanda (GWh)

Flujos simulación (GWh)

Flujos operación (GWh)

Desviación

(%)

Bilbao- Haro

148.47

148.47

138.07

7

Gaviota- Haro

104.13

104.13

101.11

2.9

Haro - Villar de Arnedo

18.92

18.92

18.71

1.1

Villar de Arnedo - Zaragoza

43.18

43.18

43.66

1.1

Zaragoza - Serrablo

19.42

19.42

21.18

9.1

Tivisa - Zaragoza

9.36

9.36

9.07

3.1

Bañeras - Tivisa

85.04

85.04

83.34

2

Barcelona - Bañeras

127.04

127.04

123.10

3.1

 

 

Tabla 4.6. Flujos resultantes de la optimización para el 27 de Septiembre de 2013.

                 

 

28 de Septiembre de 2013

Bilbao

Barcelona

Gaviota

Serrablo

Larrau

 

 

 

 

 

TRAMOS

Demanda (GWh)

Flujos simulación (GWh)

Flujos operación (GWh)

Desviación

(%)

Bilbao- Haro

148.47

148.47

142.53

4

Gaviota- Haro

113.25

113.25

105.21

7.1

Haro - Villar de Arnedo

17.57

17.57

17.04

3

Villar de Arnedo - Zaragoza

44.13

44.13

41.08

6.9

Zaragoza - Serrablo

20.35

20.35

22.35

9.8

Tivisa - Zaragoza

9.34

9.34

8.96

4

Bañeras - Tivisa

75.49

75.49

71.64

5.1

Barcelona - Bañeras

127.01

127.01

120.54

5.1

 

 

Tabla 4.7. Flujos resultantes de la optimización para el 28 de Septiembre de 2013.

                 

 

29 de Septiembre de 2013

Bilbao

Barcelona

Gaviota

Serrablo

Larrau

96

128

54

18

84.5

TRAMOS

Demanda (GWh)

Flujos simulación (GWh)

Flujos operación (GWh)

Desviación

(%)

Bilbao- Haro

148.47

148.47

142.68

3.9

Gaviota- Haro

97.45

97.45

97.55

0.1

Haro - Villar de Arnedo

2.84

2.84

2.73

3.9

Villar de Arnedo - Zaragoza

24.27

24.27

23.54

3

Zaragoza - Serrablo

17.97

17.97

16.33

9.1

Tivisa - Zaragoza

24.12

24.12

24.12

0

Bañeras - Tivisa

43.13

43.13

43.52

0.9

Barcelona - Bañeras

96.24

96.24

97.30

1.1

 

 

Tabla 4.8. Flujos resultantes de la optimización para el 29 de Septiembre de 2013.

                 

 

En las cuatro tablas anteriores (4.5 a 4.8) puede verse como el simulador satisface adecuadamente la demanda que hay en cada uno de los tramos. Si el simulador no pudiera satisfacer dicha demanda nos encontraríamos en el caso en el que los resultados de la optimización no serían validos. Al realizar la simulación con las entradas y salidas que proporciona la optimización, el simulador no es capaz de adaptarse a la demanda. Eso es lo que ocurre en los días 30 de Septiembre y 1 de Octubre de 2013 (tablas 4.9 y 4.10). Para conseguir que la optimización fuera válida bastaría con realizarla de nuevo imponiendo que la producción de las plantas o almacenamientos fuera diferente. En los días en los que se da esta vicisitud se indican los cambios que ha sido necesario realizar en las producciones para obtener unos resultados válidos.

30 de Septiembre de 2013

Bilbao

Barcelona

Gaviota

Serrablo

Larrau

85a96

128

54

18

85.8

TRAMOS

Demanda (GWh)

Flujos simulación (GWh)

Flujos operación (GWh)

Desviación

(%)

Bilbao- Haro

148.47

102.1 a 148.47

144.16

2.9

Gaviota- Haro

91.80

91.80

90.06

1.9

Haro - Villar de Arnedo

2.72

1.56 a 2.72

2.59

4.9

Villar de Arnedo - Zaragoza

22.31

7.8 a 22.31

22.53

1

Zaragoza - Serrablo

16.92

16.92

15.42

8.9

Tivisa - Zaragoza

23.80

23.80

21.65

9

Bañeras - Tivisa

41.59

49.59

40.34

3

Barcelona - Bañeras

90.55

90.55

85.93

9

 

 

Tabla 4.9. Flujos resultantes de la optimización para el 30 de Septiembre de 2013.

                 

 

01 de Octubre de 2013

Bilbao

Barcelona

Gaviota

Serrablo

Larrau

96

128

54

18a0

85.8

TRAMOS

Demanda (GWh)

Flujos simulación (GWh)

Flujos operación (GWh)

Desviación

(%)

Bilbao- Haro

98.34

98.34

93.42

5

Gaviota- Haro

95.36

95.36

87.83

7.9

Haro - Villar de Arnedo

3.37

3.37

3.36

0.1

Villar de Arnedo - Zaragoza

30.43

50.28 a 30.43

30.16

0.9

Zaragoza - Serrablo

6.14

20.04 a 6.14

6.69

9.0

Tivisa - Zaragoza

9.15

31.64 a 9.15

9.06

1

Bañeras - Tivisa

71.71

71.71

65.98

8

Barcelona - Bañeras

118.09

118.09

117.46

9

 

 

Tabla 4.10. Flujos resultantes de la optimización para el 01 de Octubre de 2013

                 

En los días siguientes no se produjo ningún desajuste entre los valores de la demanda y de los flujos del simulador por lo que podemos concluir que para el resto de días la optimización resultó ser válida desde el primer momento.

02 de Octubre de 2013

Bilbao

Barcelona

Gaviota

Serrablo

Larrau

96

128

54

0

84.5

TRAMOS

Demanda (GWh)

Flujos simulación (GWh)

Flujos operación (GWh)

Desviación

(%)

Bilbao- Haro

98.34

98.34

95.48

2.9

Gaviota- Haro

100.86

100.86

97.83

3

Haro - Villar de Arnedo

3.36

3.36

3.09

8.1

Villar de Arnedo - Zaragoza

39.60

39.60

36.47

7.9

Zaragoza - Serrablo

19.96

19.96

17.99

9.9

Tivisa - Zaragoza

9.15

9.1

9.06

1

Bañeras - Tivisa

72.68

71.68

66.86

0

Barcelona - Bañeras

125.35

125.35

117.83

6.0

 

 

Tabla 4.11. Flujos resultantes de la optimización para el 02 de Octubre de 2013

                 

 

03 de Octubre de 2013

Bilbao

Barcelona

Gaviota

Serrablo

Larrau

85

128

54

0

84.5

TRAMOS

Demanda (GWh)

Flujos simulación (GWh)

Flujos operación (GWh)

Desviación

(%)

Bilbao- Haro

98.34

98.34

97.45

0.9

Gaviota- Haro

100.79

100.79

100.79

0

Haro - Villar de Arnedo

10.88

10.88

10.99

0.9

Villar de Arnedo - Zaragoza

43.48

43.48

40.82

6.1

Zaragoza - Serrablo

20.15

20.15

18.56

7.9

Tivisa - Zaragoza

9.22

9.22

8.76

5

Bañeras - Tivisa

48.44

48.44

47.95

1

Barcelona - Bañeras

123.88

123.88

119.05

3.9

 

 

Tabla 4.12. Flujos resultantes de la optimización para el 03 de Octubre de 2013

                 

 

04 de Octubre de 2013

Bilbao

Barcelona

Gaviota

Serrablo

Larrau

85

128

54

0

85.8

TRAMOS

Demanda (GWh)

Flujos simulación (GWh)

Flujos operación (GWh)

Desviación

(%)

Bilbao- Haro

98.33

98.33

98.33

0

Gaviota- Haro

100.76

100.76

92.80

7.9

Haro - Villar de Arnedo

10.91

10.91

10.49

3.9

Villar de Arnedo - Zaragoza

43.32

43.32

41.2

4.9

Zaragoza - Serrablo

19.85

19.85

18.03

9.2

Tivisa - Zaragoza

9.28

9.28

8.63

7

Bañeras - Tivisa

60.36

60.36

59.15

2

Barcelona - Bañeras

122.56

122.56

122.68

0.1

 

 

Tabla 4.13. Flujos resultantes de la optimización para el 04 de Octubre de 2013

                 

 

05 de Octubre de 2013

Bilbao

Barcelona

Gaviota

Serrablo

Larrau

85

128

54

0

85.8

TRAMOS

Demanda (GWh)

Flujos simulación (GWh)

Flujos operación (GWh)

Desviación

(%)

Bilbao- Haro

98.34

98.34

90.47

8

Gaviota- Haro

106.61

106.61

103.31

3.1

Haro - Villar de Arnedo

11.24

11.24

11.34

0.9

Villar de Arnedo - Zaragoza

31.75

31.75

30.80

3

Zaragoza - Serrablo

20.69

20.69

18.81

9.1

Tivisa - Zaragoza

10.16

10.16

9.34

8.1

Bañeras - Tivisa

56.08

56.08

52.72

6

Barcelona - Bañeras

112.60

112.60

106.96

5

 

 

Tabla 4.14. Flujos resultantes de la optimización para el 05 de Octubre de 2013

                 

 

Una vez que se han validado los valores de la optimización mediante simulación, quedaría por evidenciar que los parámetros fijos del optimizador son correctos. La manera de abordar esta tarea es tan sencilla como comprobar las desviaciones entre el flujo obtenido mediante el optimizador y el obtenido mediante el simulador. Estas desviaciones aparecen en las tablas 4.5 a 4.14, pero es mucho más cómodo observar estos valores gráficamente (ver figura 4.20).

Figura 4.20. Desviaciones entre los flujos procedentes de la optimización y los procedentes de la simulación para cada uno de los subtramos del tramo analizado.

 

De la figura 4.20 llama la atención el hecho de que, mientras las desviaciones para todos los subtramos oscilan entre el 0% y el 10%, manteniéndose en valores bajos, para el tramo de Zaragoza – Serrablo, si bien se mantiene por debajo del 10% siempre toma valores muy altos, por encima del 8%. Aunque estos valores se encuentran dentro del margen que nos permiten considerar correctos los parámetros fijos, resulta claro que sería necesario revisar alguno de los parámetros internos del sistema. Este tramo entre la estación de compresión de Zaragoza y Serrablo es especialmente conflictivo por la simplificación que hace el sistema de optimización, que no tiene en cuenta el lazo cerrado entre los nodos de Esquedas – Albelda – Castelnou – Zaragoza (ver figura 4.19). Puesto que se trata de un tramo en el que se ha hecho una simplificación bastante drástica, se considerará que una desviación por debajo de 10% es suficiente, pero si llegara a sobrepasarse este valor, habría que considerar introducir un factor de corrección en los flujos que proporciona el optimizador para este tramo en concreto.

Por último, en cuanto a las presiones aspiración, que se han mencionado como críticas, como la herramienta de simulación no da errores para ninguna de las tres estaciones de compresión que se tienen en cuenta (Haro, Bañeras y Tivisa), puede afirmarse que la herramienta de optimización no presenta errores en relación con ello. No obstante, en la figura 4.21, podemos comprobar las presiones con las que llega el gas a cada uno de estos puntos. Estas tres estaciones de compresión, debido a que tienen una configuración idéntica, tienen la misma presión de aspiración, 46 bares [33].

Figura 4.21. Presiones de llegada del gas a las estaciones de compresión principales.


 

[1] La demanda de gas se clasifica en dos grandes mercados, el mercado convencional, que  agrupa los suministros de gas destinados al consumo residencial, al sector servicios y al  sector industrial; y el mercado eléctrico, que agrupa los suministros de gas destinados a la  generación en centrales eléctricas.

 

 

CONTENIDO

INICIO

CAPÍTULO 1. INTRODUCCIÓN

CAPÍTULO 2. MODELO DE OPTIMIZACIÓN DE LOS ALMACENAMIENTOS SUBTERRÁNEOS DE GAS NATURAL

CAPÍTULO 3. MÓDULO PARA EL ESTUDIO DE LA SENSIBILIDAD. IDENTIFICACIÓN DE CAUSAS DE SOLUCIONES NO FACTIBLES

CAPÍTULO 4. SIMULACIÓN DEL COMPORTAMIENTO FÍSICO DE LA RED

CAPÍTULO 5. CONCLUSIONES Y TRABAJOS FUTUROS