Diseño y desarrollo de una aplicación para la modelación hidráulica, implementando la extensión del algoritmo del gradiente global en el tiempo extendido para flujo no estable

(1)

(2) DISEÑO Y DESARROLLO DE UNA APLICACIÓN PARA LA MODELACIÓN HIDRÁULICA, IMPLEMENTANDO LA EXTENSIÓN DEL ALGORITMO DEL GRADIENTE GLOBAL EN EL TIEMPO EXTENDIDO PARA FLUJO NO ESTABLE.. JONATHAN YEPES TAVERA Proyecto de Grado como requisito parcial para optar por el título de Ingeniero Civil. Asesor: Ing. HÉCTOR WILLIAM CLAVIJO SANABRIA. UNIVERSIDAD PONTIFICIA JAVERIANA FACULTAD DE INGENIERÍA DEPARTAMENTO DE INGENIERÍA CIVIL BOGOTÁ D.C. 2012 2.

(3) Bogotá D.C., Diciembre 03 de 2012. Ingeniera MARIA PATRICIA LEÓN NEIRA Directora Departamento de Ingeniería Civil Universidad Pontificia Javeriana. Respetada Ingeniera:. Por medio de la presente pongo formalmente a su consideración el Trabajo de Grado titulado Diseño desa ollo de una aplicación para la modelación hidráulica, implementando la extensión del algoritmo del gradiente global en el tiempo extendido pa a flujo o esta le. , o el ual o pleto los e uisitos e esa ios pa a opta po el título de Ingeniero Civil.. De esta forma quiero agradecer la constante guía y paciencia de mi asesor Ing. Héctor William Clavijo Sanabria.. Cordialmente,. JONATHAN YEPES TAVERA Móvil: 320 840 58 07 Yepes-j@javeriana.edu.co. 3.

(4) A Lucía Tavera Suárez. 4.

(5) AGRADECIMIENTOS. Sin duda alguna, es justo y consecuente expresar mi sentido de gratitud a aquellas personas que aportaron al desarrollo y culminación de éste proyecto: A mi diligente director de trabajo de grado, el Ingeniero Héctor William Clavijo Sanabria, quién apoyó y mantuvo su constante guía en éste trabajo de pregrado. Sus consejos no me dejaron olvidar, que los sueños deben de ser bastante grandes para no perderlos de vista en el camino. A mi querida madre por todo su apoyo incondicional durante el transcurso de éste proyecto y a quién le debo mi formación humana. Para ti. Agradezco a Vanessa Mojica Arboleda, quién aportó de su tiempo para entender el significado de éste arduo trabajo. Su ayuda fue indispensable e ilimitada. Igualmente, quiero agradecer al ingeniero Jorge Escobar, quién orientó éste proyecto en su debido momento, a mis hermanos y amigos, quienes creyeron en el objeto de éste trabajo de grado y nunca contemplaron la posibilidad de fracaso.. A todos ustedes, ¡MUCHÍSIMAS GRACIAS!. 5.

(6) TABLA DE CONTENIDO 1. INTRODUCCIÓN .................................................................................................. 16 1.1. OBJETIVOS ....................................................................................................... 21 1.1.1. OBJETIVO GENERAL ....................................................................................... 21 1.1.2. OBJETIVOS ESPECÍFICOS ................................................................................ 21 1.2. METODOLOGÍA ................................................................................................ 21 1.2.1. REVISIÓN BIBLIOGRÁFICA Y DEFINICIÓN DE LA HERRAMIENTA COMPUTACIONAL ................................................................................................... 21 1.2.2. EXPLORACIÓN NUMÉRICA INICIAL DE LA EXTENSIÓN DEL ALGORITMO DEL GRADIENTE GLOBAL ................................................................................................ 22 1.2.3. PLANIFICACIÓN DE LA ESTRUCTURA INFORMÁTICA..................................... 22 1.2.4. DESARROLLO DE LA APLICACIÓN .................................................................. 22 1.2.5. PRUEBAS DE CONSISTENCIA Y VALIDEZ DE LA APLICACIÓN ......................... 23 2. MARCO CONCEPTUAL ......................................................................................... 24 2.1. MODELACIÓN DE REDES HIDRÁULICAS ............................................................. 24 2.2. ALGORITMO DEL GRADIENTE GLOBAL (GGA) .................................................... 27 2.2.1. EJEMPLO SIMBÓLICO DE APLICACIÓN DEL GGA ........................................... 29 2.3. EXTENSIÓN DEL ALGORITMO DEL GRADIENTE GLOBAL (EGGA) ......................... 32 2.3.1. EJEMPLO SIMBÓLICO DE APLICACIÓN DEL EGGA ......................................... 34 2.4. LENGUAJE DE PROGRAMACIÓN ....................................................................... 35 3. DISEÑO Y DESARROLLO DEL SOFTWARE (DRÜCKE) .............................................. 38 3.1. DESARROLLO DEL MODELO DE DATOS ............................................................. 38 3.1.1. ENTRADA DE DATOS ...................................................................................... 39 3.1.2. ALMACENAMIENTO DE LA INFORMACIÓN ................................................... 41 3.1.3. MOTOR DE CÁLCULO..................................................................................... 49 3.1.4. SALIDA DE DATOS .......................................................................................... 53 3.2. METODOLOGÍA PARA LA SOLUCIÓN DE SISTEMAS LINEALES............................. 54 3.2.1. ALMACENAMIENTO DE LA MATRIZ Aij.......................................................... 55 3.3 IMPLEMENTACIÓN DE LA INTERFAZ GRÁFICA (GUI) ........................................... 60 3.3.1. DESARROLLO DE OBJETOS VISUALES ............................................................ 62 6.

(7) 3.3.2. PROGRAMACIÓN DE EVENTOS ..................................................................... 67 4. APLICACIONES, RESULTADOS Y DISCUSIÓN ......................................................... 68 4.1. CASOS DE APLICACIÓN ..................................................................................... 68 4.2. RESULTADOS COMPARATIVOS CON EL ALGORITMO DEL GRADIENTE GLOBAL .. 70 5. CONCLUSIONES Y RECOMENDACIONES ............................................................... 81 5.1. CONCLUSIONES................................................................................................ 81 5.2. RECOMENDACIONES ........................................................................................ 82 6. BIBLIOGRAFÍA ..................................................................................................... 83. 7.

(8) LISTA DE FIGURAS. Figura 1.Representación esquemática de la red hidráulica. .......................................... 18 Figura 2.Tipología de la red hidráulica ........................................................................... 29 Figura 3. Tipología de la red hidráulica - Aplicación ...................................................... 68. 8.

(9) LISTA DE GRÁFICAS. Gráfica 1. Resultados obtenidos para el vaciado de los tanques con el GGA para un intervalo de tiempo de 1 minuto, usando el software EPANET.. .................................... 19 Gráfica 2. Resultados obtenidos de los caudales con el GGA para un intervalo de tiempo de 1 minuto, usando el software EPANET.. .................................................................... 19 Gráfica 3. Resultados obtenidos para el vaciado de los tanques con el GGA para un intervalo de tiempo de 15 minutos, usando el software EPANET. ................................. 19 Gráfica 4. Resultados obtenidos de los caudales con el GGA para un intervalo de tiempo de 15 minutos, usando el software EPANET. .................................................................. 19 Gráfica 5-6. Resultados obtenidos para el vaciado de los tanques con el GGA y el EGGA para un intervalo de tiempo de 1 minuto. ...................................................................... 70 Gráfica 7. Resultados obtenidos de los caudales con el GGA para un intervalo de tiempo de 1 minuto. .................................................................................................................... 70 Gráfica 8. Resultados obtenidos de los caudales de los tanques con el EGGA para un intervalo de tiempo de 1 minuto. ................................................................................... 70 Gráfica 9-10. Resultados obtenidos para el vaciado de los tanques con el GGA y el EGGA para un intervalo de tiempo de 5 minutos. .......................................................... 71 Gráfica 11. Resultados obtenidos de los caudales con el GGA para un intervalo de tiempo de 5 minutos.. ..................................................................................................... 71 Gráfica 12. Resultados obtenidos de los caudales con el EGGA para un intervalo de tiempo de 5 minutos.. ..................................................................................................... 71 Gráfica 13. Resultados obtenidos para el vaciado de los tanques con el GGA para un intervalo de tiempo de 10 minutos. ................................................................................ 72 Gráfica 14.Resultados obtenidos para el vaciado de los tanques con el EGGA para un intervalo de tiempo de 10 minutos ................................................................................. 72 Gráfica 15. Resultados obtenidos de los caudales con el GGA para un intervalo de tiempo de 10 minutos. .................................................................................................... 72 Gráfica 16. Resultados obtenidos de los caudales con el EGGA para un intervalo de tiempo de 10 minutos. .................................................................................................... 72 Gráfica 17. Resultados obtenidos para el vaciado de los tanques con el GGA para un intervalo de tiempo de 15 minutos. ................................................................................ 73 Gráfica 18.Resultados obtenidos para el vaciado de los tanques con el EGGA para un intervalo de tiempo de 15 minutos ................................................................................. 73 9.

(10) Gráfica 19. Resultados obtenidos de los caudales con el GGA para un intervalo de tiempo de 15 minutos. .................................................................................................... 73 Gráfica 20. Resultados obtenidos de los caudales con el EGGA para un intervalo de tiempo de 15 minutos. .................................................................................................... 73 Gráfica 21. Resultados obtenidos para el vaciado de los tanques con el GGA para un intervalo de tiempo de 30 minutos. ................................................................................ 74 Gráfica 22.Resultados obtenidos para el vaciado de los tanques con el EGGA para un intervalo de tiempo de 30 minutos ................................................................................. 74 Gráfica 23.Resultados obtenidos de los caudales con el GGA para un intervalo de tiempo de 30 minutos. .................................................................................................... 74 Gráfica 24. Resultados obtenidos de los caudales con el EGGA para un intervalo de tiempo de 30 minutos. .................................................................................................... 74 Gráfica 25.Variación del error para diferentes intervalos de tiempo ............................ 75 Gráfica 26. Resultados obtenidos con el EGGA para un intervalo de tiempo de 1 minuto. ........................................................................................................................................ 76 Gráfica 27. Resultados obtenidos con el EGGA para un intervalo de tiempo de 1 minuto. ........................................................................................................................................ 76 Gráfica 28. Resultados obtenidos para el vaciado de los tanques con el GGA para un intervalo de tiempo de 1 minuto. ................................................................................... 77 Gráfica 29. Resultados obtenidos para el vaciado de los tanques con el EGGA para un intervalo de tiempo de 1 minuto. ................................................................................... 77 Gráfica 30. Resultados obtenidos para el vaciado de los tanques con el GGA para un intervalo de tiempo de 5 minutos. .................................................................................. 77 Gráfica 31. Resultados obtenidos para el vaciado de los tanques con el EGGA para un intervalo de tiempo de 5 minutos ................................................................................... 77 Gráfica 32. Resultados obtenidos para el vaciado de los tanques con el GGA para un intervalo de tiempo de 10 minutos. ................................................................................ 78 Gráfica 33. Resultados obtenidos para el vaciado de los tanques con el EGGA para un intervalo de tiempo de 10 minutos.s .............................................................................. 78 Gráfica 34. Resultados obtenidos para el vaciado de los tanques con el GGA para un intervalo de tiempo de 15 minutos. ................................................................................ 78. 10.

(11) Gráfica 35. Resultados obtenidos para el vaciado de los tanques con el EGGA para un intervalo de tiempo de 15 minutos. ................................................................................ 78 Gráfica 36. Resultados obtenidos para el vaciado de los tanques con el GGA para un intervalo de tiempo de 30 minutos. ................................................................................ 79 Gráfica 37. Resultados obtenidos para el vaciado de los tanques con el EGGA para un intervalo de tiempo de 30 minutos. ................................................................................ 79 Gráfica 38. Variación del error para diferentes intervalos de tiempo ............................ 79 Gráfica 39. Eficiencia computacional de cálculo a partir del sistema de almacenamiento ........................................................................................................................................ 80. 11.

(12) LISTA DE ESQUEMAS. Esquema 1. Ciclo lógico del Modelo de Datos................................................................ 38 Esquema 2. Modelo de datos – Lectura directa de Información ................................... 39 Esquema 3. Modelo de datos – Lectura no directa de Información (Datos importados) ........................................................................................................................................ 40 Esquema 4. Almacenamiento general de la información .............................................. 41 Esquema 5. Llenado de objetos ...................................................................................... 42 Esquema 6. Modelo matricial de la información condensada. ...................................... 44 Esquema 7. Configuración de la Matriz Variables – Dependencias de las variables ..... 45 Esquema 8. Funcionamiento general del Motor de Cálculo de DRÜCKE ....................... 51 Esquema 9. Recorrido matricial (Matriz Variables) ....................................................... 52 Esquema 10. Almacenamiento convencional de la matriz Aij. ....................................... 55 Esquema 11. Reducción matricial. ................................................................................. 55 Esquema 12. Modelo de almacenamiento reducido ...................................................... 57 Esquema 13. Estructura básica de la Interfaz Gráfica de Usuario. ................................ 61. 12.

(13) LISTA DE ANEXOS ANEXO 1. Manual del Usuario ANEXO 2. Software Ejecutable ANEXO 3. Hojas de cálculo (Excel). 13.

(14) RESUMEN El siguiente trabajo consiste en la implementación de la solución del problema de la inestabilidad numérica para el análisis de flujo de las redes hidráulicas en el período extendido, inestabilidad a causa de las de oscilaciones marcadas en períodos consecutivos generadas por grandes pasos de cálculo en el transcurso del tiempo y cuya solución se realiza mediante la nueva metodología propuesta por Todini (2011). Dicha solución, es implementada y desarrollada en el software DRÜCKE para la modelación y simulación hidráulica en el flujo presurizado de sistemas de almacenamiento. Mediante la Extensión del Algoritmo del Gradiente Global (EGGA) (Todini, 2011), cuyo fundamento se aplica para la solución de la inestabilidad numérica en el análisis de flujo en el período extendido, se desarrolló el software cuyo funcionamiento ha sido estructurado mediante el método del Gradiente Conjugado para la solución iterativa de sistemas lineales aplicados al algoritmo EGGA en conjunto con las leyes de la hidráulica de sistemas de presión. De esta forma, se aplica la solución al problema de la inestabilidad numérica de las redes de distribución de agua potable y así, se muestra cuantitativamente la solución obtenida por Todini (2011). No obstante, el Algoritmo del Gradiente Global (GGA), introducido por Todini (1979) y Todini & Pilati (1988), ha conformado la estructura para la mayoría de los software hidráulicos. EPANET, desarrollado por Rossman (1993) para la Agencia de Protección Ambiental de los Estados Unidos, WATERGEMS (BentleySystems, 2006), WATERCAD, en conjunto con otros software para el análisis hidráulico, han usado la metodología del GGA para la modelación y simulación hidráulica de flujo en el período extendido. Un esquema explícito de Euler proporciona la base del funcionamiento de las redes hidráulicas en el período extendido, sin embargo, la inestabilidad en los sistemas de almacenamiento se ha podido presenciar y asociar a determinados casos en particular. Por tal razón, Todini (2011) introduce básicamente el uso de un esquema Explícito – Implícito de solución de las ecuaciones diferenciales ordinarias de la simulación cuasidinámica del flujo en redes de distribución. Palabras Clave: Inestabilidad numérica, Algoritmo del Gradiente Global, Dispositivos de almacenamiento, Red de distribución, Simulación en el período extendido.. 14.

(15) ABSTRACT This work implements the solution of the problem of numerical instability for flow analysis in hydraulic networks extended period, which exists because of marked consecutive oscillations and whose solution is made using the new methodology proposed by Todini (2011). This solution is implemented and developed in DRÜCKE software for modeling and simulation pressurized hydraulic flow storage systems.. By the Extending the Global Gradient Algorithm (EGGA) (Todini, 2011), whose foundation is applied for solving numerical instability in the flow analysis in the extended period, the software was developed whose operation has been structured by Method numerical conjugate gradient for solving linear systems applied to EGGA algorithm in conjunction with the laws of hydraulic pressure systems. Thus, applying the solution to the problem of instability of digital networks potable water distribution and thus shows quantitatively the solution obtained by Todini (2011).. However, Global Gradient Algorithm (GGA), introduced by Todini (1979) and Todini & Pilati (1988), has formed the structure for most hydraulic software. EPANET, developed by Rossman (1993) for the Environmental Protection Agency of the United States, WaterGEMS (Bentley Systems 2006), WaterCAD, in conjunction with other software for hydraulic analysis, have used GGA methodology for modeling and simulation of hydraulic flow in the extended period. An explicit Euler scheme provides the basis for the operation of water networks in the extended period, however, instability in storage systems has been witnessed and involve certain particular cases. For this reason, Todini (2011) basically introduces a scheme using Explicit - Implicit solution of ordinary differential equations for quasi-steady simulation of flow in distribution networks. Keywords: Numerical Instability, Global Gradient Algorithm, Storage Devices, Water Distribution Network, The Extended Period Simulation.. 15.

(16) 1. INTRODUCCIÓN Las redes hidráulicas son sistemas que trabajan en conjunto para la distribución de fluidos sin importar su tipo. Éstas se modelan en flujo permanente en el período extendido, sin embargo existe la opción de realizar la modelación en flujo cuasidinámico. La existencia de software con éste propósito son diversos, cuyo como motor de cálculo es el Algoritmo del Gradiente Global (Todini, 2011). A pesar de haberse establecido como la metodología más usada para el cálculo de redes hidráulicas de distribución, el GGA ha presentado inestabilidades numéricas, especialmente para grandes intervalos de tiempo. Dicho problema se debe a que el cálculo genera oscilaciones marcadas en los períodos consecutivos, es decir, en cada cambio del intervalo de tiempo , generando también posible falta de convergencia. Éste problema a pesar de ser numérico, se puede ejemplarizar como el cambio basto en cada intervalo de tiempo, los cuales deberían ser bajos y sutiles para simular el comportamiento real de los sistemas de almacenamiento. La Extensión del Algoritmo del Gradiente Global, la cual consiste en una adición de un término implícito en el esquema del GGA para proporcionar la estabilidad numérica necesaria en el cálculo de las redes hidráulicas; es el motor de cálculo adoptado y desarrollado en éste trabajo. El método del Gradiente Conjugado, los modelos de almacenamiento matricial, la simplificación del cálculo de la extensión, la Interfaz Gráfica de Usuario (GUI), son algunos de los algoritmos contenidos dentro de DRÜCKE los cuales trabajan conjuntamente para el desarrollo de las redes de distribución. Para el desarrollo del software, se inició con un modelo de datos formalizado en dónde se plantea el esquema general para el funcionamiento de la aplicación, se procede con la subdivisión de las clases y métodos que conformarán la estructura general para el procesamiento de la información. Dichos métodos de procesamiento son dependientes de la forma utilizada para el ingreso de la información y cuya conexión se hace directamente con el Método del Gradiente Conjugado para la solución matricial de las ecuaciones hidráulicas. Éste modelo de datos fue estructurado con la proyección de poder simular en tiempo real las diferentes variables hidráulicas que conforman el sistema y así poder visualizar el comportamiento en el período extendido de la red hidráulica. Posteriormente, se podrá discernir de los resultados obtenidos con la extensión del GGA, resaltando la sutileza de las oscilaciones en cada intervalo de tiempo.. 16.

(17) ORGANIZACIÓN DEL DOCUMENTO Éste documento se compone de 5 capítulos distribuidos así: . El primer capítulo hace la introducción al problema, se exponen los objetivos y las diferentes etapas que se llevan a cabo para el desarrollo de éste trabajo.. . El segundo capítulo expone las metodologías utilizadas para el desarrollo de la aplicación, dónde se explica el problema en los sistemas de almacenamiento y el desarrollo de las ecuaciones de energía y masas. Adicionalmente, se exponen conceptos básicos de programación relacionados con el desarrollo del software.. . En el tercer capítulo se desarrolla el modelo de datos de la aplicación con todos sus componentes principales, tales como el esquema de procesamiento y almacenamiento de la información y los diferentes mecanismos para la entrada y salida de datos.. . El cuarto capítulo expone el análisis de los casos implementados en la aplicación correspondientes a modelos reales y sintéticos. Se determina la solución del problema y se hace un paralelo para diferentes escenarios de la propagación del error en la metodología antigua.. . Finalmente, en el capítulo sexto se exponen las recomendaciones y conclusiones del trabajo desarrollado.. 17.

(18) ANTECEDENTES En el transcurso evolutivo de la modelación y simulación hidráulica, se han planteado modelos matemáticos para la solución de redes de distribución, ya sea de agua potable, residual, combustible u otros fluidos, tales como la teoría lineal, métodos iterativos como Cross y el Algoritmo del Gradiente Global, el cual resuelve las ecuaciones de balance de masas y energía aplicadas a la estructura hidráulica del sistema. Actualmente existen diferentes software que implementan dicho algoritmo para la simulación hidráulica como EPANET, WaterCAD®, WaterGems®, los cuales incorporan dicha formulación matemática presentando discrepancias entre el comportamiento real y el simulado en la modelación del tiempo extendido, por efecto de inestabilidades numéricas (Todini, 2011). En el tiempo extendido, es decir, en la simulación en estado transitorio o dinámica, se han podido evidenciar inestabilidades numéricas en la evolución de los niveles de los dispositivos de almacenamiento, debido a la configuración del algoritmo, especialmente para tamaños grandes del paso de cálculo (Todini, 2011), generando de esta forma problemas de confiabilidad en la simulación de las redes de distribución. Éste problema se debe a que el cálculo genera oscilaciones marcadas en los períodos consecutivos, es decir, en cada cambio del intervalo de cálculo , generando de esta forma posible falta de convergencia. El análisis de estado no estable formulado por el Algoritmo del Gradiente Global, es una aproximación apropiada a las condiciones de este tipo de flujo en las redes, en donde se realiza un procedimiento iterativo para la solución del sistema (Giustolisi, 2010).. Figura 1. Representación esquemática de la red hidráulica. Dos tanques conectados descargándose en el transcurso del tiempo. Fuente: Todini, 2011.. 18.

(19) A partir de la Figura. 1, se tiene una red hidráulica con dos sistemas de almacenamiento con cabeza inicial conocida. En el transcurso del tiempo, ésta energía disminuirá ya que la configuración de la red hidráulica corresponde al modelo de descarga libre. Desarrollando las ecuaciones del GGA con el esquema explícito de Euler, se tiene para el cálculo de las variables del sistema las siguientes gráficas:. 30. Caudal [Lps]. Energía [m]. 25 20 15 10 5 0 0. 1. 2. Tiempo [Horas]. 3. 60 40 20 0 -20 -40 -60 -80 -100 -120 -140 -160 0. 4. Tubería 1. Gráfica 1. Resultados obtenidos para el vaciado de los tanques con el GGA para un intervalo de tiempo de 1 minuto, usando el software EPANET.. 20. Caudal [Lps]. Energía [m]. 25. 15 10 5 0 2. Tiempo [Horas]. 3. 3. 4. Tubería 2. Tubería 3. Gráfica 2. Resultados obtenidos de los caudales con el GGA para un intervalo de tiempo de 1 minuto, usando el software EPANET.. 30. 1. 2. Tiempo [Horas]. Tanque 1 Tanque 2. 0. 1. 80 60 40 20 0 -20 -40 -60 -80 -100 -120 -140 -160. 4. 0. 1. Tanque 1. Tubería 1. Tanque 2. Gráfica 3. Resultados obtenidos para el vaciado de los tanques con el GGA para un intervalo de tiempo de 15 minutos, usando el software EPANET.. Gráfica 4. 2 Tiempo [Horas] Tubería 2. 3. 4 Tubería 3. Resultados obtenidos de los caudales con el GGA para un intervalo de tiempo de 15 minutos, usando el software EPANET.. Para la misma configuración de red, se ha realizado el cálculo con el software EPANET para diferentes intervalos de tiempo, en dónde se puede evidenciar a partir de las gráficas la inestabilidad numérica. Cuando el intervalo de cálculo aumenta, el algoritmo desconoce la información que se ha generado en el tiempo pasado y el tiempo actual de cálculo, generando oscilaciones marcadas en los períodos consecutivos y generando posible falta de convergencia. Cuando éste intervalo de 19.

(20) tiempo se hace más grande la información perdida es mayor y por ende la simulación será menos confiable. Es por esta razón necesaria la implementación de la extensión del algoritmo del gradiente global propuesto por Todini (2011), para evitar los problemas numéricos con el cálculo de redes en el período extendido, los cuales impiden la aplicación de esquemas de operación confiables en sistemas de distribución y así asemejarse al comportamiento real de los niveles en los dispositivos de almacenamiento. La modelación es requerida para estimar y establecer esquemas y reglas de operación eficientes en los acueductos y de esta forma garantizar el bienestar de los usuarios. La capacidad de simulación de un período prolongado es una consideración importante en la planificación y operación de sistemas de distribución de fluidos (Wu, 2009), puesto que si esta simulación reproduce comportamientos erróneos, el desarrollo hidráulico de la red de distribución, modificaría el esquema inicial produciendo cambios significativos en los requerimientos del sistema.. JUSTIFICACIÓN. La solución a éste tipo de problemas ayuda a modelar con mayor eficiencia y precisión la hidráulica de las redes en estado no estable. Si se soluciona la inestabilidad numérica, es posible realizar esquemas de operación en tiempo extendido representando con mayor aproximación para cada instante de tiempo, la variación de energía de los sistemas de almacenamiento y elementos hidráulicos como los nodos, válvulas y demás dispositivos. De allí surge la necesidad de desarrollar un software en donde se implemente la nueva metodología y así facilitar el cálculo para redes de gran tamaño, generando una simulación más aproximada al comportamiento de la red hidráulica.. 20.

(21) 1.1. OBJETIVOS 1.1.1. OBJETIVO GENERAL Diseñar y desarrollar una aplicación para la modelación y simulación hidráulica en el flujo presurizado, empleando la Extensión del Algoritmo del Gradiente Global, como solución a la inestabilidad numérica en el análisis de flujo en período extendido.. 1.1.2. OBJETIVOS ESPECÍFICOS . Determinar los requerimientos de la aplicación del Algoritmo del Gradiente Global para el análisis en el período extendido.. . Planificar y desarrollar la herramienta de modelación del Algoritmo del Gradiente Global utilizando las condiciones de su aplicación.. . Verificar los resultados de modelación con modelos sintéticos reportados por la literatura.. 1.2. METODOLOGÍA 1.2.1. REVISIÓN COMPUTACIONAL. BIBLIOGRÁFICA. Y. DEFINICIÓN. DE. LA. HERRAMIENTA. Se consultará y recopilará en libros, artículos, y otras fuentes de información, la incorporación de la extensión del algoritmo del gradiente global en el tiempo extendido para flujo no estable. Posteriormente se definirá el software en el cual se ejecutará y desarrollará todo el algoritmo para la aplicación, basándose en diferentes criterios tales como:   . Programación versátil Velocidad óptima de procesamiento de datos Modelación de interfaz gráfica. Una vez evaluados los anteriores criterios, se determinó que el lenguaje de programación seleccionado para el desarrollo del software DRÜCKE es JAVA, usando el 21.

(22) Entorno de Desarrollo Integrado (IDE – NetBeans.. Integrated Development Environment ). 1.2.2. EXPLORACIÓN NUMÉRICA INICIAL DE LA EXTENSIÓN DEL ALGORITMO DEL GRADIENTE GLOBAL Se revisarán los requerimientos y necesidades para ejecutar la extensión del algoritmo del gradiente global, comprendiendo la estructura del mismo. Mediante redes hidráulicas sintéticas simples, se explorará numéricamente el funcionamiento del algoritmo para determinar cuáles son los pasos necesarios para llevar a cabo la programación de la aplicación.. 1.2.3. PLANIFICACIÓN DE LA ESTRUCTURA INFORMÁTICA Se determinará las fases de programación que se llevarán a cabo para ejecutar la herramienta de modelación del flujo presurizado en el tiempo extendido. La primera consiste en el Desarrollo del modelo de datos en dónde se determinará cómo será el almacenamiento y procesamiento de los datos insertados en la aplicación. Posteriormente se planificará la estructura de cómo el usuario ingresará los datos y de qué forma serán proyectados los resultados realizados por la aplicación. Para llevar a cabo estas fases de desarrolló, será necesario entonces definir todos los procedimientos y funciones dentro de módulos y cómo estos interactúan para el desarrollo de la aplicación. Finalmente, se pre diseñará el Manual del Usuario. Tutoriales basados en redes hidráulicas sintéticas simples, mensajes de error, modelos del sistema, preguntas frecuentes, son algunos de los aspectos contenidos en el manual del usuario, los cuales serán definidos en esta fase.. 1.2.4. DESARROLLO DE LA APLICACIÓN Después de haber seleccionado el modelo de datos, se implementará éste en el respectivo lenguaje de programación previamente definido (JAVA en el IDE – NetBeans), aplicado a diferentes tipologías de redes, al igual que todas las funciones necesarias para llevar a cabo la ejecución y desarrollo de la aplicación, incluyendo todos los códigos referentes a la interfaz gráfica.. 22.

(23) El desarrollo del manual del usuario se llevará a cabo simultáneamente se avance con el código de programación, con el propósito de evitar confusiones y la omisión de herramientas de la aplicación.. 1.2.5. PRUEBAS DE CONSISTENCIA Y VALIDEZ DE LA APLICACIÓN Mediante modelos hidráulicos sintéticos reportados por la literatura (Larock, Jeppson & Watters, 2000), se verificará que las ecuaciones hidráulicas y los resultados obtenidos sean consistentes con el sistema hidráulico. Se verificará la validez de la aplicación mediante la estabilidad numérica para diferentes pasos de cálculo en el transcurso del tiempo . Dicho paso de cálculo, está relacionado directamente con la inestabilidad numérica (Todini, 2011). Finalmente, con una red hidráulica real se empleará la aplicación para determinar si los resultados obtenidos son consistentes mediante pruebas de escritorio.. 23.

(24) 2. MARCO CONCEPTUAL. 2.1. MODELACIÓN DE REDES HIDRÁULICAS. La modelación de redes hidráulicas consiste en simular el comportamiento hidráulico para tiempos determinados ya sea en período simple o período extendido, realizando toda la interpretación cuantitativa de las variables que rigen el comportamiento del sistema. De esta forma, la solución se centraliza en conocer la cantidad de energía disponible para la red hidráulica y así poder establecer la distribución o abastecimiento poblacional.. ∑. [1] (Todini, 2011) [2] (Todini, 2011). La hidráulica debe de cumplir las ecuaciones de Balance de Masas y Energías. La ecuación [1] describe el balance de masas para los nodos con cabeza hidráulica desconocida, donde es el volumen de agua almacenada en el nodo , es el caudal que se transporta entre la tubería conectada entre el nodo y el nodo y es el caudal externo aplicado en el nodo . La ecuación [2], el término representa las pérdidas a lo largo de la longitud hidráulica (Ecuación [27] y [28]).. de la tubería y. es el coeficiente de resistencia. Si bien todo sistema hidráulico genera pérdidas de energía a causa de la fricción, accesorios y transientes; para su modelación se debe de tener en cuenta dicho factor, ya que éste aportará a determinar la variación energética del sistema. Adicionalmente, los sistemas de almacenamiento poseen la propiedad innata de acumular masa y energía para poder ser retribuida en el momento de escasez hidráulica y así compensar la demanda de masa y energía. Cuando aumenta el nivel en estos dispositivos, aumenta la energía potencial para este punto, la cual será transformada en energía cinética a través del paso por la tubería. Ésta energía cinética se refleja en la magnitud de la carga de velocidad, y con la carga piezométrica, determinan la energía disponible para determinado punto. Para la modelación de redes hidráulicas es necesario conocer las propiedades del sistema, tales como las propiedades del fluido que se está transportando, los 24.

(25) materiales de las tuberías, los dispositivos de regulación, de almacenamiento y de adición de energía. Con ésta información básica, se procede al cálculo dependiendo de la configuración de la red y así determinar las variables para determinados instantes de tiempo. Las dos variables que rigen el comportamiento de la red hidráulica corresponden a los caudales ( ) y las energías ( ) de todo el sistema. La primera variable es la cantidad de masa que se transporta a través de las tuberías desde un punto hasta un punto en un determinado lapso de tiempo; ésta variable depende esencialmente del área transversal por la cual se transporta y la velocidad con la que lo hace. En una red hidráulica real, adquiere diferentes valores respecto al tiempo debido a la variación de consumo poblacional. La segunda variable, corresponde a la suma de los tres términos en la ecuación de trabajo – energía, también denominada la ecuación de Bernoulli (Larock, Jeppson & Watters, 2000):. [3]. Donde. se define como la carga de velocidad, la carga piezométrica y la posición. del punto respecto a un punto de referencia. A partir de ésta ecuación se puede estimar la disposición del transporte del fluido a lo largo de la red hidráulica. Con estas dos variables se definen las ecuaciones [1] y [2]. Para una red hidráulica de nodos se tiene entonces incógnitas referentes a las energías para todo el sistema y incógnitas referentes a los caudales de las tuberías, siendo el número total de tuberías. Para la solución simultánea del sistema, es necesario entonces emplear un algoritmo para la solución matricial de todas las ecuaciones planteadas a partir de éstas dos variables. SISTEMA DE - ECUACIONES Como ya se había indicado previamente, una de las variables que rige el comportamiento del sistema es el caudal. En las redes hidráulicas, el análisis de ésta variable se fundamenta en la continuidad de los principios de trabajo y energía (Larock, Jeppson & Watters, 2000).. 25.

(26) ∑. Donde,. ∑. [4]. Suma de las descargas de cada una de las tuberías al nodo Caudal de demanda en el nodo. Para que la continuidad se conserve, se debe satisfacer que el volumen de descarga debe ser igual a la suma de caudales que llegan al nodo, a diferencia de la ecuación [1] en donde la diferencia de estos caudales se relaciona con el volumen almacenado. El número total de hidráulica.. SISTEMA DE. – Ecuaciones será igual al número total de elementos en la red. - ECUACIONES. Una ecuación de energía es escrita en cada nodo, o en , siendo el número total de nodos si existe menos de dos fuentes de suministro. Cuando una red hidráulica tiene menor número de nodos que de bucles alrededor de los cuales pueden ser escritas las ecuaciones independientes ( ), donde es el número de bucles; entonces existirá menor número de ecuaciones de energías que de –ecuaciones de caudales.. Para calcular el número de bucles, se tiene la ecuación: [5]. Si la red hidráulica contiene dos o más fuentes de energía, [6]. Para hacer la configuración de la ecuación de energía para cada nodo, se tiene la ecuación exponencial para la descarga de la forma:. (. ). [. ]. [7]. 26.

(27) ∑ {[. ]. }. ∑ {[. ]. }. [8]. Donde, Coeficiente de pérdidas de la tubería conectada entre el nodo y Caudal de demanda en el nodo Energía disponible en el nodo Energía disponible en el nodo. 2.2. ALGORITMO DEL GRADIENTE GLOBAL (GGA) Una vez establecidas todas las propiedades del sistema se procede a realizar el cálculo de las variables hidráulicas con el propósito de conocer la solución de la red. La metodología utilizada para ésta solución se conoce como el Algoritmo del Gradiente Global, el cual consiste en la formulación del Balance de Masas para cada nodo y las ecuaciones de energía (Todini, 1979):. [9]. La ecuación [9], representa la diferencia de energías entre dos puntos y . El primer sumando corresponde a las pérdidas locales generadas entre el punto y y el segundo sumando es referente a las pérdidas locales generadas por los accesorios contenidos en dicho tramo. Por lo tanto la ecuación [9] representa las pérdidas totales. Si se deriva parcialmente la anterior ecuación respecto al caudal se tiene una expresión para la aproximación, por expansión de Taylor, a los valores consecutivos de convergencia así:. (. ). (. ). [10] (Todini, 1988). Donde,. |. |. |. |. [11]. 27.

(28) | Al expresar el caudal. |. |. |. |. |. [12]. , se tiene:. (. (. ). ) |. |. |. [13]. |. [14]. Así, al sumar todos los caudales que llegan a un nodo se tiene:. (. ∑. [15]. ). Ecuación general para cada nodo (GGA). Donde, Energía disponible en el nodo Energía disponible en el nodo Caudal transportado desde el nodo al nodo Caudal de demanda en el nodo Iteración Constante de proporcionalidad ( con la formulación de Darcy-Weisbach y para la formulación de Haze-Williams). Constante de pérdidas definido en la Ecuación [29]. La ecuación [15], se puede representar matricialmente mediante la ecuación:. [. ][. ]. [. ][. ]. [16]. 28.

(29) Donde [. ] es la matriz calculada mediante la ecuación[12] para todas las tuberías y. cuya composición representa la conexión entre todos los nodos, el vector [ ] representa las incógnitas del sistema correspondiente a las energías para cada nodo, la matriz [ ] corresponde a la matriz de de fijos correspondientes a aquellas. tuberías que interconectan tanques o embalses, el vector [ ] corresponde a las a las constantes de todo el energías de los embalses o los tanques y el vector sistema correspondientes a las operaciones entre los caudales de demanda de los nodos y con los valores de para la tubería que conecta dichos nodos. Éste es el esquema que ha sido adoptado por los diferentes programas para la modelación y simulación en el período extendido utilizando un esquema Euler explícito para las energías de los sistemas de almacenamiento. Éste esquema es usado para solucionar las ecuaciones diferenciales ordinarias del sistema.. [∑. ]. [∑. Ecuación Esquema implícito - explícito de Euler.. ]. 2.2.1. EJEMPLO SIMBÓLICO DE APLICACIÓN DEL GGA Para mostrar el esquema Explícito mostrado previamente, se presenta a continuación un modelo sintético configurado de la siguiente forma: 6 H8f. H7f 4 5 3. 1. Figura 2. 2 Tipología de la red hidráulica. 29.

(30) Para el desarrollo de la red hidráulica es necesario suponer una dirección de flujo para cada tubería y así empezar a definir las matrices para la primera iteración. A partir de la ecuación [15], se tiene para cada nodo que:.  NODO 1 (. [. ). ]. (. [. ). ].  NODO 2 [. (. [.  NODO 3 [. ). (. ]. (. ). [. (. [. ]. ). [. ). (. ]. ). (. ]. ). ]. ].  NODO 4 [. (.  NODO 5 [. (. [. (. ). ). [. (. ]. [. ]. [. ]. [. ). ]. ). (. ). (. ]. ). ]. ].  NODO 6 [. (. ). (. ). ]. Para cada ecuación, se agrupan los términos constantes con el propósito de obtener . los valores del vector (. (. ). ) 30.

(31) ). (. ). (. Nótese que ésta agrupación deja para cada ecuación los valores de cuales se pueden organizar matricialmente de la siguiente forma:. [. ]. [. Ecuación matricial de la red hidráulica. Ecuación [17]. y. ]. , los. [. ] [. ]. Se procede a resolver la ecuación matricial para obtener los de cada nodo. Con estas energías, se calculan los caudales respectivos de cada tubería mediante la ecuación [15].Posteriormente se procede a realizar una nueva iteración siguiendo el procedimiento descrito previamente; la diferencia radica en que para ésta iteración se calcularán los con la ecuación [12], en dónde se utilizarán los caudales previamente calculados. Se continúa con el proceso iterativo hasta obtener una diferencia mínima entre las energías de la iteración actual y la anterior. Cuando el sistema converge para éste primer tiempo, se procede a realizar el cálculo del segundo tiempo tal y como se había descrito previamente y así sucesivamente obteniendo para cada intervalo de tiempo el valor de las energías y caudales del sistema. Se ha podido presenciar para ésta metodología de cálculo que para los intervalos de tiempo pequeños las oscilaciones marcadas en el tiempo de los sistemas de almacenamiento simulan el comportamiento real, sin embargo, cuando se utilizan 31.

(32) intervalos de tiempo muy grandes el cálculo puede presentar falta de convergencia aumentando la inestabilidad numérica del sistema y de esta forma genera en los sistemas de almacenamiento cambios bastos entre los intervalos de cálculo. Éste comportamiento se debe al esquema Explícito de Euler, cuyo funcionamiento utiliza información del cálculo realizado en la iteración anterior. Cuando el intervalo es muy grande, el algoritmo desconoce toda la información que se ha debido generar entre el tiempo pasado y el tiempo de cálculo actual generando de esta forma la inestabilidad en los sistemas de almacenamiento. Para la misma tipología de red hidráulica que se ha venido trabajando, se ha desarrollo con el software EPANET la simulación de los dispositivos de almacenamiento para diferentes intervalos de tiempo:. 2.3. EXTENSIÓN DEL ALGORITMO DEL GRADIENTE GLOBAL (EGGA) La extensión del Algoritmo del Gradiente Global introducida en el año 2011, consiste en la adición del esquema Implícito – Explícito de Euler el cual permite solucionar el cambio brusco en las oscilaciones marcadas en el tiempo. Ésta adición se hace edia te el fa to θ el cual adquiere valores mayores a cero o menores o iguales a uno, discretizando en el tiempo el cálculo del sistema (Todini, 2011).. [∑. ]. [∑. ]. Ecuación general del algoritmo EGGA.. [18]. Donde, Área dela sección transversal del sistema de almacenamiento Intervalo de tiempo Disponibilidad de energía en el nodo de la iteración pasada en el tiempo t Disponibilidad de energía en el nodo de la iteración actual en el tiempo t A continuación se simplifica la ecuación [18] con el propósito de expresar la ecuación matricialmente y así representar las ecuaciones de las redes hidráulicas con mayor versatilidad.. ∑[. (. [∑. ]. ). ]. [19]. 32.

(33) De acuerdo a las propiedades de la sumatoria, se procede a separar los términos del primer sumando de la ecuación [19]:. ∑. (. ). [∑. ∑. ∑. [20]. ]. Se agrupan todas las incógnitas (términos de la iteración + 1) al lado izquierdo de la ecuación:. ∑ ∑. ∑. [. ][. ∑. ]. [∑. [. Tamaños de las matrices y vectores: [. ]. [. ]. [. [. ]. ∑. ][. ]. ]. [21]. [22]. (N° Nodos + N° Tanques) x (N° Nodos + N° Tanques) ]. (N° Nodos + N° Tanques) (N° Nodos + N° Tanques) x (N° Nodos fijos) (N° Nodos fijos) (N° Nodos + N° Tanques) (N° Nodos + N° Tanques) 33.

(34) Donde [. ] es la matriz calculada mediante la ecuación [12] para todas las tuberías y. cuya composición representa la conexión entre todos los nodos, el vector [ ] representa las incógnitas del sistema correspondiente a las energías para cada nodo, la matriz [ ] corresponde a la matriz de de fijos correspondientes a aquellas. tuberías que interconectan embalses, el vector [ ] corresponde a las energías de los a las constantes de todo el sistema correspondientes a las embalses y el vector operaciones entre los caudales de demanda de los nodos y con los valores de para la tubería que conecta dichos nodos. A diferencia de la ecuación [17], se el cual representa la inclusión del esquema Explícito – Implícito agrega el vector de Euler con el cual se soluciona el problema de la inestabilidad numérica presentada en los dispositivos de almacenamiento. Ésta adición permite que en el cálculo prevalezca las energías obtenidas en el tiempo anterior depe die do del valo ue ad uie a θ. E el aso ue éste fa to ad uie a el valor de 1, el esquema Explícito – Implícito desaparecerá dejando sólo como objeto de cálculo el GGA con su respectivo esquema Explícito de Euler. 2.3.1. EJEMPLO SIMBÓLICO DE APLICACIÓN DEL EGGA Con el ejemplo propuesto en la sección 2.2.1., se realiza la adaptación al esquema Explícito – Implícito de Euler. Para la inclusión de la nueva metodología es necesario para cada sistema de almacenamiento adicionar el término ecuación [21] y adicionalmente, en el vector [∑. derivado de la. , implementar el término. ] también derivado de la ecuación [21]. Las ecuaciones para cada. nodo siguen siendo las mismas que las propuestas en la sección 2.2.1., sin embargo el tamaño de la matriz aumenta en dos unidades ya que los tanques ya no pertenecen más a la matriz de fijos ni el vector , debido a que su energía se asume como no fija durante el cálculo iterativo de la nueva metodología. Por lo tanto es necesario calcular las dos constantes y .. (. ). 34.

(35) A21+A5. C1. 0. iter+1. C2. 0. iter+1. C3. 0. C4 +. 0. iter+1. C5. 0. iter+1. C6. 0. iter+1. C7. (. )(. iter+1. C8. (. ). iter+1. -A21. 0. 0. -A51. 0. 0. 0. H1. -A21. A32+A42 +A21. -A32. -A42. 0. 0. 0. 0. H2. 0. -A32. A43+A32 +A73. -A43. 0. 0. -A73. 0. H3. 0. -A42. -A43. A43+A45 +A42. -A45. 0. 0. 0. H4. -A51. 0. 0. -A45. A45+A85 +A51. 0. 0. -A85. H5. 0. 0. 0. 0. 0. A76+A68. -A76. -A68. H6. 0. 0. -A73. 0. 0. -A76. A73+ A76. 0. H7. 0. 0. 0. 0. -A85. -A68. 0. A68+ A85. H8. 1. [. ]. iter+1. [. =. ). ]. Ecuación matricial de la red hidráulica. Ecuación [23]. Donde. y. son las energías de los tanques.. Se procede a realizar la ecuación matricial obteniendo los valores de las energías y los caudales con la ecuación [15] y se sigue con el mismo procedimiento descrito en la sección 2.2.1. con Sólo para cada cambio de tiempo es necesario calcular de nuevo el vector los caudales obtenidos en el tiempo anterior, a diferencia de la matriz [ ], la cual sí se debe de calcular en cada nueva iteración con las respectivas adiciones del EGGA.. 2.4. LENGUAJE DE PROGRAMACIÓN Para el desarrollo de éste proyecto, fue necesario establecer el lenguaje de programación en el cual se iba a ejecutar todos los algoritmos correspondientes al software DRÜCKE, incluyendo toda la parte gráfica de la aplicación. Ésta selección se 35.

(36) hizo con los siguientes criterios: programación versátil, velocidad óptima de procesamiento de datos y modelación de la interfaz gráfica. Actualmente, el lenguaje que más se ajusta a éstas condiciones es JAVA. JAVA es un lenguaje de programación de alto nivel el cual permite el uso de comandos a cambio de códigos numéricos encriptados. Cada instrucción corresponde a una serie de algoritmos dentro del procesador del computador cuyo lenguaje consiste enteramente en números que son analizados para concluir con la orden ejecutada por el usuario (Gary et al, 2005). JAVA fue diseñado y desarrollado en la década de los 90 por James Gosling para Sun Microsystems (Oracle Corporation) y cuya sintaxis emplea como base, lenguajes como C, C++ y Smalltalk. Contiene un modelo de objetos simples eliminando herramientas de bajo nivel las cuales suelen introducir a errores y cuyo funcionamiento lo convierte en uno de los lenguajes más utilizados y confiables de la industria (Gary et al, 2005). Para el desarrollo del software DRÜCKE, se empleó la IDE NetBeans el cual implementa dicho lenguaje de programación. A partir de éste software de desarrollo se elaboró la interfaz gráfica de usuario y toda la implementación de la Extensión del Algoritmo del Gradiente Global. Para el desarrollo del presente proyecto, es necesario entender los siguientes conceptos, los cuales son utilizados a lo largo del desarrollo de éste documento:  TIPOS DE DATOS Los tipos de datos son conceptos fundamentales en todos los lenguajes de programación, los cuales hacen referencia a los métodos disponibles de almacenamiento de la información. Éstos permiten dimensionar un dato en memoria. Básicamente existen dos tipos de datos en JAVA:.     . SIMPLES. COMPUESTOS. Integer Double Float Boolean Chart.   . String Table Nombres de clases o interfaces. Los tipos simples son manejados directamente por el compilador y no necesitan el uso de bibliotecas JAVA específicas. En los tipos compuestos, su uso puede necesitar clases específicas de la biblioteca JAVA (Aumaille, 2000). 36.

(37)  OBJETOS Las instancias de las clases se denominan objetos. El diseño orientado a objetos radica en averiguar cuáles son los objetos de un sistema, las clases en que se pueden agrupar y las relaciones entre objetos que se puedan obtener (Durán, Gutiérrez, Pimentel, 2007). Éstos tienen propiedades que los hace únicos en todo el lenguaje de programación lo que permite la fácil manipulación y procesamiento de la información. Para el desarrollo del esquema de almacenamiento del software DRÜCKE, fue necesario implementar los objetos en la programación realizada en tiempo real.  EVENTOS. Los eventos son aquellos sucesos o acciones generados por el usuario que proporciona un flujo de programación definido por la ruta que el usuario desee. Estos son generados desde el hardware (teclado y ratón) y su determinación genera el funcionamiento de DRÜCKE.. 37.

(38) 3. DISEÑO Y DESARROLLO DEL SOFTWARE (DRÜCKE) 3.1. DESARROLLO DEL MODELO DE DATOS El modelo de datos se estructuró con base en los requerimientos del motor de cálculo. La comunicación de datos entre los objetos, clases y métodos, fue establecida de tal forma para que la información ingresada por el usuario permaneciera lista y disponible una vez ejecutada la orden de realizar el cálculo. Se implementó un modelo de datos por componentes: Cuando es ingresada en el Graphical User Interface (GUI) los datos básicos de la red de distribución hidráulica, tales como las propiedades de los nodos, dispositivos de almacenamiento, tipo de fluido, entre otras características de la red; se ejecuta mediante programación en tiempo real el almacenamiento de la información, proporcionando a la aplicación la versatilidad de generar un procesamiento rápido y adecuado de la información. Para el desarrollo inicial de DRÜCKE se establecieron los principales componentes del software para el análisis y procesamiento de información, los cuales se describen a continuación:. USUARIO 3.1.4. SALIDA DE DATOS. 4. 1. Reporte DRÜCKE. 1. Lectura Directa. 2. Datos Exportados. 2. Datos importados. 3.1.3. MOTOR DE CÁLCULO. 3. 3.1.1. ENTRADA DE DATOS. 1. Implementación del EGGA. 1. 3.1.2. ALMACENAMIENTO DE INFORMACIÓN 1. En Objetos 2. En matrices condensadas. 2. Transferencia de Información Módulos principales de la aplicación Esquema 1.Ciclo lógico del Modelo de Datos. 38.

(39) 3.1.1. ENTRADA DE DATOS. La entrada de datos en el software, se puede realizar de diferentes formas con el propósito de proporcionar la accesibilidad a los diferentes tamaños de las redes hidráulicas. Es posible realizar el ingreso de datos de forma directa, es decir, directamente sobre objetos del GUI para la inserción de objetos. Adicionalmente, si se trabajara redes más complejas o con un tamaño mayor, DRÜCKE proporciona la posibilidad de importar bases de datos y así evitar la labor dispendiosa de la inserción de la información. La primera ruta de ingreso de datos, funciona mediante eventos determinados por el usuario en donde se hace específico cada valor de la red.. INTERFAZ GRÁFICA (GUI) MOTOR DE CÁLCULO MENÚ Base de Datos. Salida de Datos. Selección de Objetos Java (Interacción con los JFrame, JToggleButton, JButton y demás objetos). Proceso cíclico. Se ejecuta en tiempo real la interacción entre el usuario y los objetos del GUI tantas veces hasta lograr la configuración de la red. Finaliza el ciclo cuando el usuario da la orden de continuar con el evento de transición. Transición. Evento dónde se da la orden de iniciar la verificación y validación de la base de datos. Jerarquía de la GUI para la entrada de datos. Se realiza sin haberse ejecutada la orden de cálculo Flujo de Información. Se realiza una vez ejecutada la orden de cálculo Módulo después de haberse ejecutado la aplicación Módulo antes de haberse ejecutado la aplicación Esquema 2. Modelo de datos – Lectura directa de Información. 39.

(40) La parte derecha del esquema superior (GUI), corresponde al conjunto de clases y métodos secundarios los cuales se realizan antes de oprimir el botón de ejecutar el cálculo de la aplicación, mientras que la parte izquierda corresponde a las clases principales de DRÜCKE y cuyo funcionamiento se origina una vez oprimido el botón de ejecutar la aplicación. A diferencia de ésta ruta para el ingreso de información, la segunda ruta consiste en la importación de datos, se hace mediante un módulo especial GUI de importar, es decir: se suprime el proceso cíclico descrito previamente, ejecutándose sólo una vez la orden para importar el archivo de texto.. INTERFAZ GRÁFICA. MOTOR DE CÁLCULO. Base de Datos. MENÚ (Opción importar). Salida de Datos. Selección del Archivo de texto. Transición. Evento dónde se da la orden de iniciar la verificación y validación de la base de datos. Jerarquía de la GUI para la entrada de datos. Se realiza sin haberse ejecutada la orden de cálculo Flujo de Información. Se realiza una vez ejecutada la orden de cálculo Módulo después de haberse ejecutado la aplicación Módulo antes de haberse ejecutado la aplicación Esquema 3. Modelo de datos – Lectura no directa de Información (Datos importados) Aunque éstos dos esquemas están integrados en un sólo modelo de datos, se diferencian en la transferencia de información. En el primer esquema, el usuario interactúa con los objetos del GUI en un proceso cíclico, almacenando información p eli i a e tie po eal e espa ios de o i ados o jetos . U a vez ge e ada la orden de continuar con la transferencia de información, el proceso cíclico de interacción entre el usuario y los objetos del GUI finaliza y toda la información preliminar almacenada, es transferida a la clase Base de Datos; mientras que el 40.

(41) segundo esquema, dónde se importan datos mediante un archivo de texto, funciona a partir de un evento establecido por el usuario con el objetivo de transferir toda la información leída a la clase Base_de_Datos, sin necesidad de realizar un almacenamiento preliminar. Con éste esquema de trabajo se procede a realizar la simulación hidráulica en el período de tiempo extendido, generando un bucle en el motor de cálculo para obtener la variación de energías y caudales del sistema. A partir de este Módulo generalizado, se procede a continuación con la explicación detallada del almacenamiento de la información.. 3.1.2. ALMACENAMIENTO DE LA INFORMACIÓN. Cómo se había indicado previamente, el aplicativo guarda la información en tiempo real antes de ser ejecutada la orden de cálculo. Dicho lugar de almacenamiento hace referencia a las instancias de las clases denominados objetos. Posterior a éste tipo de almacenamiento de información, DRÜCKE enviará todos los datos a las matrices globales del programa. Éste esquema de almacenamiento matricial es la estructura principal de la clase Base de Datos, ya que se genera a partir de la composición de éstas las iteraciones y variaciones en el período extendido.. Antes de ejecutada la orden de cálculo. INTERFAZ GRÁFICA (GUI). ALMACENAMIENTO DE INFORMACIÓN EN OBJETOS. 3.1.2.1. 3.1.2.2 ALMACENAMIENTO DE INFORMACIÓN EN MATRICES CONDENSADAS Matrices de Líneas. Matrices de Nodos. Después de ejecutada la orden de cálculo. Esquema 4. Almacenamiento general de la información Antes de seguir con la siguiente etapa se realiza una validación de la información suministrada con el propósito de evitar errores en el procesamiento de la información y de esta forma evitar el colapso de la aplicación. En esta etapa de almacenamiento, es indispensable el proceso de validación ya que así se evita desperdiciar memoria en el tiempo de ejecución con los posibles errores ocasionados, tales como la omisión de 41.

(42) información básica para la simulación en el período extendido, elementos hidráulicos desconectados, tuberías mal insertadas, entre otros. 3.1.2.1ALMACENAMIENTO DE LA INFORMACIÓN EN OBJETOS. ALMACENAMIENTO DE INFO. INTERFAZ GRÁFICA (GUI). Objetos de Almacenamiento 1T. 1. 1. 2. 2. 2N. 1. Vector Tanques. Vector Tuberías. Vector Nodos. 3 3N 1N. Se han insertado tres Nodos, dos Tuberías y un Tanque en el tiempo de Ejecución.. Esquema 5. Llenado de objetos Cuando se inserta el primer elemento en el área de dibujo del GUI, se genera en el objeto una posición para almacenar la información de éste primer elemento. Si se llegase a añadir mayor cantidad de elementos, éste objeto tiene la facultad de aumentar su longitud hasta igualar la cantidad de elementos insertados. Internamente, la aplicación clasificará cada elemento hidráulico insertado con un identificador global y un identificador parcial, es decir; para los Tanques se utilizará el e te o pa a de ota la e iste ia de u ta ue, el e te o pa a los odos y el e te o pa a los e alses. Ésta clasificación se realizó con el propósito de discernir cada elemento cuando es condensado en la matriz general y así poder operar lo más rápido posible toda la red hidráulica (nótese que las tuberías no tienen identificador global ya que son condensadas en una matriz diferente); i.e. si se llegase a insertar 5 nodos en la interfaz gráfica del usuario, la aplicación manejará la instrucción como 5 elementos de tipo 1 (identificador global) con identificador parcial 1, 2, 3, 4, 5. Nótese que el orden de inserción de los elementos hidráulicos es el determinado por la aplicación para nombrar cada elemento independiente del nombre asignado por el usuario a cada elemento, esto con el propósito de manejar un orden interno y evitar la confusión en el procesamiento de la información. Por otro lado, las tuberías serán almacenadas de igual forma en un objeto cuya longitud será igual al número total de tuberías insertadas.. 42.

(43) 3.1.2.2ALMACENAMIENTO DE LA INFORMACIÓN EN MATRICES CONDENSADAS. Todo este proceso de almacenamiento se lleva a cabo en el tiempo real de ejecución, el cual concluirá cuando el usuario dé la instrucción de proseguir con el cálculo de la tipología armada. Una vez confirmada ésta instrucción, los objetos serán almacenados conjuntamente en matrices globales las cuales interactúan con los cálculos iterativos de la metodología de la Extensión del GGA. No obstante, antes de realizar el llenado de las matrices globales, se valida la información ingresada para evitar errores u omisiones de cálculo en el software. Nodos, tanques y embalses desconectados, tuberías mal insertadas, omisiones en los requisitos de configuración de cálculo, son algunas de las causales de rechazo de la aplicación para continuar con la orden de cálculo. Ésta validación de la información se hace mediante dos formas: . Validación instantánea en los campos de texto para el ingreso de información. Consiste en restringir al usuario ingresar caracteres de cierto tipo de dato en las diferentes cajas de texto; i.e. si se solicita el valor numérico del valo de θ el usua io i g esa u a á te de tipo “t i g, e to es o se permitirá continuar con la aplicación hasta ser modificado por un carácter de tipo Integer o Double.. . Validación de la información preliminar almacenada en los objetos. Ya oprimido el botón para iniciar el cálculo, el aplicativo llama al método de Validación_de_Objetos, el cual consiste en un bucle que recorre cada posición de los objetos con el objetivo de encontrar una inconsistencia en el sistema; i.e.si un nodo cualquiera no se encuentra relacionado en la matriz de tuberías con otro nodo, éste estará aislado de la red hidráulica denominándose como un nodo desconectado. Tal y cómo se pudo apreciar en la sección 2.2.1., la matriz representa la relación entre todos los elementos de la red hidráulica. Si se permitiera el ingreso de un nodo desconectado en la matriz, quedaría una fila con un solo elemento en su diagonal. Al solucionar la ecuación matricial [10] se generarían inconsistencias en los resultados ya que las características y propiedades de éste nodo son independientes de la configuración de la red hidráulica. Cuando sucede éste tipo de eventos, el método de Validación de Objetos arroja una ventana emergente de error, deteniendo la ejecución del programa.. El propósito de condensar la información en matrices consiste en organizar todos los datos contenidos en los objetos de tal manera que sean fáciles de operar y así evitar el llamado continuo de estos objetos disminuyendo de esta forma la complejidad de cálculo, ya que al operar objetos por separado es necesario crear subrutinas para el llamado de cada elemento de la composición vectorial. 43.

(44) La información condensada se reunirá en cuatro matrices globales las cuales serán operadas directamente por la nueva metodología del EGGA y cuya composición será definida por el tipo de dato que almacenará. A continuación se muestra la estructura de las matrices globales:. Para las tuberías: MATRIZ LINEAS ID Línea Nodo. Nodo. MATRIZ VARIABLES L. D. Km. A. Rij. Aij. Tipo de dato: Integer. Tipo de dato: Double. Tamaño n x 3. Tamaño n x 10. Bij. Qij. Para los nodos: MATRIZ FIJOS ID ID_EH. ID_NODO. MATRIZ DEM A Qdij H. Elevac.. DB PD. Tipo de dato: Integer. Tipo de dato: Double. Tamaño n x 3. Tamaño n x 8. Max. Min. Esquema 6. Modelo matricial de la información condensada.. 44.

(45) Para las matrices de las tuberías se tiene que, ID Línea Nodo Nodo L D Km A Rij Aij Bij Qij. = = = = = = = = = = = =. Identificador determinado por la aplicación para la tubería , Nodo de partida o inicial de la tubería , Nodo de llegada o final de la tubería , Longitud de la tubería , Diámetro de la tubería , Pérdidas locales de la tubería , Pérdidas por accesorios de la tubería , Área de la tubería , Resistencia hidráulica de la tubería , Constante de cálculo Constante de cálculo Caudal de la tubería ,. A partir de la línea punteada se encuentran las variables del sistema, las cuales tomarán un valor diferente para cada iteración. Éstas corresponden a las variables R, , Aij, Bijy Qij cuya dependencia se origina a partir del cálculo del caudal.. ORDEN DE CÁLCULO 2. 1. L. D. Km. A. Rij. 3. 4. 5. Aij. Bij. Qij. La cabeza de la flecha [ ] indica cuales son las variables necesarias para calcular la variable de la cola de la flecha.. Esquema 7. Configuración de la Matriz Variables – Dependencias de las variables. De acuerdo a las dependencias de cada variable, se debe definir el orden de cálculo de cada columna de la matriz Variables teniendo en cuenta que los cuatro primeros parámetros permanecen constantes en cada iteración (excluyendo el valor del factor de fricción de Darcy). 45.

(46) El llenado de la matriz Variables se hace de la siguiente forma:. 1. Cálculo del factor de fricción de Darcy Weisbach. Para realizar el cálculo del factor de fricción de Darcy Weisbach, es necesario realizar un número finito de iteraciones de la siguiente manera: 1. 2. 3. *. **. 4. [. [. 5. √. ]]. 6. |. |. |. |. * Suposición de velocidad. ** Suposición de factor de fricción.. Donde,. Número de iteración Velocidad correspondiente a cada iteración [24]. Numero de Reynolds Diámetro de la tubería Viscosidad cinemática del fluido [25] [. [. √. ]]. Factor de fricción Coeficiente de pérdidas [26]. √ Velocidad correspondiente a cada iteración 46.

(47) Energía disponible para en nodo Energía disponible para en nodo Coeficiente de pérdidas por accesorios PROCEDIMIENTO DE CÁLCULO DEL. Para poder determinar el valor del factor de fricción, es necesario suponer para la primera iteración, un valor de velocidad (columna 1) con la que se procede a calcular el número de Reynolds (columna 2). Al igual que la velocidad, se debe de suponer un valor inicial para el de Darcy para poder calcular la columna 4 y 5. Se procede a realizar el cálculo de la resistencia hidráulica y las dos constantes de cálculo y para cada tubería. Ya terminada ésta iteración, se procede a la siguiente haciendo el valor de y el calculado anteriormente ( respectivamente). Al finalizar cada iteración, se realiza la resta entre y obtenidos en dicha iteración. Si la diferencia es menor a la tolerancia establecida inicialmente, se da por terminado el proceso iterativo obteniendo el valor final del factor de fricción de Darcy a partir de la columna 4 de la última iteración (Larock, Jeppson & Watters, 2000).. Para esta versión de prueba, el f es dado.. 2 2. Cálculo de la Resistencia hidráulica. [27]. Donde las dependencias son: Constante de Darcy Weisbach Longitud de la tubería Diámetro de la tubería Gravedad Área de la tubería Con la ecuación de Hazen-Williams [28]. Donde las dependencias son: 47.

(48) Longitud de la tubería Constante de Hazen-Williams Diámetro de la tubería. 3. Cálculo de la constante. [29]. Donde las dependencias son: Coeficiente de pérdidas por accesorios hidráulicos Gravedad Área de la tubería. 4 4. Cálculo de la constante [30] |. Donde las dependencias son:. |. |. |. Caudal transportado desde el nodo al nodo Constante de proporcionalidad ( con la formulación de DarcyWeisbach y para la formulación de Haze-Williams). 5. Cálculo de la constante [31] |. |. |. |. En estos dos últimos pasos, el caudal que se emplea, corresponde a los caudales supuestos para la primera iteración y los caudales calculados en las siguientes iteraciones tal y como se muestra en el Esquema general del funcionamiento del Motor de Cálculo de DRÜCKE. 48.

Show more

Nuevo documento

• El proceso de aprendizaje colaborativo que se apoya a partir de la herramienta de estudio, genera modelos a seguir, una clara muestra de ello es que una vez iniciada la prueba piloto

Crear esta herramienta virtual offline y online ayudo a organizar los temas de bachillerato en las asignaturas de Matemáticas y Física de una forma más entretenida e interactiva,

Fuente: Los Autores Dando clic en este botón el programa le entregara la variación porcentual del precio respecto a la variación porcentual de la convexidad, la tasa tomada será la que

El campo se halla localizado al centro oeste de la Cuenca Oriente, al sur del campo Sacha, alineándose en el eje estructural principal, Norte – Sur, conformado por: Lago Agrio, Sacha,

La necesidad de diseñar esta herramienta didáctica para ver el verdadero valor y significado numérico de las relaciones trigonométricas Seno y Coseno, parten de la idea que el

Este trabajo es pertinente porque valida la importancia de la planeación e implementación de estrategias metodológicas como la una secuencia didáctica, que para este caso propende por

Es así que dentro del desarrollo de una competencia literaria en la educación media la obra de Álvaro Mutis resulta de gran valor por su nivel estético que propone una forma de narrar

En este trabajo se presentaran condiciones bajo las cuales un difeomorfismo es función de tiempo unitario de un campo vectorial.. En particular, se tratará el sistema dinámico conocido

Pues bien, la obra toma como elemento espiritual al carnaval siendo una forma de purificar el alma, cuando indica que “Nuestra música es un símbolo, una señal de fuerza, un hilo de

El análisis cualitativo se enfoca en la problemática que se percibe y observa más allá de las estadísticas cuantitativas y evaluativas; esta investigación se enfoca en el desempeño de