COMPUTACIN DE ALTAS PRESTACIONES APLICADA AL TENDIDO ELCTRICO FERROVIARIO EN TRENES DE ALTA VELOCIDAD
MEMORIA QUE PARA OPTAR AL GRADO DE DOCTOR EN INGENIERA INFORMTICA PRESENTA ANGELINES ALBERTO MORILLAS
Dirigida por Dr. Enrique Arias Antnez Dr. Jess Benet Mancho
Albacete, Mayo de 2009
i
En momentos de crisis, solo la imaginacin es ms importante que el conocimiento
Albert Einstein
iii
Agradecimientos
Se termina un trabajo con gran esfuerzo realizado y es hora de expresar mis agradecimientos a todas aquellas personas que han hecho posible la realizacin del mismo.
El motor principal de esta Tesis han sido mis directores Enrique Arias y Jess Benet, a quienes les tengo que dar las gracias no slo por su direccin acadmica, la ayuda y el apoyo que me han prestado durante todos estos aos, antes incluso de iniciar la presente Tesis, sino tambin por la confianza depositada en m desde el primer momento.
Para poder conseguir esta Tesis, han sido varias las personas que han colaborado en la misma, todos los miembros del Calpe team, proyectandos,. Enumerar uno a uno implicara dejar a alguien en el olvido, as que, gracias a todos por vuestra ayuda inestimable.
Pero para poder haber llegado hasta aqu antes he tenido que andar un camino muy largo.
Gracias a mis padres Angel y Luisa, por su apoyo constante y porque gracias a ellos sigo creciendo como persona.
A mis hermanas, Luisi y Ana, porque puedo contar con ellas en los momentos ms difciles.
A mis sobrinos, Jess Angel y Clara, que llenan de alegra a la familia.
A mi marido Antonio, porque confi en m desde el principio y ha estado apoyndome en los peores momentos. Con l he reaprendido a andar. Eres mi sol.
A mi hija Carla, porque es mi luna.
Consu, que te voy a decir que no sepas ya. Nos conocimos tarde, pero menos mal porque sino acabas conmigo. Gracias, porque en ti he encontrado una amiga, y un soporte vital en los ltimos aos. Terminamos juntas la carrera pero seguimos juntas en la amistad. Sabas que lo poda hacer, as que tambin va por ti, gracias.
A mis compaeros del Instituto de Investigacin en Informtica de Albacete. Formbamos un gran grupo, yo dira que ramos una familia. Aunque nos fuimos todos, es una alegra enorme seguir en contacto con todos y cada uno de vosotros, y deciros que han sido unos aos inolvidables, que he aprendido mucho de vosotros y que espero haber dejado un buen recuerdo. Vosotros me los habis dejado a m. Gracias SCTR`girls and SCTR`boys.
iv
Por ltimo, tambin quiero agradecer a mis nuevos compaeros del departamento de Tecnologa del CIEMAT, que me hayan acogido tan bien entre ellos. Han conseguido que el cambio de trabajo no se me hiciese cuesta arriba.
Gracias a todos.!!
v NDICE.
CAPTULO 1: ESTADO DEL ARTE DEL SISTEMA ELCTRICO FERROVIARIO .. 1 1.1 SISTEMA DE CATENARIA EN EL SISTEMA ELCTRICO FERROVIARIO . 2 1.2 OBJETIVOS DE LA TESIS ..................................................................................... 4
CAPTULO 2: CONCEPTOS MATEMTICOS............................................................... 7 2.1 TEORA DE MATRICES......................................................................................... 7 2.1.1 Nociones bsicas sobre matrices ........................................................................ 7 2.1.2 Tipos de matrices.............................................................................................. 10 2.1.3 Matrices dispersas ............................................................................................ 11 2.2 METODOS ITERATIVOS DE RESOLUCIN DE SISTEMAS DE ECUACIONES LINEALES.......................................................................................... 16 2.2.1 Nociones previas .............................................................................................. 16 2.2.2 Introduccin y clasificacin de los mtodos iterativos..................................... 17 2.2.3 Mtodos iterativos estacionarios ...................................................................... 18 2.2.4 Mtodos iterativos no estacionarios o de proyeccin....................................... 21 2.2.5 Conclusiones..................................................................................................... 26 2.3 INTEGRACIN Y DIFERENCIACIN NUMRICA......................................... 27 2.3.1 Integracin numrica ........................................................................................ 27 2.3.2 Diferenciacin numrica ................................................................................. 28 2.3.3 Mtodos de Integracin Directos...................................................................... 29 2.4 CONCLUSIONES................................................................................................... 33
CAPTULO 3: LIBRERAS SOFTWARE ESTNDAR DEL LGEBRA LINEAL..... 37 3.1 INTRODUCCIN................................................................................................... 37 3.2 BLAS (Basic Linear Algebra Subprograms)........................................................... 38 3.2.1 Nomenclatura de las rutinas de BLAS ............................................................. 38 3.2.2 Estructura de BLAS.......................................................................................... 40 3.3 SPARSKIT : UNA HERRAMIENTA BSICA PARA EL CLCULO DE MATRICES DISPERSAS............................................................................................. 42 3.3.1 Introduccin y estructura del paquete............................................................... 42
CAPTULO 4: ESTRUCTURA DE CATENARIAS ....................................................... 55 4.1 INTRODUCCIN................................................................................................... 55 4.2 DEFINICIONES Y CONCEPTOS BSICOS ....................................................... 55 4.3 CLCULO DE LA LONGITUD DE LAS PNDOLAS....................................... 58 4.4 ESTUDIO DEL SISTEMA DE SUSTENTACIN DE LA CATENARIA........... 59 4.5 ESTUDIO DE LA RIGIDEZ DEL VANO............................................................. 60 4.5.1 Numeracin de los nodos para el caso de un slo vano ................................... 61 4.5.2 Numeracin de los nodos para un cantn con varios vanos............................. 62 4.5.3 Consideraciones generales................................................................................ 63 4.5.4 Matriz de rigidez de un elemento de cable tipo cuerda sin rigidez a flexin ... 64 4.5.5 Matriz de rigidez de un elemento de cable tipo viga rigidez a flexin............ 66 4.5.6 Matriz de rigidez de un elemento de cable tipo cuerda rigidez a flexin........ 67 4.5.7 Matriz de rigidez de una barra sometida a traccin.......................................... 68 4.5.8 Obtencin de la matriz de rigidez para varios elementos. Obtencin del trmino independiente ............................................................................................... 69 4.5.9 Efecto del brazo atirantado............................................................................... 77
vi 4.6 ECUACIN DE EQUILIBRIO ESTTICO DEL SISTEMA............................... 78 4.7 ESTUDIO INTERACCIN DINMICA PANTGRAFO-CATENARIA.......... 81 4.7.1 Ecuacin dinmica del sistema......................................................................... 81 4.7.2 Modelado de la catenaria.................................................................................. 83 4.7.3 Modelado del pantgrafo.................................................................................. 85 4.7.4 Condiciones de restriccin ............................................................................... 88 4.7.5 Integracin de la ecuacin................................................................................ 90 4.7.6 Algoritmo de integracin.................................................................................. 92
CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES PARA EL MODELADO DE SISTEMAS DE CATENARIAS......................................................... 95 5.1. SOFTWARE DE ALTA CALIDAD...................................................................... 95 5.2. PROBLEMA DE LA ELASTICIDAD.................................................................. 97 5.2.1 Mdulo para la reserva dinmica de memoria................................................ 101 5.2.2 Errores ............................................................................................................ 101 5.2.4 Solver.............................................................................................................. 103 5.2.5 Procedimientos ............................................................................................... 104 5.2.6 Principal.......................................................................................................... 105 5.3 PROBLEMA DINMICO INTERACCIN PANTGRAFO-CATENARIA ... 111 5.3.1 Calpendolas .................................................................................................... 113 5.3.2 Funciones_dim ............................................................................................... 114 5.3.3 Principal.......................................................................................................... 114 5.4. RESULTADOS EXPERIMENTALES PARA EL PROBLEMA DE LA ELASTICIDAD........................................................................................................... 122 5.4.1 Resultados experimentales para vanos iguales............................................... 123 5.4.2 Resultados experimentales para vanos desiguales ......................................... 126 5.5. RESULTADOS EXPERIMENTALES PARA EL PROBLEMA DINMICO DE LA INTERACCIN PANTGRAFO-CATENARIA. .............................................. 127 5.5.1 Resultados experimentales para distinto nmero de pantgrafos................... 128 5.5.2 Resultados experimentales para el problema dinmico.................................. 129 5.6 CONCLUSIONES................................................................................................. 132
CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA: ADELANTNDOSE AL FUTURO............................................................................... 133 6.1 UNA IMPLEMENTACIN PARALELA............................................................ 135 6.1.1 Clasificaciones de arquitecturas de computadores ......................................... 136 6.1.2 Arquitecturas paralelas multiprocesador ........................................................ 136 6.1.3 Paradigmas de programacin paralela............................................................ 138 6.1.4 Evaluacin del rendimiento en programas paralelos...................................... 139 6.1.5 La librera de comunicacin MPI ................................................................... 141 6.1.6 Computacin paralela para resolver el problema esttico de la elasticidad ... 142 6.2 UNA IMPLEMENTACIN DISTRIBUIDA....................................................... 148 6.2.1 Sistemas distribuidos ...................................................................................... 149 6.2.2 GRID vs Computacin de recursos pblicos.................................................. 150 6.2.3 BOINC............................................................................................................ 152 6.2.4 Computacin de Alta Productividad para resolver el problema esttico de la elasticidad................................................................................................................ 155 6.3 CONCLUSIONES................................................................................................. 168
vii CAPTULO 7: HERRAMIENTAS SOFTWARE: CALPE E INDICA......................... 171 7.1 CALPE .................................................................................................................. 174 7.1.1 Ejemplo de Ejecuciones de CALPE............................................................... 176 7.2 InDiCa ................................................................................................................... 178 7.2.1 Ejemplo de Ejecuciones InDiCa..................................................................... 180
CAPTULO 8: CONCLUSIONES Y TRABAJO FUTURO.......................................... 185 8.1 CONCLUSIONES Y TRABAJO FUTURO......................................................... 185 8.2 APORTACIONES DEL TRABAJO..................................................................... 188
Figura 2. 1 Formato de una matriz ................................................................................... 7 Figura 2. 2 Matrices: (a) diagonal, (b) triangular superior y (c) triangular inferior (* representa cualquier valor para el elemento)...................................................... 10 Figura 2. 3 Matriz tridiagonal......................................................................................... 11 Figura 2. 4 Ejemplo matriz dispersa............................................................................... 15 Figura 2. 5 Interpretacin de la condicin de ortogonalidad.......................................... 22
Figura 3. 1 Organizacin en directorios de SPARSKIT................................................. 44 Figura 3. 2 Informe generado por la rutina dinfo1 para una matriz de ejemplo en la que slo se indica su patrn de dispersidad................................................................... 51
Figura 4. 1 Esquema de los componentes de una estructura ferroviaria ........................ 55 Figura 4. 2 Tipos de pendolado ...................................................................................... 57 Figura 4. 3 Elementos en una catenaria.......................................................................... 58 Figura 4. 4 Cantn de seccionamiento ........................................................................... 59 Figura 4. 5 Notacin y sistema de numeracin de nodos para un solo vano.................. 62 Figura 4. 6 Ejemplo de numeracin de nodos para un cantn con vanos desiguales..... 63 Figura 4. 7 Elemento de cable sin considerar flexin (tipo cuerda) ............................... 65 Figura 4. 8 Elemento de cable del hilo de contacto considerando flexin (tipo viga) ... 66 Figura 4. 9 Elemento cuerda con flexin........................................................................ 67 Figura 4. 10 Deformacin de una pndola. .................................................................... 68 Figura 4. 11 Caso de un nodo uniendo dos elementos tipo cuerda (sustentador o hilo de contacto) ................................................................................................................. 70 Figura 4. 12 Caso de un nodo uniendo dos elementos tipo cuerda (sustentador) y un elemento tipo barra (pndola)................................................................................. 72 Figura 4. 13 Caso de nodo uniendo dos elementos tipo cuerda (sustentador) ............... 74 Figura 4. 14 Caso de aplicacin de una fuerza puntual sobre un elemento tipo cuerda. 74 Figura 4. 15 Carga puntual ascendente sobre un hilo de contacto ................................. 75 Figura 4. 16 Fuerza ascendente aplicada a dos hilos de contacto................................... 76 Figura 4. 17 Esquema de fuerzas en el entorno del brazo atirantado............................. 78 Figura 4. 18 Esquema de la resolucin del problema esttico de la elasticidad de la catenaria.................................................................................................................. 79 Figura 4. 19 Sistema de Catenaria.................................................................................. 80 Figura 4. 20 Vano de catenaria....................................................................................... 83 Figura 4. 21 Pantgrafo sobre un hilo de contacto......................................................... 86 Figura 4. 22 Catenaria con dos hilos de contacto........................................................... 87 Figura 4. 23 Funcin de distribucin de carga sobre la superficie frontal del pantgrafo ................................................................................................................................ 88
Figura 5. 1 Secuencia de pasos en la obtencin de un algoritmo de altas prestaciones . 96 Figura 5. 2 Distribucin y comunicacin de los mdulos utilizados en la implementacin para resolver el problema de la elasticidad................................ 100 Figura 5. 3 Matriz de rigidez ........................................................................................ 107 Figura 5. 4 Esquema del clculo de la posicin de equilibrio del sistema ................... 108 Figura 5. 5 Esquema de resolucin ecuacin equilibrio esttico del sistema............... 110 Figura 5. 6 Esquema de resolucin del problema esttico ........................................... 111
x Figura 5. 7 Distribucin y comunicacin de los mdulos del problema dinmico ...... 113 Figura 5. 8 Diagrama de actividades para la resolucin del problema dinmico......... 115 Figura 5. 9 Matriz de rigidez global del sistema pantgrafo-catenaria ........................ 118 Figura 5. 10 Matriz de masas asociada al sistema pantgrafo-catenaria...................... 118
Figura 6. 1 Top500 ....................................................................................................... 134 Figura 6. 2 Arquitectura MMC..................................................................................... 137 Figura 6. 3 Arquitectura MMD .................................................................................... 138 Figura 6. 4 Algoritmo localdim.................................................................................... 144 Figura 6. 5 Esquema paralelizacin de CEPNCVI....................................................... 145 Figura 6. 6 Simplificacin del sistema BOINC............................................................ 154 Figura 6. 7 Boincificacin de CEPNCVI ..................................................................... 158 Figura 6. 8 Gestin de aplicaciones desde la Web de administrador ........................... 160 Figura 6. 9 Ventana de unin a un proyecto................................................................. 161 Figura 6. 10 Creacin de un nuevo usuario.................................................................. 162 Figura 6. 11 Ventana de confirmacin de unin al proyecto........................................ 162 Figura 6. 12 Ventana de Mensajes tras la unin al proyecto........................................ 163 Figura 6. 13 Ventana Projects ...................................................................................... 163 Figura 6. 14 Ventana Tasks .......................................................................................... 164 Figura 6. 15 Tareas preparadas para informar.............................................................. 164 Figura 6. 16 Mensajes de ejecucin de tareas .............................................................. 165 Figura 6. 17 Mensajes de ejecucin de tareas .............................................................. 166 Figura 6. 18 Consulta a "Windows" desde la Web....................................................... 166 Figura 6. 19 Acceso a Results desde la Web................................................................ 167 Figura 6. 20 Ficheros de salida..................................................................................... 168
Figura 7. 1 Ventanas principales de control de las aplicaciones CALPE (a) e InDiCa (b) .............................................................................................................................. 173 Figura 7. 2 Introduccin de datos de entrada en la aplicacin CALPE........................ 174 Figura 7. 3 Detalle del botn de seleccin del tipo de vano......................................... 175 Figura 7. 4 Vano normal con pendolado alternativo por parejas.................................. 176 Figura 7. 5 Vano en Y con pendolado alternativo por parejas. .................................... 176 Figura 7. 6 Trazado....................................................................................................... 177 Figura 7. 7 Informe CALPE......................................................................................... 178 Figura 7. 8 Introduccin datos de entrada en la aplicacin InDiCa ............................. 179 Figura 7. 9 Introduccin datos relativos al pantgrafo................................................. 179 Figura 7. 10 Introduccin datos relativos a las Condiciones de Clculo...................... 180 Figura 7. 11 Informe InDiCa ........................................................................................ 181 Figura 7. 12 Interfaz grfica de los resultados ............................................................. 182 Figura 7. 13 Interfaz de usuario de vdeo..................................................................... 183
xi
NDICE DE TABLAS.
Tabla 3. 1 Rutinas del nivel 1 de BLAS......................................................................... 39 Tabla 3. 2 Tipos de matriz en BLAS.............................................................................. 39 Tabla 3. 3 Tipo de operaciones en las rutinas de los niveles 2 y 3 de BLAS................. 39
Tabla 4. 1 Formacin de la matriz de rigidez y el trmino independiente para un nodo uniendo dos elementos tipo cuerda......................................................................... 70 Tabla 4. 2 Formacin de la matriz de rigidez y el trmino independiente para un nodo con pndola uniendo dos elementos tipo cuerda y un elemento tipo barra ............ 72
Tabla 5. 1 Casos de estudio problema elasticidad........................................................ 122 Tabla 5. 2 Dimensin principal (N) y nmero de elementos no nulos (nz) de la matriz de rigidez para el caso de vanos iguales.................................................................... 123 Tabla 5. 3 Memoria requerida para el problema de elasticidad con vanos iguales para el programa original (OR) y optimizado (OP) ......................................................... 124 Tabla 5. 4 Reduccin, en %, de los requerimientos de memoria para el problema esttico con vanos iguales .................................................................................... 124 Tabla 5. 5 Tiempo ejecucin, expresado en segundos, del problema esttico con vanos iguales................................................................................................................... 125 Tabla 5. 6 Reduccin, en %, del tiempo de ejecucin problema esttico VI ............... 125 Tabla 5. 7 Reduccin, en %, del tiempo de ejecucin problema esttico vanos desiguales .............................................................................................................................. 126 Tabla 5. 8 Reduccin, en %, del tiempo de ejecucin al utilizar el programa de vanos iguales frente al de vanos desiguales.................................................................... 127 Tabla 5. 9 Casos de estudioproblema dinmico ........................................................... 128 Tabla 5. 10 Memoria requerida en el problema dinmico para 1, 2, 3 y 4 pantgrafos128 Tabla 5. 11 Tiempos de ejecucin para el problema dinmico considerando 1, 2, 3 y 4 pantgrafos ........................................................................................................... 129 Tabla 5. 12 Dimensin principal (N) y nmero de elementos no nulos (nz) de la matriz de rigidez para el problema dinmico .................................................................. 129 Tabla 5. 13 Memoria requerida en el problema dinmico para el programa original (OR) y optimizado (OP) ................................................................................................ 130 Tabla 5. 14 Reduccin, en %, de los requerimientos de memoria para el problema dinmico ............................................................................................................... 130 Tabla 5. 15 Tiempo ejecucin, expresados en segundos, para la resolucin del problema dinmico considerando el algoritmo original (OR) y el optimizado (OP) ........... 131 Tabla 5. 16 Reduccin, en %, del tiempo de ejecucin problema dinmico................ 131
Tabla 6. 1 Casos de estudio para la evaluacin de la paralelizacin del problema de la elasticidad............................................................................................................. 145 Tabla 6. 2 Tiempo de ejecucin en segundos en el Cluster de PC`s ........................... 147 Tabla 6. 3 Speed-up en el Cluster de PC`s ................................................................... 147 Tabla 6. 4 Eficiencia en el Cluster de PC`s ................................................................. 147 Tabla 6. 5 Parmetros de entrada del algoritmo........................................................... 156
xiii RESUMEN
La necesidad de los viajeros de conseguir trasladarse de forma rpida en un medio de transporte cmodo y seguro, hace que los ingenieros de las compaas ferroviarias estudien el desarrollo e implantacin de lneas ferroviarias de Alta Velocidad, y esto se debe aplicar a multitud de reas tcnicas, como la dinmica de vehculos, anlisis del confort, estudio del contacto entre la catenaria y el pantgrafo, etc.
Uno de los problemas ms importantes que se debe resolver, si se quieren conseguir velocidades aproximadas de 300 km/h, es el del suministro elctrico al ferrocarril. En la actualidad se pueden encontrar varios sistemas que permiten alimentar elctricamente a los trenes, bien mediante un conjunto de cables areos con corriente alterna o corriente continua, el sistema de alimentacin proporcionado por un tercer rail, la levitacin magntica, etc. El mtodo ms empleado a da de hoy recibe el nombre de catenaria, entendiendo por tal el conjunto de cables areos que suministran de energa al tren. Un objetivo importante es el clculo de la estructura de dicha catenaria, de tal forma que se debe modelar para conseguir que el contacto entre ella y el pantgrafo, elemento de frotacin a travs del cual el tren entra en contacto con la catenaria, sea de una fuerza constante, pues una prdida de contacto entre ambos elementos implica una reduccin en la velocidad del tren. Por tanto se necesita un clculo riguroso, con una precisin del milmetro, para su posterior montaje.
Evidentemente existe un estudio posterior al que se acaba de hacer mencin, y que es el problema dinmico de la interaccin pantgrafo-centenaria. Como se acaba de decir, para poder alcanzar altas velocidades, la prdida de contacto entre el pantgrafo y la catenaria debe ser mnima o inexistente. Este problema no es trivial, puesto que se debe tener en cuenta que existen otros factores fuertemente relacionados con el contacto entre ambos elementos, como pueden ser desgaste o la aparicin de arcos voltaicos, los cuales se deben minimizar y resulta complicado, pues son conceptos contradictorios, as pues, el desgaste es mnimo si la fuerza de contacto tambin lo es y por contra, para minimizar la prdida de contacto, la fuerza de contacto entre el pantgrafo y la catenaria debe tomar valores elevados. La solucin es mejorar la respuesta dinmica del sistema pantgrafo-catenaria.
Para mejorar la respuesta dinmica del sistema formado por el conjunto pantgrafo-catenaria, se deben utilizar modelos matemticos como base para poder implementar unos algoritmos que nos permitan resolver de forma rpida y eficaz estos problemas.
Los ingenieros de la compaa espaola de ferrocarriles utilizaban un mtodo experimental basado en prueba-error. Por la gran cantidad de parmetros que deban de tratar, la combinacin entre ellos haca que este mtodo fuese bastante ineficiente, adems de los errores de clculo que ellos mismos pudiesen introducir. Estas circustancias les llev a la conclusin de que necesitaban un modelo matemtico que fuese eficaz para realizar los clculos tanto de la estructura de la catenaria como para el estudio de la interaccin dinmica pantgrafo-catenaria.
El grupo de investigacin Real-Time and Concurrent System [1] que forma parte del Instituto de Investigacin en Informtica de Albacete [2], entr a colaborar
xiv con el Administrador de Infraestructuras Ferroviarias [3], poniendo en marcha diversos proyectos para el desarrollo de una herramienta software eficiente que modelase matemticamente los diversos problemas con los que se encontraban los ingenieros de la compaa ferroviaria, de tal forma que les resolviese, en un principio, el problema de catenarias ferroviarias para as poder conseguir que la interaccin pantgrafo-catenaria sea ptima. Adems, todos estos clculos, se deban conseguir con el mnimo coste posible, tanto en tiempo de ejecucin como en requerimientos de memoria. As es como surgieron las herramientas software CALPE e InDiCa.
1. CALculo de PEndolas (CALPE) fue la primera herramienta software desarrollada, est compuesta por un conjunto de algoritmos de altas prestaciones que resuelven de forma eficiente problemas relacionados con las pndolas, clculo de las mnsulas, etc. Adems resuelve el problema esttico de la elasticidad de la catenaria. 2. Interaccin Dinmica pantgrafo-Catenaria (InDiCa) es una evolucin de la herramienta software CALPE, que utiliza los datos de salida de los algoritmos implementados en CALPE para realizar el estudio dinmico de la interaccin pantgrafo-catenaria.
Pero quiz estas dos herramientas se pueden llegar a quedar un poco cortas. Si se consideran los kilmetros de rales existentes en Espaa, es posible imaginar la gran cantidad de simulaciones que hay que realizar; an contando con la experiencia de los ingenieros de ADIF para reducir el nmero de pruebas, se seguira teniendo un nmero muy elevado. Por tanto parece obvia la necesidad que se tiene de reducir el tiempo de ejecucin de cada simulacin para proporcionar los resultados en un tiempo mnimo.
En este sentido se pens en realizar una paralelizacin de los algoritmos implementados. Se ver por tanto cmo esta paralelizacin se ha llevado a cabo utilizando como plataforma de ejecucin un Cluster de PCs perteneciente al grupo ReTiCS.
Si se echa un vistazo a la actualidad tecnolgica, hasta hace poco tiempo slo se dispona de ordenadores de sobremesa clsicos, mononcleo, lo que implicaba una ejecucin secuencial de los programas, pero en la actualidad se dispone de ordenadores con procesadores de doble ncleo, como pueden ser los Core Duo, Core 2 Duo, AMD Athlon X2, etc que seran tilies a la hora de paralelizar ciertos tipos de programas. Otra forma de realizar computacin paralela sera utilizando el juego de instrucciones de la tarjeta grfica de doble ncleo GeForce 9800 GX2 y que adems de tener el doble ncleo, integrado en la misma placa, proporciona una memoria total de 1GB, o incluso se podra usar la tarjeta grfica Radeon 3870x2 de AMD. Ya incluso se puede conseguir un ordenador de sobremesa de cuatro ncleos de procesamiento, como el Core 2 Quad de Intel que tienen hasta 12 MB de cach L2 compartida, es decir hasta 6MB de Intel Advanced Smart Cache por par de ncleos. Evidentemente, AMD tambin ha desarrollado su propia gama de ordenadores multicore, como por ejemplo el Phenom X4 9000, con cuatro procesadores y con un control integral de memoria y cach compartida L3 de 2MB y cada procesador con una memoria cach dedicada L2 de 512MB, etc. Esto lleva a pensar que, con un simple ordenador de sobremesa, se podran ejecutar los algoritmos paralelos que han sido implementados a lo largo de esta Tesis, sin necesidad de que la compaa invierta en grandes mquinas.
xv Pero, por qu no dar un paso ms? Los ingenieros hasta el da de hoy siguen una filosofa de prueba y error, es decir, consideran un subconjunto de los parmetros de entrada a los que les asignan valores para configurar un modelo determinado de catenaria, ejecutan la aplicacin y comprueban los resultados. Si estos no se ajustan a sus necesidades deben volver al principio.
La sociedad avanza a pasos agigantados y esto hace que se dispongan de nuevas tecnologas, como se ha visto anteriormente, pero a la vez aparecen tambin nuevos paradigmas de computacin, como es el caso de la Computacin de Alta Productividad, que permite conseguir, en el tiempo en que se ejecuta un algoritmo, mltiples resultados de salida provenientes de la ejecucin de un mismo algoritmo con diferentes datos de entrada. Este tipo de computacin Grid puede sustituir de forma eficaz a la tradicional filosofa de prueba y error que seguan los ingenieros de ADIF para conseguir los resultados deseados.
Se acaba de mostrar una visin general de los estudios e implementaciones realizadas en la presente Tesis, siendo la estructura de la misma la que se detalla a continuacin.
! En el Captulo 1 se presentar un estado del arte del sistema de transmisin de energa elctrica ferroviario o sistema de catenaria, a la vez que se detallarn los objetivos que se pretenden conseguir con esta Tesis.
! Los dos siguientes Captulos pretenden dar una introduccin tanto a los conceptos matemticos necesarios para entender el problema mecnico que subyace al problema a resolver en la presente Tesis, y que se localizara en el Captulo 2, cmo a las libreras software estndar del algebra lineal que han sido utilizadas, y que se pueden consultar en el Captulo 3.
! En el Captulo 4 se introducen diversos conceptos relativos a la estructura de la catenaria. Adems, se introducirn tambin el estudio mecnico y el modelo matemtico realizados por el Dr. Jess Benet, uno de los tutores de la presente Tesis, para la resolucin de los problemas a tratar en esta Tesis, que son, por una parte el problema esttico de la elasticidad y por otro, el problema dinmico de la interaccin pantgrafo-catenaria.
! En el Captulo 5 se muestran las implementaciones de altas prestaciones realizadas para el problema esttico de la elasticidad y para el problema dinmico de la interaccin pantgrafo-catenaria. Adems se mostrar una batera de tests para ambos problemas en las que se podr observar los requerimientos de memoria y los tiempos de ejecucin para estas implementaciones.
! El Captulo 6 engloba el estudio de la implementacin paralela para el caso del problema esttico de la elasticidad, como muestra del beneficio de utilizar este tipo de tcnicas. Se han realizado pruebas en un Cluster de PC`s. Adems, se hace una breve introduccin a la Computacin de Alta Productividad y muestra los pasos seguidos para poder ejecutar uno de los algoritmos implementados en esta Tesis, en una plataforma para la computacin de recursos pblicos distribuidos.
xvi ! El Captulo 7 muestra la herramienta software que integra los algoritmos implementados en esta Tesis dentro de un entorno intuitivo, interactivo y grficamente orientado.
! Por ltimo, en el Captulo 8, se expondrn las conclusiones relativas a la realizacin de la presente Tesis. A partir del trabajo aqu realizado se presentarn unos posibles trabajos a desarrollar en el futuro. Se presentar tambin en este Captulo las aportaciones tanto en congresos nacionales e internacionales, como en revistas de especial relevancia e indexadas.
CAPTULO 1: ESTADO DEL ARTE
1 CAPTULO 1: ESTADO DEL ARTE DEL SISTEMA ELCTRICO FERROVIARIO
En este Captulo se presenta una introduccin al sistema elctrico ferroviario con el objeto de proporcionar una perspectiva histrica y una visin sobre dicho sistema (ver [4], [5], [6] y [7]).
El transporte ferroviario fue la primera forma de transporte masivo, y hasta el desarrollo del automvil a principios del siglo 20 tuvo un monopolio total en el transporte terrestre. En las dcadas despus de la Segunda Guerra Mundial, las mejoras en los automviles, autopistas, y aviones hacen que estos medios sean ms prcticos para gran parte de la poblacin. En Europa y Japn, el nfasis se dio al reconstruir el transporte ferroviario despus de la guerra. Por otra parte en Estados Unidos (EEUU) este auge se produjo al construir un enorme sistema nacional de autovas y aeropuertos. El sistema de transporte urbano en EEUU fue abandonado por bastante tiempo. En EEUU el transporte ferroviario ha sido menos competitivo en parte porque el gobierno ha tendido a favorecer el transporte en carretera y areo ms que en los continentes Europeos y en Japn, y en parte tambin por la baja densidad de poblacin en EEUU.
En reas de una gran densidad de poblacin el viaje en tren es ms competitivo, incluso tambin en aquellos lugares donde el petrleo es caro, porque los trenes convencionales son ms eficientes en el gasto de gasoil que los coches. Muy pocos trenes consumen diesel u otros combustibles fsiles pero las estaciones elctricas que proporcionan energa a los trenes obtienen dicha potencia al consumir combustible, normalmente gas natural o carbn. Sin embargo, en Japn y Francia, una gran cantidad de la electricidad proviene de la energa nuclear. Hasta usando electricidad generada del carbn o el carburante, los trenes consumen menos por pasajero y por kilmetro viajado que un automvil.
Cuando el coste del combustible diesel era de 9 cntimos el galn (se recuerda que un galn equivale a 3,785 litros) y el suministro pareca ilimitado, los Estados Unidos no estaban interesados en mtodos alternativos de propulsin para el sistema ferroviario. La electrificacin ferroviaria tom inters durante los tiempos de incertidumbre en la industria energtica. Cuando el combustible subi a 34 cntimos de dlar por galn y cuanto tuvo lugar el embargo del petrleo, entonces fue cuando se realizaron muchos esfuerzos en el estudio de alternativas a los combustibles de hidrocarburos. Estos estudios mostraron que de una forma estimada, se podra lograr un 34% de ahorro en energa usando energa elctrica. La electrificacin de apenas el 10% del (entonces) actual conjunto de vas ferroviarias, denominado tambin trackage del carril, (en los tramos ms densos del trfico) podra dar lugar a una reduccin del 40% en el consumo de combustible diesel".
Los estudios hechos en los aos 70 tambin demostraron que aproximadamente 6 aos despus de electrificar una ruta, los gastos de explotacin se redujeron incluso cuando se comparaban a los gastos de explotacin de servicio diesel. En 30 aos, estos gastos anuales de electrificacin del sistema seran la mitad de los del servicio diesel. Estos aumentos de los costes provienen principalmente del precio del combustible y del mantenimiento. Las locomotoras diesel gastaban un promedio de 3 a 10 galones o ms CAPTULO 1: ESTADO DEL ARTE
2 de combustible por milla y 3 veces la cantidad de mantenimiento de locomotoras elctricas.
Desde los primeros trenes, ha habido multitud de avances en todos los aspectos de la lnea ferroviaria. La evolucin en el mercado del transporte resultante de la globalizacin de la economa, el incremento de la liberacin de los mercados, la competitividad en lo que se refiere al servicio al cliente y la necesidad de asegurar beneficios operacionales constantes a largo plazo con una realidad econmica que prevalezca, est conduciendo a un cambio radical (tanto estructural como cultural) en el sector ferroviario, centrndose en innovaciones del negocio y en los servicios. En este sentido, en los ltimos aos, el transporte de pasajeros por ferrocarril, ha experimentado un considerable incremento en algunos pases europeos (Alemania, Francia, Espaa,...). Los pasajeros demandan mayor confort y seguridad, a la vez que buscan un medio de transporte rpido para realizar sus viajes, es por tanto que la bsqueda de altas velocidades en el trasporte ferroviario se ha convertido en un objetivo tan importante.
El primer tren de gran velocidad del mundo fue el Japons Tokaido Shinkansen, oficialmente puesto en marcha en 1964. Las Series 0 Shinkansen, construidas por Kawasaki Heavy Industries, lograban velocidades de 200Km/h en la ruta Tokio- Nagoya-Kyoto-Osaka.
En Espaa se dispone del AVE (tren de Alta Velocidad Espaol). Este sistema de alta velocidad est siendo construido en la actualidad. Desde aquel primer trayecto del AVE abierto en 1992 que une Madrid-Sevilla, se han creado otros muchos, como por ejemplo el que une Madrid-Barcelona, en Febrero del 2008. El objetivo es que para el 2015 en Espaa haya 7000km de vas del tren de alta velocidad, proporcionando una red ferroviaria que comunique todas las ciudades provinciales con Madrid.
Es importante valorar en su justa medida la contribucin realizada por RENFE (Red Nacional de los Ferrocarriles Espaoles) al introducir, por primera vez en el mundo, el ya clebre compromiso de calidad en relacin con la puntualidad de los trenes AVE: la devolucin del importe del viaje en caso de llegar a destino con un retraso superior a cinco minutos. Este compromiso sirvi para que el ferrocarril reforzase an ms el nivel de calidad que se asociaba a los servicios de alta velocidad. Sin duda hubo un antes y un despus desde el histrico compromiso del ferrocarril espaol. Cabe destacar el premio europeo recibido a la excelencia en 1998.
1.1 SISTEMA DE CATENARIA EN EL SISTEMA ELCTRICO FERROVIARIO
Hoy en da existen diversos sistemas que permiten el suministro elctrico a los trenes, ya sea mediante corriente alterna o corriente continua. El ms empleado hoy en da se denomina catenaria y toma el nombre de la curva que aproximadamente forma uno de los cables que la conforman. Por lo tanto, en la tecnologa ferroviaria bajo la denominacin catenaria se engloba a todo el conjunto de elementos que constituyen la lnea de transporte y suministro de energa elctrica a los trenes.
CAPTULO 1: ESTADO DEL ARTE
3 El tren realizar la captacin de la energa por medio de un elemento de frotacin denominado pantgrafo (los elementos que componen una catenaria sern definidos en el Captulo 4).
Para que el pantgrafo capte dicha energa debe de tener un contacto continuo con la catenaria, en concreto con el hilo denominado de contacto, que debe de ser lo ms paralelo posible al suelo. La prdida de contacto entre ambos producir una perdida de energa suministrada al tren y por tanto un decremento de velocidad. El estudio de la interaccin entre ambos elementos es lo que se denomina problema dinmico de la interaccin entre la catenaria y pantgrafo.
Como se acaba de decir, el principal problema a resolver es el problema dinmico de la interaccin pantgrafo-catenaria, pero esta resolucin requiere un paso previo, el clculo esttico de la elasticidad de la catenaria. Este paso no es imprescindible, es decir se puede abordar directamente el problema dinmico sin hacer previamente el estudio esttico, aunque si que es recomendable, pues se abordar un problema ms simple obteniendo una estructura de catenaria ptima, y a partir de ah ser ms fcil resolver el problema dinmico de la interaccin pantgrafo-catenaria.
La forma tradicional de solucionar este problema es empleando elementos finitos. Existen autores que afirman que emplear este sistema conlleva un elevado tiempo de computacin debido a las no linealidades existentes (ver [8] y [9]), aunque tambin afirman que no existen otros mtodos que sean ms eficaces para resolverlo.
En la presente Tesis, para la resolucin de los problemas a tratar, problema esttico de la elasticidad de la catenaria y problema dinmico de la interaccin pantgrafo catenaria, se ha empleado el Mtodo de Elementos Finitos para calcular la geometra de la catenaria.
Para conseguir unas prestaciones adecuadas en la circulacin de las unidades ferroviarias, la fuerza de contacto pantgrafo-catenaria se ha de mantener lo ms uniforme posible, evitando las prdidas de contacto o despegues. El desarrollo de un modelo matemtico que permita evaluar el comportamiento mecnico del sistema, puede ser de gran ayuda con objeto de especificar las condiciones de montaje ptimas en la lnea area de contacto, conocida tambin como catenaria.
La integracin numrica de la ecuacin diferencial de este sistema presenta varios tipos de dificultades. En primer lugar hay que obtener una adecuada modelizacin, especialmente en lo que se refiere al contacto pantgrafo-catenaria, puesto que el pantgrafo al desplazarse a gran velocidad genera una carga mvil de tipo puntual sobre la lnea. Por otro lado, se trata de un sistema de ecuaciones diferenciales no lineales con restricciones, no siendo aplicables directamente los mtodos numricos de integracin correspondientes a las ecuaciones diferenciales ordinarias, existiendo adems otra importante dificultad, debido al gran nmero de variables que aparecen en la formulacin matemtica de las ecuaciones, con los consiguientes requerimientos de memoria y tiempo de computacin, habiendo aparecido en este sentido varios trabajos en la literatura cientfica espaola: Universidad de Navarra (1982) [10], Fernndez y Pastor (1998) [11], Carnicero, Lpez y Torres (2004) [8] y Carnicero, Lpez y Maroo (2006) [9].
CAPTULO 1: ESTADO DEL ARTE
4 1.2 OBJETIVOS DE LA TESIS
Como se ha dicho anteriormente, en trenes de alta velocidad es necesario disponer de un modelo ptimo de la estructura de la catenaria para que cuando el tren circule por la va pueda recibir energa elctrica de sta y conseguir unas velocidades de ms de 300 Km/hora. En consecuencia, lo que se persigue es que se minimice el nmero de despegues entre el pantgrafo y la catenaria. De esta manera, se consigue por un lado que el contacto entre el pantgrafo y la catenaria sea continuo, puesto que una prdida de contacto entre ambos implicara una prdida de suministro de energa y por tanto la disminucin de la velocidad del tren. Por otro lado se minimiza el riesgo de aparicin de arcos voltaicos, produciendo un desgaste uniforme en el cableado y se reduce el riesgo de ruptura de dicho cableado.
Por tanto los dos objetivos principales de la presente Tesis se podran desglosar de la siguiente forma:
! Solucionar el problema de la elasticidad en un cantn de catenaria, que es una introduccin para poder realizar el estudio dinmico de la interaccin pantgrafo-catenaria al que anteriormente se haca mencin. ! Solucionar el problema dinmico de la interaccin pantgrafo catenaria.
Para la solucin de ambos objetivos se deber seguir una filosofa de Computacin de Altas Prestaciones [12], para poder obtener unos buenos rendimientos en dichos clculos.
En la literatura se pueden encontrar multitud de artculos referentes al problema dinmico pero no ocurre lo mismo con el problema esttico de la elasticidad. En este campo se han podido consultar dos estudios.
El primero de ellos es el realizado por la Universidad de Navarra [10] para el problema de la elasticidad. En l se puede observar que para la resolucin del problema a tratar utiliza el Mtodo de Elementos Finitos para discretizar la estructura de la catenaria considerndo siempre una longitud constante entre los elementos, lo que supone ciertas limitaciones, sobre todo en trminos de precicisin si la distancia considerada entre elementos no es lo suficientemente pequea.
En el caso que se ha considerado en la presente Tesis, se puede elegir la distancia entre los elementos considerados, hacindola tan pequea como se quiera, lo que proporcionar una mayor precisin a la hora de realizar la estructura de la catenaria.
Un segundo estudio es el que realiza el Centro de Estudios y Experimentacin de Obras Pblicas (CEDEX) [11]. Realizaron un programa de simulacin tanto para resolver el problema esttico de la elasticidad de la catenaria, como el problema dinmico de la interaccin pantgrafo-catenaria. El mtodo utilizado usaba Elementos Finitos pero slo tena en consideracin una estructura de catenaria normal, es decir, no se consideraba el clculo de la misma con pendolado en Y. Otra caracterstica de este estudio es la consideracin de dos hilos de contacto pero con estructura de pendolado continuo. En cuanto al problema dinmico de la interaccin pantgrafo-catenaria, en este estudio slo se aborda el caso de un pantgrafo.
CAPTULO 1: ESTADO DEL ARTE
5 En las pocas referencias que hablan del estudio de la elasticidad no comentan como se resuelve pero s que los estudios se llevan siempre a cabo considerando estructuras de catenarias con un nico hilo de contacto.
En la presente Tesis se tienen en cuenta diversos tipos de estructuras de catenaria, normal y en Y, con uno o dos hilos de contacto, en caso de considerar dos hilos de contactos se puede realizar el estudio sobre pendolado continuo o pendolado alterno. Esta Tesis tambin aborda el problema dinmico de la interaccin pantgrafo- catenaria, llegando incluso a poder considerar hasta cuatro pantgrafos.
En esta Tesis se resolver el problema de la elasticidad descomponiendo, primeramente, la estructura de la catenaria. Para ello ser utilizado el Mtodo de Elementos Finitos, obteniendo de dicha discretizacin, las diversas estructuras que nos llevan a resolver la ecuacin de equilibrio del sistema:
K * y = r
Para el almacenamiento de estas estructuras de datos se realizar una reserva dinmica de memoria. Como se ver en el Captulo 4, la matriz de rigidez K es una matriz dispersa y para su almacenamiento ser necesario el uso de estructuras especiales para reducir al mximo los requerimientos de memoria.
En cuanto a la resolucin del sistema, sern empleados mtodos iterativos con precondicionado, pues proporcionan mayor precisin y eficacia que otros tipos de mtodos.
En cuanto al problema dinmico de la interaccin pantgrafo-catenaria, el trabajo que ms se ajusta al que se presenta en esta Tesis, es el que est siendo desarrollado por la Universidad Pontificia Comillas, donde un grupo de la Escuela Tcnica Superior de Ingeniera (ICAI), ha desarrollado diversos trabajos ([8], [9]). Quiz la diferencia ms notable entre estos trabajos y lo que se propone en esta Tesis, es que, adems de abarcar ms modelos de estructura de catenaria, aqu tambin se contempla la utilizacin de hasta cuatro pantgrafos a la hora de suministrar energa elctrica al tren. Otra de las caractersticas en las que se diferencian, es que en ICAI tienen en cuenta un modelo simplificado de la estructura de la catenaria, es decir, la considera como una masa, mientas que aqu se abarca un modelo completo de la misma.
Por tanto, como se dijo anteriormente, existen dos problemas principales a resolver, por un lado el problema de la elasticidad de la catenaria, que es un problema introductorio para poder, posteriormente, resolver de una forma ms sencilla el problema dinmico de la interaccin pantgrafo-catenaria. En la presente Tesis se desarrollarn un conjunto algoritmos de Altas Prestaciones que resuelvan de forma ptima estos dos problemas, considerando sus diversas configuraciones.
El siguiente paso lgico es estudiar qu posibilidades de mejora existen, lo que dar lugar a una serie de objetivos secundarios que se mencionan a continuacin:
! Paralelizacin de los algoritmos. No se ha encontrado en la literatura constancia alguna de la existencia de algoritmos paralelos que resuelvan los problemas que aqu se proponen, pero sin embargo es una necesidad obvia, pues estos CAPTULO 1: ESTADO DEL ARTE
6 algoritmos, cuando se consideran tamaos grandes de problema, requieren bastante tiempo de cmputo, y como se ver en Captulos posteriores, la paralelizacin de los mismos nos van a reducir este parmetro drsticamente, haciendo posible abordar problemas ms reales (en cuanto al nmero de kilmetros de estructura que queremos calcular) o incluso pudiendo obtener mayor precisin, quiere decir, que se puede hacer una discretizacin ms fina, lo que aumentara el tamao del problema pero a la vez dar una estructura ms precisa. ! Computacin de Alta Productividad. Otros de los aspectos que tampoco se han tenido en cuenta hasta esta Tesis, es la necesidad que tienen los ingenieros, a la hora de realizar estos clculos, de seguir una filosofa de prueba y error. Hasta ahora los ingenieros hacan las pruebas con unos parmetros y si la estructura no se ajustaba a las necesidades, se modificaban los parmetros de entrada y se volva a proceder a la ejecucin. En esta Tesis se propone seguir la filosofa de Computacin de Alta Productividad, de tal forma que cambie esta filosofa de prueba y error, as el ingeniero slo debe definir qu parmetros y en qu rango va a utilizar, producindose los correspondientes ficheros de entrada y se lanzarn a travs de una plataforma de alta productividad que ejecutar de forma distribuida el algoritmo con cada fichero de entrada, de forma que cuando antes en el tiempo de ejecucin de un algoritmo slo se tena un fichero de salida con la estructura calculada, ahora se dispone de varios ficheros de salida, siendo presentado al ingeniero nicamente aquel fichero de salida que ms se ajuste a sus necesidades.
En el presente Captulo se desarrollarn varios fundamentos matemticos, por una parte, sobre teora de matrices dispersas y mtodos iterativos de resolucin de sistemas de ecuaciones lineales que sern aplicados en la implementacin de los algoritmos objeto de la presente Tesis y que permitirn afrontarlo con xito. Para un estudio ms detallado de estos fundamentos matemticos puede consultarse [13], [14], [15] y [16]. Por otra parte, se dar una visin muy general de los fundamentos matemticos importantes que son la base de los sistemas de ecuaciones diferenciales, la integracin y la diferenciacin numrica. Para obtener ms informacin sobre algunos de estos dos aspectos se puede consultar la bibliografa [17].
2.1 TEORA DE MATRICES
2.1.1 Nociones bsicas sobre matrices
Definicin 1 Una matriz es un conjunto de n vectores en pertenecientes a un vector rectangular de m filas y n columnas. La forma de una matriz A se puede ver en la Figura 2.1.
A = a 11 a 12 a 1n a 21 a 22 a 2n ! a m1 a m2 a mn ! " # # # # $ % & & & &
Figura 2. 1 Formato de una matriz y se representa por A = (a ij ) mxn o simplemente por A = (a ij ), con i = 1..m y j=1..n. Se dice entonces que la matriz es de orden m x n. El conjunto de todas las matrices de orden se representa por
! mxn . El ndice i hace referencia a la fila del elemento dentro de la matriz, y el ndice j a la columna. Definicin 2 Una matriz que tiene el mismo nmero de filas que de columnas se denomina matriz cuadrada.
Definicin 3 La matriz cuadrada con unos en toda su diagonal principal (aquella cuyos elementos estn en las posiciones a ij con i=j) y ceros en el resto de elementos se conoce como matriz identidad y se representa por I. A veces una matriz identidad de tamao pxp se representa como I pxp .
Definicin 4 Una matriz A de orden
nxn se dice que es invertible (tiene inversa) si existe una matriz B de orden tal que:
AB =BA= I
CAPTULO 2: CONCEPTOS MATEMTICOS 8 Esta matriz se denomina inversa de A y se denota por A -1 .
Definicin 5 Una matriz no singular es aquella que tiene inversa, es decir, aquella matriz A para la cual existe A -1 .Si el determinante de la matriz es distinto de cero la matriz ser invertible y por tanto no singular. En caso contrario la matriz se denomina matriz singular y no tendr inversa.
Definicin 6 La traspuesta de una matriz A de orden
mxn, representada por A T , es una matriz de orden
nxm cuyas filas y columnas estn intercambiadas:
A T = (a ji ) i =1,..., n j =1,..., m
Se cumple lo siguiente:
AB ( ) T = B T * A T
Definicin 7 Una matriz A se dice que es simtrica si se cumple que A=A T , o lo que es lo mismo, si para todo elemento a ij de la matriz A, el elemento a ji de la misma tiene el mismo valor.
Propiedad 1 La inversa de una matriz A, que se representa por A -1 , y si existe es nica.
Propiedad 3 Una propiedad interesante sobre el producto de dos matrices invertibles es la siguiente:
AB ( ) !1 = B !1 * A !1
Y otra propiedad tambin importante es:
A !1 ( ) T = A T ( ) !1
2.1.1.1 Operaciones sobre matrices
Operacin 1 La suma de dos matrices A = (a ij ) !
! mxn y B = (b ij ) !
! mxn es una matriz del mismo orden que A y B de modo que:
A + B = (a ij + b ij )
Para la resta de matrices se proceder de la misma forma que para la suma de dos matrices.
Operacin 2 Si c es un escalar, entonces la matriz cA es una matriz del mismo orden que A que cumple:
cA =(c * a ij )
CAPTULO 2: CONCEPTOS MATEMTICOS 9 Operacin 3 Si A es una matriz de orden
mxn y B otra matriz de orden
nx p, el producto de ambas AB es una matriz de orden
mx p tal que:
AB = a ik b jk k=1 n ! " # $ % & '
Es importante tener en cuenta que el producto de matrices no es conmutativo, es decir,
AB ! BA
2.1.1.2 Normas vectoriales y matriciales
Las normas tienen la misma finalidad en los espacios vectoriales que los valores absolutos en la recta real: proporcionan una medida de la distancia. Ms exactamente, junto con una norma en define un espacio mtrico.
Definicin 8 La norma de un vector x es una funcin
f :! n "! representada como
x . Se emplean subndices en la parte inferior derecha de la doble barra para distinguir entre distintas normas.
Una clase til de normas vectoriales son las p-normas definidas como:
x p = x 1 p +!+ x n p ( ) 1 p p !1
De stas, las ms importantes son la 1-norma, 2-norma e !-norma:
x 1 = x 1 +!+ x n x 2 = x 1 2 +!+ x n 2 = x T x x ! = max 1" p"n x i
El anlisis de algoritmos que trabajan con matrices requiere con mucha frecuencia el empleo de normas matriciales.
Definicin 9 La norma de una matriz A es una funcin
f :! mxn "! representada como . Las normas matriciales ms empleadas en lgebra lineal numrica son la norma de Frobenius, definida como:
A F = a ij 2 j =1 n ! i=1 m !
Y las p-normas, definidas de la siguiente manera:
A P = max x!0 Ax p x p x!0 " # $ $ % & ' '
CAPTULO 2: CONCEPTOS MATEMTICOS 10 Como se puede ver, las p-normas matriciales se definen en trminos de las p-normas vectoriales definidas anteriormente.
2.1.2 Tipos de matrices
El tipo de una matriz viene dado por la disposicin de sus elementos. A continuacin se comentarn algunos de los tipos de matrices ms importantes, en especial los que aparecen en el modelo matemtico que se trata en este apartado de la presente Tesis. Segn el tipo de las matrices ser preferible la aplicacin de uno u otro mtodo de resolucin para dar con la solucin a la ecuacin de equilibrio esttico del sistema.
Definicin 10 Una matriz de bloques es una matriz que puede ser particionada de modo que cada bloque se considera como un elemento de la matriz, pudindose efectuar sobre l operaciones tales como suma, multiplicacin por un escalar, producto de matrices, etc.
Definicin 11 Una matriz cuadrada A es una matriz diagonal si
a ij = 0 para
i ! j , es decir, si todos sus elementos son nulos salvo los de la diagonal principal. Se representa de la siguiente manera:
A = diag(a ij ,, a nn )
Definicin 12 Una matriz cuadrada A es una matriz triangular superior si
a ij = 0 para
i > j , es decir, si todos los elementos por debajo de la diagonal principal son nulos.
Propiedad 2 La matriz traspuesta de una matriz triangular superior es una matriz triangular inferior, y es aquella en la que si
a ij = 0 para
i < j , es decir, en la que todos los elementos por encima de la diagonal principal son nulos.
Tambin existen otros tipos de matrices diagonales y triangulares que resultan de la combinacin de diversos tipos de matrices, tales como las matrices diagonales de bloques, matrices bidiagonales superiores, matrices bidiagonales inferiores, matrices tridiagonales, matrices en banda, etc.
En la Figura 2.2 se puede observar un ejemplo de tipos de matrices diagonales y triangulares.
Figura 2. 2 Matrices: (a) diagonal, (b) triangular superior y (c) triangular inferior (* representa cualquier valor para el elemento)
CAPTULO 2: CONCEPTOS MATEMTICOS 11 Definicin 13 Las matrices tridiagonales son aquellas en las que todos sus elementos a ij son nulos para los elementos que cumplen que
j ! i >1. Las matrices tridiagonales se representan de la siguiente manera:
A = tridiag(a i, j !1 , a i, j , a i, j +1 ).
En la Figura 2.3 se puede ver un ejemplo de una matriz tridiagonal.
Figura 2. 3 Matriz tridiagonal Definicin 14 Las matrices bidiagonales superiores son aquellas cuyos elementos
a ij
son nulos salvo aquellos para los que
i = j y
j = i +1, es decir, son nulos todos sus elementos salvo los de la diagonal principal y los de la diagonal inmediatamente superior. Anlogamente sucede con las matrices bidiagonales inferiores, cuyos elementos son todos nulos salvo los de la diagonal principal y los de la diagonal inmediatamente inferior.
Definicin 15 Las matrices en banda son aquellas en las que se establece un rango de diagonales dentro de la matriz contando desde la diagonal principal, y el resto de elementos son nulos.
Existe otro tipo de matrices, denominadas matrices dispersas que por su relevancia en la presente Tesis se estudian en un apartado nuevo.
2.1.3 Matrices dispersas
2.1.3.1 Introduccin
Por matriz dispersa se designa a una matriz cuyo porcentaje de elementos nulos es elevado. Sin embargo, en la actualidad esa definicin ha ido siendo reemplazada por esta otra:
Matriz dispersa es aquella que toma ventaja de las tcnicas especiales para matrices dispersas para almacenar sus elementos no nulos.
Estas tcnicas principalmente pretenden no almacenar aquellos elementos de la matriz que son nulos, ya que no aportan ninguna informacin y pueden conocerse igualmente; y almacenar los elementos no nulos en estructuras de datos de ms fcil manejo y ms eficientes en el acceso. CAPTULO 2: CONCEPTOS MATEMTICOS 12
Al almacenar una matriz en forma densa (almacenando todos sus elementos, incluidos los nulos) muchas veces se hace imposible el abordar problemas grandes, debido a las limitaciones tanto de almacenamiento como computacionales. Si las matrices que intervienen en el problema son de naturaleza dispersa, se puede explotar esta caracterstica y tomar ventaja de las tcnicas de las que se dispone para ellas, se pueden afrontar problemas grandes.
Se tratar por tanto de encontrar los esquemas de almacenamiento ms convenientes para almacenar y manipular los datos y un conjunto de mtodos iterativos de resolucin de sistemas de ecuaciones lineales que trabajen con datos de naturaleza dispersa (llamados solvers) en lugar de los tradicionales solvers densos.
2.1.3.2 Esquemas de almacenamiento para matrices dispersas
Como se ha comentado, se hace necesario disponer de una serie de esquemas de almacenamiento para explotar las caractersticas de las matrices dispersas y almacenar nicamente sus elementos no nulos. Por comodidad se etiquetarn con un nombre de tres caracteres siguiendo la notacin empleada en [16].
Una de las dificultades en las computaciones con matrices dispersas es la variedad de tipos de matrices que se encuentran en los problemas de aplicacin prctica.
El propsito de cada uno de los esquemas es ganar en eficiencia en trminos tanto de utilizacin de memoria como de tiempo de cmputo. Por ello se ha desarrollado una amplia variedad de formatos de almacenamiento para matrices dispersas, cada uno de ellos aprovechndose de la estructura de cada tipo de matriz o del problema especfico que se est afrontando.
Por ejemplo, se puede tener una matriz consistente en unas pocas diagonales con elementos no nulos, una matriz con una estructura dispersa irregular, etc. Para cada uno de estos casos ser mejor el empleo de uno u otro esquema de almacenamiento.
A continuacin se muestra una lista de los formatos ms conocidos, todos ellos soportados por la herramienta SPARSKIT que se comenta en el Captulo 3: ! DNS: Dense format ! BND: Linpack Banded format ! CSR: Compressed Sparse Row format ! CSC: Compressed Sparse Column format ! COO: Coordinate format ! ELL: Ellpack-Itpack Generalized Diagonal format ! DIA: Diagonal format ! BSR: Block Sparse Row format ! MSR: Modified Compressed Sparse Row format ! SSK: Symetric Skyline format ! NSK: Nonsymmetric Skayline format ! LNK: Linked list storage format CAPTULO 2: CONCEPTOS MATEMTICOS 13 ! JAD: The Jagged Diagonal format ! SSS: The Symmetric Sparse Skyline format ! USS: The Unsymmetric Sparse Skyline format ! VBR: Variable Block Row Format El nmero de elementos no nulos que contiene una matriz determina la dispersidad de la matriz. Una matriz con pocos elementos nulos se dir que es una matriz poco dispersa, mientras que si la matriz contiene gran cantidad de elementos nulos, se considerar una matriz muy dispersa.
Para obtener ms informacin sobre alguno de los esquemas de almacenamiento aqu explicados o sobre algn otro formato se puede consultar la bibliografa [16], [18] y [19].
A continuacin se explicar la estructura de los cuatro formatos ms importantes de cara a la presente Tesis, ya que son los que se han empleado en sus implementaciones iniciales (DNS), los que se emplearn en sus implementaciones de altas prestaciones (COO, CSR) y otros muy relacionados con ellos (CSC).
Se representar como MAT a la matriz que se est considerando, como N a la dimensin en nmero de filas de dicha matriz y como NNZ al nmero de elementos no nulos que contiene.
2.1.3.2.1 Formato denso (DNS)
Este formato no aprovecha las tcnicas para el almacenamiento de elementos en las matrices dispersas.
Su uso no es aconsejado para matrices de este tipo ya que no se obtiene ningn beneficio en cuanto a eficiencia ni en trminos de utilizacin de memoria ni de tiempo de cmputo.
Consiste simplemente en almacenar todos y cada uno de los elementos de la matriz en un vector bidimensional, cada uno en la coordenada i,j correspondiente a su fila y columna respectivamente dentro de la matriz.
El nmero de elementos almacenados para una matriz de dimensin
nxn es de
n 2 posiciones de memoria.
2.1.3.2.2 Formato coordenado (COO)
Este formato es el ms sencillo para el almacenamiento de matrices dispersas, aprovechando su naturaleza.
Consiste en emplear tres vectores de tamao NNZ: uno del tipo de los datos a almacenar (generalmente reales) que contendr los elementos no nulos de la matriz CAPTULO 2: CONCEPTOS MATEMTICOS 14 dispersa (A), uno de enteros que contendr los ndices de las filas (IA) y otro de enteros que contendr los ndices de las columnas (JA) para cada uno de los elementos no nulos.
Desde el punto de vista de los requerimientos de memoria no es un formato demasiado eficiente, pero tiene la ventaja de ser atractivo por su excesiva sencillez y simplicidad de manejo; de hecho se usa con mucha frecuencia en los problemas que contienen matrices dispersas.
El nmero de elementos almacenados para una matriz de dimensin
nxn es de 3*NNZ posiciones de memoria.
2.1.3.2.3 Formato disperso de fila comprimida (CSR)
Este formato y el CSC son los ms generales. No asumen nada acerca de la estructura dispersa de la matriz y no almacenan elementos innecesarios. Por otra parte, no son muy eficientes desde el punto de vista del acceso a los elementos, ya que necesitan un paso de direccionamiento indirecto para cada acceso a un elemento por ejemplo, para una operacin escalar de producto matriz-vector, cosa que no sucede con el formato COO. Es el formato ms comn para matrices dispersas con una estructura irregular.
En este formato, los elementos no nulos de la matriz se almacenan segn su orden en filas en la matriz dispersa, ocupando posiciones consecutivas de memoria. El orden de los elementos dentro de una misma fila no es relevante.
Se emplean tres vectores: uno del tipo de los datos a almacenar (generalmente reales) de tamao NNZ que contendr los elementos no nulos de la matriz dispersa almacenados fila a fila (A), uno de enteros de tamao NNZ que contendr los ndices de las columnas de dichos elementos en el vector A (JA) y otro vector de enteros de tamao N+1 que contendr punteros a las posiciones en los vectores A y JA donde comienza cada fila (IA). Por tanto, IA(i) contiene la posicin en los vectores A y JA donde comienza la fila i.
Por convenio, IA(N+1) = NNZ+1, es decir, contiene la direccin en A y JA donde comenzara la supuesta fila N+1. Se observa que los vectores A y JA son los mismos tanto para el formato COO como para el formato CSR.
El nmero de elementos almacenados para una matriz de dimensin es de 2*NNZ+N+1 posiciones de memoria.
2.1.3.2.4 Formato disperso de columna comprimida (CSC)
El formato CSC es idntico al formato CSR con la diferencia de que se almacenan las columnas de la matriz dispersa MAT en lugar de sus filas. Dicho de otra forma, el formato CSC es el resultado de aplicar el formato CSR a la matriz MAT T .
Se emplean tres vectores: uno de enteros que almacena los ndices de la fila para cada elemento no nulo, otro de enteros que almacena el ndice en el vector de valores y CAPTULO 2: CONCEPTOS MATEMTICOS 15 en el vector anterior donde comienza una nueva columna y otro vector del tipo de los datos a almacenar (generalmente reales) que contendr los elementos no nulos de la matriz dispersa, almacenados columna a columna.
El nmero de elementos almacenados para una matriz de dimensin
nxn, al igual que para el formato CSR, es de 2*NNZ+N+1 posiciones de memoria.
2.1.3.2.5 Ejemplo de los formatos DNS, COO y CSR
A continuacin se muestran dos ejemplos de los formatos denso (DNS), coordenado (COO) y disperso de fila comprimida (CSR), que son los ms relevantes para esta Tesis.
En la Figura 2.4 se puede ver la matriz MAT, con 6 filas y 5 columnas. Llamaremos N al nmero de filas. Dicha matriz MAT contiene 30 elementos de los cuales 5 son no nulos (NNZ=5).
Figura 2. 4 Ejemplo matriz dispersa A continuacin se muestran las distintas formas de almacenamiento de la matriz MAT, pudiendo ver en la Tabla 2.1 el almacenamiento de dicha matriz en formato denso, en la Tabla 2.2 el almacenamiento en formato COO y por ltimo en la Tabla 2.3 se muestra el almacenamiento en formato CSR.
1.11 0 0 0 0 0 0 0 0 0 0 0 2.22 0 0 0 3.33 0 0 4.44 0 0 0 0 0 0 0 0 5.55 0 Tabla 2. 1 Almacenamiento de la matriz MAT en formato DNS IA 1 3 4 4 6 Tamao = NNZ = 5 JA 1 3 2 5 4 Tamao = NNZ = 5 A 1.11 2.22 3.33 4.44 5.55 Tamao = NNZ = 5 Tabla 2. 2 Almacenamiento de la matriz MAT en formato COO CAPTULO 2: CONCEPTOS MATEMTICOS 16 IA 1 2 2 3 5 5 6 Tamao = N+1 = 7 JA 1 3 2 5 4 Tamao = NNZ = 5 A 1.11 2.22 3.33 4.44 5.55 Tamao = NNZ = 5 Tabla 2. 3 Almacenamiento de la matriz MAT en formato CSR Como se puede observar en este ejemplo, cuando NNZ < (N+1) el formato CSR se comporta peor que el COO en cuanto a necesidades de almacenamiento, ya que el tamao del vector IA es mayor.
Cuando NNZ = (N+1) ambos formatos requieren el mismo espacio de almacenamiento y cuando NNZ > (N+1) entonces el formato CSR s es ms econmico que el COO, ya que el tamao del vector IA es menor. Cuanto ms marcada sea esta diferencia mayor ser la ganancia de ahorro en el espacio de almacenamiento usando el formato CSR frente a usar el COO.
2.2 METODOS ITERATIVOS DE RESOLUCIN DE SISTEMAS DE ECUACIONES LINEALES
En este apartado se comentarn brevemente los mtodos iterativos ms conocidos para la resolucin de sistemas de ecuaciones, se har una clasificacin de los mismos, se explicarn sus fundamentos e indicar el tipo de matrices para los cuales cada uno de ellos es ms apropiado, etc. Si se desea profundizar en los detalles de cualquiera de ellos se recomienda consultar la bibliografa [13], [14], [19] y [20].
En primer lugar se introducir una serie de nociones previas sobre vectores y matrices que aparecern a lo largo de este punto.
2.2.1 Nociones previas
Definicin 16 Un escalar complejo ! es un valor propio o eigenvalue de una matriz cuadrada A si y solo si existe un vector distinto de cero
x !" n tal que se cumple que
Ax = !x. El vector x se llama eigenvector de A asociado a !. El conjunto de todos los valores propios o eigenvalues de A se conoce como espectro de A y se representa por
!(A).
Definicin 17 Un conjunto de vectores
{v 1 ,v 2 ,,v m } en
! n es ortogonal si se cumple:
v i T v j = 0, siendo
i ! j . Si adems
v i T v i =1 para cada i, entonces se dice que son ortonormales. Una base para un subespacio que es ortonormal se denomina base ortonormal del subespacio.
Definicin 18 Una matriz cuadrada U es ortogonal si se cumple:
U T U = UU T =1. Las matrices ortogonales juegan un papel muy importante en la computacin numrica con matrices y tienen dos propiedades importantes:
! La inversa de una matriz ortogonal es su traspuesta:
O !1 = O T
CAPTULO 2: CONCEPTOS MATEMTICOS 17 ! El producto de dos matrices ortogonales es una matriz ortogonal.
Definicin 19 Una matriz simtrica A es positiva definida si para cada vector x distinto de cero en la matriz, se cumple que
x T Ax > 0.
Si se tiene el vector
x = x 1 x 2 ! x n ! " # # # # $ % & & & &
entonces a
x T Ax = a ij x i i, j =1 n ! x j , se le llama la forma cuadrtica asociada a A.
Del mismo modo, una matriz simtrica A es positiva semidefinida si para cada vector x distinto de cero en la matriz, se cumple que
x T Ax ! 0.
Una notacin bastante empleada para indicar que una matriz es positiva definida es la siguiente:
A > 0. Del mismo modo para indicar que una matriz es positiva semidefinida se emplea:
A ! 0.
2.2.2 Introduccin y clasificacin de los mtodos iterativos
En general, tenemos dos grandes familias de mtodos para resolver sistemas de ecuaciones lineales: mtodos directos y mtodos iterativos. Los mtodos directos se caracterizan por obtener la solucin del sistema en un nmero fijo de operaciones. Los mtodos iterativos se basan en obtener la solucin a partir de una solucin aproximada inicial, la cual es sucesivamente mejorada, detenindose el proceso cuando la mejora obtenida es insignificante.
Los mtodos iterativos presentan dos grandes ventajas frente a los directos, por un lado la de requerir mucha menor cantidad de espacio de memoria, lo que los hace convenientes cuando se abordan problemas de gran dimensin y dispersos, y por otro lado de tiempo, es decir, menor nmero de operaciones que los mtodos directos.
Por otro lado, los mtodos iterativos presentan dos grandes desventajas, por un lado no siempre se obtiene la solucin en un nmero finito de pasos, es decir, no converge, aunque como se ver posteriormente, el uso de precondicionado ayudar tanto a la convergencia de estos mtodos, como a la rapidez a la hora de que converjan.
El trmino mtodo iterativo abarca un conjunto amplio de tcnicas que, como se ha dicho anteriormente, por medio de sucesivas aproximaciones obtienen una solucin cada vez ms precisa a un sistema de ecuaciones lineales.
Existen fundamentalmente dos tipos de mtodos iterativos, los estacionarios, que son los ms antiguos, sencillos de entender y de implementar, pero en muchas ocasiones no sirven para dar con una solucin ptima para el sistema; y los no estacionarios o de proyeccin, que son relativamente recientes y ms complejos, pero tambin pueden llegar a ser mucho ms efectivos a la hora de dar con una solucin. CAPTULO 2: CONCEPTOS MATEMTICOS 18 Estos ltimos estn basados en la idea de obtener una secuencia de vectores ortogonales a partir de los cuales, y mediante sucesivas iteraciones, se da con la solucin.
Se habla de convergencia al aplicar un mtodo de resolucin sobre un problema, cuando a partir de una serie de iteraciones se va obteniendo una solucin cada vez ms aproximada de l. Normalmente la condicin de parada vendr dada por una cota de error o por el nmero de iteraciones a realizar.
La convergencia de los mtodos iterativos depende en gran medida del espectro o conjunto de valores propios de la matriz A en la ecuacin
Ax = B. Por tanto, estos mtodos normalmente utilizan una segunda matriz que transforma la matriz de coeficientes A en una matriz con un espectro ms favorable para su convergencia. Esta matriz de transformacin se llama precondicionador. Un buen precondicionador hace que mejore sustancialmente la convergencia del mtodo iterativo, cosa que justifica el coste extra de tener que construir y aplicar dicho precondicionador. En algunas ocasiones, un mtodo iterativo sin precondicionador puede llegar a no converger y por tanto no dar con la solucin al sistema de ecuaciones.
A continuacin se realizar una breve descripcin de las caractersticas y tipos de problemas hacia los que est orientado cada mtodo. Un mtodo ser ms apropiado que otro para un tipo de problema segn el tipo de las matrices de coeficientes que intervengan en el sistema de ecuaciones que se muestra en la Ecuacin 2.1:
Ax = B (2.1)
2.2.3 Mtodos iterativos estacionarios
Estos son los mtodos iterativos clsicos para la resolucin de sistemas de ecuaciones lineales.
Los mtodos iterativos se basan en la idea de escribir el sistema de ecuaciones mostrado en la Ecuacin 2.1, en una forma equivalente, tal y como se puede ver en la Ecuacin 2.2:
x = Bx + d (2.2)
Entonces, se comienza con una aproximacin inicial x (1) del vector solucin x y el sistema mostrado en la Ecuacin 2.2, generndose una secuencia de aproximaciones {x (k) } de forma iterativa, y definida por medio de la Ecuacin 2.3, donde ni B ni c dependen de la iteracin k:
x k ( ) = Bx (k!1) + c, k = 1,2, (2.3)
donde k representa la iteracin actual y k-1 es la iteracin anterior.
Esta serie de aproximaciones permiten obtener la solucin del sistema cuando se cumple que el nmero de iteraciones tiende a infinito
(k !").
CAPTULO 2: CONCEPTOS MATEMTICOS 19 Para resolver el sistema de ecuaciones lineales, descrito en la Ecuacin 2.1, de forma iterativa se necesita en primer lugar conocer cmo reescribirlo en la forma indicada por la Ecuacin 2.2. A continuacin debe escogerse la aproximacin inicial x (1)
de tal forma que la iteracin aplicando la Ecuacin 2.3 converja al lmite o sino determinar bajo qu consideraciones la iteracin converge al lmite escogiendo x (1) de forma arbitraria.
Normalmente, ya que es complicado seleccionar una aproximacin inicial adecuada, se suele aplicar el teorema de la convergencia de las iteraciones que asegura que la iteracin mostrada en la Ecuacin 2.3 converge al lmite para una eleccin arbitraria de x (1) si y slo si la matriz
B k !0 para
k !", o lo que es lo mismo, que B sea una matriz convergente.
Para determinar cuando se termina de aplicar la iteracin de la Ecuacin 2.3, se debe fijar un criterio de parada, que normalmente viene dado por una cota de error (tolerancia) o por un nmero mximo de iteraciones a realizar.
Los mtodos que se van a comentar a continuacin difieren en el modo en que se escogen los valores de B y c en la Ecuacin 2.3.
2.2.3.1 Mtodo de Jacobi Este mtodo se basa en la obtencin de la solucin para cada variable con respecto al resto de variables. Por tanto, una iteracin de este mtodo corresponde a resolver el sistema una vez para cada variable. El orden con que se examinan cada una de las ecuaciones del sistema es irrelevante, ya que las trata de forma independiente. Es un mtodo sencillo y fcil de entender e implementar, pero su convergencia es lenta.
Este mtodo slo es aconsejable como una introduccin a los mtodos iterativos o como un precondicionador en un mtodo no estacionario, a menos que, la matriz de coeficientes sea diagonal dominante, es decir, si el valor absoluto de un elemento que est colocado en la fila i y columna i es mayor que la suma del resto de elementos excepto aquellos cuyo nmero de fila coincida con el nmero de columna.
2.2.3.2 Mtodo de Gauss-Seidel Este mtodo es el mismo que el mtodo de Jacobi salvo que emplea los valores actualizados para las variables tan pronto como stos estn disponibles. La idea en la que se basa es en usar cada componente nueva tan pronto como est disponible para calcular la siguiente componente. Esto hace que este mtodo, en los casos que el mtodo de Jacobi converge, converja ms rpido, aunque todava lo hace de una manera relativamente lenta.
Aunque su convergencia es ms rpida que con el mtodo de Jacobi, sta en general no es comparable a la de los mtodos no estacionarios.
Al contrario que sucede con el mtodo de Jacobi, en este mtodo s es relevante el orden con el que se examinan las ecuaciones en las iteraciones y de ello depende su CAPTULO 2: CONCEPTOS MATEMTICOS 20 convergencia o divergencia hacia una solucin. Por ello, es muy importante un estudio previo del problema y una buena eleccin del orden de las ecuaciones para asegurar la convergencia del mtodo, sino el mtodo puede fracasar.
Es aplicable a casos en los que la matriz de coeficientes es estrictamente diagonal dominante o simtrica definida positiva (es decir, si todos sus autovalores son estrictamente positivos). Sus propiedades de paralelizacin dependen de la estructura de esta matriz.
Este mtodo es un caso especial del mtodo SOR, obtenido escogiendo el parmetro
! =1.
2.2.3.3 Mtodo de la sucesiva sobre-relajacin (SOR) Este mtodo se obtiene a partir del mtodo de Gauss-Seidel introduciendo un nuevo parmetro " conocido como parmetro de relajacin, que pondera la importancia que tiene la iteracin anterior sobre la actual para el clculo de una nueva aproximacin de forma sucesiva para cada componente.
Con una eleccin ptima de ", este mtodo puede llegar a converger ms rpido que el mtodo de Gauss-Seidel en un orden de magnitud. Con un valor de
! >1 se dice que hay sobre-relajacin y se acelera la convergencia del mtodo de Gauss-Seidel dando ms peso a la iteracin actual que a la anterior, y con un valor de " tal que
0 < ! <1 se dice que hay bajo-relajacin y se puede obtener convergencia cuando el mtodo de Gauss-Seidel no converge. Cuando
! =1 la iteracin del mtodo SOR se reduce a una iteracin del mtodo Gauss-Seidel.
La velocidad de la convergencia depende del parmetro ". Su valor ptimo puede estimarse en ciertos casos. Existen una serie de teoremas que afirman que los valores ptimos de " para que se alcance una convergencia adecuada deben elegirse dentro del intervalo (0,2).
Sus propiedades de paralelizacin son las mismas que para el mtodo de Gauss- Seidel.
2.2.3.4 Mtodo simtrico de la sucesiva sobre-relajacin (SSOR) Los mtodos vistos anteriormente descomponen la matriz B en tres submatrices, de tal forma que B=D-L-U, donde D es la matriz diagonal, L la matriz triangular inferior y U la matriz triangular superior. Aplicando esta descomposicin a la Ecuacin 2.3 y aplicando el mtodo SOR obtendramos la Ecuacin 2.4.
SSOR lo que hace es alternar iteraciones con la matriz triangular inferior (D-L) e iteraciones con la matriz triangular superior (D-U). Es decir, primero se aplicara la Ecuacin 2.4 y luego la Ecuacin 2.5. CAPTULO 2: CONCEPTOS MATEMTICOS 21
Este mtodo por s solo no supone ninguna ventaja sobre el mtodo SOR como mtodo iterativo, sin embargo, es til como un precondicionador para mtodos no estacionarios o de proyeccin.
2.2.4 Mtodos iterativos no estacionarios o de proyeccin
Este tipo de mtodos resultan de una variacin de los mtodos iterativos estacionarios, al incluir otro tipo de informacin como vectores residuales para cada iteracin, y que son calculados por el propio mtodo iterativo. Esta informacin va variando en cada iteracin. Normalmente se calculan constantes que se obtienen a partir del producto con estos residuos o con otros vectores obtenidos a travs del propio mtodo iterativo.
Se considera el sistema de ecuaciones lineales que se mostr en la Ecuacin 2.1 que se recuerda a continuacin:
Ax = B
donde A es una matriz de
! n x n .
La idea de las tcnicas de proyeccin es encontrar una solucin aproximada de un subespacio de
! n .
Se toma K como el subespacio de bsqueda (subespacio en el cual se encuentran los posibles candidatos) y posee dimensin m. Se requiere entonces imponer en general m restricciones para obtener una solucin aproximada en el subespacio K. La manera ms comn de hacerlo es imponiendo m condiciones ortogonales, o lo que es lo mismo, que el vector residuo
b ! Ax obtenido a partir de la Ecuacin 2.1, debe obligatoriamente ser ortogonal a m vectores linealmente independientes. Esto genera un nuevo subespacio L debido a las restricciones que se han impuesto. En los mtodos de proyeccin ortogonales L resultar ser el mismo subespacio que K.
Si A es una matriz de
! n x n y K y L son dos subespacios bidimensionales de
! n , un mtodo de proyeccin en el subespacio K y ortogonal a L trata de encontrar en cada iteracin una solucin aproximada
x que pertenezca al subespacio K y cuyo vector residual sea ortogonal al subespacio L, tal y como se muestra en la Ecuacin 2.6:
Encontrar
x !K / b " Ax #L (2.6)
Se toma una aproximacin inicial x (1) , que se proyecta sobre el plano K. Entonces la Ecuacin 2.6 se puede expresar, tomando la nueva aproximacin
x como
x (1) + K, como en la Ecuacin 2.7:
Encontrar
x !x (1) + K / b " Ax #L (2.7)
CAPTULO 2: CONCEPTOS MATEMTICOS 22 Si se toma
x = x (1) +! con
! "K y el vector residual inicial
r (1) se define como
r (1) = b ! Ax (1) entonces la Ecuacin anterior 2.7 queda como se puede ver en la Ecuacin 2.8:
b ! A(x (1) +")#L r (1) ! A"#L (2.8)
Teniendo en cuenta la definicin de ortogonalidad, la solucin aproximada puede expresarse de la siguiente forma:
x = x (1) +!, ! "K (r (1) # A!, w) = 0, $w "L
La condicin de ortogonalidad impuesta en la 2 Ecuacin de 2.8 sobre el nuevo vector residual
r new = r (1) ! A" puede verse representado grficamente en la Figura 2.5:
Figura 2. 5 Interpretacin de la condicin de ortogonalidad Esto es un paso bsico de proyeccin en su forma ms general. La mayora de las tcnicas estndar usan una sucesin de este tipo de proyecciones para obtener las aproximaciones. El siguiente paso de proyeccin se realizar empleando un nuevo par de subespacios K y L, tomando como aproximacin inicial la obtenida en el paso de proyeccin previo.
En las siguientes secciones se va a realizar una breve introduccin de los mtodos iterativos no estacionarios ms relevantes.
2.2.4.1 Mtodo del gradiente conjugado (CG) El mtodo toma su nombre del hecho de generar una secuencia de vectores conjugados u ortogonales, que son los residuos de cada iteracin y a su vez, los gradientes de una funcin cuadrtica cuya minimizacin es equivalente a resolver el sistema de ecuaciones lineales. Para cada iteracin se calcula una serie de vectores residuales que sern actualizados por una serie de vectores directores o de direccin que tambin se calcularn en cada iteracin. Intenta obtener una base ortonormal para el subespacio denominado de Krylov, generado por una matriz y un vector, y realiza sobre
O L r 0
r new
A#
CAPTULO 2: CONCEPTOS MATEMTICOS 23 la matriz de coeficientes una serie de transformaciones que le dan una estructura de matriz tridiagonal.
Es un mtodo muy efectivo cuando la matriz de coeficientes es simtrica y positiva definida, ya que slo se requiere el almacenamiento de un nmero limitado de vectores. Slo se almacenan los vectores necesarios para realizar la siguiente iteracin. Su comportamiento es especialmente bueno cuando el grado de dispersidad de la matriz de coeficientes es elevado. No es adecuado para su aplicacin en problemas con matrices no simtricas. La velocidad de convergencia depende del nmero de condiciones.
Es muy atractivo de cara a implementar computacionalmente mediante un programa informtico. Los productos internos actan como puntos de sincronizacin en entornos paralelos. Otras propiedades de paralelizacin son independientes en gran parte de la matriz de coeficientes, pero dependen enormemente de la estructura del precondicionador.
2.2.4.2 Mtodos del mnimo residuo (MINRES) y LQ simtrico (SYMMLQ) Estos mtodos son alternativas computacionales para el mtodo del gradiente conjugado (CG) para matrices de coeficientes que son simtricas y pueden ser indefinidas. En el caso de que la matriz sea no positiva definida pero simtrica, el mtodo CG podra producir errores, sin embargo estos mtodos pueden resolver el sistema gracias a que varan ligeramente en el modo de obtencin de los vectores residuales.
El mtodo SYMMLQ generar la misma solucin que el mtodo del gradiente conjugado si la matriz de coeficientes es simtrica y positiva definida.
2.2.4.3 Mtodo del gradiente conjugado sobre ecuaciones normales (CGNE y CGNR) Estos mtodos se basan en la aplicacin del mtodo del gradiente conjugado (CG) a una de las dos formas de las ecuaciones normales para
Ax = B. Son de aplicacin en los casos en que la matriz de coeficientes son indefinidas y adems no simtricas. Transforman el sistema de ecuaciones a una forma definida y simtrica equivalente, y posteriormente se le aplica de forma natural el mtodo del gradiente conjugado para obtener una solucin. Para realizar esta transformacin de las ecuaciones lineales del sistema de la forma
Ax = B se utiliza un sistema definido y simtrico equivalente con ecuaciones de la forma
A T Ax = A T B. El mtodo CGNE resuelve el sistema
(AA T )y = b para el vector solucin y, y calcula la solucin
x = A T y . El mtodo CGNR resuelve el sistema
(A T A)x =
b para el vector solucin x, donde
b = A T b. Cuando la matriz de coeficientes A no sea simtrica ni singular, las matrices de ecuaciones normales
AA T y
A T A sern simtricas y positivas definidas, entonces se CAPTULO 2: CONCEPTOS MATEMTICOS 24 podr aplicar el mtodo del gradiente conjugado. Sin embargo, la convergencia puede ser lenta, ya que el espectro de las matrices de ecuaciones normales anteriores ser menos favorable que el espectro de A, y sta estar limitada por el nmero de coeficientes no nulos en las matrices.
2.2.4.4 Mtodo generalizado del mnimo residuo (GMRES) Este mtodo genera una secuencia de vectores ortogonales de la misma forma que lo hace el mtodo MINRES, y los combina por medio de una resolucin y actualizacin de mnimos cuadrados. Sin embargo, este mtodo, al contrario que los mtodos CG y MINRES, precisa el almacenamiento de la secuencia completa de vectores ortogonales, por lo que requiere una gran cantidad de almacenamiento y hace que sea considerado como un mtodo poco eficiente. Es por ello que en la actualidad se emplean nuevas versiones de este mtodo en las que los costes de computacin y almacenamiento se limitan gracias a la especificacin de un nmero fijo que indica la cantidad de vectores que se desean generar. Las ms importantes de estas nuevas versiones son DQGMRES y Quasi-GMRES, que varan levemente el proceso de ortogonalizacin. Se puede considerar una extensin del mtodo MINRES para sistemas no simtricos. Est basado en un algoritmo clsico que se conoce como mtodo de Arnoldi.
Es un mtodo til para matrices de coeficientes no simtricas y resulta muy eficiente para tratar matrices dispersas. Llega al mnimo residuo en un nmero fijo de iteraciones, pero stas pueden llegar a ser muy costosas tanto en tiempo de cmputo como en cantidad de almacenamiento. Para limitar estos inconvenientes se hace necesario realizar un reinicio del mtodo. En qu momento es idneo hacerlo depende de la matriz de coeficientes A y de los trminos independientes, y requiere de cierta habilidad y experiencia previas.
Slo requiere productos matriz-vector con la matriz de coeficientes. El nmero de estos productos internos aumenta linealmente con el nmero de iteracin hasta el punto de reinicio. Existen implementaciones en las que los productos internos son independientes, por lo que todos ellos juntos necesitan un nico punto de sincronizacin, ampliando enormemente las capacidades de paralelizacin del mtodo. Otras implementaciones ms estables tienen un punto de sincronizacin por cada producto interno, con las desventajas de cara a la paralelizacin que ello conlleva.
2.2.4.5 Mtodo del gradiente bi-conjugado (BiCG) Este mtodo genera dos secuencias de vectores ortogonales de la misma forma que el mtodo del gradiente conjugado (CG), uno basado en un sistema formado por la matriz de coeficientes original A y otro basado en su matriz traspuesta A T . En lugar de ortogonalizar en cada secuencia, se hace que los dos conjuntos de vectores sean mutuamente ortogonales, o lo que es lo mismo, que sean bi-ortogonales.
Al contrario que con el mtodo CG, ste s es adecuado para su aplicacin a problemas con matrices de coeficientes no simtricas. Al igual que el mtodo CG, emplea una cantidad de almacenamiento limitada, aunque sta es mayor. Es til cuando CAPTULO 2: CONCEPTOS MATEMTICOS 25 la matriz de coeficientes no es simtrica ni singular. Tiene el inconveniente de que la convergencia puede ser irregular y existe la posibilidad de que el mtodo falle.
El mtodo requiere un producto matriz-vector con la matriz de coeficientes y con su traspuesta en cada iteracin. Esto hace que el mtodo no sirva para casos en los que la matriz de coeficientes se da slo de forma implcita como un operador, ya que en esos casos no existe un operador de trasposicin. Su coste computacional tambin es ms elevado que para el mtodo CG ya que requiere ms actualizaciones para los dos conjuntos de vectores residuales mutuamente ortogonales y los dos conjuntos de vectores de direccin.
Sus propiedades de paralelizacin son las mismas que para el mtodo del gradiente conjugado; los dos productos matriz-vector y los pasos de precondicionamiento son independientes y pueden realizarse de forma paralela.
2.2.4.6 Mtodo del residuo casi mnimo (QMR) Este mtodo aplica una resolucin y actualizacin de mnimos cuadrados a los residuos del mtodo del gradiente bi-conjugado (BiCG); de este modo suaviza la convergencia irregular del mtodo anterior. Emplea una estrategia de anticipacin que evita el fracaso del mtodo BiCG. Incluso sin emplear esta estrategia, el mtodo QMR en muchos casos evita una de las dos situaciones de fracaso que pueden ocurrir en el mtodo anterior. Por otro lado, este mtodo no ocasiona una minimizacin real del error ni del residuo, y ya que converge lentamente, a menudo no mejora respecto al mtodo BiCG en trminos del nmero de iteraciones empleadas.
Lo que hace es transformar el sistema lineal en un nuevo sistema tridiagonal y lo resuelve mediante un mtodo voraz que supera las situaciones en las que el mtodo BiCG fracasa. Es aplicable a matrices dispersas y no simtricas al igual que el mtodo BiCG. En casos en los que el mtodo BiCG converge de forma rpida, este mtodo tambin lo hace, y en los casos en los que el mtodo BiCG se estanca o diverge, ste puede reducir an ms el residuo a pesar de que lo haga de forma muy lenta.
Su coste computacional es ligeramente superior al del mtodo BiCG, ya que requiere un producto matriz-vector con la matriz de coeficientes traspuesta. Sus propiedades de paralelizacin son las mismas que para el mtodo anterior.
2.2.4.7 Mtodo del gradiente conjugado cuadrado (CGS) Este mtodo es una variante del mtodo del gradiente bi-conjugado (BiCG) que realiza las operaciones de actualizacin para las matrices A y
A T usando los mismos vectores. Idealmente se debera duplicar el factor de convergencia con este mtodo, alcanzando mucho antes una solucin adecuada, pero en la prctica la convergencia puede ser mucho ms irregular que incluso para el mtodo BiCG. Una ventaja de este mtodo es que no necesita las multiplicaciones con la matriz traspuesta de la matriz de coeficientes.
CAPTULO 2: CONCEPTOS MATEMTICOS 26 Es aplicable igualmente a matrices no simtricas y aunque converge o diverge tericamente dos veces ms rpido que el mtodo BiCG, en realidad su comportamiento en cuanto a convergencia es a menudo bastante irregular, lo cual puede llevar a una prdida de precisin en los residuos calculados.
Los costes computacionales por iteracin son los mismos que para el mtodo BiCG, aunque este mtodo no requiere la matriz traspuesta. Al contrario que sucede con el mtodo BiCG, los dos productos matriz-vector no son independientes, por lo que el nmero de puntos de sincronizacin en un entorno paralelo se hace mayor, con el inconveniente que ello supone de cara a la paralelizacin de este mtodo.
2.2.4.8 Mtodo del gradiente bi-conjugado estabilizado (BiCGSTAB) Al igual que el mtodo CGS, este mtodo es una variante del mtodo BiCG. Emplea distintas actualizaciones para la matriz de coeficientes traspuesta
A T , con el fin de obtener una convergencia ms suave que con el mtodo CGS.
Igualmente es aplicable a matrices no simtricas y su coste computacional por iteracin es similar al de los mtodos BiCG y CGS, pero al igual que este ltimo, tampoco requiere la matriz traspuesta.
Es una alternativa al mtodo CGS que evita sus patrones de convergencia irregular, a la vez que mantiene su misma velocidad de convergencia. Como resultado, en numerosas ocasiones se observa una menor prdida de precisin en los residuos actualizados.
2.2.5 Conclusiones
La eficiencia en la resolucin de un sistema lineal de ecuaciones depende en gran parte de la eleccin correcta de un mtodo iterativo de resolucin. Sin embargo, para obtener un rendimiento idneo, tambin debe tenerse en consideracin los aspectos computacionales del mtodo y su eficiencia sobre cada una de las arquitecturas objetivo.
Teniendo en cuenta el problema que se desea resolver y la arquitectura de la mquina sobre la que se trabajar, pueden llegar a descartarse algunos mtodos.
Es muy importante tambin tener en cuenta las propiedades de las matrices que intervendrn en el mtodo de resolucin. Cada mtodo se comporta mejor con cierto tipo de matrices y no todos son efectivos a la hora de afrontar la resolucin de un tipo de problema. As es importante conocer las propiedades de las matrices de coeficientes que intervienen en el sistema como criterio para la eleccin de un mtodo iterativo.
Los mtodos iterativos son muy diferentes de los mtodos directos o clsicos. La ejecucin de los mtodos directos, tanto para sistemas densos como dispersos, se dedica en la mayor parte de su tiempo a la factorizacin de la matriz de coeficientes. Esta operacin no se realiza en los mtodos iterativos (excepto en casos en los que algunos precondicionadores requieren una fase inicial de configuracin) por lo que carecen de operaciones con matrices densas. Sin embargo, las operaciones bsicas que se realizan CAPTULO 2: CONCEPTOS MATEMTICOS 27 en los mtodos iterativos, a menudo emplean direccionamientos indirectos que se caracterizan por su baja eficiencia. As, el rendimiento de los mtodos iterativos es menor que el de los directos, pero esto no implica que el tiempo total para dar solucin a un sistema dado sea por ello menor con mtodos iterativos. Adems, los mtodos iterativos son generalmente ms fciles de implementar que los mtodos directos, y ya que no requieren almacenar una factorizacin completa, pueden trabajar con sistemas de ecuaciones mucho mayores que los mtodos directos.
Cada mtodo iterativo requiere un espacio de trabajo temporal para clculos intermedios de vectores residuales, etc. que depende de la matriz de coeficientes y del orden de la misma. Los requerimientos en cuanto a espacio de trabajo son mucho menores que en el caso de mtodos directos.
Es por ello que en la presente Tesis, se ha optado por emplear mtodos iterativos para la resolucin de la ecuacin de equilibrio esttico del sistema de catenaria, siendo realmente esta ecuacin, un sistema lineal de ecuaciones en el cual se trabaja con una matriz dispersa. La eleccin de estos mtodos es debida a que con ellos se obtienen unos resultados ms que aceptables tanto en precisin como en tiempo de clculo, y lo que es ms importante, permitirn afrontar casos reales con gran carga computacional y de almacenamiento, pues los requerimientos de almacenamiento temporal sern mucho ms bajos que si se emplearan mtodos directos.
A esto hay que sumar el considerable ahorro obtenido tambin en espacio de almacenamiento gracias al empleo de tcnicas de almacenamiento y de manejo de matrices dispersas para las matrices de rigidez del sistema, a la reserva de la memoria mnima necesaria para cada uno de los vectores y matrices que intervienen en el algoritmo y a la resolucin de la ecuacin de equilibrio esttico del sistema a travs de mtodos iterativos que trabajan directamente con matrices en formato disperso (vase Librera de lgebra Lineal SPARSKIT en el Captulo 3).
2.3 INTEGRACIN Y DIFERENCIACIN NUMRICA
2.3.1 Integracin numrica
Uno de los principales motivos de la creacin del clculo integral, fue la necesidad de obtener el rea y volumen de formas y regiones ms o menos irregulares. Normalmente este es uno de los problemas en la mecnica clsica, de fuerzas y movimientos entre cuerpos, y la rama de la geometra claudiana no es capaz de resolverlo debido a que sta solamente permite el clculo de reas y volmenes de figuras simples como pueden ser rectngulos, cubos o esferas. Pero la utilidad de la integracin numrica no acaba aqu, ya que tambin es utilizada en muchos otros campos como son probabilidad, estadstica, mtodos de elementos fsicos, ecuaciones integrales y muchas otras.
Uno de los principios bsicos de la mecnica clsica antes mencionada, es que un cuerpo rgido puede ser tratado como una masa puntual localizada en el centro y que, de forma similar, una fuerza distribuida es equivalente a una fuerza concentrada en un CAPTULO 2: CONCEPTOS MATEMTICOS 28 determinado punto. Por ejemplo, si se considera una viga de longitud L que soporta una carga ms o menos distribuida, la carga total soportada por sta se puede definir como el rea existente bajo la curva de la funcin
!(x), que representa la funcin de densidad de la carga a lo largo de toda la viga. El rea a calcular viene dada por la funcin que se muestra en la Ecuacin 2.9
W = !(x) 0 L " dx (2.9)
Los intentos de encontrar mtodos factibles para el clculo de esa rea vienen de antiguo, y ya Arqumedes tuvo la idea de dividir dicha regin en pequeos cuadros de tamao conocido, contndolos posteriormente. De hecho, actualmente los mtodos numricos utilizados para la aproximacin de integrales no difieren tanto de esa idea de lo que se podra pensar.
La aproximacin numrica de integrales definidas es conocida como cuadratura numrica. As, la integral es aproximada mediante una suma ponderada de valores de integracin en un nmero determinado de puntos dentro del intervalo de integracin, teniendo pues para la integral de una funcin
f ,
I( f ) la aproximacin mostrada en la Ecuacin 2.10:
Q n ( f ) = w i i=1 n ! f (x i ) (2.10)
donde
a ! x 1 <!< x n ! b,
x i son los puntos donde la integral
f es evaluada y que se denominan nodos, y
w i son los pesos.
2.3.2 Diferenciacin numrica
El proceso inverso a la integracin numrica es la denominada diferenciacin o derivacin numrica. La diferenciacin numrica es un proceso muy delicado, ya que unas pequeas variaciones en los datos, pueden producir grandes cambios en los resultados obtenidos. La integracin ya vista, en cambio, es un proceso muy estable.
Cuando se aproxima la derivada de una funcin de la que slo se conocen algunos valores en puntos discretos, una buena solucin sera ajustar alguna funcin aproximada a los datos y entonces derivar esta funcin escogida, para aproximar la derivada de la funcin original.
La utilizacin de frmulas de diferencias finitas puede ser muy ventajosa para la aproximacin de derivadas de una determinada funcin. As, para una funcin
f : !"! de la que se quiere obtener su primera derivada en el punto
x se puede obtener la frmula que se muestra en la Ecuacin 2.11:
! f (x) " f (x + h) # f (x) h (2.11)
Y para su segunda derivada vase la Ecuacin 2.12: CAPTULO 2: CONCEPTOS MATEMTICOS 29
! ! f (x) " f (x + h) # 2 f (x) + f (x # h) h 2 (2.12)
El problema principal de este tipo de aproximacin es que el tamao del paso ha de ser obtenido cuidadosamente. Adems, su precisin esta muy limitada por el error de discretizacin existente.
Una alternativa para evitar este problema es la diferenciacin automtica (AD). AD est basada en un conjunto de operaciones aritmticas y funciones elementales cuyas derivadas pueden ser obtenidas fcilmente. La funcin obtenida por el programa es una composicin de funciones ms simples cuyas derivadas son propagadas a travs de este.
Aunque AD es bastante simple de entender, su implementacin es bastante complicada ya que requiere un anlisis exhaustivo del programa de entrada y de las estrategias utilizadas para reducir la complejidad del cdigo resultante.
2.3.3 Mtodos de Integracin Directos
Para resolver muchos de los problemas dinmicos de estructura y de propagacin de onda, incluyendo aquellos que tienen complicadas no-linealidades, los mtodos de integracin directa son los ms convenientes. Existen muchos mtodos de integracin directa que son bastante populares y la eleccin de un determinado mtodo est fuertemente ligado al problema en s que se quiere revolver.
En los mtodos de integracin directos o mtodos paso a paso, se utiliza una aproximacin de diferencia finita para reemplazar las derivadas temporales (
q y
q ) que aparecen en la Ecuacin 2.13, por diferencias de desplazamiento (
q) en varios instantes de tiempo..
M{ q } n + C{ q } n + K{q} n = {R ext } n (2.13)
donde
M es la matriz de masa del sistema,
C es la matriz de amortiguamiento,
Kes la matriz de rigidez,
R ext es el vector termino independientes y
q es el vector de coordenadas generalizadas. Por otra parte
{...} n denota el tiempo
n !t , e
!t es el tamao del incremento del tiempo o lo que es lo mismo el paso de tiempo. Para problemas con no-linealidades,
K est definida a travs de los desplazamientos y del tiempo, teniendo que
{R int } n =K{q} n , y sustituyendo en la Ecuacin 2.13, obtenemos la Ecuacin 2.14
M{ q } n + C{ q } n +{R int } n = {R ext } n (2.14)
donde
{R int } n es el vector de fuerzas internas para el tiempo
n !t debido a la tensin del material y obtenindose a travs del ensamblaje de los elementos internos del vector de fuerzas.
CAPTULO 2: CONCEPTOS MATEMTICOS 30 Los mtodos denominados de diferencias, para la integracin directa de las Ecuaciones 2.13 y 2.14, se pueden categorizar en mtodos explcitos y mtodos implcitos.
Los mtodos explcitos tienen la forma que se muestra en la Ecuacin 2.15:
{q} n+1 = f ({q} n ,{ q } n ,{ q } n ,{q} n!1 ,) (2.15)
y por tanto permiten calcular
{q} n+1 a travs de la informacin histrica consistente en los desplazamientos y en las derivadas en el tiempo de los desplazamientos tanto en el intstante
n !t , como en instantes anteriores.
Por otra parte, los mtodos implcitos tienen la forma de la Ecuacin 2.16:
{q} n+1 = f ({ q } n+1 ,{ q } n+1 ,{q} n ,) (2.16)
y por tanto el clculo de
{q} n+1 requiere del conocimiento de las derivadas en el tiempo de
{q} n+1 , las cuales son desconocidas.
Los mtodos explcitos e implcitos tienen marcadas diferencias en sus propiedades, lo que tiene gran impotancia en sus aplicaiones prcticas:
1. Aquellos mtodos que tienen la forma general de las Ecuaciones 2.15 y 2.16, son llamados mtodos multipaso. 2. Cuando la parte derecha de las Ecuaciones 2.15 y 2.16 contiene infomacin referente nicamente al instante n
!t , los mtodos son llamados mtodos paso nico.
Los mtodos multipaso requieren procedimientos especiales de inicialicacin, teniendo el problema de que pueden introducir inexactitudes, pudiendo degradar la exactitud de todo el anlisis.
Por su parte, los mtodos de paso nico, son fciles de inicializar a travs de las condiciones iniciales.
En el siguiente apartado se van a introducir los mtodos explcitos de integracin directa. No se van a considerar los mtodos implcitos debido al desconocimiento de las derivadas en el tiempo en el problema de la interaccin pantgrafo-catenaria.
2.3.4.1 Mtodos Explcitos de Integracin Directa
Un mtodo muy popular, con las caractersticas de los mtodos explcitos en general, es el mtodo de la diferencia-centrada [21]. Este mtodo aproxima la velocidad, mostrada en la Ecuacin 2.17, y la aceleracin por la Ecuacin 2.18:
{ q } n = 1 !t 2 ({q} n+1 " 2{q} n +{q} n"1 ) (2.18)
Las Ecuaciones 2.17 y 2.18 se obtienen expandiendo
{q} n+1 y
{q} n!1 en la serie de Taylor en el instante
n !t , tal y como se puede observar en las Ecuaciones 2.19 y 2.20.
{q} n+1 = {q} n + !t{ q } n + !t 2 2 { q } n + !t 3 6 { q } n +! (2.19)
{q} n!1 = {q} n ! "t{ q } n + "t 2 2 { q } n ! "t 3 6 { q } n +! (2.20)
Si se resta la Ecuacin 2.20 de la Ecuacin 2.19 se obtiene la Ecuacin 2.17. Por otra parte si sumamos las Ecuaciones 2.19 y 2.20 se obtiene la Ecuacin 2.18. En ambos casos, los trminos que contienen
!t 2 y potencias mayores, se han omitido de las Ecuaciones 2.17 y 2.18.
Por lo tanto, las fmulas de las diferencias-centradas, Ecuacin 2.17 y 2.18, se dicen que son ecuaciones exctas de segundo orden. En otras palabras, el error que se comete es del orden
O !t 2 ( ) lo que implica que se debera de tomar un paso de tiempo de aproximadamente una cuarta parte del error.
Combinando las Ecuaciones 2.17 y 2.18 con la Ecuacin 2.13, se obtiene la Ecuacin 2.23.
1 !t 2 M + 1 2!t C " # $ % & ' {q} n+1 = = {R ext } n ( K{q} n + 1 !t 2 M 2{q} n ({q} n(1 ( ) + 1 2!t C{q} n(1 (2.21)
Exiten un conjunto de observaciones sobre este mtodo de diferencia-centrada
1. La Ecuacin 2.21 es un sistema de ecuaciones lineales algebraicas. Si M y C son diagonales, entonces as ecuaciones son desacopladas y
{q} n+1 se puede obtener sin resolver las ecuaciones simultneamente. 2. Para modelos de elementos finitos pequeos, K se puede crear y almacenar en la memoria del procesador, y la fuerza interna
{R int } n =K{q} n en cada tiempo se puede obtener a travs de una multiplicacin de matrices. Sin embargo, es ms comn, incluso en problemas lineales, que el clculo del vector de fuerzas en cada momento se realice elemento a elemento. 3. Comenzar el mtodo con
n = 0 requiere
{q} !1 , que puede ser calculado a travs de las condiciones iniciales
{q} 0 ,
{ q } 0 y la Ecuacin 2.20 tal y como se muestra en la Ecuacin 2.22.
{R int } n se obtiene de forma muy simple a partir de
{q} n , y portanto la tensin en el tiempo
n !t es conocida. Por este motivo, los mtodos explcitos son los ms convenientes para el tratamiento de las no-linealidades. 5. La Ecuacin 2.21 es condicionalmente estable y requiere que se satisfaga la condicin establecida en la Ecuacin 2.24.
!t " 2 # max (2.24)
donde
! max es la fecuencia natural ms alta de
det K !" 2 M ( ) = 0. Si la Ecuacin 2.24 no se satisface, el clculo sern inestable. En los problemas no- lineales, las inestabilidades pueden ser ms difciles de detectar. 6. Una caracterstica de la Ecuacin 2.21 es que esa estabilidad no se ve afectada por la amortiguacin. Para que el mtodo de las diferencias-centradas sea competitivo con los mtodos implcitos, tanto
M como
C deben de ser diagonales. Pero por otra parte es dificil modelar la amortiguacin con mtodos espectrales si
C debe ser diagonal. 7. Es obvio que se pueda conocer el desplazamiento y la velocidad de una estructura en un determinado instante (por ejemplo, condiciones iniciales), y que se desee integrar hacia atrs en el tiempo (por ejemplo usando un
!t negativo) para determinar la configuracin de la estructura en algn instante en el paso. El mtodo de la diferencia-centrada es condicionalmente estable para estas aplicaciones y requiere que
!2 " max # $t #2 " max .
Como ya se acaba de decir, es muy complicado modelar la amortiguacin si la matriz
C no es diagonal. Existe una forma del mtodo de diferencia-centrada que no requiere que la matriz de amortiguacin sea diagonal, y se obtiene por la aproximacin de la velocidad y la aceleracin por las Ecuaciones 2.25 y 2.26
La ecuacin de movimiento quedara tal y como se muestra en la Ecuacin 2.27.
M{ q } n + C{ q } n!1 2 + K{q} n = {R ext } n (2.27)
La combinacin de las Ecuaciones 2.25 por 2.27 producir la Ecuacin 2.28.
1 !t 2 M{q} n+1 = {R ext } n " K{q} n + 1 !t 2 M {q} n + !t{ q } n"1 2 ( ) " C{ q } n"1 2 (2.28) CAPTULO 2: CONCEPTOS MATEMTICOS 33
No exiten restricciones sobre la forma que pueda tener la matriz
C.
El mtodo pude comenzar usando un desplazamiento inicial
{q} 0 y aproximando
{ q } !1 2 "{ q } 0 . Alternativamente,
{ q } !1 2 puede ser proximado con la frmula de la diferencia hacia atrs con un valor negativo de
!t , tal y como se muestra en la Ecuacin 2.29.
{ q } n!1 2 = { q } 0 ! "t 2 { q } 0 (2.29)
donde
{ q } 0 se obtiene a travs de la Ecuacin 2.23. Aunque las formlas de la diferencia- centrada, Ecuaciones 2.25 y 2.26, son de segundo orden de precisin, este mtodo slo puede garantizar una precisin de primer oren en la integracin en el tiempo de la Ecuacin 2.27 cuando
C ! 0, debido al desfase que existen en las fuerzas en la mitad del paso de tiempo. Sin embargo, en la prctica (para estructuras en las que la matriz de amortiguacin no tiene un peso relevante), las Ecuaciones 2.21 y 2.28 tienen al menos la misma precisin.
La condicin de estabilidad vendr determinada por la Ecuacin 2.30.
!t " 2 # max 1+$ 2 %$ ( ) (2.30)
donde
! es la fraccin del amortiguamiento crtico en la mayor frecuencia de desamortiguacin natural,
! max . La Ecuacin 2.30 es mucho ms restrictiva que la Ecuacin 2.24.
2.4 CONCLUSIONES
La eficiencia en la resolucin de un sistema lineal de ecuaciones tiene una gran dependencia de la eleccin correcta de un mtodo iterativo de resolucin. Sin embargo, para obtener un rendimiento idneo, tambin debe tenerse en consideracin los aspectos computacionales del mtodo y su eficiencia sobre cada una de las arquitecturas objetivo.
Por otra parte, el tener en cuenta el problema que se desea resolver y la arquitectura de la mquina sobre la que se trabajar, se pueden llegar a descartar algunos mtodos.
Es muy importante tambin tener en cuenta las propiedades de las matrices que intervendrn en el mtodo de resolucin. Cada mtodo se comporta mejor con cierto tipo de matrices y no todos son efectivos a la hora de afrontar la resolucin de un tipo de problema. As es importante conocer las propiedades de las matrices de coeficientes que intervienen en el sistema como criterio para la eleccin de un mtodo iterativo.
Los mtodos iterativos son muy diferentes de los mtodos directos o clsicos. La ejecucin de los mtodos directos, tanto para sistemas densos como dispersos, se dedica CAPTULO 2: CONCEPTOS MATEMTICOS 34 en la mayor parte de su tiempo a la factorizacin de la matriz de coeficientes. Esta operacin no se realiza en los mtodos iterativos (excepto en casos en los que algunos precondicionadores requieren una fase inicial de configuracin) por lo que carecen de operaciones densas con matrices. Sin embargo, las operaciones bsicas que se realizan en los mtodos iterativos, a menudo emplean direccionamientos indirectos que se caracterizan por su baja eficiencia. As, el rendimiento de los mtodos iterativos es menor que el de los directos, pero esto no implica que el tiempo total para dar solucin a un sistema dado sea por ello menor con mtodos iterativos. Adems, los mtodos iterativos son generalmente ms fciles de implementar que los mtodos directos, y ya que no requieren almacenar una factorizacin completa, pueden trabajar con sistemas de ecuaciones mucho mayores que los mtodos directos.
Cada mtodo iterativo requiere un espacio de trabajo temporal para clculos intermedios de vectores residuales, etc. que depende de la matriz de coeficientes y del orden de la misma. Los requerimientos en cuanto a espacio de trabajo son mucho menores que en el caso de mtodos directos.
Basndonos en lo anterior, parece lgico que para afrontar la presente Tesis, se haya optado por emplear mtodos iterativos para la resolucin de la ecuacin de equilibrio esttico del sistema de la catenaria, ya que, como se dijo en secciones anteriores, estos mtodos obtienen unos resultados ms que aceptables tanto en precisin como en tiempo de clculo, y lo que es ms importante, permitirn afrontar casos reales, pues los requerimientos de almacenamiento temporal sern mucho ms bajos que si se emplearan mtodos directos.
Tambin hay que tener en cuenta el considerable ahorro que se consigue, en espacio de almacenamiento, por el uso de tcnicas de almacenamiento especiales para el manejo de matrices dispersas, y que como ya se mencion, en la ecuacin de equilibrio del sistema de catenaria se trabaja con este tipo de matrices.
En este Captulo se han presentado diversos mtodos iterativos de resolucin de sistemas de ecuaciones. Algunos de estos mtodos pueden ser descartados a priori por las caractersticas bien del propio mtodo, como por ejemplo la disponibilidad de la matriz
A T para BiCG y QMR, o bien por el tipo de matriz, como por ejemplo que la matriz deba ser simtrica en el caso de CG.
En esta Tesis se ha optado por elegir el mtodo GMRES, que a pesar de necesitar una mayor cantidad de almacenamiento que otros mtodos, ha proporcionado buenos resultados en trminos de precisin, tiempo de ejecucin y convergencia.
Como se ver en el Captulo 4, existe un estudio mecnico, sobre el modelo de la catenaria, y la interaccin dinmica pantgrafo-catenaria, realizado por el Dr. Jess Benet, que es el punto de partida de esta Tesis. Lo primero que se debe hacer al tratar un problema es representarlo mediante un modelo matemtico. Se intenta resolver un sistema que cambia a lo largo del tiempo, por lo tanto se hace uso de las ecuaciones diferenciales para la descripcin del sistema, existiendo dos tipos de mtodos, los explcitos y los implcitos.
Simplificando, las caractersticas principales de los mtodos de integracin implcitos son que para cada paso resuelven un sistema lineal, se utilizan cuando se CAPTULO 2: CONCEPTOS MATEMTICOS 35 deben de tratar sistemas que evolucionan en tiempos muy grandes, pero no permiten tratar las no linealidades, es decir, que el sistema pueda cambiar su estructura en un momento dado.
En los sistemas que aqu se tratan existen despegues del pantgrafo con el hilo de contacto, existen fuerzas de rozamiento, desconexiones de pndolas (elementos que unen el hilo sustentador y el hilo de contacto), etc. Todo esto hace que sea imprescindible que el mtodo que se utilice trate de forma correcta las no linealidades, y es por ello por lo que se usa un mtodo de integracin explcito y no el implcito.
Otra caracterstica que hace que el mtodo explcito sea el que se deba usar, es porque los tiempos de paso que se tratan son pequeos, es ms, no interesan tiempos grandes pues esto hara que el sistema proporcionase poca informacin.
Por todo esto, se decidi el uso del mtodo expcito de integracin directa, ms concretamente, el mtodo de diferencia-centrada.
CAPTULO 3: LIBRERAS SOFTWARE ESTNDAR DEL LGEBRA LINEAL
37 CAPTULO 3: LIBRERAS SOFTWARE ESTNDAR DEL LGEBRA LINEAL
En este Captulo se van a describir someramente las libreras BLAS y SPARSKIT, que son libreras software del algebra lineal numrica y que han sido utilizadas en los algoritmos implementados en esta Tesis.
3.1 INTRODUCCIN
En la dcada de los 70 la comunidad cientfica dedic un gran esfuerzo para identificar las operaciones bsicas que aparecen en los algoritmos de lgebra lineal. De este modo los fabricantes podran implementar eficientemente sobre sus computadores estas subrutinas y se garantizara la portabilidad eficiente de los programas. El resultado de este esfuerzo fue el conjunto de rutinas bsicas para problemas del lgebra lineal BLAS (Basic Linear Algebra Subprograms).
Un paso natural despus de la especificacin de las rutinas de BLAS fue el desarrollo de LAPACK (Linear Algebra PACKage). LAPACK es una librera de rutinas, escritas en Fortran 77, que implementan un gran nmero de algoritmos que resuelven problemas estndar de lgebra lineal. Las rutinas de LAPACK han sido diseadas de forma que utilicen en lo posible los ncleos computacionales de BLAS, de tal forma que, por ejemplo, cuando en un algoritmo se emplea una matriz, sta va a ser subdividida en bloques de tamao adecuado y sern las rutinas de BLAS la que se utilicen para la realizacin de las operaciones bsicas. LAPACK incluye rutinas para la resolucin de sistemas de ecuaciones lineales, problemas de mnimos cuadrados y problemas de clculo de valores propios y singulares. Tambin permite el clculo de ciertas descomposiciones matriciales o estimaciones de nmeros de condicin de matrices.
La clave para utilizar eficientemente ordenadores de altas prestaciones es evitar referencias innecesarias a memoria. En la mayora de los ordenadores, los datos fluyen desde memoria a registros de la mquina y viceversa. Este flujo de datos puede ser ms costoso que las operaciones aritmticas entre los datos. Por tanto, las prestaciones de los algoritmos pueden estar determinadas por la cantidad de trfico hacia memoria, ms que por el nmero de operaciones en coma flotante realizadas. Este coste motiva la reestructuracin de los algoritmos existentes en base a disear otros nuevos que minimicen dicho trfico.
Una forma de conseguir eficiencia en la solucin de problemas del lgebra lineal es utilizar las libreras de bajo nivel BLAS. Estas rutinas ayudan a la claridad, portabilidad, modularidad y mantenimiento del software, y adems, se han convertido en un estndar en lo referente a operaciones vectoriales y matriciales. Las prestaciones del BLAS dependen de su implementacin en la mquina.
El deseo de obtener software numrico que pueda ser utilizado por una gran variedad de sistemas informticos (portable) ha culminado en la disponibilidad comercial y tambin de dominio pblico de una variedad de libreras como LINPACK, EISPACK, NETLIB, BLAS, LAPACK, SPARSKIT, NAG, IMSL, etc. CAPTULO 3: LIBRERAS SOFTWARE ESTNDAR DEL LGEBRA LINEAL
38 Aunque existen algunos paquetes y herramientas intuitivas y amigables para la computacin con matrices densas, existe una carencia de alguna herramienta similar o alguna librera de propsito general para trabajar con matrices dispersas. Esta es la motivacin con la que surgi el paquete SPARSKIT, tratar de tapar este hueco existente en el campo de la computacin con matrices dispersas. Proporciona rutinas para la representacin en diferentes formatos de almacenamiento, conversin entre ellos, operaciones bsicas tanto algebraicas como no algebraicas, resolucin de sistemas de ecuaciones dispersos mediante mtodos iterativos, obtencin de estadsticas bsicas, dibujado de matrices, etc.
Su objetivo es poner en disposicin de los investigadores una serie de rutinas bsicas tiles en un rea de la computacin, en este caso el lgebra lineal dispersa. Permite manipular matrices grandes de dimensin del orden de decenas de miles en tiempo real en los modernos supercomputadores actuales. SPARSKIT pretende convertirse en un estndar para la manipulacin de matrices dispersas, al igual que BLAS lo es para las operaciones densas algebraicas vectoriales y matriciales.
Las rutinas de SPARSKIT, al igual que las de BLAS, estn escritas en Fortran, siendo eficientes y portables. Ambos paquetes son de dominio pblico.
3.2 BLAS (Basic Linear Algebra Subprograms)
En este apartado se comenta la estructura, convenciones y operaciones de esta librera que ser de gran utilidad en la presente Tesis para realizar diversas operaciones algebraicas garantizando portabilidad y eficiencia, adems de tener la ventaja de ser de dominio pblico y un estndar en este tipo de operaciones. Para ms informacin sobre esta librera y sus rutinas, puede consultarse la documentacin del paquete y la bibliografa [22], [23], [24].
3.2.1 Nomenclatura de las rutinas de BLAS
En primer lugar se vern algunas de las convenciones utilizadas en los nombres de las rutinas de BLAS.
El primer carcter, en el nombre de todas las rutinas de BLAS representa el tipo de dato utilizado y su precisin: ! S: Real en simple precisin ! D: Real en doble precisin ! C: Complejo en simple precisin ! Z: Complejo en doble precisin El resto de los caracteres en las rutinas del nivel 1 de BLAS son abreviaturas de la operacin que realizan como se indica en la Tabla 3.1. El carcter _ en el primer carcter del nombre de cualquier rutina, hace referencia al tipo de dato y se puede sustituir por cualquiera de los anteriores. Por ejemplo, SCOPY es el nombre de la rutina de copia de vectores reales en simple precisin. CAPTULO 3: LIBRERAS SOFTWARE ESTNDAR DEL LGEBRA LINEAL
39
_AXPY Actualizacin de un vector a partir de otro _SCAL Escalado de un vector _SWAP Intercambio de dos vectores _COPY Copia de un vector _DOT Producto escalar de dos vectores _ASUM Clculo de la 1-norma de un vector _NRM2 Clculo de la 2-norma de un vector _ROT Rotacin en el plano de un vector I_AMAX Clculo del mximo de los elementos de un vector Tabla 3. 1 Rutinas del nivel 1 de BLAS
En las rutinas de los niveles 2 y 3 de BLAS el segundo y tercer caracteres indican el tipo de matriz utilizada, tal y como se muestra en la Tabla 3.2.
GE Matriz general HB Matriz banda hermtica GB Matriz banda general SB Matriz banda simtrica HE Matriz hermtica TR Matriz triangular SY Matriz simtrica TP Matriz triangular empaquetada HP Matriz hermtica empaquetada TB Matriz banda triangular SP Matriz simtrica empaquetada Tabla 3. 2 Tipos de matriz en BLAS
En la Tabla 3.3 se puede ver que los dos/tres ltimos caracteres en el nombre de las rutinas de los niveles 2 y 3 de BLAS representan el tipo de operacin que se realiza.
MV Producto matriz vector MM Producto matriz matriz R Actualizacin de rango uno R2 Actualizacin de rango dos RK Actualizacin de rango k para matrices simtricas y hermticas R2K Actualizacin de rango 2k para matrices simtricas y hermticas SV Resolucin de un sistema lineal triangular SM Resolucin de un sistema lineal triangular mltiple Tabla 3. 3 Tipo de operaciones en las rutinas de los niveles 2 y 3 de BLAS
Existen unas combinaciones permitidas entre los tipos de matrices y los tipos de operaciones para las rutinas de los niveles 2 y 3 de BLAS, por ejemplo, no se podra realizar una actualizacin de rango
k si no se hace con una matriz que sea de tipo simtrica o hermtica, es decir la operacin _HERK estara permitida, pues HE indica que se trata de una matriz hermtica, sin embargo _GBRK no estara permitida pues el tipo de matriz que est intentando actualizar es de banda general (GB).
Para ms informacin puede consultarse la bibliografa [22], [23].
CAPTULO 3: LIBRERAS SOFTWARE ESTNDAR DEL LGEBRA LINEAL
40 3.2.2 Estructura de BLAS
Como se ha podido observar con anterioridad, el BLAS se encuentra estructurado en tres niveles, segn la complejidad de los problemas que resuelve cada conjunto de rutinas. El nivel 1 contiene las operaciones vector-vector, el nivel 2 las operaciones matriz-vector y el nivel 3 las operaciones matriz-matriz.
Si los vectores y las matrices que intervienen en una computacin son de orden n, entonces el nivel 1 de BLAS incluye operaciones que son de orden O(n), el nivel 2 de BLAS proporciona operaciones de orden O(n 2 ) y las rutinas del nivel 3 de BLAS ofrecen operaciones de orden O(n 3 ).
3.2.2.1 Nivel 1 de BLAS (BLAS 1)
En 1973 Hanson, Krogh y Lawson describieron las ventajas de utilizar un conjunto de rutinas para resolver problemas bsicos de lgebra lineal de complejidad lineal. Estas rutinas, comnmente conocidas como nivel 1 de BLAS [22] han tenido mucho xito y han sido utilizadas en una gran diversidad de software numrico.
En particular, estas rutinas ayudan a la claridad, portabilidad, modularidad y mantenimiento del software y por todo ello se han convertido en el estndar de facto para las operaciones vectoriales.
Se han implementado versiones especiales de BLAS 1 sobre algunas mquinas, incluso en cdigo mquina, para mejorar su eficiencia.
Las principales operaciones de este nivel, donde x e y son vectores y " es un escalar, son:
! Actualizacin de un vector a partir de otro (_AXPY)
y !"x + y ! Escalado de un vector (_SCAL)
x !"x ! Intercambio de dos vectores (_SWAP)
x ! y ! Copia de un vector (_COPY)
y ! x ! Producto escalar de dos vectores (_DOT)
dot ! x T y ! Clculo de la 1-norma de un vector (_ASUM)
asum ! x 1
! Clculo de la 2-norma de un vector (_NRM2)
nrm2 ! x 2
! Clculo del mximo de los elementos de un vector (I_AMAX)
amax !k : x k = max i=1 n x i
CAPTULO 3: LIBRERAS SOFTWARE ESTNDAR DEL LGEBRA LINEAL
41 3.2.2.2 Nivel 2 de BLAS (BLAS 2)
Posteriormente a la definicin de estas operaciones, Dongarra, Du Croz, Hammarling y Hanson [25], propusieron una extensin de las rutinas anteriores consistente en la implementacin de un conjunto reducido de operaciones matriz-vector que aparecen muy a menudo en la implementacin de muchos algoritmos de lgebra lineal. Estas rutinas se conocen como nivel 2 de BLAS y han permitido el desarrollo de software portable y eficiente a travs de una amplia gama de arquitecturas, especialmente en mquinas con procesadores vectoriales. De este modo se logra optimizar las operaciones matriz-vector en este tipo de mquinas y aprovechar la potencial eficiencia que ofrecen, ya que el uso de BLAS 1 sobre ellas inhibe esta optimizacin, puesto que se esconde al compilador la naturaleza de las operaciones matriz-vector. El coste de las operaciones implementadas por estas rutinas es cuadrtico.
Las operaciones bsicas que se implementan en este nivel son:
! Multiplicaciones de una matriz genrica por un vector (_GEMV)
y !"Ax + #y
y !"A T x + #y
y !"A H x + #y ! Multiplicaciones de una matriz triangular por un vector (_TRMV)
y !Tx
y !T T x
y !T H x ! Actualizaciones de rango uno y rango dos (_GER, _SYR2)
A !"xy T + A
S !"xy T +"yx T + S ! Resolucin de sistemas de ecuaciones lineales triangulares (_TRSV)
x ! T "1 x
x ! T "T x
x !T "H x
donde $ y % son escalares, x e y son vectores, A es una matriz genrica, S es una matriz simtrica y T es una matriz triangular superior o inferior. El super ndice T, nos indica que es transpuesta de una matriz, y el superndice H indica la conjugada transpuesta o hermtica.
3.2.2.3 Nivel 3 de BLAS (BLAS 3)
En mquinas con jerarqua de memoria se tiende a particionar la matriz o matrices en bloques y realizar operaciones matriz-matriz con estos bloques. La organizacin de las operaciones de esta forma proporciona la reutilizacin de los datos que se mantienen en los niveles ms altos de la jerarqua de memoria (registros y memoria cach) con el consiguiente aumento de prestaciones que esto conlleva.
Por esta razn, Dongarra, Du Croz, Duff y Hammarling, definieron un conjunto de operaciones bsicas matriz-matriz que se conoce como nivel 3 de BLAS [23]. Estas CAPTULO 3: LIBRERAS SOFTWARE ESTNDAR DEL LGEBRA LINEAL
42 rutinas se han desarrollado de forma similar a la realizada en los niveles 1 y 2 de BLAS, reemplazando los vectores x e y por las matrices B y C.
Las principales operaciones de este nivel son:
! Productos matriz-matriz (_GEMM)
C !"op(A)op(B) + #C ! Productos matriz-matriz triangular (_TRMM)
C !"op(A) B + #C, C = "op(A)B, Atriangular ! Actualizaciones de rango k y 2k de una matriz simtrica (_SYRK, _SYRK2K)
C !"AA T + #C, C = "A T A + #C, Csimtrica
C !"AB T +"BA T + #C, Csimtrica ! Resolucin de sistemas lineales triangulares mltiples (_TRSM)
B !"op(A #1 )B, B = Bop(A #1 ), Atriangular
donde
! y
! son escalares, A, B y C son matrices rectangulares y
op(X) = X, X T , X H .
X T indica la transpuesta de
X y
X H es la conjugada transpuesta de
X .
3.3 SPARSKIT : UNA HERRAMIENTA BSICA PARA EL CLCULO DE MATRICES DISPERSAS
En este apartado se comenta la estructura, divisin en mdulos, rutinas, convenciones y formatos de esta librera que ser imprescindible en la presente Tesis para afrontar el tratamiento de las matrices de rigidez de naturaleza dispersa que aparecen en los algoritmos y poder resolver la ecuacin de equilibrio esttico del sistema, que es uno de los objetivos de esta Tesis. Adems mediante el empleo de esta herramienta se garantizar el cumplimiento de los objetivos marcados inicialmente de eficiencia, portabilidad, etc. y todo ello con una herramienta de dominio pblico, al igual que sucede con la otra librera empleada en los algoritmos (BLAS). Para ms informacin sobre esta librera y sus rutinas, puede consultarse la bibliografa [16], [18], [26], [27].
3.3.1 Introduccin y estructura del paquete
SPARSKIT es un paquete de herramientas para la manipulacin y trabajo con matrices dispersas. Uno de sus objetivos es proporcionar las herramientas bsicas para facilitar el intercambio de software y datos entre investigadores en el campo de las computaciones con matrices dispersas. Este conjunto de herramientas tiene como punto de partida la coleccin de matrices dispersas Harwell/Boeing [26]. Esto no quiere decir que SPARSKIT est limitado al uso exclusivo con este tipo de matrices. El paquete proporciona, entre otras cosas, rutinas para la conversin entre distintos formatos de almacenamiento, mostrar estadsticas sobre una matriz, dibujar el perfil de una matriz, realizar operaciones bsicas del lgebra lineal con matrices dispersas, etc.
La investigacin sobre tcnicas para matrices dispersas se ha ido incrementando en los ltimos aos y esta tendencia va en aumento por la creciente necesidad de disear CAPTULO 3: LIBRERAS SOFTWARE ESTNDAR DEL LGEBRA LINEAL
43 algoritmos eficientes para el trabajo con matrices dispersas en modernos supercomputadores. Aunque existen algunos paquetes y herramientas intuitivas y amigables para la computacin con matrices densas, existe una carencia de alguna herramienta similar o alguna librera de propsito general para trabajar con matrices dispersas. La motivacin inicial de SPARSKIT es tratar de tapar este hueco existente en el campo de la computacin con matrices dispersas.
Una coleccin de rutinas bsicas para realizar algunas tareas elementales puede ser muy til de cara a reducir los tiempos de implementacin y pruebas en algoritmos que trabajen con matrices dispersas. El nmero de horas de desarrollo ahorrado gracias a la difusin de este tipo de paquetes es enorme, ya que los investigadores en muchas ocasiones no tendrn que implementar sus propias subrutinas. Para ello se requiere la existencia de un estndar para las computaciones con matrices dispersas, algo que se echa en falta hoy da y sta es la idea con la que se desarroll SPARSKIT.
Por ejemplo, el nmero de estructuras de datos diferentes que se emplean para el almacenamiento de matrices dispersas en distintas aplicaciones es asombroso, incluso existe un gran nmero de variantes en el uso de cada una de ellas, es por todo esto, entre otros motivos, por lo que se hace necesaria la existencia de un estndar para el esquema de almacenamiento y para las operaciones bsicas de lgebra lineal con matrices dispersas.
Un paquete como SPARSKIT puede ser til para el intercambio de matrices dispersas entre investigadores. Para ello se proporcionan una serie de rutinas para la conversin entre distintos formatos de almacenamiento. Se podra restringir el nmero de esquemas que pueden usarse con el fin de fijar unos estndares, sin embargo, esto no es razonable ya que a menudo se escogen los formatos por su conveniencia y eficiencia, y no pueden desecharse sin ms. La solucin es crear un amplio conjunto de rutinas para convertir un formato en otro.
Del mismo modo, las rutinas que generan matrices de test deben ser capaces de soportar un amplio conjunto de formatos.
Adems, otra de las motivaciones principales de SPARSKIT es la investigacin en el campo de los mtodos iterativos, por lo que proporciona bastantes rutinas que pueden ser de gran utilidad a los investigadores en esta rea especfica.
SPARSKIT sigue la aproximacin Linpack - Eispack y sus rutinas estn escritas en FORTRAN, siendo eficientes y portables. El paquete es de dominio pblico y su objetivo es poner en disposicin de los investigadores una serie de rutinas bsicas tiles en un rea de la computacin, en este caso el lgebra lineal dispersa. Permite manipular matrices grandes de dimensin del orden de decenas de miles en tiempo real en los modernos supercomputadores actuales.
Todas las herramientas proporcionadas por este paquete se encuentran divididas en un conjunto de mdulos segn las tareas a las que se dedica cada conjunto de rutinas.
La Figura 3.1 muestra la divisin del paquete SPARSKIT en sus mdulos principales, detallndose dentro de stos, aquellas rutinas que han sido utilizadas en esta CAPTULO 3: LIBRERAS SOFTWARE ESTNDAR DEL LGEBRA LINEAL
44 Tesis tanto para el tratamiento de matrices dispersas como para poder resolver sistemas lineales de ecuaciones en las que intervienen este tipo de matrices.
Figura 3. 1 Organizacin en directorios de SPARSKIT
El contenido de cada directorio de la Figura 3.1, es el siguiente:
! FORMATS: El directorio FORMATS contiene dos mdulos, el primero de ellos es el mdulo FORMATS que contiene las rutinas de conversin de formato de almacenamiento, y el segundo es el mdulo UNARY que contiene rutinas de manipulacin para la realizacin de operaciones no algebraicas con matrices dispersas. ! UNARY: En este directorio se encuentran un conjunto de rutinas para poder realizar ciertas operaciones bsicas no algebraicas entre matrices. ! INOUT: El directorio INOUT contiene las rutinas de entrada/salida, es decir, rutinas para la lectura, escritura y dibujado de la estructura de matrices dispersas. ! BLASSM: Este directorio contiene dos mdulos, BLASSM es el mdulo que contiene las rutinas de lgebra lineal bsica con matrices dispersas. ! MATVEC es el mdulo que contiene las rutinas para productos matriz-vector y varios mtodos de resolucin de sistemas triangulares dispersos. ! MATGEN: Contiene las rutinas de generacin de matrices dispersas. ! INFO: El directorio INFO alberga las rutinas para generar diversos informes estadsticos sobre matrices dispersas. ! ORDERINGS: Incluye las rutinas para el reordenado de los elementos de una matriz de acuerdo a criterios de nivel, color, componentes fuertemente conectados, etc. SPARSKIT INOUT BLASSM FORMATS INFO MATGEN ORDERINGS UNSUPP UNARY MATVEC COOCSR CSRDNS ... ITSOL ILUT ITERS precondicionadores GMRES precondicionado ilut ilutp ilu milu CG BCG GMRES ... CAPTULO 3: LIBRERAS SOFTWARE ESTNDAR DEL LGEBRA LINEAL
45 ! ITSOL: Contiene un conjunto de rutinas con solvers iterativos y precondicionadores para la resolucin de sistemas de ecuaciones dispersos. ! UNSUPP: Este directorio incluye rutinas que no son necesariamente portables o que no se enmarcan dentro de ninguno de los mdulos anteriores. Dentro de este directorio se encuentra el mdulo PLOTS que incluye rutinas para el dibujado de matrices y el mdulo MATEXP que contiene las rutinas para el clculo de exponenciales de matrices.
A continuacin se va a explicar ms detalladamente cada uno de los mdulos contenidos en los directorios que componen el paquete SPARSKIT.
3.3.1.1 Formatos de almacenamiento y rutinas de conversin (mdulo FORMATS)
Una de las dificultades que aparecen en las computaciones con matrices dispersas es la gran variedad de tipos de matrices que se encuentran en las aplicaciones prcticas. El propsito de cada uno de los esquemas de almacenamiento es ganar en eficiencia tanto en trminos de utilizacin de memoria como de operaciones aritmticas. Como consecuencia de esto se han diseado muchos mtodos de almacenamiento distintos para este tipo de matrices que se aprovechan de la estructura de la matriz o de la especificidad del problema que se est tratando.
Actualmente, las rutinas de conversin de SPARSKIT pueden manejar 13 formatos de almacenamiento distintos para matrices dispersas, dentro de los cuales se encuentran algunos de los ms comnmente utilizados. El hecho de disponer de una gran cantidad de formatos de almacenamiento es til para extraer una matriz de cualquier aplicacin o para analizar una matriz con las herramientas proporcionadas por este paquete y que se vern en los siguientes apartados o para tratar de dar solucin a un sistema por medio de un mtodo iterativo que requiere que los datos tengan una estructura distinta a la que se emplea inicialmente en la aplicacin.
Por conveniencia, se decidi etiquetar a los esquemas de almacenamiento que maneja SPARSKIT con un nombre de tres caracteres:
El formato bsico empleado en SPARSKIT es el disperso de fila comprimida (CSR). La mayora de sus rutinas emplean internamente este formato. La eleccin de este formato est motivada por varios factores, siendo los ms importantes su simplicidad, generalidad y nivel de difusin.
SPARSKIT no solo maneja los esquemas de almacenamiento, sino que proporciona un conjunto de subrutinas para la conversin de un esquema a otro, ubicadas en el mdulo FORMATS. Es importante observar que no es necesario disponer de una rutina para cada par de formatos, ya que es suficiente con poder convertir una matriz de cualquier formato al formato estndar en SPARSKIT, CSR, y desde l CAPTULO 3: LIBRERAS SOFTWARE ESTNDAR DEL LGEBRA LINEAL
46 convertirla a cualquier otro formato. En la actualidad este mdulo consta de 32 rutinas de conversin entre distintos pares de formatos de almacenamiento.
El mtodo de nombrado adoptado es emplear un nombre de 6 caracteres para cada rutina, los 3 primeros indican el formato origen y los 3 ltimos el formato destino. Por ejemplo, COOCSR realiza la conversin de una matriz del formato coordenado al formato disperso de fila comprimida. Existe una excepcin a esta convencin; se necesitaba una versin de la rutina COOCSR que fuera eficiente y convirtiera la matriz de entrada directamente en el formato CSR, sobrescribiendo la matriz en formato COO y precisando muy poco espacio de trabajo adicional (de ahora en adelante, este tipo de rutinas se llamarn in-place como se las denomina en la bibliografa). Esta rutina recibe el nombre de COICSR.
Cada formato tiene una rutina para convertir de l al formato CSR y otra rutina para convertir del CSR a l. La nica excepcin es la rutina CSCCSR que no existe por no ser necesaria, ya que la conversin del formato CSC al formato CSR puede realizarse con la misma rutina CSRCSC, ya que es esencialmente una operacin de transposicin.
Durante el desarrollo de SPARSKIT se trat de hacer las rutinas de conversin eficientes (versiones in-place) haciendo que algunos o todos los vectoress de salida fueran los mismos que los vectores de entrada. El propsito de esto es ahorrar espacio de almacenamiento siempre que sea posible sin sacrificar el rendimiento. Siempre que el esfuerzo de implementacin no fue demasiado elevado y permiti hacer una rutina in- place as se hizo. Si una rutina es in-place as se indica claramente en la documentacin.
En un caso se consider necesario proporcionar ambas versiones de una rutina, la versin regular y la eficiente (in-place), es en el caso comentado anteriormente de COICSR que es la versin in-place de la rutina COOCSR.
Algunas de las rutinas de conversin de formato ms importantes del mdulo FORMATS son las siguientes:
! CSRDNS: Convierte una matriz dispersa en formato CSR a formato denso (DNS). ! DNSCSR: Convierte una matriz en formato denso (DNS) a formato CSR. ! COOCSR: Convierte una matriz de formato COO a formato CSR. ! COICSR: Conversin eficiente (in-place) de una matriz de formato COO a CSR. ! CSRCOO: Convierte una matriz del formato CSR al formato COO. ! CSRCSC: Convierte una matriz del formato CSR al formato CSC, operacin que es conocida con el nombre de transposicin. Igualmente sirve para convertir del formato CSC al formato CSR.
3.3.1.2 Rutinas de manipulacin para matrices dispersas (mdulo UNARY)
Este mdulo contiene un conjunto de rutinas que son utilizadas con mucha frecuencia y que sirven para manipular y realizar operaciones bsicas no algebraicas con matrices dispersas. La mayora de estas rutinas involucran una nica matriz, al contrario que las rutinas de lgebra lineal bsica (mdulo BLASSM) que involucran dos, y es por este motivo por el que se dio el nombre de UNARY a este mdulo. CAPTULO 3: LIBRERAS SOFTWARE ESTNDAR DEL LGEBRA LINEAL
47 Algunos ejemplos de operaciones tpicas de este mdulo es la transformacin de
A en
B = PAQ, donde
P y
Q son dos matrices de permutacin, extraer la parte triangular inferior de una matriz
A o una de sus diagonales, etc.
Este mdulo proporciona varias operaciones de extraccin y una funcin de transposicin. Podra parecer innecesaria teniendo la rutina CSRCSC, pero esta nueva rutina hace la transposicin de forma eficiente (in-place) sobrescribiendo la matriz original con la matriz transpuesta, ahorrando con ello memoria.
Otro conjunto de rutinas tiles son las que involucran una mscara, que define un patrn de elementos no nulos. En la prctica una matriz mscara es una matriz dispersa cuyos elementos no nulos son todos unos (no es necesario entonces almacenar sus valores reales).
Estas rutinas son tiles para extraer parte de los elementos de una matriz dada
A de acuerdo a la mscara
M, es decir, se calculara la matriz
A!M, donde
! representa el producto matricial elemento con elemento y
M es alguna matriz mscara. Lo que hace es devolver una nueva matriz donde slo aparecen los elementos de
A que se corresponden con elementos de
M no nulos.
Algunas rutinas interesantes de este mdulo son:
! SUBMAT: Extrae una submatriz de una matriz dispersa, ambas en formato CSR. La rutina es in-place. ! FILTER: Filtra elementos en una matriz de acuerdo a su magnitud. Esta rutina tambin es in-place. ! CSORT: Ordena los elementos de una matriz almacenada en formato CSR en orden creciente segn el nmero de columnas. ! TRANSP: Esta es una rutina de transposicin eficiente (in-place). Puede verse como una versin in-place de la rutina CSRCSC del mdulo FORMATS. ! COPMAT: Copia una matriz en otra, ambas en formato CSR. ! GETELM: Devuelve el valor del elemento
a ij para cualquier par
(i, j) para una matriz almacenada en formato CSR. Tambin devuelve la direccin del elemento en los vectores
A y
JA. ! GETDIA: Extrae una diagonal indicada de una matriz. ! GETL: Extrae la parte diagonal inferior de una matriz, incluyendo la diagonal principal. La rutina es in-place. ! GETU: Extrae la parte triangular superior de una matriz. Similar a GETL. ! AMASK: Extrae
C = A!M, realizando la operacin de mscara comentada anteriormente. La matriz mscara
M es una matriz dispersa en formato CSR sin los valores reales, nicamente se requieren los vectores de enteros. ! CPERM: Permuta las columnas de una matriz:
B = AQ, donde
Q es una matriz de permutacin. ! RPERM: Permuta las filas de una matriz:
B = PA, donde
P es una matriz de permutacin. ! DPERM: Permuta las filas y columnas de una matriz:
B = PAQ, donde se proporcionan las dos matrices de permutacin
P y
Q. ! RETMX: Devuelve el valor mximo absoluto de cada fila de la matriz de entrada. CAPTULO 3: LIBRERAS SOFTWARE ESTNDAR DEL LGEBRA LINEAL
48 ! AMUBDG: Calcula el nmero de elementos no nulos en cada fila del producto de dos matrices dispersas
A* B. Tambin devuelve el nmero total de elementos no nulos en la matriz producto. ! APLBDG: Calcula el nmero de elementos no nulos en cada fila de la suma de dos matrices dispersas
A + B. Tambin devuelve el nmero total de elementos no nulos en la matriz suma.
3.3.1.3 Rutinas de entrada/salida (mdulo INOUT)
Este mdulo contiene algunas rutinas para leer, escribir, dibujar y visualizar la estructura de matrices dispersas. La mayora de ellas estn orientadas a su utilizacin con la coleccin de matrices Harwell/Boeing. Para ms informacin sobre este formato se puede consultar la bibliografa [26].
Es muy til poder visualizar una matriz dispersa, sobre todo para propsitos de depuracin. Un simple vistazo al dibujo de la estructura de una matriz en muchas ocasiones puede revelar si la matriz obtenida, por ejemplo, a travs de alguna tcnica de reordenacin tiene efectivamente la estructura que se espera.
Algunas de las rutinas de este mdulo son:
! READMT: Lee una matriz en el formato Harwell/Boeing. ! DUMP: Imprime las filas de una matriz en un fichero, en un formato de fcil lectura en funcin del nmero de elementos no nulos. ! PSPLTM: Genera un dibujo en PostScript del patrn de elementos no nulos de una matriz. ! PLTMT: Crea una imagen PIC con un dibujo del patrn de una matriz. ! READSM: Lee una matiz en formato coordenado (COO). ! READSK: Lee una matriz en formato disperso de fila comprimida (CSR), que es un formato Harwell/Boeing simplificado.
3.3.1.4 Rutinas del lgebra lineal bsica para matrices dispersas (mdulo BLASSM)
En las operaciones algebraicas usuales, tales como
C = A + B o
C = A + !B o
C = AB, intervienen dos matrices. Este tipo de operaciones son muy comunes en las computaciones con matrices dispersas. Algunas de estas operaciones algebraicas bsicas con matrices se encuentran en el mdulo BLASSM.
El mdulo BLASSM (Basic Linear lgebra Subroutines for Sparse Matrices) contiene las siguientes rutinas. Todas ellas trabajan con matrices en el formato bsico de SPARSKIT, el formato disperso de fila comprimida (CSR):
! AMUB: Realiza el producto de dos matrices, es decir, la operacin
C = AB. ! APLB: Realiza la suma de dos matrices, es decir, la operacin
C = A + B. ! APLSB: Realiza la operacin
C = A +!B, donde
! es un escalar y
A y
B dos matrices dispersas en formato CSR. ! APMBT: Realiza la operacin
C = A B T .
CAPTULO 3: LIBRERAS SOFTWARE ESTNDAR DEL LGEBRA LINEAL
49 ! APLSBT: Realiza la operacin
C = A +!B T . ! DIAMUA: Realiza el producto de una matriz diagonal (por la izquierda) por una matriz dispersa, es decir, la operacin
C = DA, donde
D es una matriz diagonal y
A es una matriz dispersa general almacenada en formato CSR. En las siguientes rutinas se seguir este mismo criterio para las matrices. ! AMUDIA: Realiza la operacin anterior, pero por la derecha, es decir,
C = AD. ! APLDIA: Realiza la suma de una matriz dispersa y una matriz diagonal, es decir,
C = A + D. ! APLSCA: Realiza de forma eficiente (in-place) la suma de un escalar a las entradas de la diagonal principal de una matriz dispersa, es decir, la operacin
A = A +!I .
3.3.1.5 Rutinas de operaciones bsicas matriz-vector (mdulo MATVEC)
Existe un gran nmero de operaciones bsicas en las que intervienen una matriz dispersa y un vector, tales como productos matriz-vector y soluciones de sistemas triangulares de ecuaciones.
Este tipo de operaciones se emplean con mucha frecuencia y algunas de ellas pueden encontrarse en el mdulo MATVEC (su nombre viene de matriz-vector).
Este mdulo contiene dos tipos de operaciones:
! Productos matriz-vector. ! Varios mtodos de resolucin de sistemas de ecuaciones dispersos triangulares.
A continuacin se vern algunas de las rutinas ms importantes de este mdulo. Todas ellas tienen diferentes versiones para poder trabajar con matrices dispersas en otros formatos de los vistos anteriormente. Aqu slo se comentarn las que trabajan con el formato bsico de la herramienta, el CSR, ya que el resto realizan exactamente las mismas operaciones, variando solamente el formato de entrada:
! Productos matriz-vector: o AMUX: Realiza el producto de una matriz dispersa en formato CSR por un vector. o ATMUX: Realiza el producto de la transpuesta a una matriz por un vector. La matriz inicial tambin debe pasarse en formato CSR. ! Mtodos de resolucin de sistemas triangulares: o LSOL: Mtodo de resolucin de sistemas triangulares inferiores para matrices de coeficientes en formato CSR. o LSOLC: Mtodo de resolucin de sistemas triangulares inferiores para matrices de coeficientes en formato CSC. o USOL: Mtodo de resolucin de sistemas triangulares superiores para matrices de coeficientes en formato CSR. o USOLC: Mtodo de resolucin de sistemas triangulares inferiores para matrices de coeficientes en formato CSC.
CAPTULO 3: LIBRERAS SOFTWARE ESTNDAR DEL LGEBRA LINEAL
50 3.3.1.6 Rutinas para la generacin dinmica de matrices (mdulo MATGEN)
Una de las dificultades que pueden aparecer al testear y comparar mtodos numricos es que a veces es difcil garantizar que las matrices que se estn comparando son ciertamente idnticas. Los errores en la programacin o las diferencias al codificar los programas pueden dar lugar a matrices incorrectas y por tanto a conclusiones errneas. Para evitar este problema, muy frecuente en el pasado, se deben generar las matrices con el mismo cdigo exacto. Para ello se cre el mdulo MATGEN de SPARSKIT, que contiene varias rutinas para la generacin de matrices dispersas.
A continuacin pueden verse algunas de las rutinas incluidas en este mdulo. Para ms informacin sobre estas rutinas puede consultarse la siguiente bibliografa [16], [28], [29].
! GEN57PT: Genera matrices dispersas con 5 y 7 puntos. ! GEN57BL: Genera matrices dispersas de bloques con 5 y 7 puntos. ! GENFEA: Genera matrices de elementos finitos en forma ensamblada. ! GENFEU: Genera matrices de elementos finitos en forma no ensamblada. ! ASSMB1: Ensambla una matriz no ensamblada. ! MATRF2, DCN, ECN: Generan matrices dispersas (por Zlatev y otros).
3.3.1.7 Rutinas para informacin y estadsticas bsicas sobre matrices dispersas (mdulo INFO)
A veces es muy informativo obtener ciertos informes estadsticos sobre una matriz dispersa, por ejemplo, cuando se est analizando mtodos de resolucin de sistemas. El propsito de las rutinas de este mdulo es imprimir tal informacin en la salida estndar o bien en un fichero de una manera rpida.
Algunas de las estadsticas bsicas que es deseable obtener sobre matrices dispersas, y que tratan las rutinas de este mdulo, son: el nmero total de elementos no nulos, el nmero medio de elementos no nulos por fila y su desviacin estndar, el tamao de banda, etc. Tambin responde a preguntas como si la matriz es triangular inferior o superior, si tiene estructura simtrica, en qu nivel tiene estructura simtrica, si es por filas de diagonal dominante, qu porcentaje de filas son de diagonal dominante, las mismas preguntas para las columnas, etc.
Una rutina muy importante dentro de este mdulo es dinfo1, que muestra un informe bastante completo sobre la matriz indicada, y que mediante llamadas a funciones individuales de este mismo mdulo obtiene un informe con varias de las caractersticas indicadas anteriormente y algunas otras. Dicha rutina es parte del paquete Info1 del mismo mdulo, que sirve para crear un ejecutable que reciba desde un fichero la matriz dispersa de entrada en formato Harwell/Boeing y genere como salida el informe anterior.
Segn esta matriz de entrada sea simtrica o no, la rutina dinfo1 lo tendr en cuenta y mostrar la informacin oportuna. Adems, se le puede proporcionar slo el patrn de la matriz dispersa (no los valores reales de los elementos, simplemente los CAPTULO 3: LIBRERAS SOFTWARE ESTNDAR DEL LGEBRA LINEAL
51 ndices correspondientes a los elementos no nulos) y mostrar un mensaje sobre este hecho y tan solo dar informacin relativa a la estructura de la matriz.
Un ejemplo de salida para la rutina dinfo1 en la que slo se proporciona el patrn de dispersidad de la matriz (su estructura), no los valores de sus elementos, es la que se muestra en la Figura 3.2:
Figura 3. 2 Informe generado por la rutina dinfo1 para una matriz de ejemplo en la que slo se indica su patrn de dispersidad
Algunas de las rutinas incluidas en este mdulo son las siguientes:
! N_IMP_DIAG: Calcula las diagonales ms importantes. ! DIAG_DOMI: Calcula el porcentaje de filas y columnas de diagonal dominante. ! BANDWIDTH: Calcula los anchos de banda menor, mayor, mximo y medio de la matriz. ! NONZ: Devuelve el nmero mximo y mnimo de elementos no nulos por fila/columna y el nmero de filas/columnas con todo ceros. ! DISTDIAG: Calcula el nmero de elementos en cada diagonal. ! NONZ_LUD: Calcula el nmero de elementos no nulos en la parte estrictamente inferior, en la parte estrictamente superior y en la diagonal principal. ! AVNZ_COL: Calcula en nmero medio de elementos no nulos por columna y la desviacin estndar de la media.
CAPTULO 3: LIBRERAS SOFTWARE ESTNDAR DEL LGEBRA LINEAL
52 3.3.1.8 Rutinas de ordenacin (mdulo ORDERINGS)
Este mdulo proporciona varias rutinas para el reordenado de los elementos de una matriz de acuerdo a criterios de conjuntos de niveles, colores y componentes fuertemente conectados. Para ms informacin puede consultarse la documentacin del paquete.
3.3.1.9 Rutinas para la resolucin de sistemas de ecuaciones dispersos (mdulo ITSOL)
Este mdulo contiene un conjunto de rutinas con solvers iterativos y precondicionadores para la resolucin de sistemas de ecuaciones dispersos. Los dos ficheros ms importantes de este mdulo son:
! ilut.f: Contiene varios precondicionadores y el solver GMRES precondicionado. Este solver puede usarse con cualquiera de los 4 precondicionadores que se incluyen en este mismo fichero. La rutina que implementa el solver GMRES tiene el nombre de pgmres y los precondicionadores son ilut, ilutp (ilut con pivote parcial), ilu0 y milu0. ! iters.f: Contiene varios solvers iterativos bsicos para la resolucin de sistemas dispersos lineales. Estos mtodos son los siguientes: o CG: Mtodo del gradiente conjugado. o CGNR: Mtodo del gradiente conjugado para ecuaciones normales residuales. o BCG: Mtodo del gradiente bi-conjugado. o BCGSTAB: Mtodo del gradiente bi-conjugado estabilizado. o TFQMR: Mtodo del residuo casi mnimo libre de transposicin. o GMRES: Mtodo generalizado del mnimo residuo. o FGMRES: Versin flexible del mtodo GMRES. o DQGMRES: Versiones directas del mtodo casi generalizado del mnimo residuo. o FOM: Mtodo de la ortogonalizacin completa. o DBCG: Mtodo del gradiente bi-conjugado con pivote parcial.
Este mdulo incluye adems diversos ficheros drivers para testear los solvers y precondicionadores contenidos en los ficheros anteriores. Para ms informacin puede consultarse la documentacin del paquete SPARSKIT.
3.3.1.10 Rutinas sin soporte (mdulo UNSUPP)
En el mdulo UNSUPP se encuentran aquellas rutinas que no son necesariamente portables o que no se enmarcan dentro de ninguno de los mdulos anteriores. Este mdulo contiene tres subdirectorios:
! MATEXP: contiene rutinas para realizar clculos relativos a exponenciales de matrices dispersas, tales como el producto de la exponencial de una matriz por un vector. ! PLOTS: incluye rutinas para el dibujado de patrones de matrices en alguna estacin de trabajo particular, es decir, permite, por ejemplo, dibujar una grfica CAPTULO 3: LIBRERAS SOFTWARE ESTNDAR DEL LGEBRA LINEAL
53 simtrica incluso con una o varias rejillas asociadas, o tambin presenta rutinas para dibuar varias matrices dentro de la misma imagen. ! BLAS1: este subdirectorio incluye varias rutinas del nivel 1 de BLAS.
CAPTULO 4: ESTRUCTURA DE CATENARIAS
55 CAPTULO 4: ESTRUCTURA DE CATENARIAS
4.1 INTRODUCCIN
En los ltimos aos el transporte ferroviario ha experimentado un avance considerable, no slo en lo que al confort y seguridad de los pasajeros concierne sino tambin a otras demandas realizadas por los mismos como es la reduccin del tiempo empleado en el trayecto del viaje, lo que evidentemente implica un aumento de velocidad en el tren y para ello es necesario tener unas condiciones adecuadas en la lnea de transporte ferroviario.
Actualmente existen diversos sistemas que permite el suministro elctrico a los trenes, ya sea mediante corriente alterna o continua. El ms empleado hoy en da se denomina catenaria, nombre con el que se conoce comnmente a la estructura area que suministra energa al tren. El clculo de la estructura de la catenaria es importante de forma que debe ser modelada para que el contacto entre ella y el elemento de frotacin a travs del cual el tren entra en contacto con la catenaria, denominado pantgrafo, sea constante, pues la prdida de contacto entre ambos produce una prdida de velocidad en el tren. As pues, para poder circular a ms de 120 km/h, se necesita un clculo riguroso con una precisin del milmetro en el montaje.
4.2 DEFINICIONES Y CONCEPTOS BSICOS
En este apartado se muestran unos conceptos y definiciones bsicas sobre el problema mecnico que aparecer a lo largo de la presente Tesis y que sern necesarios para poder entender el problema a tratar, pero antes de empezar, se debera tener presente la Figura 4.1 para poder tener una visin en conjunto de los distintos elementos que a continuacin se van a definir.
Figura 4. 1 Esquema de los componentes de una estructura ferroviaria
Definicin 1: Una catenaria es un sistema formado por un conjunto de cables conductores de suspensin area, que se encarga de suministrar la energa elctrica al sistema ferroviario.
CAPTULO 4: ESTRUCTURA DE CATENARIAS
56 Definicin 2: Un Hilo de Contacto es un hilo conductor areo a travs del cual el pantgrafo capta la energa. Debe tener una configuracin geomtrica tal que el rozamiento entre ste y el pantgrafo sea lo ms uniforme posible para as poder permitir que la captacin de energa sea ptima. Las condiciones sobre la geometra del hilo de contacto dependen del tipo de catenarias, as para trenes de alta velocidad exigen habitualmente un hilo horizontal, mientras que otras exigen una determinada flecha en el centro del vano.
Definicin 3: El Hilo Sustentador es el cable que se coloca sobre los hilos de contacto para mantenerlo en su correcta posicin, paralela a la va, con mayor precisin; puede ser de cobre, cadmio, bronce, aluminio o acero, se une al hilo de contacto mediante pndolas y grifas.
Definicin 4: Las pndolas son los elementos que mantienen el hilo de contacto con una altura constante y paralela a la va o de forma parablica, sujetndolo al cable sustentador o catenaria, dando nombre a todo el esquema. Adems de esta funcin mecnica, las pndolas permiten el paso de energa entre el sustentador y el hilo de contacto. Por las pndolas apenas circula corriente excepto en las inmediaciones del punto en el que el pantgrafo del tren, elemento que ser definido posteriormente, entra en contacto con la catenaria, pues en esta zona la circulacin de corriente que pueden tener las pndolas puede alcanzar valores elevados, por tanto se hace necesario conocer los valores mximos para as poder calcular la estructura ptima de la catenaria.
Definicin 5: Los vanos son las estructuras, iguales o desiguales, en las que est dividida la estructura de la catenaria. Su longitud depende del tipo de catenaria y oscila de forma aproximada entre los 40 y 60 metros. Al conjunto de vanos situados entre dos puntos de aplicacin de tensin a ambos hilos (de contacto y sustentador) se le denomina cantn.
Definicin 6: El pantgrafo es el dispositivo colocado sobre las locomotoras elctricas para la toma de corriente del tendido areo y ms especficamente del hilo de contacto. El pantgrafo es un elemento muy importante en el estudio dinmico, tiene que cumplir la misin de establecer y mantener el contacto con la catenaria. El diseo del pantgrafo tiene como objetivo mantener lo ms constante posible la fuerza de empuje que estos realizan sobre la catenaria. Por esto, suelen ser divididos en dos partes, una inferior, bastante ms pasiva, que compensa las diferencias de altura de la catenaria a lo largo de grandes distancias (paso a nivel, tnel,) y una parte superior, ms ligero que tienen que amortiguar los movimientos de pequea amplitud pero rpidos de los hilos de contacto (imperfecciones de altura del cable, flecha, vibraciones en el techo de la locomotora, proceso de despegues,).
Definicin 7: La altura del sistema representa la distancia de los cables al plano de rodadura, pudiendo variar en tneles, viaductos, agujas areas, etc. Anlogamente, la altura del hilo sustentador y de los hilos de contacto representa su distancia al plano de rodadura, pudiendo variar en tneles, viaductos, agujas areas, etc. Anlogamente, la altura del hilo sustentador y de los hilos de contacto, representan su distancia al plano de rodadura.
CAPTULO 4: ESTRUCTURA DE CATENARIAS
57 Definicin 8: Se denomina Nodo a cada uno de los puntos correspondientes a la segmentacin que se produce al aplicar el mtodo de elementos finitos para la descomposicin de la estructura de la catenaria.
Definicin 9: Nodos libres o interiores sern considerados aquellos nodos que no forman parte de los apoyos de la estructura de la catenaria.
Definicin 10: Los nodos restringidos o no libres, sern los nodos que forman parte de los apoyos extremos de la estructura de la catenaria.
Definicin 11: Un elemento es denominado tipo viga cuando se considera flexin sobre un elemento del cable.
Definicin 12: Un elemento es denominado tipo cuerda cuando se considera sin flexin.
Definicin 13: Un sistema de catenaria es denominado de pendolado continuo si para cada pndola unida a un nodo origen del cable sustentador existe un nodo destino en cada uno de los hilos de contacto de la estructura (vase Figura 4.2).
Definicin 14: Un sistema de catenaria es denominado de pendolado alternativo si para cada pndola unida a un nodo origen del cable sustentador existe un nodo destino en uno de los hilos de contacto que forman la estructura de la catenaria, variando alternativamente (vase Figura 4.2).
Figura 4. 2 Tipos de pendolado
Definicin 15: Se denomina tipo de pendolado en Y a un sistema pantgrafo-catenaria en el que el hilo sustentador, cerca de los apoyos de la estructura de la catenaria se divide en dos formando una especie de Y tumbada. Habr pues, un hilo sustentador superior denominado principal y un hilo sustentador inferior, denominado secundario o sustentador auxiliar. A partir de la zona de separacin, las pndolas del sistema se conectarn con el hilo sustentador secundario. Ver la Figura 4.3.
En base a lo expuesto, en el estudio mecnico de la catenaria podemos considerar los siguientes tipos de problemas: clculo de la longitud de las pndolas, CAPTULO 4: ESTRUCTURA DE CATENARIAS
58 estudio del sistema de sustentacin, estudio de la rigidez del vano y estudio dinmico de la interaccin pantgrafo-catenaria.
Figura 4. 3 Elementos en una catenaria
4.3 CLCULO DE LA LONGITUD DE LAS PNDOLAS
Este problema consiste en especificar cual ha de ser la longitud de las pndolas para que el hilo de contacto adquiera la configuracin predeterminada. En el estudio de este problema se parte de las caractersticas mecnicas y geomtricas de los elementos de montaje: tipos de cable, con su peso correspondiente, tensin en las poleas de sustentacin, alturas de catenaria, pendiente del terreno, etc., as como de la configuracin geomtrica deseada en el hilo de contacto, a partir de estos datos, hay que efectuar un estudio analtico del problema con objeto de desarrollar un algoritmo con el correspondiente programa informtico en el que se determinarn las longitudes de las pndolas.
Este proceso hay que efectuarlo para los distintos tipos de vanos que aparecen en un montaje real. Los tipos de vanos que se pueden encontrar son:
! Vano normal. Ver Figura 4.5. ! Vano en Y: Vano que tiene un tipo de pendolado en Y. Este tipo de vano est destinado a tener una gran aplicacin en el futuro ya que presenta una rigidez ms uniforme y por tanto un comportamiento dinmico ms favorable que el vano normal, sin embargo su utilizacin resulta algo problemtica debido a que presenta dificultades de montaje motivados por el hecho de que no haba existido hasta el momento un procedimiento correcto de clculo de pndolas. Ver Figura 4.3. CAPTULO 4: ESTRUCTURA DE CATENARIAS
59 Este tipo de vano se caracteriza, tal como se muestra en la Figura 4.3., por tener dos sustentadores, el sustentador principal y el sustentador auxiliar, situado alrededor de los apoyos, de los que cuelgan las correspondientes pndolas. El sustentador auxiliar se tensa en el centro con un tornillo de doble rosca y su funcin es mantener una rigidez ms suave en los apoyos. Este tipo de disposicin es ideal para aplicaciones de alta velocidad, sin embargo, para su correcta aplicacin es necesario desarrollar un algoritmo de clculo fiable. El sistema de pndola en Y presenta tambin las correspondientes versiones para vano normal, de seccionamiento y de aguja tangencial. ! Vano de Seccionamiento: Son los vanos extremos de un cantn. Los vanos normales se montan en serie constituyendo un conjunto denominado cantn de seccionamiento, tal como se muestra en la Figura 4.4. En el seccionamiento se produce la transicin de un cantn a otro.
Un cantn de seccionamiento est formado por unos 15 vanos, tensados mediante dos poleas de compensacin en cada extremo, una para el sustentador y otra para el hilo de contacto, los vanos extremos se denominan vanos de seccionamiento y requieren un estudio especial ya que el hilo de contacto del vano saliente y del vano entrante han de configurar en el espacio una forma predeterminada que aseguren siempre el contacto con el pantgrafo, esta forma depende de la rigidez del vano.
Figura 4. 4 Cantn de seccionamiento
! Vano Tangencial: Muy parecido al vano de seccionamiento. Slo varan algunas caractersticas de su estructura relativas a cmo se hace el paso de un cantn a otro. Es el tipo de vano utilizado en el cambio de va.
4.4 ESTUDIO DEL SISTEMA DE SUSTENTACIN DE LA CATENARIA
En el estudio del sistema sustentador de la cantenaria se va a seguir una metodologa consistente en efectuar, en primer lugar. un estudio geomtrico para CAPTULO 4: ESTRUCTURA DE CATENARIAS
60 determinar el tipo y dimensin de las piezas a colocar, los sistemas de unin y articulaciones, y a continuacin determinar las fuerzas sobre las piezas, efectuando su diseo a resistencia, empleando las ecuaciones de la esttica del slido y de la resistencia de materiales, desarrollando el correspondiente algoritmo informtico. Para ello se necesita conocer previamente los valores de las fuerzas en los apoyos del sustentador y del hilo de contacto, a partir de los resultados obtenidos en el estudio del clculo de pndolas.
El cable sustentador de la catenaria tiene que ir apoyado sobre un marco tubular articulado, el hilo de contacto est sostenido por los brazos de compensacin, que descansan a su vez sobre el marco, el clculo tanto geomtrico como a resistencia de los elementos que configuran el marco sern introducidos tambin.
4.5 ESTUDIO DE LA RIGIDEZ DEL VANO
Otro tipo de problema, tambin de carcter esttico, consiste en estudiar la rigidez del vano, esto es la deformacin o desplazamiento vertical del hilo de contacto cuando est sometido a una fuerza puntual ascendente como puede ser el empuje del pantgrafo. Para atenuar la oscilacin del pantgrafo, lo que se suele hacer es configurar el hilo de contacto con una forma parablica con una flecha en el centro, el valor de dicha flecha depende de la rigidez y en un vano de 50-60 metros suele haber 2 3 cm.
Ntese adems que el estudio de la rigidez y de la flecha ptima depende estrechamente del clculo de las longitudes de las pndolas: para el estudio de un vano con un valor especificado de la flecha, hay que conocer un procedimiento para calcular exactamente las longitudes de las pndolas y poder estudiar posteriormente la rigidez del vano resultante.
Utilizando el Mtodo de los Elementos Finitos (FEM) [11], [30], [31], [32], [33], se realiza una discretizacin de los componentes de la catenaria en una serie de elementos finitos unidos por nodos, para ello se procede a segmentar la catenaria en diferentes tipos de elementos, considerando el sustentador, las pndolas y el hilo de contacto. Una vez obtenida dicha segmentacin, se numeran todos los elementos para su posterior utilizacin, Estos elementos irn unidos por nodos que se numerarn como se comenta a continuacin.
A partir de ah, se realiza un estudio del comportamiento de los diferentes elementos existentes en el sistema, obteniendo sus ecuaciones asociadas. Por un lado los elementos de tipo cuerda sin considerar rigidez a flexin, que representan los elementos del hilo sustentador y en algunos casos del hilo de contacto. Por otro los elementos de tipo viga considerando flexin, que representan a los elementos del hilo de contacto. Y por ltimo las pndolas que se comportan como barras sometidas a traccin.
El sustentador se supone que est apoyado en los extremos del vano, mientras que el hilo de contacto est fijado en los extremos por el sistema tensor (ver Figura 4.3).
CAPTULO 4: ESTRUCTURA DE CATENARIAS
61 4.5.1 Numeracin de los nodos para el caso de un slo vano
En el sistema de la catenaria, como se ha visto anteriormente, se distinguen tres tipos de cables: el sustentador, el hilo de contacto y las pndolas (vase Figura 4.1).
Para poder abordar el problema, se descompondrn los cables sustentador e hilo de contacto en una serie de elementos finitos unidos mediante nodos numerados de izquierda a derecha y de forma progresiva, con la excepcin de los nodos pertenecientes a los apoyos, que estarn numerados en ltimo lugar. Para ello se proceder de la siguiente manera: se considera en primer lugar el hilo sustentador, en el que se tienen s elementos. El primer elemento estar situado junto al apoyo izquierdo y el nodo derecho del primer elemento ser el primer nodo. De esta forma se irn numerando los nodos variando desde
1 (inmediatamente a la derecha del apoyo izquierdo en el sustentador
K) hasta
s !1 (inmediatamente a la derecha del apoyo derecho en el sustentador
B. El nmero de pndolas es
np , y su posicin est definida por los nodos
os 1 ,os 2 ,,os np . Estos ltimos nodos tendrn tambin el valor numrico correspondiente segn el sistema de numeracin anterior.
Con el hilo de contacto se acta de igual forma que con el sustentador, la numeracin de los nodos comenzar a la derecha del apoyo izquierdo en el hilo de contacto
C con el nodo
s y terminar a la izquierda del apoyo derecho en el hilo de contacto
D con el nodo
s + h ! 2. Las posiciones de las pndolas vendrn dadas por los nodos
oh 1 ,oh 2 ,,oh np , adems igual que antes cada uno de estos nodos tendr su valor numrico correspondiente segn el sistema de numeracin anterior. La pndola
1 une los nodos
os 1 y
oh 1 , la pndola
2 los nodos
os 2 y
oh 2 ,, as hasta la pndola
np que une los nodos
os np y
oh np . Y finalmente, la correspondencia entre apoyos y nodos es la siguiente: Apoyo A Nodo s+h-1 Apoyo C Nodo s+h Apoyo B Nodo s+h+1 Apoyo D Nodo s+h+2
Como se puede observar, si en el sustentador hay s elementos y en el hilo de contacto
h elementos, el nmero total de nodos
n es igual al nmero total de elementos en el sustentador e hilo de contacto ms dos:
n = s + h + 2
El nmero total de elementos en el vano ser igual al nmero total de elementos en el sustentador e hilo de contacto ms el nmero de pndolas:
n e = s + h + np
El nmero de nodos no libres o restringidos para el caso de un vano ser de 4, coincidiendo con los apoyos, y el nmero de nodos libres
n i ser el nmero total de nodos
n menos el nmero de nodos restringidos, es decir, el resto de nodos: CAPTULO 4: ESTRUCTURA DE CATENARIAS
62
n i = n ! 4 En la Figura 4.5 se puede ver un ejemplo de la numeracin de los nodos para un vano.
Figura 4. 5 Notacin y sistema de numeracin de nodos para un solo vano
4.5.2 Numeracin de los nodos para un cantn con varios vanos
En este caso, la notacin empleada es una extensin de la anterior para el caso de un vano aislado. El nmero de elementos en el sustentador para un vano genrico
i es
s i y el nmero de elementos en el hilo de contacto
h i .
Al igual que en el caso anterior, se van numerando los nodos del sustentador e hilo de contacto en este orden y de forma creciente y secuencial, dejando los apoyos en ltimo lugar para poder realizar la condensacin de la matriz de rigidez de forma adecuada como se ver ms adelante.
Con objeto de generar los elementos de la matriz de rigidez y el trmino independiente se utiliza una notacin auxiliar, consistente en una matriz entera
ns[i, j] para los nodos del sustentador, donde
i representa el nmero de vano,
j la posicin del nodo dentro del vano y el contenido el nmero de nodo segn la numeracin. Lo mismo se hace con los nodos del hilo de contacto, en este caso con la matriz
nh[i, j]. Para el caso de dos hilos de contacto y pendolado alternativo se emplearn dos matrices
nh1 y
nh2, una para cada hilo de contacto.
Adems, se emplea otra notacin auxiliar para definir los nodos de las pndolas en el sustentador e hilo de contacto mediante dos matrices enteras
os[i, j] y
oh[i, j], que indican que la pndola
j del vano
i se corresponde con el nodo almacenado en dicha posicin, para el caso del sustentador y del hilo de contacto respectivamente.
A continuacin se puede ver un ejemplo para un cantn con tres vanos desiguales y cmo se ha realizado el sistema de numeracin de los nodos segn los CAPTULO 4: ESTRUCTURA DE CATENARIAS
63 criterios anteriores, tal y cmo se muestra en la Figura 4.6. El nmero de elementos entre pndolas tanto en el sustentador como en el hilo de contacto se ha considerado 1. Despus puede verse el contenido de las matrices mencionadas para dicho ejemplo.
Figura 4. 6 Ejemplo de numeracin de nodos para un cantn con vanos desiguales
Cada elemento de la catenaria tiene un comportamiento caracterstico e influye de distinta manera para la obtencin de la correspondiente matriz de rigidez del sistema. De esta forma, el sustentador se puede modelar como una cuerda ideal sin flexin, y para el caso del hilo de contacto puede comportarse como una cuerda ideal sin flexin o como una cuerda con flexin. Las pndolas se comportarn como barras elsticas traccionadas.
La ecuacin diferencial para el movimiento de un cable sin flexin es:
p g y ! T " " y + p = 0
donde
y corresponde a la posicin de un punto en el cable,
T es el esfuerzo de traccin en el cable,
p el peso por unidad de longitud y
g la aceleracin de la gravedad.
El significado de las derivadas es el siguiente:
! y = dy dx , y = dy dt
CAPTULO 4: ESTRUCTURA DE CATENARIAS
64 Para el estudio de problemas estticos, los trminos correspondientes a las inercias desaparecen. Ya que el problema tratado en esta parte de la Tesis es esttico, se suprimen dichos trminos, resultando:
!T " " y + p = 0
Si se tiene que el hilo de contacto presenta rigidez a flexin, la ecuacin diferencial que representa el movimiento del cable es la siguiente:
p g y + EIy IV ! T " " y + p = 0
donde
E es el mdulo elstico del cable,
I el momento de inercia diametral de la seccin,
y IV es la derivada cuarta respecto a
x. Al igual que en la ecuacin para un cable sin flexin, al tratarse del problema esttico, los trminos correspondientes a las inercias desaparecen, obtenindose la ecuacin diferencial:
EIy IV ! T " " y + p = 0
Tras la discretizacin por elementos finitos comentada anteriormente, se proceder a determinar la ecuacin de equilibrio esttico del sistema a partir de la ecuacin de cada uno de los elementos que forman el mismo. La Ecuacin 4.1 muestra esta ecuacin de equilibrio esttico del sistema:
k ! d = r e (4.1)
donde
d representa el vector de coordenadas generalizadas de los elementos, es decir, el desplazamiento correspondiente a los grados de libertad,
r e es el trmino independiente que representa la carga equivalente en cada nodo (fuerza resultante en el nodo) y
k es la matriz de rigidez del sistema.
Uno de los objetivos principales de esta Tesis es resolver dicha ecuacin de una forma ptima y con la precisin requerida, minimizando los costes computacionales tanto en uso de CPU como de memoria, y realizando un tratamiento eficaz de los datos.
4.5.4 Matriz de rigidez de un elemento de cable tipo cuerda sin rigidez a flexin
El mtodo que se va a emplear para determinar la matriz de rigidez y el trmino independiente es una deduccin a partir de las ecuaciones de la esttica anteriores, en este caso despreciando la flexin (elementos tipo cuerda). Los elementos tipo cuerda del sustentador sern varillas articuladas con dos grados de libertad.
Las fuerzas en el nodo
i , vase Figura 4.7, para un desplazamiento unitario en dicho nodo son:
!f ii = T l ij !y i
CAPTULO 4: ESTRUCTURA DE CATENARIAS
65
Figura 4. 7 Elemento de cable sin considerar flexin (tipo cuerda)
De igual modo, las fuerzas en el nodo
i para un desplazamiento unitario en el nodo
j son:
!f ij = " T l ij !y j
Y las fuerzas resultantes en los nodos
i y
j respectivamente: se ven en las Ecuaciones 4.2 y 4.3:
!f i = !f ii + !f ij = T l ij !y i " T l ij !y j = T l ij y i " T l ij y j (4.2)
!f j = !f jj + !f ji = T l ij !y j " T l ij !y i = T l ij y j " T l ij y i (4.3)
A partir de las ecuaciones anteriores, Ecuacin 4.2 y Ecuacin 4.3, y de la ecuacin de equilibrio esttico del sistema, Ecuacin 4.1, se puede obtener la matriz de rigidez y el trmino independiente, que ser la fuerza equivalente producida por el peso del cable en los nodos.
Por tanto, la ecuacin de equilibrio esttico del elemento ser la que se puede ver en la Ecuacin 4.4.
r e = k ! d " #f i #f j $ % & ' ( ) = T l ij * T l ij * T l ij T l ij $ % & & & ' ( ) ) ) ! y i y j $ % & ' ( ) " * p! l ij 2 p! l ji 2 $ % & & & ' ( ) ) ) = T l ij * T l ij * T l ij T l ij $ % & & & ' ( ) ) ) ! y i y j $ % & ' ( ) (4.4)
CAPTULO 4: ESTRUCTURA DE CATENARIAS
66 4.5.5 Matriz de rigidez de un elemento de cable tipo viga rigidez a flexin
Cuando se considera la flexin en el cable, vase Figura 4.8, al elemento resultante se le denomina elemento tipo viga.
Figura 4. 8 Elemento de cable del hilo de contacto considerando flexin (tipo viga)
La deduccin de la matriz de rigidez y del trmino independiente no se puede efectuar de forma directa y hay que aplicar la teora de los esfuerzos de membrana o el mtodo de los residuos ponderados de Galerkin, considerando las ecuaciones diferenciales de equilibrio esttico vistas en la Seccin 4.5.4.
Ahora la ecuacin de equilibrio esttico del elemento pasa a tener la siguiente forma:
k = k v + k h
donde se puede observar que la matriz de rigidez de cada elemento est compuesta por la suma de dos partes, y para el vector de coordenadas generalizadas d se tienen en cuenta los ngulos producidos en cada uno de los dos nodos que delimitan el elemento:
k v = E ! I l ij 3 12 6l ij "12 6l ij 6l ij 4l ij 2 "6l ij 2l ij 2 "12 "6l ij 12 "6l ij 6l ij 2l ij 2 "6l ij 4l ij 2 # $ % % % % & ' ( ( ( (
k h = T 30l ij 36 3l ij !36 3l ij 3l ij 4l ij 2 !3l ij !l ij 2 !36 !3l ij 36 !3l ij 3l ij !l ij 2 !3l ij 4l ij 2 " # $ $ $ $ % & ' ' ' '
r e = ! p" l ij 2 ! p" l ij 2 12 ! p" l ij 2 p" l ij 2 12 # $ % % % % % % % % & ' ( ( ( ( ( ( ( (
d = y i ! i y j ! j " # $ $ $ $ % & ' ' ' ' CAPTULO 4: ESTRUCTURA DE CATENARIAS
67 La ecuacin de equilibrio esttico del elemento viene representada por:
r e = k ! d = (k v + k h ) ! d
4.5.6 Matriz de rigidez de un elemento de cable tipo cuerda rigidez a flexin
Existe una forma alternativa de considerar la rigidez a flexin a partir de elementos tipo cuerda con una coordenada por nodo.
La modelizacin a partir de elementos tipo cuerda es equivalente a segmentos de cable unidos mediante articulaciones, introduciendo un resorte de torsin en las articulaciones podemos modelizar la rigidez a flexin manteniendo una coordenada por nodo.
Vase la Figura 4.9 que representa un elemento tipo cuerda con flexin.
Figura 4. 9 Elemento cuerda con flexin
Al girar el elemento a partir de su posicin horizontal inicial aparece un momento recuperador que tiende a volver al elemento su posicin horizontal.
Este momento es proporcional al ngulo de giro
!, si la constante de proporcionalidad es
k , tendremos:
M = k t ! "
Este momento equivale a un par de fuerzas
f aplicadas en los nodos, cuyo momento resultante ha de ser igual al momento recuperador
M, es decir:
f = k t ! " l
La ecuacin de equilibrio para los nodos
i ,
j : quedar:
T l y i ! T l y j = r i + k t (y j ! y i ) l 2 ! T l y i + T l y j = r j + k t (y j ! y i ) l 2
CAPTULO 4: ESTRUCTURA DE CATENARIAS
68 Reordenamos trminos obtenemos:
T l + k t l 2 ! " # $ y i % T l + k t l 2 ! " # $ y j = r i % T l + k t l 2 ! " # $ y i + T l + k t l 2 ! " # $ y j = r j
4.5.7 Matriz de rigidez de una barra sometida a traccin
Las pndolas se comportan como barras sometidas a traccin, teniendo dos grados de libertad pues disponen de dos nodos.
s i son las deformaciones en los extremos,
y i es la posicin real del nodo
i con la pndola deformada y
! y i es la posicin del nodo
i en el caso de que la pndola fuese inextensible. Para el nodo
j se toma la misma notacin.
La variacin en la extensin de un nodo de la pndola viene dada, como es obvio, por la diferencia entre las posiciones del nodo con la pndola deformada y sin deformar, es decir:
y i = y i ! " y i y j = y j ! " y j
La constante de rigidez de la pndola es la siguiente:
k = E ! A l ij
donde
E es el mdulo elstico del material del que est construido la pndola y
A el rea de la seccin recta.
La Figura 4.10 representa esta barra sometida a traccin
Figura 4. 10 Deformacin de una pndola.
CAPTULO 4: ESTRUCTURA DE CATENARIAS
69 Siendo
l ij la longitud de la pndola traccionada con la catenaria montada y
! l ij la longitud de la pndola sin deformar, se cumple:
! l ij = ! y i " ! y i
La Ecuacin 4.5 determinar la ecuacin esttica del elemento, con la matriz de rigidez
k y las cargas nodales
r e . Para ello se supone que se aplica una fuerza en el nodo
i .
!f i = A " E l ij !y i # A " E l ij !y j = A " E l ij (y i # $ y i ) # A " E l ij (y j # $ y j ) = A " E l ij y i + A " E l ij y j + A " E l ij $ l ij
(4.5)
Lo mismo en la Ecuacin 4.6 pero aplicando la fuerza en el nodo
j :
!f j = " A # E l ij !y i + A # E l ij !y j = " A # E l ij (y i " $ y i ) + A # E l ij (y j " $ y j ) = " A # E l ij y i + A # E l ij y j + A # E l ij $ l ij (4.6)
La Ecuacin 4.7 muestra las Ecuaciones 4.5 y 4.6 en su forma matricial, lo que permite obtener la ecuacin de equilibrio esttico del elemento, una vez ya se han tenido en cuenta las fuerzas sobre los nodos en el trmino independiente:
r e = k ! d " E ! A l ij # l ij $ E ! A l ij # l ij % & ' ' ' ( ) * * * = E ! A l ij $ E ! A l ij $ E ! A l ij E ! A l ij % & ' ' ' ( ) * * * ! y i y j % & ' ( ) * (4.7)
4.5.8 Obtencin de la matriz de rigidez para varios elementos. Obtencin del trmino independiente
En el apartado 4.5.7 se ha visto como calcular la matriz de rigidez y las cargas equivalentes en los nodos (trmino independiente) para el caso de elementos aislados.
Ahora bien, para resolver el problema es necesario calcular la matriz de rigidez
k y las cargas equivalentes en los nodos
r e del sistema global, para posteriormente calcular las coordenadas generalizadas de los nodos
d tambin dentro del sistema global, es decir, obtener las condiciones de equilibrio esttico del sistema. Para ello se emplearn las matrices de rigidez y trminos independientes de cada elemento calculados de la forma mostrada en el apartado anterior como se podr ver a continuacin.
A continuacin se muestra cada uno de los casos que aparecen en el problema que se aborda en esta parte de la Tesis y que los algoritmos desarrollados deben implementar.
CAPTULO 4: ESTRUCTURA DE CATENARIAS
70 4.5.8.1 Generacin de la matriz de rigidez y del trmino independiente en un nodo de cable que une dos elementos tipo cuerda
Este caso puede darse tanto para el hilo sustentador como para un hilo de contacto, ya que el hilo sustentador siempre estar formado por elementos tipo cuerda, y los hilos de contacto pueden estar formados o bien por elementos tipo cuerda sin flexin o bien por elementos tipo viga con rigidez a flexin.
Se considera un sistema formado por dos elementos
(ba, ac) y tres nodos
(a,b,c) . El nodo genrico
a une los elementos de cable
ba y
ac . Cada uno de los tres nodos de los dos elementos del cable
b,
a,
c tiene un grado de libertad y por tanto tiene asociada una coordenada generalizada (CG). La coordenada generalizada simplemente es un nmero que se asigna a cada par de nodo-grado de libertad.
As, en este caso con elementos tipo cuerda, al tener cada nodo un grado de libertad, los nmeros asociados al nodo y los asociados a la coordenada coinciden. Los nodos
a,
b,
c tienen asociadas las coordenadas generalizadas
a 1 ,
b 1 ,
c 1
respectivamente, donde
a = a 1 ,
b = b 1 ,
c = c 1 , esto queda representado en la Figura 4.11 .
Figura 4. 11 Caso de un nodo uniendo dos elementos tipo cuerda (sustentador o hilo de contacto) Se supone que
a 1 > b 1 > c 1 y que
k ab es la matriz de rigidez del elemento
ab y
r ab el trmino independiente de dicho elemento. Para el elemento
ac se emplea la misma notacin. Los trminos asociados a las coordenadas generalizadas al ensamblar la matriz de rigidez de los dos elementos anteriores, y los trminos independientes (cargas equivalentes en cada nodo) son los mostrados en la Tabla 4.1:
Matriz de rigidez Trmino independiente b1 a1 c1 b1 k ba b1b1 k ba b1a1 r ab b1
a1 k ba a1b1 k ba a1a1 + k ac a1a1 k ac a1c1 r ba a1 + r ac a1
c1 k ba c1a1 k ac c1c1 r bc c1
Tabla 4. 1 Formacin de la matriz de rigidez y el trmino independiente para un nodo uniendo dos elementos tipo cuerda CAPTULO 4: ESTRUCTURA DE CATENARIAS
71 Como se puede observar, al incluir en la matriz de rigidez la informacin correspondiente a un nodo, sta se ve afectada por sus nodos vecinos a los cuales est unido por medio de los elementos correspondientes. Aqu puede verse que el nodo a se ve afectado por los nodos
b y
c, a los cuales est unido mediante los elementos
ba y
ca respectivamente. Esto mismo sucede para cada uno de los nodos que forman la estructura de la catenaria, ya que
a 1 representa la coordenada generalizada asociada a un nodo genrico del sustentador o del hilo de contacto.
Las expresiones correspondientes a los trminos de la Tabla 4.1 son:
k b1,a1 = k a1,b1 ba = ! T x a ! x b k a1,a1 = k a1,a1 ba + k a1,a1 ac = T x a ! x b + T x c ! x a k a1,c1 = k a1,c1 ac = ! T x c ! x a
siendo
x a ,
x b , y
x c las abscisas correspondientes a las posiciones de los nodos,
T la tensin en el cable.
El trmino independiente o carga equivalente asociada al nodo a (o a la coordenada generalizada a 1 ) es el siguiente:
R a1 = r a1 ba + r a1 ac = ! p" (x b ! x a ) 2 ! p" (x c ! x a ) 2
donde
p es el peso por unidad de longitud.
4.5.8.2 Generacin de la matriz de rigidez y del trmino independiente en un nodo de cable con pndola que une dos elementos tipo cuerda y un elemento tipo barra
En este caso se tiene un nodo perteneciente al hilo sustentador, formado por elementos tipo cuerda sin flexin, que se conecta mediante una pndola a otro nodo del hilo de contacto, ya que como se vio anteriormente las pndolas son las encargadas de interconectar el hilo sustentador con el/los hilos de contacto.
Como puede verse en la Figura 4.12, el nodo
a est unido a los nodos
b,
c,
d. El nodo
a pertenece al sustentador y el nodo
d al hilo de contacto. Los elementos del sustentador se pueden modelar como elementos tipo cuerda, de modo que el nmero asociado a la coordenada generalizada coincide con el asociado al nodo igual que en el apartado anterior. Los elementos del hilo de contacto se pueden comportar como elementos tipo cuerda (sin flexin) o como elementos tipo viga (con flexin).
En el primer caso seguir habiendo una coordenada generalizada asociada al nodo de tal forma que se da el caso de que el nmero de nodo coincide con el nmero de la coordenada generalizada
(d = d 1 ).
CAPTULO 4: ESTRUCTURA DE CATENARIAS
72 En el segundo caso el nodo d tendr asociadas dos coordenadas generalizadas
d 1
y
d 2 ya que tiene dos grados de libertad, que representan un desplazamiento y un giro, respectivamente, no existiendo como es obvio la equivalencia anterior.
Figura 4. 12 Caso de un nodo uniendo dos elementos tipo cuerda (sustentador) y un elemento tipo barra (pndola)
Los elementos de la matriz de rigidez y los trminos independientes asociados a la coordenada generalizada
a 1 , teniendo en cuenta que
a 1 > b 1 > c 1 , son los que se muestran en la Tabla 4.2.
Matriz de rigidez Trmino independiente b1 a1 c1 d1 b1 k ab b1b1 k ab b1a1 r ab b1
a1 k ab a1b1 k ab a1a1 + k ac a1a1 + k ad a1a1 k ac a1c1 k ad a1d1 r ab a1 + r bc a1 + r ad a1
c1 k ab c1a1 k ac c1c1 r bc c1
Tabla 4. 2 Formacin de la matriz de rigidez y el trmino independiente para un nodo con pndola uniendo dos elementos tipo cuerda y un elemento tipo barra
Las expresiones correspondientes a los trminos de la Tabla 4.2 seran
k a1,d1 = z ad k a1,d1 ad = z ad k d1,d1 ad = z ad E ! A l ad k b1,a1 = k a1,b1 ab = " T x a " x b , k a1,c1 = k a1,c1 ac = " T x c " x a k a1,a1 = k a1,a1 ab + k a1,a1 ac + k a1,a1 ad = T x a " x b + T x c " x a + z ad ! EA l ad
donde
E es el mdulo elstico del material de las pndolas,
I ad la longitud de la pndola,
A la seccin de la pndola,
f pad la precarga en la pndola y
z ad el coeficiente CAPTULO 4: ESTRUCTURA DE CATENARIAS
73 de activacin (cuando
z ad =1 la pndola est activada y cuando
z ad = 0 no lo est. Normalmente
z ad =1), son los siguientes:
El trmino independiente o fuerza equivalente producida por el peso del cable en el nodo
a (o a la coordenada generalizada
a 1 ), teniendo en cuenta los efectos de las pndolas es:
R a1 = r a1 ab + r a1 ac + z ad r a1 ad = ! p" (x b ! x a ) 2 ! p" (x c ! x a ) 2 + z ad (EA ! f pad )
Para el nodo inferior d, este nodo est en el hilo de contacto (parte inferior de la pndola), los trminos de la matriz de rigidez y trmino independiente asociados a d1 experimentarn una modificacin similar, pero el trmino independiente elemental presenta una forma diferente teniendo que aadir adems el peso propio de la pndola
P pad y el peso del sistema de sujecin
p g :
R a1 = r a1 ab + r a1 ac + z ad r a1 ad = ! p" (x b ! x a ) 2 ! p" (x c ! x a ) 2 ! z ad " (E " A! f pad ) ! P pad ! p g
4.5.8.3 Generacin de la matriz de rigidez y del trmino independiente en un nodo de cable con dos elementos tipo cuerda y brazo atirantado.
En este caso el nodo
a est situado en el hilo de contacto, coincidiendo con el agarre del brazo atirantado, vase Figura 4.13. El hilo de contacto se considera que se comporta como una cuerda ideal sin flexin, es decir, sus elementos son de tipo cuerda (sin flexin). El efecto del brazo de compensacin es equivalente en principio al de una fuerza puntual
f a sobre el nodo cuya expresin es:
f a = f o ! k br " (y a ! y o ) = f o + k br " y o ! k br " y a = !k br " y a + ( f o + k br " y o )
donde
k br es la rigidez aparente del brazo,
f o es un trmino constante de la fuerza,
y a
es la posicin de equilibrio del nodo
a (por tanto
y a = a 1 ) e
y o es la posicin inicial del agarre del brazo, que es un valor conocido.
Esta fuerza debe tenerse en cuenta a la hora de desarrollar la ecuacin de equilibrio del nodo, tras lo cual aparecen unos trminos que afectarn a la matriz de rigidez y otros que afectarn al trmino independiente. stos quedan de la siguiente manera:
k a1,a1 = k b1,a1 ba + k b1,a1 ab + k br = T x a ! x b + T x c ! x a + k br R a1 = r a1 ba + r a1 ac + f o + k br " y o = ! p" (x b ! x a ) 2 ! p" (x c ! x a ) 2 + f o + k br " y o
CAPTULO 4: ESTRUCTURA DE CATENARIAS
74
Figura 4. 13 Caso de nodo uniendo dos elementos tipo cuerda (sustentador)
4.5.8.4 Generacin del trmino independiente cuando se aplica una carga en un elemento tipo cuerda
Como puede verse en la Figura 4.14, se aplica una fuerza puntual
F sobre el elemento
ac . Habr que modificar el trmino independiente de
a y
c para incluir el efecto producido por la fuerza ascendente.
Figura 4. 14 Caso de aplicacin de una fuerza puntual sobre un elemento tipo cuerda
Dicha modificacin del trmino independiente por efecto de la fuerza se realiza mediante las funciones
N 1 y
N 2 :
N 1 = l ac ! u l ac , N 2 = u l ac , u = x F ! x a , l ac = x c ! x a
CAPTULO 4: ESTRUCTURA DE CATENARIAS
75 donde
x F es la abscisa del punto de aplicacin de la fuerza
F en el sistema de referencia general del cantn.
Quedando de la siguiente manera los trminos independientes correspondientes tanto al nodo
a como al nodo
c (se supone que el nodo a la derecha de
c es el
d):
R a1 = r a1 ba + r a1 ac + N 1 ! F = " p! (x b " x a ) 2 " p! (x c " x a ) 2 + N 1 ! F R c1 = r c1 ac + r c1 cd + N 2 ! F = " p! (x c " x a ) 2 " p! (x d " x c ) 2 + N 2 ! F (4.9)
Las ecuaciones anteriores (Ecuacin 4.9) son vlidas en caso de no haber ninguna pndola conectada al nodo
a. En caso contrario habra que aadir la modificacin correspondiente a dichas ecuaciones por el efecto de la pndola.
4.5.8.5 Efecto de una fuerza ascendente sobre un hilo de contacto
La fuerza ascendente modifica el trmino independiente al alterar las fuerzas o cargas equivalentes en los nodos contiguos a la fuerza aplicada por el efecto del pantgrafo sobre el hilo de contacto, tal y como se muestra en la Figura 4.15.
Figura 4. 15 Carga puntual ascendente sobre un hilo de contacto
Las cargas equivalentes en los nodos, para poder determinar
r (el vector de las cargas nodales), se calcularn de la siguiente manera:
En este caso se supone que slo hay un hilo de contacto y que cada nodo presenta un grado de libertad. Entonces la carga nodal equivalente ser:
r = N T (u) ! P
Por tanto, para el elemento tipo cuerda con un grado de libertad en los nodos se tiene:
r i r i+1 ! " # $ % & = N 1 (u) N 2 (u) ! " # $ % & ' P CAPTULO 4: ESTRUCTURA DE CATENARIAS
76 donde
N = [N i , N j ] representa la matriz de las funciones siguientes:
N 1 (u) = l ! u l , N 2 (u) = u l
Las cargas nodales equivalentes del elemento se ensamblan en las ecuaciones del sistema general. Estas cargas equivalentes se sumarn a las correspondientes al elemento del cable explicadas anteriormente.
4.5.8.6 Efecto de una fuerza ascendente sobre dos hilos de contacto. Condiciones de restriccin.
En el estudio de la rigidez para el caso de dos hilos de contacto con pendolado alternativo, representado en la Figura 4.16, se emplearn unas ecuaciones parecidas a las anteriores, pero se hace necesario imponer unas condiciones de restriccin.
Figura 4. 16 Fuerza ascendente aplicada a dos hilos de contacto
En este caso la fuerza ascensional se aplicar a los dos hilos de contacto, de manera que en el punto de aplicacin el desplazamiento ser el mismo en los dos hilos:
y(u 1 ) ! y(u 2 ) = 0
donde
y(u 1 ) = N(u 1 ) ! y
Considerando que existe un grado de libertad en cada nodo, se cumplir lo siguiente:
y(u 1 ) = N 1 (u 1 ) ! y i + N 2 (u 1 ) ! y i+1 y(u 2 ) = N 1 (u 2 ) ! y j + N 2 (u 2 ) ! y j +1
Y la condicin de restriccin vendr dada por las ecuaciones anteriores, y es: CAPTULO 4: ESTRUCTURA DE CATENARIAS
77
! = N 1 (u 1 ) " y i + N 2 (u 1 ) " y i+1 # N 1 (u 2 ) " y j + N 2 (u 2 ) " y j +1 = 0
En el caso de que los nodos tengan dos grados de libertad, la condicin de restriccin ser muy parecida a la anterior:
! = N 1 (u 1 ) " y i + N 2 (u 1 ) " # i + N 3 (u 1 )y i+1 + N 4 (u 1 ) " # i+1 $ N 1 (u 2 ) " y j $ N 2 (u 2 ) " # j $ N 3 (u 2 ) " # j +1 +1$ N 4 (u 2 ) " # j +1 = 0
Esta ecuacin puede expresarse tambin en forma matricial de esta forma:
A! Y = 0
donde
A es el vector-fila correspondiente a las ecuaciones de restriccin. Dicho vector- fila equivale al jacobiano de
!. Y es el vector-columna de las coordenadas generalizadas.
La ecuacin de equilibrio del sistema se puede establecer empleando el mtodo de los multiplicadores de Lagrange:
K A T A 0 ! " # $ % & ' Y ( ! " # $ % & = R 0 ! " # $ % &
La carga puntual se puede suponer aplicada a cualquiera de los dos hilos de contacto, ya que la condicin de restriccin se encarga de igualar los desplazamientos.
4.5.9 Efecto del brazo atirantado
El brazo de atirantado ejerce una fuerza vertical ascendente que modifica el trmino independiente y la matriz de rigidez:
f i = R z ! k b " (y A ! y h ) (4.10)
donde
R z es la fuerza ascensional del brazo de montaje,
y A la posicin del nodo
A del punto de agarre para un determinado estado de cargas, o posicin dinmica,
y h es la altura esttica del agarre hilo de contacto en el montaje de la catenaria. La Ecuacin 4.10 se puede reordenar:
k b ! y A = k b ! y h + R z + f i
Lo cual equivale a decir que la matriz de rigidez general, en el trmino diagonal correspondiente a la variable
y A ha de modificarse aadiendo
k b y el trmino independiente aadiendo
k b ! y h + R z .
La Figura 4.17 representa un esquema de estas fuerzas.
CAPTULO 4: ESTRUCTURA DE CATENARIAS
78
Figura 4. 17 Esquema de fuerzas en el entorno del brazo atirantado
4.6 ECUACIN DE EQUILIBRIO ESTTICO DEL SISTEMA
Cada elemento de la catenaria tiene un comportamiento caracterstico e influye de distinta manera para la obtencin de la correspondiente matriz de rigidez del sistema. As el sustentador se modela como una cuerda ideal sin flexin, y para el caso del hilo de contacto puede modelarse como una cuerda ideal sin flexin o como una cuerda con flexin. Las pndolas se comportarn como barras elsticas traccionadas.
De acuerdo con lo comentado, la ecuacin diferencial del sustentador ser:
T B ! ! y " p s = 0
La variable correspondiente a la posicin de un punto del cable viene dada por
y,
! y es la derivada respecto de
x,
T B es la tensin en el sustentador,
p s el peso del cable por unidad de longitud.
La ecuacin diferencial del hilo de contacto:
E C I C y IV ! T D " " y + p C = 0
en donde
E C es el mdulo elstico del hilo de contacto,
I C es el momento de inercia diametral de la seccin, el resto de las variables tienen un significado similar al de la ecuacin del sustentador.
En la discretizacin por elementos finitos, se proceder a determinar la matriz de rigidez
K de cada elemento y la ecuacin de equilibrio esttico del sistema a partir de la ecuacin de cada uno de los elementos.
En la Figura 4.18 se puede ver un sencillo esquema de los pasos que se deben realizar para resolver el problema esttico de la elasticidad (tambin denominada rigidez) de la catenaria, y en el cual, uno de los pasos ms crticos es el de la resolucin de la ecuacin de equilibrio esttico de la catenaria
CAPTULO 4: ESTRUCTURA DE CATENARIAS
79
Figura 4. 18 Esquema de la resolucin del problema esttico de la elasticidad de la catenaria
Ensamblando las matrices de rigidez de los elementos, se obtiene la matriz de rigidez del sistema
K y la condicin de equilibrio esttico, que es un sistema lineal de ecuaciones en el que los coeficientes son los trminos de la matriz de rigidez, las incgnitas son los desplazamientos modales y el trmino independiente son las cargas nodales equivalentes.
K ! q = R (4.11)
donde
q representa el vector de las coordenadas generalizadas del sistema o desplazamientos nodales y
R el vector de las cargas nodales.
La Ecuacin 4.11 representa la condicin de equilibrio esttico del sistema, su resolucin nos proporcionar los valores de las coordenadas generalizadas para la posicin de equilibrio, sin embargo inicialmente la matriz K es singular y el sistema no tiene solucin, para poder resolver el sistema es necesario introducir las condiciones de contorno, que son las coordenadas generalizadas de los apoyos, el sistema se condensa obtenindose un nuevo sistema con la matriz de rigidez condensada, siendo las incgnitas los desplazamientos verticales en los nodos libres.
El proceso puede ser desarrollado como se muestra en la Ecuacin 4.12.
k 11 k 12 k 21 k 22 ! " # $ % & ' q x q c ! " # $ % & = R c R x ! " # $ % & (4.12)
en donde
q x son las coordenadas generalizadas incgnitas y
q c son las coordenadas generalizadas en los apoyos o condiciones de contorno.
R c representa el vector de las CAPTULO 4: ESTRUCTURA DE CATENARIAS
80 cargas nodales equivalentes cuyos valores son conocidos y
R x , representa el vector de las cargas nodales equivalentes en los apoyos cuyos valores son reacciones desconocidas.
La Ecuacin 4.12 puede ser expresada grficamente como muestra la Figura 4.19. Siendo
nl el nmero de nodos libres en el cantn de catenaria,
n el nmero de nodos totales y
na = n ! nl .
Figura 4. 19 Sistema de Catenaria
La Ecuacin 4.12 se expresa tal y como muestra la Ecuacin 4.13:
K 11 q x + k 12 q c = R c K 21 q x + k 22 q c = R x (4.13)
donde la matriz de rigidez condensada
K 11 es no singular, esto nos permite calcular las coordenadas generalizadas incgnitas
q x :
q x = K 11 !1 R c ! K 12 q c [ ]
La resolucin del sistema lineal de la Ecuacin 4.13, nos determinar las posiciones de los nodos, las cuales deben de ser conformes con los resultados obtenidos en el programa de clculo de pndolas desarrollado previamente, teniendo en que cumplirse una condicin de compatibilidad.
Considerando una carga puntual aplicada en un punto del hilo de contacto, se tiene el nuevo vector de cargas nodales
! R , la condicin de equilibrio ser:
K ! q = " R
Resolviendo el sistema resultante, se obtiene la relacin fuerza aplicada- desplazamiento del hilo de contacto, determinndose la rigidez de la catenaria.
Al igual que sucede con los anteriores problemas, los resultados tericos se han de contrastar con los obtenidos en la prctica a partir de un montaje real, midiendo los desplazamientos para un valor de la fuerza puntual aplicada sobre el hilo de contacto.
CAPTULO 4: ESTRUCTURA DE CATENARIAS
81 Se puede observar que para la formacin de la matriz de rigidez
K, se necesita conocer una serie de parmetros algunos de los cuales son en principio desconocidos: tensin horizontal en el sustentador, altura de montaje del brazo atirantado, precarga, peso propio y longitud de las pndolas. La determinacin de estos parmetros requiere un estudio en profundidad de las fuerzas estticas en los cables, todo ello tiene que hacerse necesariamente mediante un programa informtico tal y como se muestra en las referencias [34].
As mismo, el clculo de la longitud de las pndolas resulta fundamental para efectuar el montaje de la lnea.
En principio se pretende que el hilo de contacto presente una determinada configuracin, bien paralela al plano del terreno, bien describiendo un arco de parbola con una flecha preestablecida en el centro, siendo la funcin de la flecha la de compensar la diferencia de rigidez del vano entre el centro y los apoyos.
Para conseguir unas prestaciones adecuadas en la circulacin de las unidades ferroviarias, la fuerza de contacto entre el pantgrafo y la catenaria se ha de mantener lo ms uniforme posible, evitando despegues entre ambas estructuras.
El desarrollo de un modelo matemtico del sistema, puede ser de gran ayuda con objeto de especificar unas condiciones de montaje ptimas en la lnea area de contacto, conocida como catenaria.
La integracin numrica de la ecuacin diferencial de este sistema presenta varios tipos de dificultades, en primer lugar hay que obtener un adecuado modelado, especialmente en lo referente al contacto entre el pantgrafo y la catenaria pues el pantgrafo se desplaza a gran velocidad generando una carga mvil de tipo puntual sobre la lnea, por otro lado se trata de un sistema de ecuaciones diferenciales no lineales con restricciones, no siendo aplicables directamente los mtodos numricos de integracin correspondientes a las ecuaciones ordinarias, existiendo adems otra importante dificultad, debido al gran nmero de variables que aparecen en la formulacin matemtica de las ecuaciones, con los consiguientes requerimientos de memoria y tiempo de computacin.
En este sentido, en esta seccin se presenta un mtodo para el estudio y resolucin del problema de una forma sencilla y eficiente, los resultados de este estudio han servido como base de la presente Tesis para desarrollar un software de altas prestaciones con objeto de efectuar simulaciones para lneas ferroviarias convencionales y de alta velocidad, tal y como se ver en el Captulo 5.
4.7.1 Ecuacin dinmica del sistema
Para el planteamiento de las ecuaciones diferenciales, la catenaria se discretizar empleando el mtodo de elementos finitos. Se tiene que tener en cuenta que CAPTULO 4: ESTRUCTURA DE CATENARIAS
82 para formar la ecuacin dinmica de un sistema discreto, a la ecuacin de equilibrio esttico (matriz de rigidez por el vector de las coordenadas generalizadas) hay que aadirle el trmino correspondiente a las inercias, es decir, la matriz de masas por el vector de las aceleraciones en las CG, as como el trmino correspondiente a la amortiguacin, matriz de amortiguacin por el vector de las velocidades en las CG.
Las ecuaciones diferenciales de un sistema estructural sometido a restricciones, se puede escribir empleando el mtodo de multiplicadores de Lagrange y que se muestra en la Ecuacin 4.14:
M q + C q + Kq = R!" t # "q = S (4.14)
En donde
M es la matriz de masa del sistema,
C es la matriz de amortiguamiento (depende de las caractersticas de los cables),
Kes la matriz de rigidez condensada de la catenaria, que se forma de acuerdo con lo indicado en el tema correspondiente al clculo esttico,
! la matriz de las condiciones de restriccin,
R es el vector termino independientes,
S el vector asociado a las condiciones de restriccin (que en este problema concreto va a equivaler al vector nulo),
q es el vector de coordenadas generalizadas y
! el vector de los multiplicadores de Lagrange que fsicamente equivale al vector de las fuerzas de restriccin.
El conjunto formado por el pantgrafo y la catenaria se puede considerar compuesto por dos subsistemas que interactan entre s, con unas condiciones de restriccin, ya que la pletina de frotamiento del pantgrafo ha de mantener su contacto con el o los cables de la catenaria para recibir el flujo de corriente elctrica. La Ecuacin 4.14 se puede expresar para un instante de tiempo
t n en forma ms compacta, tal y como se muestra en la Ecuacin 4.15.
M 0 0 0 ! " # $ % & ' q n
( n ! " # $ % & + C n 0 0 0 ! " # $ % & ' q n
( n ! " # $ % & + K n ) n t ) n 0 ! " # $ % & ' q n ( n ! " # $ % & = R n 0 ! " # $ % & (4.15)
En el sistema pantgrafo-catenaria, nicamente la matriz de masas permanece constante a lo largo del tiempo, mientras que el resto de trminos puede variar para cada instante
t n de ah que se hayan representado con el subndice
n.
Si existen
g coordenadas generalizadas y
r restricciones, el sistema representado por la Ecuacin 4.15 presenta un total de
g + r ecuaciones con
g + r incgnitas. El nmero de coordenadas generalizadas depende bsicamente de los metros de cable de catenaria que se han supuesto, de la forma en que se ha efectuado la discretizacin de los cables y del nmero y tipo de pantgrafos. Por otra parte, el nmero de condiciones de restriccin depende del nmero y tipo de pantgrafos y de los hilos de contacto, uno o dos, sobre los que interacta el pantgrafo.
Por otro lado, cada uno de los trminos y matrices de la Ecuacin 4.15 se pueden descomponer a su vez en dos trminos, uno correspondiente a la catenaria, representado con el subndice 1, y otro correspondiente al pantgrafo, representado con el subndice 2, resultando la Ecuacin 4.16. CAPTULO 4: ESTRUCTURA DE CATENARIAS
83
q n = q 1n q 2n ! " # $ % & , R n = R 1n R 2n ! " # $ % & , M = M 1 0 0 M 2 ! " # $ % & K n = K 1n 0 0 K 2n ! " # $ % & , C n = C 1n 0 0 C 2n ! " # $ % & (4.16)
4.7.2 Modelado de la catenaria
La lnea area de contacto o catenaria se instala considerando una serie de vanos, normalmente 15 20, constituyendo cada serie un sistema independiente, denominado cantn de seccionamiento, los vanos suelen presentar adems una longitud de unos 60 metros. En los ferrocarriles europeos se pueden considerar bsicamente dos tipos de montajes, el sistema de pndola normal y el sistema de pndola en Y.
En la Figura 4.20 se muestra un vano con el sistema de pndola normal en el que se pueden distinguir tres tipos de cables, el cable sustentador, las pndolas y el hilo de contacto. Tanto el sustentador como el hilo de contacto estn tensados por poleas y contrapesos independientes, situados en los extremos de cada cantn de seccionamiento. La catenaria es pues un sistema continuo que se puede modelar aplicando las tcnicas de anlisis del Mtodo de Elementos Finitos.
Figura 4. 20 Vano de catenaria
En lo que respecta a los cables del sustentador e hilo de contacto, se parte de la ecuacin de Euler-Bernoulli para un cable flexible pretensado en movimiento.
( p/ g) y = !EIy IV + Ty n ! p
siendo
p el peso del cable por unidad de longitud,
g la aceleracin de la gravedad,
y el desplazamiento del cable,
T la tensin mecnica,
I el momento de inercia diametral y
E el mdulo elstico del material.
Los cables se modelan como elementos tipo viga pretensada, con dos coordenadas generalizadas por nodo, una por el desplazamiento y otra por el giro, estando ya explicada la formacin de la matriz de rigidez en otros trabajos del Dr. Jess Benet [35]. Para la matriz de masas de elemento viga pretensada, se ha supuesto una matriz diagonal en donde m es la masa total del elemento y l su longitud, tal y como se puede ver en la Ecuacin 4.17.
CAPTULO 4: ESTRUCTURA DE CATENARIAS
84
m = m 2 1 0 0 0 0 l 2 12 0 0 0 0 1 0 0 0 0 l 2 12 ! " # # # # # $ % & & & & & (4.17)
En el caso particular del sustentador, se puede tambin modelar como elementos tipo cuerda pretensada, considerando la rigidez a flexin mediante resortes de torsin en los nodos, y una nica coordenada, que corresponde al desplazamiento, siendo sta la aproximacin empleada en este apartado.
Las pndolas se comportan como barras de traccin de longitud final
l, estiradas a partir de una longitud inicial
l 0 . En este caso cada nodo presenta una nica coordenada generalizada correspondiente al desplazamiento, y la matriz de masas presenta una forma similar a la Ecuacin 4.17 pero sin considerar los trminos correspondientes al giro.
Hay que decir adems que las pndolas nicamente trabajan a traccin de manera que su efecto en las ecuaciones dinmicas (y su inclusin en la matriz de rigidez y trmino independiente), nicamente se considerar cuando la longitud efectiva, tomada como distancia entre los nodos extremos, sea mayor o igual que la longitud inicial
l 0 .
A parte de los cables, hay que tener en cuenta adems, el efecto del brazo de atirantado. Este elemento es una barra de longitud
l, articulada a la estructura soporte en un extremo y que agarra al hilo de contacto en su extremo opuesto. Su finalidad es fijar al hilo de contacto de manera que describa un zig-zag, con objeto de desgastar de forma uniforme la superficie de frotamiento del pantgrafo, comportndose como un soporte semirgido.
El efecto del brazo sobre la matriz de rigidez y trmino independiente se puede aproximar como equivalente a la fuerza ejercida por un resorte de rigidez
K b sobre el hilo de contacto, de acuerdo con la Ecuacin 4.18.
f b = f m + (y Am ! y A )K b (4.18)
dnde
f b representa la fuerza dinmica ejercida por el brazo,
f m la fuerza esttica de montaje, que es un valor prefijado,
y Am la altura esttica de montaje del punto o nodo de agarre, que es tambin conocida,
y A es la coordenada generalizada asociada al nodo de agarre del brazo y
K b la rigidez aparente, obtenida a partir de la linealizacin de las ecuaciones estticas y que depende tambin de las condiciones de montaje, ver [35].
Cuando el pantgrafo est circulando, la masa
m del brazo oscilar girando un ngulo
! A alrededor de la articulacin, presentando una inercia que habr que tenerse en cuenta al configurar la matriz de masas del sistema, esta inercia ser equivalente a la de una cierta masa
m A situada en el nodo o punto de agarre del hilo de contacto, desplazndose alternativamente una altura
z A = I! A . CAPTULO 4: ESTRUCTURA DE CATENARIAS
85 La masa equivalente
m A se calcular igualando la energa cintica de rotacin del brazo girando alrededor de la articulacin, con la energa cintica de traslacin de la masa
m A oscilando verticalmente, como se muestra en la Figura 4.19.
1 2 I 0
! A 2 = 1 2 m A z A 2 1 2 1 3 ml 2
! A 2 = 1 2 m A l 2
! A 2 , m A = 1 3 m (4.19)
Con todas estas consideraciones, es posible ensamblar las matrices de masas
M 1 , de rigidez
K 1 , as como el trmino independiente
R 1 de la catenaria.
Finalmente falta por explicar la formacin de la matriz de amortiguacin
C 1 . Se consider conveniente suponer una amortiguacin de tipo Rayleigh ([32], [36]), en donde la matriz de amortiguacin de la catenaria, Ecuacin 4.20, es una combinacin lineal de las matrices de masa y de rigidez.
C 1 = !M 1 + "K 1 (4.20)
En este caso se ha supuesto una matriz de rigidez para la catenaria
K 1 constante, con todas las pndolas conectadas y por tanto una matriz de amortiguacin
C 1 tambin constante. Las constantes numricas
! y
!, se determinan a partir de las amortiguaciones supuestas para dos frecuencias significativas de oscilacin del sistema.
4.7.3 Modelado del pantgrafo
El pantgrafo es un sistema articulado cuya finalidad es captar la energa elctrica de la lnea area y transmitirla a la unidad de traccin. Para facilitar su inclusin en las ecuaciones dinmicas se suele modelar como un conjunto de masas, resortes y amortiguadores, sobre los que actan diferentes fuerzas, aunque los valores correspondientes de estos parmetros se pueden obtener mediante ensayo en laboratorio, aplicando tcnicas de anlisis nodal, lo ms habitual es que los fabricantes faciliten directamente estos datos.
En la Figura 4.21 se muestra el modelo de un pantgrafo de una masa de cabeza sobre un hilo de contacto, cada masa lleva asociada una coordenada generalizada correspondiente a su desplazamiento vertical.
Tal como se explicar ms adelante, con objeto de facilitar la integracin de la ecuacin diferencial del sistema, se ha aadido deliberadamente un elemento adicional de masa nula, denominado colector terminal, el cual recibe la fuerza y contacto del cable y est unido a la masa o masas de cabeza mediante un resorte rgido. Fsicamente la rigidez de este resorte representa la rigidez real del contacto hilo-pletina.
De acuerdo con la Figura 4.21, se puede observar que sobre las diferentes masas del pantgrafo pueden actuar fuerzas de diferente naturaleza, aparte de las acciones de los resortes y amortiguadores, aparecen otras fuerzas como la fuerza esttica del pistn CAPTULO 4: ESTRUCTURA DE CATENARIAS
86 neumtico de empuje
f r1 ,
f r2 , etc., fuerzas aerodinmicas
f aer , fuerzas de contacto o de restriccin pantgrafo-catenaria
! 1 , etc.
Figura 4. 21 Pantgrafo sobre un hilo de contacto
La ecuacin dinmica correspondiente al pantgrafo de la Figura 4.21, presentar una matriz de masas diagonal y constante, tal y como muestra la Ecuacin 4.21.
M 2 = m 1 0 0 0 0 m 2 0 0 0 0 m 3 0 0 0 0 0 ! " # # # # $ % & & & & (4.21)
Esta matriz representa un trmino nulo sobre la diagonal, correspondiente al colector terminal.
La matriz de amortiguacin, ser la expresada por la Ecuacin 4.22:
c 2n = c 1 + c 2 !c 2 0 0 !c 2 c 2 + c 3 !c 3 0 0 !c 3 c 3 0 0 0 0 0 " # $ $ $ $ % & ' ' ' ' (4.22)
Esta matriz no es necesariamente constante, pudiendo variar con el tiempo, ya que de acuerdo con los datos suministrados por los fabricantes, algunos valores del coeficiente de amortiguacin pueden alterarse segn las masas se estn acercando o alejando.
La Ecuacin 4.23 representa la matriz de rigidez:
CAPTULO 4: ESTRUCTURA DE CATENARIAS
87
K 2n = k 1 + k 2 !k 2 0 0 !k 2 k 2 + k 3 !k 3 0 0 !k 3 k 3 + k 4 !k 4 0 0 !k 4 k 4 " # $ $ $ $ % & ' ' ' ' (4.23)
Esta matriz de rigidez tampoco es constante ya que los valores de las rigideces pueden variar con la deformacin de los resortes que es en definitiva la distancia relativa entre las masas, pudiendo aparecer topes en el recorrido de las mismas, lo cual equivale a suponer una rigidez muy elevada a partir de una determinada deformacin.
El trmino independiente viene expresado por la Ecuacin 4.24.
R 2n = f r1 f r2 + f est f r2 f est ! 1 " # $ $ $ $ % & ' ' ' ' (4.24)
donde se ha incluido la fuerza de restriccin
! 1 como si fuera una fuerza ms aplicada. En el trmino independiente aparecen diferentes tipos de fuerzas, algunas de las cuales pueden ser constantes, como la fuerza esttica del pistn neumtico de empuje, pero otras pueden variar con el tiempo, como la fuerza aerodinmica
f est , que vara con el cuadrado de la velocidad y las fuerzas de rozamiento
f r , que si bien son constantes en mdulo, varan de sentido segn las masas se estn acercando o alejando.
En una misma unidad ferroviaria pueden existir hasta cuatro pantgrafos, de manera que la estructura presentada en las Ecuaciones 4.21, 4.22, 4.23 y 4.24 para un solo pantgrafo, se repetira segn el nmero de pantgrafos de la unidad.
Finalmente, el esquema representado en la Figura 4.21, hace referencia a un pantgrafo circulando por una lnea con un nico hilo de contacto, sin embargo en la prctica se presenta con frecuencia el caso de una catenaria con dos hilos de contacto independientes, de forma que pndolas consecutivas sujetan a hilos diferentes, de acuerdo con el esquema de la Figura 4.22.
Figura 4. 22 Catenaria con dos hilos de contacto CAPTULO 4: ESTRUCTURA DE CATENARIAS
88 En este caso, aparecen dos fuerzas de restriccin
! 1 y
! 2 , existiendo dos colectores terminales. Para compensar las diferencias de desplazamiento entre los colectores, se ha intercalado un resorte de compensacin de rigidez
K c .
4.7.4 Condiciones de restriccin
De acuerdo con las experiencias realizadas resulta problemtico considerar un contacto puntual entre el pantgrafo y la catenaria, ya que ello equivale a suponer una carga concentrada en movimiento, apareciendo problemas de integracin cada vez que el pantgrafo pasa por un nodo correspondiente a la discretizacin del hilo de contacto.
Para evitar este problema es conveniente suponer un contacto de tipo distribuido, segn una determinada ley o funcin de distribucin, lo que equivale tambin a decir que la fuerza de contacto se reparte sobre la zona de frotamiento del pantgrafo situada en el colector terminal, segn la mencionada ley.
Por conveniencia se supone un sistema de ejes
Oxy que se mueve con el pantgrafo. La variable x representa la posicin de los diferentes puntos del hilo de contacto a lo largo del eje horizontal. En la Figura 4.23 se puede ver como se distribuye la carga sobre la superficie de frotamiento del pantgrafo.
Si l es la longitud de la superficie de frotamiento,
y 4 la coordenada generalizada correspondiente a la posicin vertical del colector terminal del pantgrafo,
y h (x) la posicin del hilo de contacto en el entorno de la superficie de frotamiento del pantgrafo e
y = f (x) la funcin de distribucin del contacto, se cumplir la Ecuacin 4.25.
f (x)(y h (x) ! y 4 )dx !" " # = 0 (4.25)
La Ecuacin 4.25 permite obtener la posicin del colector terminal del pantgrafo
y 4 , como una medida ponderada de las posiciones de los nodos del hilo de contacto situados sobre la zona de frotamiento.
Figura 4. 23 Funcin de distribucin de carga sobre la superficie frontal del pantgrafo CAPTULO 4: ESTRUCTURA DE CATENARIAS
89 En general es aconsejable que la funcin de ponderacin tenga una forma suave con objeto de facilitar la transicin a travs de los nodos. Se han ensayado varias funciones para habindose obtenido buenos resultados con una funcin polinmica de Hermite definida en la Ecuacin 4.26.
f (x) = ! 32 l 4 x 3 ! 24 l 3 x 2 + 2 l , ! 1 2 " x " 0 f (x) = ! 32 l 4 x 3 ! 24 l 3 x 2 + 2 l , 0 " x " 1 2 f (x) = 0, x " ! 1 2 f (x) = 0, x # 1 2 (4.26)
Cumplindose adems la Ecuacin 4.27.
f (x)dx = 1 !" " # (4.27)
Por otro lado la posicin de los diferentes puntos del hilo de contacto en el entorno del pantgrafo se puede definir a partir de las funciones de interpolacin, las cuales varan para cada elemento de la discretizacin.
Suponiendo un elemento genrico i, situado sobre la zona de frotamiento, sean
N 1 i (u), N 2 i (u), N 3 i (u) y
N 4 i (u) las funciones de interpolacin para el elemento tipo viga prensada (ver [32]).
Sean
y 1 i , ! 1 i , y 2 i , ! 2 i las coordenadas de los nodos del elemento. La posicin genrica de un punto del hilo de contacto del elemento
i situado sobre la superficie de frotamiento vendr dado por la Ecuacin 4.28.
y n = N 1 i (u)y 1 i + N 2 i (u)! 1 i + N 3 i (u)y 2 i + N 4 i (u)! 2 i (4.28)
La variable
u representa la posicin relativa de un punto arbitrario del hilo de contacto en el elemento
i . Si
x i es la posicin horizontal del nodo de la izquierda, de acuerdo con la Figura 4.23:
u = x ! x i
Con lo cual, la Ecuacin 4.28 se puede expresar tambin en funcin de x:
y n (x) = N 1 i (x ! x i )y 1 i + N 2 i (x ! x i )" 1 i + N 3 i (x ! x i )y 2 i + N 4 i (x ! x i )" 2 i
La Ecuacin 4.25 relativa a la condicin de restriccin, particularizada para un instante de tiempo
t n , teniendo en cuenta que la integracin ha de extenderse a los
m elementos situados sobre la superficie de frotamiento, resulta la Ecuacin 4.29.
CAPTULO 4: ESTRUCTURA DE CATENARIAS
90
y 4n = f (x)y h (x)dx = !" " # f (x) N 1 i (x)y 1 i + N 2 i (x)$ 1 i + N 3 i (x)y 2 i + N 4 i (x)$ 2 i ( ) i=1 m % & ' ( ) * + dx = !" " # , - n q 1n (4.29)
La Ecuacin 4.29 equivale a decir que la posicin del colector terminal del pantgrafo es una media ponderada de las coordenadas generalizadas de los nodos del hilo de contacto situados sobre la superficie de frotamiento. Los coeficientes de ponderacin son los trminos no nulos del vector fila
! " n . La ecuacin 4.29 se puede expresar tambin:
! " n q 1n # y 4n = 0
! n q n = 0 (4.30)
La Ecuacin 4.30 ha de repetirse para todas las condiciones de restriccin del sistema, de manera que el vector
! n se transforma en la matriz de las condiciones de restriccin.
El nmero de condiciones de restriccin depende de varias consideraciones, una de ellas es el tipo de pantgrafo, si existen una o dos masas de cabeza, otra sera el nmero de hilos de contacto o del nmero de pantgrafos, de manera que si hay un total de
r condiciones de restriccin y
g coordenadas generalizadas, la matriz
! n ser de
rxg dimensiones.
4.7.5 Integracin de la ecuacin
Se han ensayado los procedimientos numricos de integracin ms usuales de la mecnica estructural para resolver el sistema de ecuaciones representado en la Ecuacin 4.15, habindose obtenido buenos resultados con el mtodo explcito de integracin de las diferenciales centrales, para ello se han aproximado los vectores velocidad y aceleracin de las coordenadas generalizadas a la Ecuacin 4.31.
q n = 1 2!t q n+1 " q n"1 ( ) q n = 1 2!t 2 q n+1 " 2q n + q n"1 ( ) (4.31)
Sustituyendo la Ecuacin 4.31 en la Ecuacin 4.15, se obtiene:
1 !t 2 M + 1 2!t C n " # $ % q n+1 = R n & K n q n & ' ( n ) n + 1 !t 2 M 2q n & q n&1 ( ) + 1 2!t C n q n&1 (4.32)
La Ecuacin 4.32 permite obtener las coordenadas generalizadas
q n+1 , en el instante
t n+1 , pero sin embargo no sirve para conocer el vector de las fuerzas generalizadas
! n+1 en ese mismo instante. Adems otro importante inconveniente que presenta es que para determinar
q n+1 hay que resolver un sistema lineal de ecuaciones, al ser la matriz de amortiguacin
C n no diagonal. CAPTULO 4: ESTRUCTURA DE CATENARIAS
91 Hay que sealar que una de las principales ventajas de los mtodos explcitos es poder obtener las variables de integracin directamente mediante operaciones matriciales sencillas, sin necesidad de resolver un sistema de gran nmero de ecuaciones, esto podra ser posible en el presente caso, si se hubiese supuesto una matriz de amortiguacin diagonal para la catenaria, o si se hubiese despreciado la amortiguacin.
Aunque las opciones comentadas, podran ser legitimas, se ha preferido, por estimar que es mas realista, trabajar con una amortiguacin de tipo Rayleigh, de acuerdo con la Ecuacin 4.20 y modificar en medio paso el vector velocidad, en la Ecuacin 4.15, lo que permitir, como se muestra en la Ecuacin 4.33, obtener las variables de integracin de forma directa.
M 0 0 0 ! " # $ % & ' q n
( n ! " # $ % & + C n 0 0 0 ! " # $ % & ' q n)1 2
( n)1 2 ! " # $ % & + K n * n t * n 0 ! " # $ % & ' q n ( n ! " # $ % & = ' R n 0 ! " # $ % & (4.33)
Esta modificacin introduce un pequeo error, ver [32], que es perfectamente despreciable para sistemas estructurales con amortiguacin bajo, lo que se entiende que ocurre en el problema objeto de estudio.
Aproximando los vectores velocidad y aceleracin se obtienen las expresiones mostradas en la Ecuacin 4.34.
Sustituyendo en la Ecuacin 4.33 y resolviendo para el vector coordenadas generalizadas
q n+1 , teniendo en cuenta que la matriz de masas
M es diagonal, obtenemos la Ecuacin 4.35.
1 !t 2 Mq n+1 = R n " K n q n " # $ n % n + 1 !t 2 M q n " !t q n"1 2 ( ) " C n q n"1 2 (4.35)
La Ecuacin 4.35 permite determinar el vector de las coordenadas generalizadas
q n+1 de forma directa. Sin embargo, todava aparecen algunos aspectos sin resolver, ya que el vector de fuerzas generalizadas
! n+1 sigue sin conocerse y la Ecuacin 4.35 tampoco sirve para determinar la coordenada del colector terminal del extremo del pantgrafo
(y 4 ) n+1 , ya que su masa es nula, careciendo de sentido esta ecuacin para su clculo. Sin embargo estos dos problemas pueden resolverse tambin de forma sencilla, como la Ecuacin 4.35 permite conocer el vector de coordenadas generalizadas de la catenaria
(q 1 ) n+1 en el instante
t n+1 es posible determinar
(y 4 ) n+1 aplicando la Ecuacin 4.29 en
t n+1 obteniendo as la Ecuacin 4.36.
(y 4 ) n+1 = ! " n+1 (q 1 ) n+1 (4.36)
CAPTULO 4: ESTRUCTURA DE CATENARIAS
92 La Ecuacin 4.35 tambin permite conocer la coordenada de la masa de cabeza del pantgrafo
(y 3 ) n+1 , de manera que la fuerza de restriccin pantgrafo-catenaria es la fuerza sobre el resorte del colector terminal, cuya rigidez es
Las Ecuaciones 4.36 y 4.37 hay que repetirlas para todos los colectores terminales de los pantgrafos, obteniendo el vector de las fuerzas de restriccin
! n+1 . En el caso de dos hilos de contacto, suponiendo una disposicin en la cabeza del pantgrafo como la mostrada en la Figura 4.22, si
K 4 y
K 5 representan las rigideces de los colectores terminales, y
K c es la rigidez del resorte de compensacin, la fuerza de contacto ser la definida por la Ecuacin 4.38.
(! 1 ) n+1 = K 4 y 4 ( ) n+1 " y 3 ( ) n+1 [ ] + K c y 4 ( ) n+1 " y 5 ( ) n+1 [ ] (! 2 ) n+1 = K 5 y 5 ( ) n+1 " y 3 ( ) n+1 [ ] + K c y 5 ( ) n+1 " y 4 ( ) n+1 [ ] (4.38)
Completndose el ciclo de integracin. Para inicializar el algoritmo se han determinado los valores de las coordenadas generalizadas y fuerzas de restriccin en el instante inicial, resolviendo el sistema lineal de la Ecuacin 4.39.
As mismo, en lo que respecta a las velocidades de las coordenadas generalizadas, se ha supuesto para el instante inicial la Ecuacin 4.40.
q 0 = 0 (4.40)
El procedimiento de integracin expuesto, basado en el mtodo explcito de las diferencias centrales, permite obtener las variables efectuando operaciones sencillas, mediante las Ecuaciones 4.35, 4.36 y 4.37 4.38, sin necesidad de resolver ningn sistema de ecuaciones, tratndose las no linealidades de forma directa al poder actualizarse los diferentes trminos variables: matrices de rigidez, de amortiguacin y trmino independiente al final de cada ciclo de integracin, quedando preparados para el siguiente ciclo. Sin embargo, como desventaja, al tratarse de un procedimiento de integracin explcito, resulta condicionalmente estable, de forma que el paso de integracin
!t ha de ser siempre inferior a un determinado valor crtico, por encima del cual el algoritmo degenera, esto adems puede ser especialmente delicado al tratarse de un problema no lineal, sin embargo, de acuerdo con las experiencias realizadas, las ventajas del procedimiento expuesto superan a los inconvenientes.
4.7.6 Algoritmo de integracin
Segn lo explicado en apartados anteriores, el algoritmo de integracin queda estructurado de la siguiente manera: CAPTULO 4: ESTRUCTURA DE CATENARIAS
93
! Introduccin de los datos de montaje. Caractersticas de los cables sustentador e hilo de contacto: peso, material, seccin, tensin mecnica, nmero de hilos de contacto, etc. Caractersticas de las pndolas: longitudes, peso, precarga (si bien estos datos hay que calcularlos previamente en el estudio de las fuerzas estticas), posicionamiento de las pndolas, etc. Caractersticas geomtricas de los vanos: longitudes, alturas, etc. As mismo hay que considerar tambin los datos referentes al pantgrafo o pantgrafos: nmero de pantgrafos, fuerzas, masas, rigideces, amortiguaciones, etc. ! Formacin de la matriz de rigidez
K 0 y del trmino independiente
R 0 en el instante inicial, de acuerdo con el modelado supuesto para los cables y pantgrafo. ! Formacin de la matriz de las condiciones de restriccin en el instante inicial
! 0 . ! Formacin de la matriz de masas
M. ! Formacin de la matriz de amortiguacin inicial del sistema
C 0 , empleando la Ecuacin 4.20 para la matriz de amortiguacin de la catenaria. ! Establecimiento de las coordenadas generalizadas y fuerzas de restriccin iniciales, resolviendo el sistema lineal 4.39 y anulando las velocidades, de acuerdo con 4.40. ! Ciclo de integracin de las ecuaciones diferenciales en el tiempo
n = 0,1,2, o Clculo de las coordenadas generalizadas de la catenaria y pantgrafo
q n+1 , en el instante
t n+1 , empleando la Ecuacin 4.35. o Clculo de la posicin del colector,
(y 4 ) n+1 o colectores terminales del pantgrafo,
(y 4 ) n+1 y
(y 5 ) n+1 mediante la Ecuacin 4.36. o Clculo de la fuerza
(! 1 ) n+1 o fuerzas de restriccin pantgrafo- catenarias,
(! 1 ) n+1 y
(! 2 ) n+1 , mediante las Ecuaciones 4.37 o 4.38. o Actualizacin de las diferentes matrices y trmino independiente para el instante
t n+1 , contemplndose: la desconexin de pndolas, distancias relativas entre las masas de los pantgrafos, velocidades relativas entre las masas de los pantgrafos, despegues, etc. o Tambin se calcular la velocidad en las coordenadas generalizadas mediante la Ecuacin 4.31.
q n+1 2 = 1 !t (q n+1 " q n ) (4.41)
o Modificacin del subndice de las variables y trminos de la ecuacin diferencial segn el ciclo de integracin: del subndice
n +1 del ciclo actual, al
n, volviendo al punto
a), en el caso de que el desplazamiento horizontal del pantgrafo alcance un cierto valor establecido inicialmente, final del programa.
Tal y como se coment todos estos procedimientos expuestos en los anteriores apartados han servido de base para el desarrollo de un programa informtico que permite simular por una parte el problema esttico de la elasticidad de la catenaria y por otra el comportamiento dinmico del sistema pantgrafo-catenaria, tal y como se ver en el Captulo 5.
CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
95 CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES PARA EL MODELADO DE SISTEMAS DE CATENARIAS
5.1. SOFTWARE DE ALTA CALIDAD
El objetivo de esta seccin es dar una idea general de las caractersticas de los algoritmos de altas prestaciones que se han seguido a la hora de implementar nuestros algoritmos.
Para obtener un algoritmo de altas prestaciones que genere un software numrico de alta calidad se han de seguir unos pasos en el desarrollo del mismo [14]. Estos pasos son:
1. Estudio exhaustivo del problema a tratar. 2. Transformacin del problema en un modelo matemtico apropiado. 3. Desarrollar o encontrar un mtodo que resuelva el modelo matemtico anterior. Este mtodo se denominar mtodo numricamente efectivo. Puede ser un mtodo determinado o bien una combinacin de varios. 4. Implementar el mtodo elegido en el paso anterior construyendo as un programa informtico que resuelva el problema inicial a tratar.
Sin embargo, el programa obtenido al finalizar el paso 4 debe refinarse para que tenga en cuenta las caractersticas de la arquitectura subyacente mejorando as las prestaciones del mismo. As pues, a esta secuencia de pasos se le debe aadir uno nuevo que se encargar de optimizar el programa obtenido en uno equivalente de altas prestaciones. Por lo tanto, la secuencia de pasos lgica de conversin de un problema de ciencia e ingeniera a un programa numricamente efectivo se puede observar en la Figura 5.1.
Los programas ptimamente implementados en esta seccin entran dentro de los tres ltimos puntos de la Figura 5.1, que han sido obtenidos a partir del modelo matemtico proporcionado por los estudios realizados del Dr. Jess Benet.
Se podra resumir que, una vez obtenido el programa que implementa el problema que se tiene que resolver, se deben realizar las transformaciones necesarias para obtener un software con unas prestaciones adecuadas o, lo que es lo mismo, un programa de alta calidad. En general se puede decir que un programa es de alta calidad cuando cumple las siguientes caractersticas:
! Potencia y Flexibilidad. El algoritmo debe ser capaz de resolver mltiples variaciones del programa, as como problemas muy relacionados con el original. Deber poder trabajar con distintos datos de entrada obteniendo distintas salidas en funcin de stos. ! Facilidad de lectura y modificacin. Todo software que se precie de tener un mnimo de calidad, debe incluir una documentacin detallada sobre ste. Esta documentacin debe ser simple y entendible por cualquier persona que vaya a utilizar dicho software, aunque no sea tcnica. Esta documentacin, junto con CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
96 una estructuracin correcta del cdigo, debe permitir realizar el mantenimiento del propio software y las modificaciones que sean necesarias de forma fcil. ! Portabilidad. Hoy en da, existen una infinidad de plataformas hardware que no deben ser un impedimento para que el software desarrollado en unas no pueda ejecutarse en otras. Por tanto los algoritmos aqu desarrollados debern poder ejecutarse en las distintas plataformas existentes bien sin cambios o con un mnimo de estos. ! Robustez. Los algoritmos aqu desarrollados, deben ser robustos frente a errores que puedan surgir durante su ejecucin o errores introducidos en los datos de entrada, evitando a toda costa que acaben de forma inesperada o incorrecta. ! Basado en un algoritmo numricamente efectivo. El algoritmo utilizado que resuelva el modelo matemtico de nuestro problema debe ser correcto, completo y robusto par el problema a tratar y adems tener unas propiedades numricas atractivas. En el caso particular de algoritmos matriciales, como es este caso, un algoritmo es numricamente efectivo si tiene las siguientes propiedades: o Propsito general: el algoritmo debe de funcionar para una amplia variedad de matrices. o Confiable: el algoritmo debe informar adecuadamente, si por ejemplo, no puede alcanzar el criterio de convergencia indicado. o Estable: los errores de redondeo que se produzcan en el algoritmo, no deben sobrepasar en ningn caso los errores asociados al problema original. o Eficiente: este factor vendr medido por el tiempo de computacin necesario del algoritmo. o Ahorro del espacio de memoria: este factor vendr medido por el tamao total de memoria necesario para almacenar las matrices. Realizando una implementacin adecuada, usando por ejemplo formatos adecuados para matrices dispersas, es posible reducir considerablemente este espacio.
Figura 5. 1 Secuencia de pasos en la obtencin de un algoritmo de altas prestaciones CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
97 Las anteriores caractersticas de un software de calidad se han considerado en todos los desarrollos de esta Tesis. As pues, como ya se ha comentado anteriormente las implementaciones consideran diferentes tipos de catenaria, diferentes tipos de pendolado, etc, proporcionando gran potencia y flexibilidad a las implementaciones. Adems, se ha cuidado la informacin incluida en el cdigo de cara a su mantenimiento lo que hace fcil su lectura y modificacin. Por otro lado, el haber utilizado libreras estndares proporionada gran portabilidad al cdigo, as como robustez, reforzada por el tratamiento de los errores realizada a lo largo del desarrollo. Finalmente, el considerar las caractersticas particulares de las estructuras de datos, as como los mtodos apropiados para su tratamiento y resolucin del problema, benefician en gran medida a la reduccin tanto del tiempo de ejecucin como de los requerimientos de memoria.
Como se coment en el Captulo 3, para la implementacin ptima de los algoritmos se han empleado tcnicas de almacenamiento para matrices dispersas (COO y CSR) y, en lo concerniente a la resolucin de la ecuacin de equilibrio se ha procedido a usar mtodos iterativos (GMRES, CG,...) con precondicionado (ILU(0)). Estos mtodos, junto con los formatos dispersos de almacenamiento de matrices se encuentran en la librera software SPARSKIT.
Todas estas tcnicas empleadas, hacen posible que se hayan podido obtener unos algoritmos de alta calidad que resuelven de forma eficiente los problemas que a continuacin se van a detallar.
5.2. PROBLEMA DE LA ELASTICIDAD
Como ya se ha mencionado en Captulos anteriores, el transporte ha ido evolucionando, teniendo trenes de alta velocidad que circulan a ms de 300 Km/hora. Estas velocidades no se pueden conseguir si no se le proporciona al tren una energa constante, para lo cual se debe realizar un diseo ptimo de la interaccin pantgrafo- catenaria [37], garantizando un correcto emplazamiento de la catenaria, con el hilo de contacto paralelo al suelo, de esta forma el pantgrafo puede obtener la energa de la lnea area, al mantenerse un contacto continuo entre ambos. Por ello es tan importante establecer un modelo preciso de la estructura de la catenaria, de la forma ms ptima posible y determinar la denominada elasticidad de la catenaria.
La elasticidad de una catenaria se define como la elevacin que experimenta la catenaria cuando se le aplica una fuerza vertical hacia arriba.
Conviene recordar que la catenaria ideal presenta una flexibilidad constante en todos los puntos. De esta forma, la fuerza de contacto entre la catenaria y el pantgrafo resultara mucho ms homognea obtenindose una mejor captacin de energa y un menor desgaste en la catenaria.
El problema esttico de la elasticidad nos da una estimacin del montaje ideal de la catenaria, que servir como introduccin al problema dinmico [37].
En esta Tesis existen dos tipos de libreras implementadas, una para la resolucin del problema esttico de la elasticidad con vanos iguales y otra con vanos CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
98 desiguales. La filosofa aplicada en la resolucin de dicho problema es el mismo en ambos casos, por tanto no haremos distincin entre ambos. El problema de la elasticidad con vanos iguales se podra considerar como un caso particular de vanos desiguales, la diferencia principal es la estructura de datos utilizada, consiguiendo as una reduccin de memoria al emplear los algoritmos implementados de vanos iguales en lugar de vanos desiguales.
Para el problema esttico de la elasticidad, con vanos desiguales, se han implementado cuatro algoritmos, de los cuales dos son con pendolado normal y los otros dos con pendolado en Y. La nomenclatura es la siguiente:
CEP N Y C A VD
donde CEP hace referencia al Clculo Esttico de Pendolado, N indicar que es con pendolado normal e Y con pendolado en Y. C indica que es con pendolado continuo y A con pendolado alterno. Por ltimo VD significa que se trata de algoritmos con vanos desiguales. Siguiendo esta nomenglatura se obtienen los ocho algoritmos implementados para el clculo elstico de un cantn de catenaria con vanos desiguales.
Por tanto, los cuatro algoritmos implementados para la resolucin del problema esttico de la elasticidad de la catenaria con vanos desiguales y con pendolado normal seran:
! CEPNCVD: considerando el desplazamiento en los nodos, carga desplazndose, vanos desiguales y pendolado normal-continuo. ! CEPNAVD: considerando el desplazamiento en los nodos, carga desplazndose, vanos desiguales y pendolado normal-alternativo.
Por otra parte se tiene los otros cuatro algoritmos implementados para la resolucin del problema esttico de la elasticidad de la catenaria con vanos desiguales y cuando se trata un pendolado en Y:
! CEPYCVD: considerando el desplazamiento en los nodos, carga desplazndose, vanos desiguales y pendolado en Y-continuo. ! CEPYAVD: considerando el desplazamiento en los nodos, carga desplazndose, vanos desiguales y pendolado en Y-alternativo.
Para el problema esttico de la elasticidad, con vanos iguales, se han implementado cuatro algoritmos, de los cuales dos son con pendolado normal y los otros dos con pendolado en Y.
La nomenclatura utilizada es la siguiente:
CEP N Y C A VI
CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
99 Como se puede observar, la nomenclatura utilizada es la misma que para vanos desiguales, lo nico que cambia es que al tratarse de vanos iguales, el nombre de los algoritmos terminar en VI.
As pues, los dos algoritmos implementados para la resolucin del problema esttico de la elasticidad de la catenaria con vanos iguales y con pendolado normal son:
! CEPNCVI: considerando el desplazamiento en los nodos del sustentador y el desplazamiento y giro en los nodos del hilo de contacto, carga desplazndose, vanos iguales y pendolado continuo. ! CEPNAVI: considerando el desplazamiento en los nodos del sustentador y el desplazamiento y giro en los nodos del hilo de contacto, carga desplazndose, vanos iguales y pendolado alternativo.
Los otros dos algoritmos implementados para la resolucin del problema esttico de la elasticidad de la catenaria con vanos iguales y con pendolado en Y son:
! CEPYCVI: considerando el desplazamiento en los nodos del sustentador, desplazamiento y giro de los nodos del hilo de contacto, carga desplazndose, vanos iguales y pendolado continuo. ! CEPYAVI: considerando el desplazamiento en los nodos del sustentador, desplazamiento y giro de los nodos del hilo de contacto, carga desplazndose, vanos iguales y pendolado alternativo.
Se ha utilizado el entorno de Microsoft Visual C++ para crear dos libreras, CECCAT (Clculo Elstico de un Cantn de CATenaria) que integra los algoritmos anteriormente descritos de vanos desiguales y CECCATI (Clculo Elstico de un Cantn de CATenaria con vanos Iguales) que integra los algoritmos descritos para el caso de vanos iguales. Estas libreras forman parte de la herramienta CALPE, que ser descrita en el Captulo 6.
Todos estos algoritmos utilizan un conjunto de rutinas de las libreras del lgebra lineal BLAS y SPARSKIT (ambas gratuitas y de libre distribucin) descritas en el Captulo 3.
Como se mencion anteriormente, aunque se han implementado dos conjuntos de algoritmos para resolver el problema esttico de la elasticidad, uno para el caso de vanos iguales y otro para el caso de vanos desiguales, la filosofa seguida es la misma, siendo realmente el caso de vanos iguales un caso concreto del de vanos desiguales. El hecho de haber realizado una diferenciacin entre ambas supone una reduccin de las estructuras empleadas,
Tanto para el caso de vanos iguales como desiguales se podra decir que existen varios mdulos bien diferenciados en todos los algoritmos que se han implementado y que son compartidos por ambos. Estos mdulos son:
! Memoryfun: Contiene funciones para la reserva dinmica de memoria tanto para vectores como para matrices, bien de enteros o bien de nmeros en coma flotante de doble precisin. CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
100 ! Errores: Este mdulo contiene una funcin que gestiona los errores que se producen en tiempo de ejecucin, imprimiendo un mensaje con el tipo de error: parmetros errneos, divisin por 0, reserva de memoria,... ! Funciones_est: mdulo que contiene las rutinas necesarias para la resolucin del problema esttico ! Solver: Mdulo que contiene el conjunto de instrucciones y llamadas a rutinas necesarios para resolver el sistema lineal de ecuaciones. Este mdulo hace uso de las funciones incluidas en el mdulo Procedimientos, en particular de las rutinas especficas para reolver sistemas lineales de ecuaciones y de las rutinas para realizar un precondicionado previo de la matriz que interviene en el sistema lineal que hay que resolver. ! Procedimientos: Este mdulo contiene todas las rutinas pertenecientes a las libreras de BLAS y SPARSKIT. ! Principal: Mdulo principal de los algoritmos implementados.
Todas las funciones de estos mdulos estn implementadas en ANSI C, excepto las funciones contenidas en el mdulo Procedimientos que se encuentran en FORTRAN.
En la Figura 5.2 se muestra la distribucin de los anteriores mdulos, as como la comunicacin entre estos, a travs de un Diagrama de Componentes puesto que los componentes representan todos los tipos de elementos software que entran en la fabricacin de aplicaciones informticas, en este caso cada componente estara estereotipado como File ya que representa un documento que contiene cdigo fuente.
Figura 5. 2 Distribucin y comunicacin de los mdulos utilizados en la implementacin para resolver el problema de la elasticidad
A continuacin se procede a detallar cada uno de estos mdulos para poder tener una visin ms concreta del contenido de los mismos.
CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
101 5.2.1 Mdulo para la reserva dinmica de memoria
La finalidad del mdulo memoryfun es cubrir las necesidades de reserva y liberacin de memoria de forma dinmica para las distintas estructuras de datos necesarias en la resolucin de la ecuacin de equilibrio esttico del sistema.
Para la reserva dinmica de memoria se utilizar un malloc de C (definido en el estndar ANSI C).
Es importante tener en cuenta que cuando se termine de utilizar la estructura de datos debe liberarse la memoria reservada con un free (tambin definido en el estndar ANSI C). Para ello, cada uno de los algoritmos implementados llamar a su correspondiente funcin liberar_memoria, pues cada algoritmo tiene su propia estructura de datos dinmica, y esto supone que las funciones para liberar memoria no tengan el mismo nmero ni tipo de parmetros, haciendo necesario el implementar una funcin de liberar memoria para cada algoritmo de acuerdo a su estructura de datos.
5.2.2 Errores
Este mdulo contiene una funcin que gestiona el tratamiento de los errores producidos durante la ejecucin del los algoritmos, imprimiendo un mensaje de error con el siguiente formato:
Comentario: nmero de comentario. Modulo: nombre mdulo donde se produce el error. Funcin: nombre de la funcin donde se produce el error. Descripcin: tipo de error producido.
Los tipos de errores que se tratan son los siguientes:
1. Error en parmetros de llamada a las funciones. 2. Divisin por cero. 3. Otros. 4. Apertura o cierre de ficheros. 5. Reserva de memoria. 6. Distancia final mayor que la longitud del vano. 7. Error en la convergencia del solver.
Cuando se produce un error se llama a la rutina del mdulo Errores para que muestre el tipo de error producido, pero es dentro del propio algoritmo donde se produjo el error, donde se va a proceder a liberar la memoria que hasta el momento haya sido reservada y tambin de terminar la ejecucin del mismo.
5.2.3 Funciones_Est
En este mdulo se implementa la funcionalidad de los ncleos computacionales encargados de la generacin, modificacin y condensacin de la matriz de rigidez y de la resolucin de la ecuacin de equilibrio esttico del sistema. CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
102
Estas son las funciones que componen este mdulo:
! genmat: Se encarga de la generacin de la matriz de rigidez (de ah su nombre: GENeracin MATriz) en formato COO para el caso general. La eleccin del formato COO fue debida a la facilidad del mismo para introducir cada elemento y posteriormente recuperar y modificar con facilidad siguiendo un patrn regular de almacenamiento. Para introducir los valores no nulos se tiene en cuenta para cada nodo o coordenada generalizada libre (CG) la fuerza ejercida sobre s mismo, sobre el nodo o CG anterior y sobre el nodo o CG posterior y teniendo en cuenta la carga del sustentador o del hilo de contacto en cada caso, segn el nodo que se est considerando. Esto har que la matriz de rigidez adopte una estructura prcticamente tridiagonal. ! apoyomat: Funcin que considera la rigidez en el apoyo con variacin de la tensin en ambos lados, introduciendo nuevos elementos en la matriz de rigidez. ! AccesoMatrizK: Funcin que se utiliza para el acceso a los elementos de la matriz de rigidez. La matriz de rigidez formada, no tendr en todas las filas el mismo nmero de elementos, lo cual la hace un tanto irregular. Esta estructura irregular se debe a que cuando se introducen los elementos en la matriz de rigidez por cada nodo del hilo sustentador se almacenan tres elementos, pero por cada nodo del hilo de contacto se almacenarn seis elementos. Adems hay que tener en cuenta que despus de introducir los elementos del hilo sustentador y del hilo de contacto, se introducen los elementos relativos a las restricciones. Para evitar esa estructura irregular, se han introducido elementos nulos que harn que la matriz tenga una estructura ms regular y permita utilizar esta funcin para el acceso a los diferentes elementos. Con esta funcin se obtendr el ndice del primer elemento de la fila indicada. A partir de ah, ya se podr acceder a dicha fila sin ningn problema. ! empalmat: Procedimiento que modifica la matriz de rigidez por el efecto de los empalmes y pesos centrales. En este caso se modificarn algunos de los elementos ya introducidos anteriormente y se introducirn algunos nuevos, en el falso sustentador, por tanto esta funcin es utilizada nicamente cuando la estructura de la catenaria tiene pendolado en Y. Tambin se modificarn los elementos necesarios del trmino independiente. ! brazoaislante: Procedimiento que modifica la matriz de rigidez y el trmino independiente para introducir la fuerza ascensional ejercida por el brazo, rigidez del brazo del pantgrafo y aislantes en la matriz de rigidez. En este caso no se insertarn nuevos valores en la matriz sino que solamente se modificarn los ya existentes. ! penmat: Se encarga de incluir en la matriz de rigidez, generada previamente con genmat, el efecto producido por las pndolas. Para ello modifica algunos de los elementos de la matriz de rigidez (los afectados por las pndolas) e introduce algunos nuevos, tanto en los elementos del hilo sustentador como del hilo de contacto. Tambin modifica los trminos independientes. ! restric: Incluye en la matriz de rigidez las condiciones de restriccin entre los hilos de contacto en caso de que exista fuerza ascendente. Para ello inserta nuevos elementos en dicha matriz. Esta funcin slo existe en los algoritmos en los que se consideran 2 hilos de contacto con pendolado alternativo.
CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
103 5.2.4 Solver
El mdulo Solver consta de una nica rutina, denominada solver. En esta rutina se prepara la estructura de datos necesaria para realizar la llamada a la funcin que resuelve el sistema lineal de ecuaciones. Debido a la importancia de esta rutina se ha considerado aislarla del resto.
Como se dijo en el Captulo 3, la librera SPARSKIT contiene un conjunto de solvers iterativos que resuelven el sistema lineal de ecuaciones, y que se usan en esta Tesis para poder encontrar la condicin de equilibrio esttico del sistema.
La rutina solver, implementada en esta Tesis, est parametrizada para poder llamar a cada uno de los solvers iterativos que se encuentran en el mdulo ITSOL, pero se hace uso nicamente del mtodo generalizado del mnimo residuo (GMRES). El hecho de haber elegido este mtodo entre todos los que presenta el mdulo ITSOL, es porque, segn se argument en el Captulo 2, GMRES es un mtodo muy til cuando se trabaja con matrices dispersas y no simtricas, y de hecho, al realizar pruebas con todos los mtodos, se concreto que era el que ms rpidamente obtena la convergencia al resolver la ecuacin de equilibrio esttico del sistema.
En el Captulo 2 tambin se coment que la convergencia al utilizar mtodos iterativos depende, en gran medida, de la forma de la matriz, en este caso llamada matriz de rigidez. Es por este motivo, por el cual, antes de usar el solver para resolver el sistema lineal de ecuaciones, se utiliza un mtodo de precondicionado, cuya caracterstica principal es que mejora la convergencia de los mtodos iterativos [13]. Como consecuencia, se reduce el nmero de iteraciones resultantes y por tanto tambin el tiempo de ejecucin.
La tcnica de precondicionado consiste, por tano, en reemplazar el sistema original que se muestra en la Ecuacin 5.1, por otro sistema con idntica solucin pero con menor influencia de la matriz de rigidez
K.
K * y = r (5.1)
Para que la matriz
K tenga menos influencia en la convergencia del mtodo iterativo utilizado, se usar una matriz de precondicionado
M !1 , siendo
M una aproximacin a la matriz
K, tal y como se muestra en la Ecuacin 5.2.
M !1 *K * y = M !1 * r (5.2)
Esto sugiere que
M !1 debe ser una matriz cercana a
K, en vista de que el coste computacional de obtener la matriz
M no sea muy elevado. Por otra parte,
M debe de ser fcilmente invertible para poder realizar el correspondiente producto matriz-vector, sin aadir un excesivo coste.
Dependiendo de donde aparezca la matriz
M !1 en la Ecuacin 5.1, habr tres formas de realizar el precondicionado: precondicionado por la izquierda, que es el que aparece en la Ecuacin 5.2, precondicionado por la derecha o precondicionado en ambos lados.
CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
104 En las implementaciones realizadas en esta Tesis, se ha usado el precondicionado ILU(0), que se obtiene de aproximar
K a travs de una factorizacin LU incompleta.
K = LU ! ILU(0) = M
De esta forma se obteniene las mismas entradas nulas en las matrices triangulares inferior (L) y superior (U), tal y como se ve en la Ecuacin 5.3.
m ij = 0 si K ij = 0 {K ! LU} ij = 0 si K ij " 0 (5.3)
La Ecuacin 5.3 viene a significar que los elementos nulos en la matriz
K son tambin elementos nulos en las matrices L y U, de esta forma el coste computacional no se ver incrementado.
La rutina de precondicionado ILU(0) est tambin disponible en la librera SPARSKIT.
En ste mdulo, adems de preparar el conjunto de datos necesarios, tanto para la llamada al precondicionado como al propio solver, permite tambin obtener informacin sobre cada solver tal como el nmero de iteraciones empleadas, el error absoluto cometido, el tiempo real empleado para dar con la solucin o la norma para el vector diferencia del trmino independiente original y el calculado a partir de la solucin devuelta por el solver.
5.2.5 Procedimientos
Este mdulo contiene diversas rutinas escritas en FORTRAN, tanto de la librera SPARSKIT como de BLAS descritas en el Captulo 3 y cuya funcionalidad se resume a continuacin.
! blassm.f: contiene diversas rutinas de la librera SPARSKIT para operacin entre matrices dispersas: A*B, A+B, A+s*B, ! daxpy.f: rutina de BLAS para suma de vectores. ! ddot.f: rutina de BLAS para el producto de vectores ! dnrm2.f: rutina de BLAS que devuelve la norma eucldea de un vector. ! formats.f: contiene diversas rutinas de la librera SPARSKIT para pasar una matriz que est almacenada en un formato en otro formato. Por ejemplo, coocsr pasa de formato coordenado a formato comprimido por filas. ! iters.f: rutinas de SPARSKIT que contiene mtodos iterativos para resolucin de sistemas de ecuaciones. ! ilut.f: rutinas de SPARSKIT que contiene mtodos de precondicionado. ! matvec.f: rutinas de SPARSKIT para operaciones bsicas como multiplicaciones matriz-vector y para resolucin e sistemas triangulares. ! unary.f: es el mdulo de subrutinas, para realizar operaciones con una nica matriz dispersa, de la librera SPARSKIT.
CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
105 5.2.6 Principal
Como se dijo anteriormente, se han implementado un conjunto de algoritmos para la resolucin del problema de la elasticidad de la catenaria tanto con vanos iguales como con vanos desiguales. El mdulo Principal va a contener los pasos bsicos que se realizan dentro de cada uno de los algoritmos.
Estos pasos bsicos se podran descomponer en cuatro mdulos: ! Mdulo I: Este primer mdulo ser el encargado de la apertura de los ficheros tanto de entrada como la de salida, lectura de datos, reserva de memoria y creacin de estructuras de datos auxiliares que sern necesarias a lo largo del algoritmo. ! Mdulo II: El segundo mdulo est asociado a la generacin y modificacin de la matriz de rigidez del sistema y a la obtencin del trmino independiente. ! Mdulo III: Este mdulo est asociado a la resolucin de la ecuacin de equilibrio esttico del sistema. ! Mdulo IV: El cuarto mdulo resolver el problema de la elasticidad. En los apartados siguientes se estudiar cada uno de estos mdulos en detalle.
5.2.6.1 Mdulo I
Este mdulo est asociado a la lectura de datos, reserva de memoria y creacin de estructuras de datos auxiliares.
Lo primero que se hace en este mdulo es la reserva dinmica de memoria para aquellas variables de las cuales no se conoce su tamao, es decir, el tamao de estas estructuras es conocido en tiempo de ejecucin.
A continuacin se procede a la apertura de los ficheros tanto de entrada de datos como los diversos ficheros de salida que se crean para cada ejecucin del programa.
Despus se debe leer datos de entrada del problema a travs del fichero .en y su almacenamiento en las variables y estructuras de datos oportunas.
Segn se van leyendo o calculando valores de los que depende la dimensin de alguna de las estructuras de datos necesarias se va reservando memoria de forma dinmica para stas, incluida la matriz de rigidez.
A continuacin se realiza la modificacin de algunos datos de entrada en base a otros valores ledos. Tambin se calculan diversas variables y estructuras de datos para, entre otras cosas, la numeracin y posicionamiento de los nodos.
En todo este proceso de lectura e inicializacin de los datos, se debe proceder a la comprobacin de los datos, pues es posible que el fichero de entrada contenga datos errneos, como por ejemplo que la longitud del vano sea menor que la posicin final del ltimo nodo del vano, etc. CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
106 Ser necesario reservar memoria tanto para la matriz de rigidez K, como para los vectores de trminos independientes r, como de desplazamientos nodales y.
Como ya se ha mencionado anteriormente, la matriz de rigidez es dispersa y se almacena aprovechando dicha condicin, rellenndola inicialmente por medio de las rutinas correspondientes en formato COO, teniendo que convertirse ms adelante a formato CSR para permitir la realizacin de algunas operaciones matemticas por medio de rutinas de SPARSKIT.
Por ello, como ya se vio, se requiere de 3 vectores para el almacenamiento de las dos matrices de rigidez con las que se trabajan. Adems, para cada matriz se guardar un ndice que ser un contador del nmero de elementos almacenados actualmente. En los algoritmos y en lo sucesivo, se conocern estos vectores con los siguientes nombres: ! k11 " que almacenar la posicin de equilibrio esttico del sistema. ! k12 " cargar inicialmente la posicin de equilibrio esttico del sistema y se ver modificada al aplicarse la fuerza vertical ascendente para el clculo del problema de elasticidad. En cada iteracin se volver a cargar con k11. Inicialmente todos los datos son almacenados en formato COO pues son ms fciles de manejar. nicamente realizaremos la conversin de k11 y k12 del formato COO al formato CSR cuando se llame a la rutina solver, pues dicha rutina utiliza el formato CSR. Para dicha conversin se utilizar la rutina de SPARSKIT, COOCSR.
5.2.6.2 Mdulo II
Este mdulo est asociado a la generacin y modificacin de la matriz de rigidez y obtencin del trmino independiente
En la matriz de rigidez se incluye, tanto para el sustentador como para cada uno de los hilos de contacto, una entrada para cada par de coordenadas generalizadas vecinas e incluso para las que pertenecen al mismo nodo (funcin genmat).
Cabe decir, que las entradas referentes al hilo sustentador son completamente independientes de las que se incluyan por cada uno de los hilos de contacto y no se tiene en cuenta ninguna fuerza externa. Adems, en los algoritmos en los que se consideran elementos tipo cuerda sin flexin, al existir una nica coordenada generalizada por nodo, esto se resume en incluir una entrada para el efecto de un nodo sobre s mismo, sobre el vecino anterior y sobre el vecino siguiente.
En la matriz de rigidez tambin se aaden entradas por el efecto que producen las pndolas que unen un nodo del sustentador y un nodo del hilo de contacto (fucin penmat). Y tambin se aaden entradas a la matriz de rigidez por las condiciones de restriccin entre los hilos de contacto en caso de que exista fuerza ascendente para los algoritmos en los que se consideran 2 hilos de contacto (funcin restric).
Trabajando en formato denso con la matriz de rigidez en los algoritmos iniciales, se requeran al menos ncg*ncg elementos para su almacenamiento, dnde ncg es el nmero de coordenadas generalizadas para el problema actual. Trabajar de esta manera CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
107 hara inviable afrontar casos reales con un nmero grande de elementos por medio de los algoritmos, por ello se ha aprovechado la naturaleza dispersa de la matriz de rigidez, reduciendo enormemente los requerimientos de almacenamiento como se podr ver en el apartado siguiente.
El porqu de la naturaleza dispersa de K (Figura 5.3) puede verse ahora de manera ms clara, teniendo en cuenta que se almacenan nicamente valores en la matriz de rigidez para los nodos o coordenadas generalizadas vecinos en el sustentador o hilo de contacto, aparte de las posteriores inserciones por los efectos de las pndolas, etc.
En todo este ncleo computacional se trabajar con la matriz de rigidez en formato disperso COO por ser el ms fcil e inmediato. Posteriormente, en el siguiente bloque computacional se convertir al formato CSR, pues es el formato requerido por el mtodo iterativo que ha sido usado.
Figura 5. 3 Matriz de rigidez
La secuencia de operaciones que se realizan en este mdulo del programa principal son las siguientes:
! genmat: Genera la matriz de rigidez. Su creacin se realiza en este orden: coordenadas generalizadas del sustentador principal (nodos intermedios), coordenadas generalizadas de los sustentadores auxiliares (nodos extremos en su caso de que existan) y por ltimo las del hilo o hilos de contactos (coordenadas generalizadas del primer hilo de contacto y a continuacin las del segundo hilo CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
108 de contacto para pendolado alternativo). Adems genera las entradas correspondientes del trmino independiente. ! apoyomat: nodos de los apoyos elsticos del sustentador. ! penmat: Incluye en la matriz de rigidez el efecto producido por las pndolas. ! barzoaislante: Modificacin de la matriz de rigidez y del trmino independiente al tener en cuenta el efecto de la rigidez del brazo y del aislante. ! restric: Aade a la matriz de rigidez las condiciones de restriccin entre los dos hilos de contacto en caso de que exista fuerza ascendente.
Un esquema del proceso que se acaba de explicar puede observarse en la Figura 5.4.
Figura 5. 4 Esquema del clculo de la posicin de equilibrio del sistema
El alcance de las inserciones o modificaciones, realizadas tanto en la matriz de rigidez como en el vector de trminos independientes, se ve tratada por cada una de las funciones del mdulo procedimientos.
Se podra decir que una vez terminada la ejecucin de este bloque se han obtenido todas las estructuras de datos necesarios para poder resolver la posicin de equilibrio del sistema.
5.2.6.3 Mdulo III
Este tercer mdulo computacional est asociado a la resolucin de la ecuacin de equilibrio esttico del sistema
En este mdulo se configura la estructura de todos los vectores y matrices involucrados en la ecuacin de equilibrio esttico del sistema en la forma adecuada para poder proceder a su resolucin. Para ello se convierten las matrices de rigidez k11 y k12 del formato COO al formato CSR, se introducen las condiciones de contorno y se CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
109 transforma dicha ecuacin en la forma adecuada, vase Ecuacin 5.1, para proceder a su resolucin.
Finalmente se resuelve la Ecuacin 5.1 y se obtienen los valores de las coordenadas generalizadas o lo que es lo mismo, los desplazamientos nodales, que son los que reflejan la condicin de equilibrio esttico del sistema.
La secuencia de operaciones realizadas y llamadas a funciones del mdulo procedimientos que realizan las tareas de este ncleo computacional son las siguientes:
! Convertir la matriz de rigidez K del formato COO a CSR. Esto se realiza por medio de la funcin COOCSR. Esta conversin es requerida por la funcin solver. ! Solver: Es la llamada a una funcin que podra dividirse en dos partes. o Precondicionado: Se realiza un precondicionado de la matriz de rigidez K para que se mejore la convergencia del mtodo iterativo que se vaya a usar. En ciertas ocasiones no se trata solo de mejorar la convergencia, sino que, si no se utilizase el precondicionado el mtodo iterativo podra no converger. o solver: Una vez modificada la matriz de rigidez ya se puede resolver la ecuacin de equilibrio esttico del sistema por medio de llamada a la funcin GMRES, que como se dijo en el Captulo 3, es un mtodo iterativo para la resolucin de ecuaciones lineales en la que interviene una matriz dispersa, y que es una rutina proporcionada por el mdulo ITSOL de la librera SPARSKIT. Esta funcin, fija un lmite mximo de iteraciones que se alcanzar nicamente en casos en los que el mtodo no converja o lo haga con demasiada lentitud. Adems de resolver la ecuacin de equilirbio, se puede obtener y guardar informacin de inters tal como el nmero de iteraciones empleadas, el error absoluto cometido, el tiempo real empleado para dar con la solucin, etc. Llegado este punto ya se tiene la solucin a la ecuacin de equilibrio esttico del sistema y se han obtenido los valores del vector Y, que son los desplazamientos o posiciones nodales para la condicin de equilibrio esttico del sistema, slo faltara realizar la comprobacin de pndolas comprimidas en el sistema y repetir todo desde el comienzo del ncleo computacional asociado a la generacin y modificacin de la matriz de rigidez y obtencin del trmino independiente en caso de que exista alguna nueva pndola comprimida, omitiendo su efecto y volviendo a comenzar desde la generacin de la matriz de rigidez. En caso contrario se habr terminado y los valores contenidos en el vector Y contendrn las posiciones de los nodos en la condicin de equilibrio esttico del sistema.
Se recuerda que la razn de usar mtodos iterativos es porque las necesidades de almacenamiento temporal son mucho menores que las que usan los mtodos directos. Otra de las ventajas de estas implementaciones, a tener en cuenta, es el considerable ahorro de requerimiento de memoria que se obtiene, gracias al empleo de tcnicas CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
110 adecuadas para almacenar la matriz de rigidez, y de mtodos adecuados para resolver la ecuacin de equilibrio que son ideales para trabajar con matrices en formato disperso.
Un esquema del proceso que ha sido detallado anteriormente se puede observar en la Figura 5.5.
Figura 5. 5 Esquema de resolucin ecuacin equilibrio esttico del sistema
Una vez se haya resuelto la ecuacin que determina la posicin de cada nodo que forma la estructura de la catenaria, es necesario abordar otro estudio que producir un proceso iterativo.
5.2.6.4 Mdulo IV
En este ltimo mdulo se resuelve el problema esttico de la elasticidad de la catenaria.
As pues, partiendo de la estructura de la catenaria en estado de reposo, es decir sin ejercer ningn tipo de presin sobre ella (k11), se toma un punto dentro del primer vano y se ejerce una fuerza vertical en el hilo de contacto, esto obliga a resolver otra vez la ecuacin de equilibrio, es decir repetir el Mdulo II, para obtener la nueva posicin de los puntos dentro del vano. Una vez que el estudio se ha realizado para los elementos del primer vano, se repetir el proceso para cada unos de los vanos siguientes. Este proceso se puede ver en la Figura 5.6.
Es en la resolucin de este problema donde se invierte la mayor parte del tiempo de ejecucin. Por esto es importante conseguir una reduccin tanto de los requerimientos de memoria como del tiempo de ejecucin.
Como se coment en el Captulo 2, los mtodos iterativos con precondicionado proporcionan buenos resultados adems de que permiten afrontar casos reales con gran CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
111 nmero de vanos en la catenaria, y con un gran nmero de nodos provenientes de la discretizacin del sistema pantgrafo-catenaria al usar el Mtodo de Elementos Finitos (FEM) ( ver [30], [31], [32], [33]).
El mtodo de discretizacin FEM es aplicado de izquierda a derecha de forma progresiva, y para la numeracin de los nodos obtenidos, primero se enumeran los nodos internos del hilo sustentador y despus siguiendo la misma numeracin en el hilo de contacto (ver Figura 4.5).
Figura 5. 6 Esquema de resolucin del problema esttico
5.3 PROBLEMA DINMICO INTERACCIN PANTGRAFO-CATENARIA
Como se coment anteriormente, una vez resuelto el problema de la elasticidad de la catenaria se puede afrontar el problema dinmico de la interaccin pantgrafo- catenaria de una forma ms eficiente. Ya se dijo que el hacer el estudio de la elasticidad no era un paso obligatorio, pues se puede abordar directamente el estudio dinmico, pero s que es una gran ayuda pues se puede partir ya de una estructura ptima de catenaria.
Para el problema dinmico de la interaccin pantgrafo-catenaria, se han implementado cuatro algoritmos, de los cuales dos son con pendolado normal y los otros dos con pendolado en Y. CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
112 La nomenclatura es la siguiente:
donde se indicar con una Y que es con pendolado en Y, y si es con pendolado normal no se pondr nada. 1 indica que es con pendolado continuo y 2 con pendolado alterno. As, tendremos diversos programas para el clculo dinmico de la interaccin pantgrafo-catenaria con vanos desiguales.
Los dos algoritmos implementados para la resolucin del problema dinmico de la interaccin pantgrafo-catenaria utilizando una estructura de catenaria con pendolado normal son:
! DIM_1: considerando el desplazamiento en los nodos del sustentador y el desplazamiento y giro en los nodos del hilo de contacto, pendolado continuo, contacto distribuido-polinomial y varios pantgrafos, matriz de amortiguacin de rayleight y empleando un mtodo explicito de diferencias centrales. ! DIM_2: considerando el desplazamiento en los nodos del sustentador y el desplazamiento y giro en los nodos del hilo de contacto, restricciones en paralelo, pendolado alternativo, contacto distribuido-polinomial y varios pantgrafos, matriz de amortiguacin de rayleight y empleando un mtodo explicito de diferencias centrales.
Los dos algoritmos implementados para la resolucin del problema dinmico de la interaccin pantgrafo-catenaria utilizando una estructura de catenaria con pendolado en Y son:
! DIM_Y1: sistema de pndola en Y considerando el desplazamiento en los nodos del sustentador y el desplazamiento y giro en los nodos del hilo de contacto, pendolado continuo, contacto distribuido-polinomial, matriz de amortiguacin de Rayleight, empleando un mtodo explicito de diferencias centrales, considerando elasticidad en los apoyos del sustentador. ! DIM_Y2: sistema de pndola en Y considerando el desplazamiento en los nodos del sustentador y el desplazamiento y giro en los nodos del hilo de contacto, pendolado alternativo, contacto distribuido-polinomial, matriz de amortiguacin de Rayleight y empleando un mtodo explicito de diferencias centrales.
Uno de los principales objetivos que se persigue para la creacin de un software de calidad es la facilidad de modificacin. Esta caracterstica se ve muy poco favorecida si la implementacin se realiza de forma liosa y sin ninguna estructura.
As pues, es muy importante una distincin de los diferentes elementos existentes en una implementacin que se materializarn en forma de mdulos ms o menos independientes y que se comunicarn entre ellos cuando sea necesario. Estos mdulos permiten reducir la complejidad total y mejorar la comprensin, proporcionando as una mayor facilidad de lectura y modificacin.
Esta filosofa ya se sigui en la implementacin realizada para la resolucin del problema esttico de la elasticidad, y como se puede observar en la Figura 5.7, la CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
113 estructura es la misma pero se han aadido dos mdulos ms, el mdulo funciones_dim y el mdulo calpendolas. De forma breve se podran describir de esta forma:
! Calpendolas: Mdulo que contiene las rutinas necesarias para el clculo de pndolas. ! Funciones_dim: Mdulo que contiene las rutinas necesarias para la resolucin del problema dinmico de la interaccin pantgrafo-catenaria.
Figura 5. 7 Distribucin y comunicacin de los mdulos del problema dinmico
A continuacin slo se vern los mdulos calpendolas, funciones_dim y Principal de una forma ms detallada. El resto de los mdulos han sido ampliamente explicados en la Seccin 5.2.
5.3.1 Calpendolas
En este mdulo se han implementado todas las rutinas necesarias para el clculo de pndolas. Calpendolas est compuesto de dos ficheros, un fichero de cabecera .h donde se declaran todas las rutinas y un fichero .c donde se implementa cada una de ellas.
La implementacin de este mdulo est realizada en ANSI C y contiene las siguientes rutinas:
! fnormy2/fnormy1: Procedimiento para el clculo de pndolas. ! freacy2/freacy1: Procedimiento para el clculo de la reaccin vertical en el empalme. ! fparams2/fparams1: Procedimiento para el clculo de las reacciones del sustentador. CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
114 ! fcalflexs2/fcalflexs1: Procedimiento para el clculo de las flechas en las pndolas del sustentador. ! fcalflexy2/fcalflexy1: Procedimiento para el clculo de la flecha en la coordenada y.
5.3.2 Funciones_dim
En este mdulo se han implementado las rutinas necesarias para la resolucin del problema dinmico.
Las rutinas implementadas en este mdulo se encargarn de la formacin de la matriz de rigidez y trmino independiente del pantgrafo, as como de la matriz de masas y de amortiguacin.
Funciones_dim est compuesto de dos ficheros, un fichero de cabecera .h donde se declaran todas las rutinas y un fichero .c donde se implementa cada una de ellas.
La implementacin de este mdulo est realizada en ANSI C.
! adpan_: Existen cuatro rutinas adpan (adpan1, adpan2, adpan3 y adpan4) en las cuales se desarrolla un procedimiento para aadir la matriz de rigidez del pantgrafo y fuerza ascensional asociada para el caso de pantgrafo sencillo/dos pletinas sobre pendolado continuo/alternativo. ! amormat_: Existen cuatro rutinas amormat (amormat1, amormat2, amormat3 y amormat4) en las cuales se desarrolla un procedimiento que genera la matriz de amortiguacin del sistema para el caso de tener un pantgrafo sencillo/dos pletinas sobre pendolado continuo/alternativo. ! massmat3: Procedimiento que genera la matriz de masas concentradas del sistema para dim_y1. ! massmat4: Procedimiento que genera la matriz de masas concentradas del sistema para dim_y2. ! calpos: Procedimiento para el clculo de la matriz de rigidez y trmino independiente. ! despendola: Procedimiento que introduce el efecto de desconexin entre pndolas. ! restring1: Procedimiento que aade las condiciones de restriccin a la matriz de rigidez del sistema, para el caso de pantgrafo sencillo y de pendolado continuo. ! restring2: Procedimiento que aade las condiciones de restriccin a la matriz de rigidez del sistema. Esta rutina se utilizar para los otros tres casos: pantgrafo de doble pletina sobre pendolado continuo y pantgrafo sencillo y de doble pletina sobre pendolado alternativo. ! fcarga: Funcin que calcula los trminos del vector de condiciones de restriccin debido a la distribucin de la carga.
5.3.3 Principal
Este mdulo contiene los cuatro algoritmos implementados para resolver el problema dinmico de la interaccin pantgrafo-catenaria. CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
115 En la Figura 5.8 se muestra un diagrama de actividades con todos los pasos del Algoritmo, que se podra resumir en los siguientes mdulos bsicos:
! Mdulo I: Obtencin de los datos iniciales del sistema. ! Mdulo II: Formacin de las matrices del sistema pantgrafo-catenaria. ! Mdulo III: Resolucin del sistema para el instante inicial. ! Mdulo VI: Ciclo de integracin para la resolucin del sistema a lo largo del tiempo.
Figura 5. 8 Diagrama de actividades para la resolucin del problema dinmico
CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
116 5.3.3.1 Mdulo I
Al igual que en el caso del problema de la elasticidad, este mdulo est asociado a la lectura de los datos de entrada, reserva de memoria y creacin de estructuras de datos auxiliares.
Para poder realizar la lectura de los datos, y su correspondiente almacenamiento en las variables y estructuras de datos, se debe abrir el fichero de entrada que tendr extensin .en.
Se van a crear otros ficheros, uno con extensin .sal, que ser el fichero donde se almacenarn los resultados de salida, al igual que en el problema esttico.
Pero adems se crea un conjunto de ficheros en los cuales se van a almacenar los datos necesarios para, una vez terminada la ejecucin de los algoritmos, poder procesarlos y mostrar un video en el que se observar como el pantgrafo va recorriendo los distintos vanos que conforman la estructura de la catenaria y la interaccin entre ambos elementos.
Una vez se ha finalizado la lectura de los datos de entrada, se podr calcular otros datos que dependen de estos valores iniciales y que sern usados a lo largo del algoritmo.
El siguiente paso ser la llamada a la rutina fnormy que pertenece al mdulo Calpendolas, y permite el clculo de la longitud, precarga y peso propio de las pndolas del vano. Una vez realizados los clculos, se extendern estos valores a cada uno de los vanos que conformen la estructura de la catenaria.
Para crear la matriz de coordenadas generalizadas se debe primero numerar los nodos del sistema de la catenaria tal y como se vi en el Captulo 4 (ver Figuea 4.6).
5.3.3.2 Mdulo II
Este mdulo se centra en la formacin de las matrices del sistema pantgrafo- catenaria que aparecen en la ecuacin diferencial del sistema (ver Ecuacin 4.15). En el caso del problema esttico de la elasticidad, solo eran necesarias la matriz de rigidez global del sistema (
K) y el trmino independiente (
R), pero en este caso adems es necesario calcular la matariz de masas (
M), la matriz de amortiguacin (
C) y la submatriz de condiciones de restriccin (
!).
La matriz de rigidez
K va a estar compuesta a su vez por la matriz de rigidez asociada al sistema de catenaria y por la matriz de rigidez asociada al pantgrafo.
Por su parte, la submatriz de rigidez asociada a la catenaria, estar compuesta por los elementos del hilo sustentador, los del hilo del contacto, y en el caso de tratarse de una estructura de catenaria en Y, tambin estar compuesta por los elementos pertenecientes a los hilos sustentadores auxiliares.
Se utilizar la funcin genmat para introducir los elementos del hilo sustentador CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
117 principal y los de los sustentadores auxiliares, si se trata de una estructura en Y. Cada llamada introducir tres elementos de la corrdenada generalizada asociada al nodo correspondiente.
Una vez generada la matriz de rigidez de la catenaria con estos elementos, ser necesario modificar algunos e incluso introducir nuevos. As pus ser necesario realizar llamadas a las siguientes funciones:
! empalmatb: modificar elementos debido al efecto del empalme y de los pesos centrales. ! penmatb: introducir nuevos elementos correspondientes a los nodos que se encuentren en los nodos extremos de las pndolas del sustentador y del hilo de contacto. ! brazo1b y brazo2b: modificarn elementos debido al efecto del brazo o de la fuerza ascensional. ! AccesoMatrizK11: esta funcin se encarga de obtener el valor correcto a modificar en la matriz de rigidez y es llamada por las funciones anteriores.
Cada una de las funciones mencionadas anteriormente, excepto AccesoMatrizK11 que es slo para acceder a elementos de la matriz, adems de modificar y/o insertar nuevos datos en la matriz de rigidez, tambin generarn el trmino independiente, que al igual que la matriz de rigidez est formado por dos subtrminos independientes, uno asociado a los elementos de la catenaria y la otra parte asociada al pantgrafo.
Para el caso de la matriz de rigidez asociada al pantgrafo, se va a utilizar el conjunto de procedimientos denominado adpanX, siendo
X =1,2, 3, 4 el nmero de pantgrafos que se tengan. Para cada pantgrafo se introducirn tantos elementos como grados de liberta tenga menos uno. Adems de introducir estos elementos en la matriz de rigidez tambin generar el termino independiente asociado al pantgrafo, que posteriormente ser ensamblado con el termino independiente generado por la estructura de la catenaria.
Se utilizar una variable que ser un ndice al comienzo de la matriz de rigidez asociada al pantgrafo, de tal forma que permita volver al punto donde la funcin adpan comienza a modificar elementos. Esto ser bastante til en el ciclo de integracin.
Una vez generadas las matrices de rigidez de la catenaria y del pantgrafo, ya se tiene la matriz de rigidez global asociada al sistema tal y como se muestra en la Figura 5.9. En esta figura, al igual que ocurria en el caso del problema esttico, se puede observar que la mayora de los elemento se encuentran en su diagonal principal, que constar de tres elementos en los nodos correspondientes a al hilo sustentador y sutentador auxiliar, y de seis elementos en los nodos correspondientes a los hilos de contacto. Tambien se observan algunos puntos aislados en el resto de la matriz que corresponden a los elementos introducidos por las rutinas genmat, penmatb y empalmatb.
Otra de las matrices que se genera en este mdulo es la matriz de masas
M, que, al igual que ocurria con la matriz de rigidez, est formada por dos submatrices, una correspondiente a la matriz de masas del sistema de catenaria y la otra al pantgrafo. La matriz de masas representa los coeficientes de las masas asociadas a cada una de las CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
118 coordenadas generalizadas del sistema.
Figura 5. 9 Matriz de rigidez global del sistema pantgrafo-catenaria
Figura 5. 10 Matriz de masas asociada al sistema pantgrafo-catenaria
CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
119 Esta matriz de masas es totalmente diagonal por lo que se utilizar un vector para su almacenamiento. Las rutinas massmat3 y massmat4 sern las encargadas de construir la matriz de masas de forma similar a como se hizo con la matriz de rigidez, es decir, se generarn primero los elementos correspondientes a la catenaria, tanto para el hilo sustentador y sustentadores auxiliares como para el hilo de contacto, se modificarn despus dichos alementos debido a los efectos de las pndolas y la fuerza ascensional. Por ltimo se insertarn los elementos de la matriz correspondientes al pantgrafo. En la Figura 5.10 se puede observar la configuracin de la matriz de masas global.
La siguiente matriz a construir es la matriz de amortiguacin que, como en los dos casos anteriores, se compone de una parte asociada a la catenaria y de otra asociada al pantgrafo.
La matriz de amortiguacin de la catenaria, denominada
C, es una combinacin lineal de la matriz de rigidez del sistema global y la matriz de masas. Esta combinacin lineal depender de los elementos de la matriz de rigidez a los que haga referencia. As pues, para el caso de los elementos de la diagonal principal, la combinacin ser tal y como se muestra en la Ecuacin 5.4.
C = !K + "M (5.4)
donde
! y
! representan los coeficientes que determinana dicha combinacin, obteniendose ambos de las frecuencias de amortiguacin, datos que provienen del fichero de entrada al algoritmo.
El resto de elementos de la matriz de amortiguacin, por ser
M una matriz diagonal, slo dependern de
K, como se puede observar en la Ecuacin 5.5.
C = !K (5.5)
La matriz de amortiguacin asociada al pantgrafo ser generada a partir de los valores incluidos en el vector que representa la amortiguacin de los diferentes pantgrafos del sistema y que fue proporcionado como dato de entrada. Otro dato de entrada que ser necesario es el del tipo de pantgrafo que se utiliza, lo que har que se llame a una de las cuatro versiones implementadas de la funcin amormat que ser la encargada de realizar la generacin de la matriz de rigidez asociada al pantgrafo.
Por ltimo queda por construir la matriz de condiciones de restriccin
!. Esta matriz se aadir a la matriz de rigidez ya existente formando la denominada matriz de rigidez efectiva del sistema. Para la generacin de esta matriz se utilizar o restring1, si se va a crear un vector de restriccin para cada pantgrafo, o bien restring2 si se va a crear dos vectores de restriccin por pantgrafo, pero en cualquier caso, los vectores que se hayan generado se irn rellenando con la funcin fcarga, que depender de la posicin del pantgrafo en un instante de tiempo dado.
La funcin restring, en cualquiera de sus dos versiones, incluir directamente los valores en la matriz de rigidez ya formada, pero antes se guardar en una variable el ndice que apunta a la primera posicin dentro de la matriz de rigidez que pertenece a la matriz de restriccin, de esta forma se facilitar posteriormente el acceso a esta parte cuando haya que modificar las condiciones de restriccin en el tiempo, debido al CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
120 movimiento del pantgrafo a lo largo de la catenaria.
5.3.3.3 Mdulo III
En este mdulo, y como ya han sido obtenidas todas las matrices que aparecen en la Ecuacin 4.15, se va a proceder a resolver el sistema para el instante inicial
t 0 , o lo que es lo mismo, para el problema esttico. Por tanto se debe resolver la Ecuacin 4.39, que como se recordar corresponde a la siguiente expresin:
Como se acaba de decir, en este mdulo se resuelve el problema esttico, por tanto se deben seguir los pasos que se mostraron en la Figura 5.5.
Se puede apreciar que el problema esttico de la elasticidad de la catenaria es un subproblema dentro del problema dinmico de la interaccin pantgrafo-catenaria, es por este motivo por el cual se especific que no era necesario resolver el problema de la elasticidad antes de abordar el problema dinmico pero que s que sera deseable pues nos aportara los parmetros ms ptimos para el montaje, de tal forma que la interaccin sea lo ms eficiente posible. Esto quiere decir que el fichero de entrada del algoritmo dinmico contendr aquellos datos de la estrucutra de la catenaria que fueron utilizados para resolver el problema esttico y que dieron los mejores resultados.
Una vez resuelto el sistema para el instante inicial, se debe resolver el ciclo de integracin, tal y como se muestra en el siguiente mdulo.
5.3.3.4 Mdulo IV
Este mdulo contiene el conjunto de instrucciones necesarias para resolver el sistema formado por la interaccin pantgrafo-catenaria a lo largo del tiempo. A este proceso se le conoce como ciclo de integracin.
Existe un paso previo que es necesario para poder comenzar la resolucin del problema en funcin del tiempo y del paso del pantgrafo o pantgrafos, pues se pueden considerar hasta cuatro pantgrafos, y es el establecimiento de las condiciones iniciales para las velocidades en las coordenadas generalizadas. A partir de ese momento, cada paso de tiempo
t =1,2, 3,...., en el ciclo de integracin, conlleva realizar las siguientes acciones:
! En primer lugar se debe modificar el paso de ciclo
n +1!n, por tanto la posicin inicial que corresponda al instante
n +1, pasar al instante
n = 0 lo que implica que se deben reconvertir los siguientes elementos: o Vector de coordenadas generalizadas
Q n+1 !Q n
o Vector de velocidades en las coordenadas generalizadas, siendo este la derivada del anterior:
! Q n"1 2 # ! Q n+1 2
o Matriz de rigidez efectiva del sistema
K n+1 !K n
CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
121 o Trmino independiente
R n+1 !R n
! Posteriormente se debe calcular las coordenadas generalizadas de la catenaria y del pantgrafo para el instante
n +1,
Q n+1 . El procedimiento calpos es el encargado de realizar este paso del cilo de integracin. Este procedimiento es invocado al menos dos veces, una vez para hallar las coordenadas generalizadas de la catenaria y otra por cada uno de los pantgrafos existentes en el sistema para as poder hallar las coordenadas generalizadas asociadas a cada uno de ellos. Por un lado se multiplicar la submatriz de rigidez por el vector de posicin y por otra parte se multiplicarn la matriz de amortiguacin y el vector de velocidad para finalmente obtener el nuevo vector de posicin de las coordenadas generalizadas. ! Se debe formar la matriz correspondientes a las condiciones de restriccin para el instante
n +1,
! n+1 . En este paso tambin se determinar la coordenada generalizada asociada al colector
yc ( ) n+1
! Se determinar la fuerza (o fuerzas) de de contacto
! n+1 . ! A continuacin se procede a actulizar la matriz de rigidez del sitema para el instante
n +1,
K n+1 y del trmino independiente
R n+1 , teniendo en cuenta los siguientes efectos: o El efecto de la desconexin de las pndolas. o La variacin en la rigidez de los resortes asociados en las masas de los pantgrafos de acuerdo con las posiciones relativas de dichas masas. o Las fuerzas de rozamiento del pantgrafo, que tendrn un sentido u otro dependiendo de la velocidad relativa entre las masas. o El efecto de despegue del pantgrafo, que si se produce, anulara la rigidez asociada al colector terminal. En este paso del ciclo de integracin para todo lo que respecta al efecto de las pndolas se har uso del procedimiento denominado despendola que modificar tanto la matriz de rigidez como el trmino independiente. Por otra parte se llamar a la funcin adpan para realizar la correcin de la matriz de rigidez y del trmino independiente por el efecto de la rigidez suplementaria en el pantgrafo que se produce al sobrepasar las holguras, del efecto aerodinmico y del efecto de rozamiento. ! La submatriz de las condiciones de restriccin
! n+1 tambin debe de ser actualizada para posteriormente poder ensamblarla con la matriz de rigidez del sistema obtenida en el paso 5. En este paso se hace uso de varios procedimientos, siendo fcarga la encargada de la construccin de los vectores de restriccin necesarios para la construccin de de la submatriz de las condiciones de restriccin. Por otra parte restring se encargar de la adicin de la submatriz de restriccin a la matriz de rigidez del sistema. ! Se obtendr el nuevo valor de la velocidad para el instante
n +1 2,
! Q n+1 2 . ! Una vez realizado todos estos pasos se obtienen los resultados. ! Se termina el cilo de integracin para el tiempo
t , y se vuelve al paso 1.
El mtodo de integracin utilizado en el ciclo anteriormente descrito, y que resuelve el sistema de ecuaciones diferenciales, es el mtodo explcito de diferencias centrales, que fue explicado detalldamente en el Captulo 2 de esta Tesis.
Al comienzo de este Captulo se han descrito las caractersticas que debe cumplir un algoritmo para poder ser considerado de Altas Prestaciones. Esta filosofa ha CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
122 sido aplicada para resolver dos de los problemas que son objeto de esta Tesis, es decir, el problema esttico de la elasticidad de la catenaria y el problema dinmico de la interaccin pantgrafo-catenaria. Por tanto, los prximos apartados se centrarn en la realizacin de pruebas experimentales que demuestren los beneficios conseguidos con las implementas realizadas.
5.4. RESULTADOS EXPERIMENTALES PARA EL PROBLEMA DE LA ELASTICIDAD
En esta Seccin se mostrarn los resultados experimentales obtenidos con las implementaciones realizadas, basadas en la filosofa de Computacin de Atlas Prestaciones, de los algoritmos implementados para resolver el problema esttico de la elasticidad de la catenaria tanto para vanos iguales como desiguales, tal y como se describi en la Seccin 5.2.
Se pretende mostrar como al utilizar Computacin de Altas Prestaciones se consigue tanto una reduccin del tiempo de ejecucin como del espacio de memoria requerido, si se compara con una implementacin que no considere ninguno de los aspectos de la Computacin de Altas Prestaciones.
Los algoritmos para el clculo de la elasticidad de la catenaria tienen una gran cantidad de datos de entrada que el usuario debe introducir, tal y como se ver en el Captulo7, para poder llevar a cabo los clculos, pero para la batera de test se considerarn nicamente los que se describen en la Tabla 5.1, pues van a servir para poder redimensionar el tamao del problema a solucionar.
Donde nv es el nmero de vanos, np es el nmero de pndolas por vano, y lv es la longitud del vano. As pues, en el caso de estudio 1 sera el de menor tamao, se pretende solucionar un problema con 3 vanos, y 6 pndolas por vano, siendo 60 metros la longitud de cada uno de los vanos, por tanto se simularan unos 180 metros. Sin embargo, el caso de estudio 9 abarca un tamao de mayor dimensin, simulando un trayecto de 8 vanos, con 16 pndolas por vano, con una longitud de vano de 60 metros, por tanto se abarcaran 480 metros de tendido elctrico.
CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
123 Como ya se ha comentado anteriormente, el problema de vanos iguales es un caso particular de vanos desiguales, necesitando para estos ltimos ms requerimientos de memoria, por tanto se ha decidido hacer las pruebas en ambos casos con el mismo nmero de pndolas por vano, de tal forma que se pueda hacer una comparativa entre ambos tipos de algoritmos.
Los experimentos han sido llevados a cabo en un procesador del Instituto de Investigacin en Informtica de Albacete. El procesador se basa en un Intel PIV a 3.00 GHz, una RAM de 512MB y con una capacidad de disco duro era de 100GB. La ejecucin se llev a cabo bajo el sistema operativo Windows XP.
En cuanto a las libreras utilizadas, BLAS y SPARSKIT fueron instaladas y sintonizadas en esta mquina para poder obtener mejores rendimientos.
5.4.1 Resultados experimentales para vanos iguales
Una vez realizados los experimentos se pudieron obtener varios resultados, el primero de ellos fue la obtencin de los requerimientos de memoria.
En la Tabla 5.2 se muestra, para el caso de vanos iguales (VI), la dimensin principal de la matriz de rigidez (N) para el programa original y el nmero de elementos no nulos (nz) para el caso del programa optimizado. De esta forma, el espacio de memoria requerido para el caso del programa original sera (N x N) x 8bytes, siendo 8 el nmero de bytes requeridos para almacenar un nmero de doble precisin. Por otra parte el espacio de memoria requerido para el programa optimizado sera de (nz x 3) x 8bytes.
CEPNCVI CEPNAVI CEPYCVI CEPYAVI Casos de estudio N nz N Nz N nz N nz 1 105 751 204 1325 137 968 145 969 2 126 1008 324 2117 209 1376 175 1173 3 159 1462 504 3305 317 1988 265 1785 4 141 1300 273 1774 183 1289 194 1297 5 144 1340 433 2830 279 1833 234 1569 6 213 1983 673 4414 423 2649 354 2385 7 280 2500 549 3570 367 2573 390 2609 8 285 2596 869 5682 559 3661 470 3153 9 429 3892 1349 8850 847 5293 710 4785 Tabla 5. 2 Dimensin principal (N) y nmero de elementos no nulos (nz) de la matriz de rigidez para el caso de vanos iguales
En la Tabla 5.3 se pueden ver los requerimientos de memoria totales, expresados en Mbytes, para la matriz de rigidez en cada uno de los algoritmos, tanto para el caso de algoritmo original como para el optimizado.
CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
124
CEPNCVI CEPNAVI CEPYCVI CEPYAVI Casos de estudio OR OP OR OP OR OP OR OP 1 0,084 0,017 0,317 0,030 0,143 0,022 0,160 0,022 2 0,121 0,023 0,800 0,048 0,333 0,031 0,233 0,026 3 0,192 0,033 1,937 0,075 0,766 0,045 0,535 0,040 4 0,151 0,029 0,568 0,040 0,255 0,029 0,287 0,029 5 0,158 0,030 1,430 0,064 0,593 0,041 0,417 0,035 6 0,346 0,045 3,455 0,101 1,365 0,060 0,956 0,054 7 0,598 0,057 2,299 0,081 1,027 0,058 1,160 0,059 8 0,619 0,059 5,761 0,130 2,384 0,083 1,685 0,072 9 1,404 0,089 13,883 0,202 5,473 0,121 3,845 0,109 Tabla 5. 3 Memoria requerida para el problema de elasticidad con vanos iguales para el programa original (OR) y optimizado (OP)
Si se cogiese el test 9 para el algoritmo CEPNCVI, se tendra que la memoria requerida para almacenar la matriz de rigidez en formato denso sera de (429*429)*8bytes que seran 1.472.328 bytes, es decir, la matriz en su formato denso ocupar 1,40 MB. Sin embargo, la memoria requerida para almacenar la misma matriz en formato disperso sera de (3892*3)*8bytes o lo que es lo mismo 93408 bytes, que equivaldra a 91 KB, es decir 0,089 MB (ver Tabla 5.3). Por tanto, se ha pasado de reservar 1,40MB a 0,089MB, lo que se traduce a que se ha obtenido un 93,655% de reduccin de la memoria necesaria para almacenar una misma matriz, tal y como se muestra en la Tabla 5.4.
Casos de estudio CEPNCVI CEPNAVI CEPYCVI CEPYAVI 1 79,564 90.448 84,527 86,173 2 80,952 93.950 90,549 88,509 3 82,651 96.096 94,065 92,374 4 80,383 92.859 88,452 89,661 5 80,613 95.471 92,935 91,403 6 86,887 97.076 95,558 94,290 7 90,433 96.446 94,269 94,854 8 90,411 97.742 96,485 95,717 9 93,655 98.541 97,786 97,152 Tabla 5. 4 Reduccin, en %, de los requerimientos de memoria para el problema esttico con vanos iguales
Como se puede observar la reduccin de la memoria utilizada es drstica, y a mayor tamao del problema mayor ahorro se obtiene con respecto al almacenamiento en formato denso. Incluso para un tamao de problema pequeo, como es el caso de estudio 1, esta reduccin se acerca al 80% para el algoritmo CEPNCVI, para el resto de CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
125 casos, este porcentaje crece conforme lo hace el tamao del problema. Esta reduccin en trminos de requerimientos de memoria, repercute directamente en beneficio de la eficiencia de los algoritmos.
Otros de los factores que se han visto enormemente reducidos, ha sido el tiempo de ejecucin de los algoritmos, expresados en segundos, si los comparamos con una implementacin en la que no se utiliza ningn tipo de optimizacin, tal y como se muestra en la Tabla 5.5.
CEPNCVI CEPNAVI CEPYCVI CEPYAVI Casos de estudio T OR T OP T OR T OP T OR T OP T OR T OP
Casos de estudio CEPNCVI CEPNAVI CEPYCVI CEPYAVI 1 75,2 87,728 83,139 88,652 2 74,485 96,286 93,732 86,752 3 83,091 98,482 96,785 90,027 4 85,975 95,569 88,498 87,943 5 80,352 97,705 95,289 87,984 6 90,345 99,156 98,746 94,020 7 90,043 98,753 94,155 95,951 8 90,749 99,509 99,355 98,029 9 98,562 99,788 99,782 99,248 Tabla 5. 6 Reduccin, en %, del tiempo de ejecucin problema esttico VI
Como se puede observar en la Tabla 5.6, al incrementar el tamao de problema es mayor la reduccin del tiempo de ejecucin de los algoritmos de altas prestaciones en comparacin con la implementacin original, llegando incluso al 99%. Tambin cabe mencionar que aunque el tamao de problema no sea muy grande, como es el caso del test 1, se consigue reducir el tiempo de ejecucin en ms de un 75%.
CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
126 5.4.2 Resultados experimentales para vanos desiguales
Como ya se dijo en la Seccin 5.2, en el caso del problema de la elasticidad con Vanos Desiguales (VD), se consideran vanos con distinto nmero de pndolas por vano y colocadas en distintas posiciones.
Para realizar las pruebas se han considerado que los vanos son iguales, de tal forma que se pueda comprar los resultados obtenidos en los algoritmos con vanos iguales con los de vanos desiguales, por tato los casos de estudio son los que se mostraron en la Tabla 5.1.
Se han realizado las pruebas para los cuatro algoritmos implementados con vanos desiguales, explicados en la Seccin 5.2, obteniendose, como era de esperar, los mismos requerimientos de memoria que en el caso de vanos iguales, por lo que en este caso no se vuelven a mostrar.
Para el estudio de los tiempos de ejecucin slo se va a considerara el algoritmo CEPNCVD, de tal forma que se pueda, posteriormente, comparar con su homlogo en vanos iguales, es decir con CEPNCVI.
Los tiempos de ejecucin, expresados en segundos, que se han obtenido demuestran que la eficacia de la aplicacin de las tcnicas de Computacin de Altas Prestaciones sea casi del 100% cuando el tamao del problema es lo suficientemente grande, tal y como se muestra en la Tabla 5.7, pero aun sin llegar a estudiar problemas tan grandes, se puede observar que incluso se llega a obtener una reducin de casi un 92%.
Casos de estudio T OR T OP %Reduccin Tejec 1 1,889 0,079 95,817 2 2,031 0,112 94,485 3 6,597 0,221 96,649 4 2,407 0,183 92,397 5 2,672 0,195 92,702 6 16,157 0,297 98,161 7 17,968 0,305 98,302 8 30,25 0,347 98,852 9 175,203 0,467 99,733 Tabla 5. 7 Reduccin, en %, del tiempo de ejecucin problema esttico vanos desiguales A continuacin se procede a estudiar los tiempos de ejecucin obtenidos al ejecutar los distintos casos de estudio tanto para el caso de vanos iguales como de vanos desiguales.
En la Tabla 5.8 se puede observar como se reduce el tiempo de ejecucin a la hora de ejecutar ambos algoritmos.
CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
127 Casos de estudio Top_VI Top_VD %Reduccin T ejec
1 0,031 0,079 60,759 2 0,062 0,112 44,642 3 0,14 0,221 36,651 4 0,046 0,183 74,863 5 0,078 0,195 60,000 6 0,187 0,297 37,037 7 0,229 0,305 24,918 8 0,237 0,347 31,700 9 0,343 0,467 26,552 Tabla 5. 8 Reduccin, en %, del tiempo de ejecucin al utilizar el programa de vanos iguales frente al de vanos desiguales
Se podra deducir por los datos obtenidos en los tiempos de ejecucin de ambos algoritmos, es decir de vanos iguales y desiguales, que no merece la pena implementar los algorimos de vanos iguales, pues se pueden ejecutar los de vanos desiguales simplemente poniendo los mismos datos referentes a las pndolas en cada uno de los vanos.
El haber implementado ambos conjuntos de algoritmos ha sido ms bien motivado por los requerimientos de memoria que cada uno necesita y por la comodidad para el usuario final de no tener que rellenar cada uno de los vanos de forma separada, pues para el caso de tres vanos no sera muy laborioso, pero imaginense si tienen que rellenar un cantn de catenaria con 40 vanos cada uno de los cuales tuviese 30 pndolas, en este caso no slo aumentara la labor de introducir datos del ingeniero sino tambin las diferencias de requerimientos de memoria y tambin de los tiempos de ejecucin.
5.5. RESULTADOS EXPERIMENTALES PARA EL PROBLEMA DINMICO DE LA INTERACCIN PANTGRAFO-CATENARIA.
En esta Seccin se va mostar una batera de casos de estudio que ha sido realizada sobre la implementacin de los algoritmos para resolver el problema dinmico de la interaccin pantgrafo-catenaria. Estos algoritmos dinmicos se pueden ejecutar considerando diversos nmeros de pantgrafos, exctamente entre 1 y 4 pantgrafos.
En la Seccin 5.5.1 se va a realizar un estudio de la diferencia existente entre la eleccin de 1, 2, 3 o 4 pantgrafos, para el caso del algoritmo DIM_1, puesto que para el resto de los algoritmos implementados, los resultados obtenidos son similares, tal y como ocurre en la Seccin anterior.
Posteriormente, en la Seccin 5.5.2 se van a realizar las mismas pruebas que para el caso del problema esttico de la elasticidad de la catenaria.
Al igual que ocurra con el problema esttico de la elasticidad, el nmero de datos de entrada para estos algoritmos es muy grande, tal y como se ver en el Captulo CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
128 7, pero se han cogido tres parmetros significativos para poder abordar distintos tamaos de problema, tal y como se pude ver en la Tabla 5.9.
Los experimentos han sido llevados a cabo en la misma mquina que fue utilizada para el caso del estudio del problema esttico de la elasticidad de la catenaria (ver Seccin 5.4)
5.5.1 Resultados experimentales para distinto nmero de pantgrafos
En esta Seccin, se ha procedido a tomar datos referentes a los requerimientos de memoria y a los tiempos de ejecucin del algoritmo DIM_1 con los casos de estudio que se han mostrado en la Tabla 5.9, pero adems se han considerado diversos nmeros de pantgrafos, desde 1 hasta 4.
En la Tabla 5.10 se puede observar que conforme aumenta el nmero de pantgrafos aumenta tambin el nmero de elementos no nulos (nz) de la matriz de rigidiez y por tanto aumenta tambin la cantidad de memoria necesaria (K), expresada em Mbytes, para almacenar la matriz de rigidez del sistema, pero tambin es cierto que esta diferencia es mnima.
129 Por otra parte en la Tabla 5.11 se puede observar que el tiempo de ejecucin, en segundos, crece conforme se aumenta el nmero de pantgrafos, aunque, al igual que en el caso de los requerimientos de memoria, esta diferencia es mnima.
Este estudio se ha llevado a cabo con los otros tres algoritmos implementados para la resolucin del problema dinmico de la interaccin pantgrafo-catenaria, obteniendo similares resultados, es por ello por lo que no se muestran en esta seccin. Sin embargo, este estudio ha servido de base para coger el peor de los casos, es decir cuando se ejecuta el algoritmo con 4 pantgrafos, para llevar a cabo la batera de test que se muestra en la Seccin 5.5.2.
5.5.2 Resultados experimentales para el problema dinmico
En esta Seccin se van a considerar los algoritmos dinmicos de la interaccin pantgrafo-catenaria con 4 pantgrafos, ya que como se ha podido observar, este caso supone una mayor complejidad.
DIM_1 DIM_2 DIM_Y1 DIM_Y2 Casos de estudio N nz N nz N nz N nz 1 569 3355 988 6149 639 3845 1064 6705 2 578 3385 996 6173 648 3875 1103 6975 3 623 3715 1093 6881 693 4223 1163 7407 4 749 4458 1303 8180 842 5109 1404 8919 5 761 4498 1323 8212 854 5149 1456 9279 6 821 4938 1443 9156 914 5613 1536 9855 7 1469 8870 2563 16304 1654 10165 2764 17775 8 1493 8950 2593 16368 1678 10245 2868 18495 9 1613 9838 2843 18256 1798 11173 3028 19647 Tabla 5. 12 Dimensin principal (N) y nmero de elementos no nulos (nz) de la matriz de rigidez para el problema dinmico CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
130 En la Tabla 5.12 se muestra la dimensin principal (N) y el nmero de elementos no nulos (nz) de la matriz de rigidez, para el problema dinmico de la interaccin pantgrafo-catenaria, tanto en el caso del algoritmo original como del algoritmo optimizado.
De esta forma, el espacio de memoria requerido para el caso del programa original sera (N x N) x 8bytes, siendo 8 el nmero de bytes requeridos para almacenar un nmero de doble precisin. Por otra parte el espacio de memoria requerido para el programa optimizado sera de (nz x 3) x 8bytes.
En la Tabla 5.13 se pueden ver los requerimientos de memoria totales, expresados en Mbytes, para la matriz de rigidez en cada uno de los algoritmos, tanto para el caso de algoritmo original como para el optimizado.
DIM_1 DIM_2 DIM_Y1 DIM_Y2 Casos de estudio OR OP OR OP OR OP OR OP 1 2,470 0,076 7,447 0,140 3,115 0,088 8,637 0,153 2 2,548 0,077 7,568 0,141 3,203 0,088 9,281 0,159 3 2,961 0,085 9,114 0,157 3,664 0,096 10,319 0,169 4 4,280 0,102 12,953 0,187 5,408 0,116 15,039 0,204 5 4,418 0,102 13,353 0,187 5,564 0,117 16,173 0,212 6 5,142 0,113 15,886 0,209 6,373 0,128 18,000 0,225 7 16,463 0,203 50,117 0,373 20,871 0,232 58,286 0,406 8 17,006 0,204 51,297 0,374 21,481 0,234 62,755 0,423 9 19,849 0,225 61,665 0,417 24,664 0,255 69,952 0,449 Tabla 5. 13 Memoria requerida en el problema dinmico para el programa original (OR) y optimizado (OP)
En la Tabla 5.14 se puede observar la reduccin de la memoria que se obtiene, expresada en %, al aplicar una filosofa de almacenamiento de matrices dispersas, frente a una de almacenamiento en formato denso, de tal forma que se consigue como mnimo una reduccin del 96 %. Se observa tambin una tendencia de crecimiento en la reduccin de la memoria necesaria, conforme se aumenta el tamao del problema.
Casos de estudio DIM_1 DIM_2 DIM_Y1 DIM_Y2 1 96,891 98,110 97,175 98,223 2 96,960 98,133 97,231 98,280 3 97,128 98,272 97,361 98,357 4 97,616 98,554 97,838 98,642 5 97,669 98,592 97,881 98,686 6 97,802 98,680 97,984 98,746 7 98,766 99,255 98,885 99,302 8 98,795 99,269 98,908 99,325 9 98,865 99,322 98,963 99,357 Tabla 5. 14 Reduccin, en %, de los requerimientos de memoria para el problema dinmico CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
131 En la Tabla 5.15 se muestran los tiempos de ejecucin en segundos, para la implementacin original y para una implementacin de Computacin de Altas Prestaciones.
DIM_1 DIM_2 DIM_Y1 DIM_Y2 Casos de estudio T OR T OP T OR T OP T OR T OP T OR T OP
1 39,703 3,375 39,718 4,003 35,641 4,531 37,016 5,421 2 40,828 3,406 40,531 4,203 36,828 4,562 38,547 5,437 3 47,766 3,719 47,078 4,500 42,500 4,875 43,875 5,781 4 69,406 3,906 67,531 4,906 61,000 5,218 63,203 6,234 5 71,609 3,953 70,531 5,020 63,187 5,296 64,86 6,421 6 83,672 4,328 81,735 5,281 73,219 5,641 75,282 6,781 7 276,907 6,125 267,515 7,609 238,359 8,218 241,672 9,594 8 287,000 6,140 276,547 7,620 246,64 8,266 249,984 9,640 9 336,687 6,797 325,516 8,328 289,703 9,031 293,375 10,562 Tabla 5. 15 Tiempo ejecucin, expresados en segundos, para la resolucin del problema dinmico considerando el algoritmo original (OR) y el optimizado (OP) En la Tabla 5.16 se puede observar el porcentaje de reduccin que se obtiene, en el tiempo de ejecucin, comparando ambas implementaciones.
Casos de estudio DIM_1 DIM_2 DIM_Y1 DIM_Y2 1 85,354 82,729 90,330 85,620 2 85,895 83,175 90,331 85,122 3 86,823 85,369 91,139 85,051 4 90,136 87,892 93,328 86,491 5 90,100 87,784 93,394 86,225 6 90,992 88,775 93,567 86,726 7 96,030 95,138 97,207 91,930 8 96,143 95,055 97,270 92,159 9 96,399 91,294 97,470 92,859 Tabla 5. 16 Reduccin, en %, del tiempo de ejecucin problema dinmico
Como en el estudio del problema esttico, al tomar tiempos de ejecucin de la implementacin que resuelve el problema dinmico de la interaccin pantgrafo catenaria, se ha conseguido reducir el tiempo de ejecucin de la implementacin de altas prestaciones de forma drstica, en comparacin con la implementacin original. Estas reducciones suponen, como mnimo, el 80% para los distintos tamaos de problema estudiados en esta Seccin, aumentando este porcentaje conforme aumenta el tamao del problema.
CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES
132 5.6 CONCLUSIONES
En este Captulo se han comentado los Algoritmos de Atlas Prestaciones que se han desarrollado para la resolucin tanto del problema esttico de la elasticidad de la catenaria como del problema dinmico de la interaccin pantgrafo-catenaria. Todos estos algoritmos estn integrados en las herramientas CALPE e InDiCa, que son herramientas de gran calidad y muy eficientes, que cubren diferentes aspectos relacionados con el modelo de la catenaria y el sistema pantgrafo-catenaria para trenes de alta velocidad.
Estas herramientas estn siendo actualmente utilizadas por la compaa ferroviaria de Espaa para el diseo de vas de alta velocidad, siendo el continuo inters de los ingenieros de ADIF en mejorar las prestaciones de los clculos que necesitan para estos diseos, lo que ha permitido desarrollar los algoritmos de altas prestaciones introducidos en el presente Captulo.
Como ya se ha dicho, se ha seguido una filosofa de altas prestaciones para realizar unas implementaciones mucho ms ptimas que las que se obtienen con la implementacin original. Este cambio de filosofa ha afectado principalmente a dos aspectos, por una parte el uso de mtodos iterativos con precondicionado para la resolucin de estos sistemas, lo que ha provocado una reduccin espectacular del tiempo de ejecucin de los algoritmos, tal y como se puede observar en las Tablas 5.6 y 5.16. Por otra parte, el uso de esquemas de almacenamiento especiales para las matrices dispersas, consiguindose as una increble reduccin de los requerimientos de memoria, como muestran las Tablas 5.4 y 5.14. Se han utilizado las libreras estndar de BLAS y SPARSKIT para conseguir estas mejoras. Adems, cabe comentar que entre los algoritmos que han sido implementados tienen otras caractersticas a tener en cuenta como pueden ser la portabilidad, robustez, etc
Por tanto, se podra resumir que siguiendo la filosofa de Computacin de Altas Prestaciones se consigue una espectacular reduccin tanto de la memoria necesaria como de del tiempo de ejecucin, tanto para el caso del problema esttico de la elasticidad de la catenaria con vanos iguales [38], como para vanos desiguales (ver [39]), e incluso para el problema dinmico de la interaccin pantgrafo-catenaria [37].
CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
133 CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA: ADELANTNDOSE AL FUTURO
La computacin cientfica se ha convertido en un trabajo de clculo intensivo y de grandes mquinas-ordenadores vectoriales, paralelismo masivo, etc. Se debe tener en cuenta que en esta rea las necesidades de velocidad y memoria son ineludibles y es ah donde la computacin cientfica ha mostrado su importancia, para lo cual se debe encontrar un sistema que nos permita obtener un rendimiento mximo.
Durante muchos aos las aplicaciones cientficas no tuvieron ms remedio que ser procesadas sobre supercomputadores, era la nica posibilidad de obtener el rendimiento y eficiencia que requeran. Pero los supercomputadores son mquinas muy costosas debido a que utilizan la teconologa ms avanzada que se encuentre disponible.
A lo largo de los aos 80, con la aparicin de diversos sistemas distribuidos, el desarrollo de los mecanismos de paso de mensaje y el fuerte incremento en la capacidad de computo de las estaciones de trabajo, se dan los primero pasos hacia lo que se conoce hoy en da con el nombre de clusters de PCs.
Existan dos elementos que impedan un desarrollo ms profundo en este rea: el costo de los equipos (IBM, Sun, Digital, ) y las licencias del software (sistema operativo UNIX).
En los 90 los PCs comienzan a mostrar la capacidad de las estaciones de trabajo, sus precios se vuelven bastate asequibles y los costos de los equipos de redes disminuyen significativamente. Adems, surge un nuevo sistema operativo, LINUX, que es gratuito, compatible con UNIX y capaz de ejecutarse sobre PCs, lo que permite finalmente satisfacer las demandas de computacin a un costo muchsimo menor que el asociado a los supercomputadores.
Hoy en da un buen porcentaje de las mquinas que aparecen listadas como las ms poderosas son clusters, lo que muestra que no slo su rendimiento es comparable al de los supercomputadores, sino que incluso lo supera, tal y como muestra la Figura 6.1.
Pero con la aparicin de nuevas plataformas, como por ejemplo los ordenadores de sobremesa multiprocesador, Intel Quad o AMD Quad-Core, no es necesario la inversin en mquinas especficas, como un supercomputador o un cluster de PCs, para la ejecucin de las aplicaciones cientficas. Incluso los nuevos clusters de PCs ya se estn configurando con estos nuevos procesadores.
Hasta ahora se han expuesto los algoritmos de altas prestaciones que han sido desarrollados para resolver distintos problemas de la ingeniera civil, tal y como se expuso en el Captulo 5, es decir, el problema esttico de la elasticidad de la catenaria y el problema de la interaccin dinmica pantgrafo-catenaria.
Todos los algoritmos del Captulo 5 forman parte de dos herramientas software (ver Captulo 7) que son utilizadas por los ingenieros de ADIF para realizar diversos clculos y as obtener la estructura de la catenaria que mejor se adapte a sus necesidades, es decir, su bsqueda es aquella que les permite obtener la mejor estructura CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
134 de la catenaria para que posteriormente cuando interaccione con el pantgrafo los resultados de esta interaccin sean los ms ptimos.
Figura 6. 1 Top500
Se ha podido comprobar que el tiempo de ejecucin de esta coleccin de algoritmos implementados es reducido, pero cuando se abordan tamaos mayores de problema, es decir, problemas reales, este tiempo aumenta y resulta obvia la necesidad de reducir estos tiempos en la medida de lo posible.
As pues, la realizacin de una implementacin paralela para la resolucin de estos problemas es el paso ms evidente.
CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
135 Por otra parte, hasta el da de hoy los ingenieros de ADIF han seguido la filosofa de prueba y error, es decir, introducen unos datos de entrada, ejecutan la aplicacin y estudian los datos de salida que dicha aplicacin produce. Pero aun con la experiencia de estos ingenieros, se debe tener en cuenta que existen cientos de parmetros de entrada y, aunque se pude reducir el nmero de pruebas, an as sigue siendo un nmero elevado.
La realizacin de una implementacin distribuida, siguiendo la filosofa de la Computacin de Alta Productividad, sera la decisin ms adecuada para poder reducir el tiempo empleado para obtener los resultados deseados por los ingenieros.
Es por todo esto, que en este Captulo se han desarrollado dos conjuntos de implementaciones.
Por un lado se ha seguido la filosofa de computacin paralela, haciendo uso de la librera de comunicacin por medio de paso de mensajes MPI. Adems se ha realizado una batera de test para los algoritmos paralelos implementados, que ha sido lanzada sobre una plataforma de cluster de PCs.
Y por otro lado, se ha seguido la paradigma de Computacin de Alta Productividad, lo que permitir a los ingenieros lanzar una aplicacin que se ejecutar de forma distribuida con distintos datos de entrada, y al tiempo que tarde en ejecutarse la ms lenta de estas ejecuciones, el ingeniero dispondr de la salida ms ptima de todas las posibles.
6.1 UNA IMPLEMENTACIN PARALELA
Actualmente, si se desea resolver problemas complejos y de grandes dimensiones se deben buscar nuevas alternativas tecnolgicas. Una clara alternativa es el paralelismo, mediante el cual se pretende conseguir la distribucin del trabajo entre las diversas CPU disponibles en el sistema de forma que realicen el trabajo simultneamente, con el objetivo de aumentar considerablemente el rendimiento total.
Para conseguir un buen nivel de paralelismo es necesario que el hardware y el software se diseen conjuntamente. Existen dos visiones del paralelismo:
! Paralelismos hardware: Es el paralelismo definido por la arquitectura de la mquina ! Paralelismo software: Es el paralelismo definido por la estructura del programa. Se manifiesta en las instrucciones que no tienen interdependencias.
El paralelismo se presenta, a su vez, en dos formas:
! Paralelismo de control: Se pueden realizar dos o ms operaciones simultneamente. Se presenta en los pipelines y las mltiples unidades funcionales. El programa no necesita preocuparse de este paralelismo, pues se realiza a nivel hardware. CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
136 ! Paralelismo de datos: Una misma operacin se puede realizar sobre varios elementos simultneamente.
6.1.1 Clasificaciones de arquitecturas de computadores
Segn Flynn [40], las computadoras pueden agruparse atendiendo a su capacidad para procesar los datos y las instrucciones, en los siguientes tipos de arquitecturas:
! SISD (Single Instruction and Single Data). Una nica secuencia de instrucciones opera con una nica secuencia de datos. La arquitectura de Von Neumann se corresponde con este tipo de arquitecturas. ! SIMD (Single Instruction and Multiple Data). Una misma instruccin se aplica sobre mltiples datos. Los procesadores matriciales, los procesadores sistlicos, etc. se corresponden con este tipo de arquitecturas. ! MISD (Multiple Instruction and Single Data). Se ejecutan varias instrucciones de forma simultnea sobre un mismo dato. Actualmente, no existe ningn ejemplo que se corresponda con este tipo de arquitecturas. ! MIMD (Multiple Instruction and Multiple Data). Diversas instrucciones se ejecutan sobre mltiples datos. Los multiprocesadores, multicomputadores, etc. se corresponden con este tipo de arquitecturas.
La clasificacin de Flynn fue realizada en 1966. Sin embargo, hoy en da, resulta insuficiente para clasificar de forma clara muchas de las arquitecturas de computadoras que han ido surgiendo desde entonces. De este modo, han surgido otras clasificaciones que se enfocan desde diferentes puntos de vista [41], [42], [43].
En este sentido, desde el punto de vista de la utilizacin en la computacin cientfica, se puede distinguir los siguientes tipos de computadoras como los ms difundidos actualmente [44]:
! Procesadores secuenciales. ! Procesadores vectoriales. ! Procesadores superescalares. ! Multiprocesadores: o Multiprocesadores de memoria compartida (MMC). o Multiprocesadores de memoria distribuda (MMD) o multicomputadores.
Por otra parte, si se atiende al criterio de la organizacin del espacio de direcciones, se puede establecer la siguiente clasificacin de las arquitecturas paralelas:
! Arquitecturas de paso de mensajes. ! Arquitecturas con espacio de direcciones compartido.
6.1.2 Arquitecturas paralelas multiprocesador
Los MMC disponen de una memoria compartida por todos lo elementos de procesamiento del sistema, ver Figura 6.2. La comunicacin entre procesadores se CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
137 realiza a travs de posiciones compartidas de la memoria. El acceso a memoria se realiza a travs de una red de interconexin y resulta el principal problema de este tipo de arquitecturas, debido a los inevitables problemas de colisin y contencin [43], [44].
La complejidad en este tipo de arquitecturas estriba en realizar una gestin eficiente de la memoria que evite inconsistencias en los datos, al mismo tiempo que minimice el nmero de accesos a medida que los datos accedidos residen en dispositivos de almacenamiento ms alejados. Por esta razn estas computadoras suelen constar de un nmero relativamente bajo de procesadores, de 4 a 16 o 32, resultando ser muy poco escalables. Algunos ejemplos de MMC son el Alliant FX/80, con 8 procesadores vectoriales, y el SGI PowerChallenge, con 16 procesadores superescalares.
Adems, en funcin de la cantidad de tiempo que requieren los procesadores en acceder a la memoria local y global, los MMC se pueden clasificar en dos categoras [45]: UMA (Uniform Memory Access) y NUMA (Nonuniform Memory Access). Si el tiempo de acceso a memoria es el mismo para todos los procesadores, entonces el computador es de tipo UMA, si por el contrario, el tiempo de acceso a un mdulo de memoria remoto es mayor que el acceso a un mdulo de memoria local, entonces el computador es de tipo NUMA.
Figura 6. 2 Arquitectura MMC
Los MMD o multicomputadores se componen de un sistema de memoria distribuida, donde cada procesador almacena el cdigo y sus datos, tal y como se muestra en Figura 6.3. La comunicacin entre procesadores se realiza directamente a travs de una red de interconexin, siendo el elemento crtico del sistema. En este tipo de arquitecturas el tiempo de acceso a un dato local resulta mucho menor que el tiempo de acceso a un dato remoto, situado en la memoria local de otro procesador. Estas mquinas son mucho ms escalables que los MMC y pueden llegar a disponer de miles de elementos de procesamiento. Ejemplos de esta arquitectura son el Cray T3D, con 256 procesadores, el IBM SP2, con 128 procesadores, o Thinking Machines CM-5, con 1024 procesadores. CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
138
Figura 6. 3 Arquitectura MMD Actualmente, la solucin que se est imponiendo en el mercado consiste en modelos con memoria distribuida fsicamente pero compartida desde el punto de vista lgico, tratando de esta forma, aprovechar las ventajas de ambos paradigmas de computacin paralela.
6.1.3 Paradigmas de programacin paralela
El diseo de un algoritmo paralelo se puede hacer ajustndose a diversos paradigmas de programacin para adaptarse a los diferentes tipos de arquitecturas paralelas existentes. El hecho de que existan diferentes arquitecturas paralelas justifica la existencia de varios paradigmas de programacin paralela. Las diferencias entre estos paradigmas se basan en tres factores:
6.1.3.1 Programacin explcita vs. Programacin implcita
La programacin paralela explcita requiere que el algoritmo paralelo especifique cmo han de cooperar los procesadores para resolver el problema. La tarea del compilador es sencilla, mientras que el programador ha de realizar las tareas mas complicadas. Por su parte, la programacin implcita consiste en usar un lenguaje de programacin secuencial y dejar en manos del compilador la labor de generar el cdigo de forma que se distribuya el trabajo entre los diferentes elementos de proceso. Esto no resulta demasiado eficiente, debido a la dificultad de analizar de forma automtica las dependencias de datos en un algoritmo secuencial.
6.1.3.2 Espacio de direcciones compartido vs. Paso de mensajes
En el paradigma de programacin con espacio de direcciones compartido, el programador ve sus programas como una coleccin de procesos que acceden a un conjunto de variables compartidas. Este paradigma es el ideal para las arquitecturas de CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
139 memoria compartida, los datos comunes se sitan en la memoria accesible a todos los procesadores, obligando a que los lenguajes de programacin proporcionen primitivas para resolver los problemas de exclusin mutua, mediante mecanismos como semforos o monitores.
Por su parte, en el paradigma de paso de mensajes, el programador ve sus programas como un conjunto de procesos con variables locales privadas y con la capacidad de enviar y recibir datos entre ellos, mediante el paso de mensajes. Evidentemente, este estilo de programacin se ajusta perfectamente a las arquitecturas de paso de mensajes. Sin embargo, tambin puede usarse con arquitecturas de memoria compartida, sustituyendo los mensajes por accesos controlados a las reas de memoria comn.
6.1.3.3 Paralelismo de datos vs. Paralelismo de control
El paralelismo de datos se presenta en problemas donde muchas estructuras de datos han de sufrir un idntico procesamiento. Este tipo de paralelismo funciona adecuadamente en arquitecturas SIMD. Si no se exige la sincronizacin tras cada instruccin, tambin se puede aplicar en mquinas MIMD, denominndose modelo SPMD (Single Program Multiple Data). Por su parte, el paralelismo de control se refiere a la ejecucin simultnea de varios flujos de instrucciones, es decir, cada procesador ejecuta su propio programa sobre un conjunto de datos. Los algoritmos que muestran paralelismo de control suelen adaptarse bien en arquitecturas MIMD. Tanto el paralelismo de datos como el de control suele estar presente simultneamente en diversos problemas.
6.1.4 Evaluacin del rendimiento en programas paralelos
El objetivo del paralelismo en la computacin es conseguir una mejora de las prestaciones, con respecto a la ejecucin secuencial. Para tener la certeza de que este objetivo se ha alcanzado o no, es necesario disponer de unos criterios adecuados que permitan, de forma fiable y precisa, evaluar las prestaciones de los algoritmos paralelos, incluso en la fase de diseo, es imprescindible disponer de una metodologa de anlisis de prestaciones que ayude a construir los algoritmos ptimos mediante refinamientos sucesivos.
Para la evaluacin de cualquier algoritmo, y posteriormente utilizar esa informacin en la fase de diseo, es imprescindible la existencia de un modelo de computador, donde se supone que se ejecutar el algoritmo. En la computacin secuencial es bastante frecuente utilizar como modelo una computadora de tipo Von Neumann. Sin embargo, en la computacin paralela no es tan simple, no existe un nico modelo de computadora paralela, de propsito general, escalable, etc., universalmente aceptado para que pueda desempear el papel del modelo Von Neumann en la computacin secuencial.
En la computacin paralela se disponen de diferentes modelos tericos que ven los computadores y los algoritmos paralelos desde distintos puntos de vista. Tambin es CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
140 posible utilizar modelos fsicos, en los que se trate de reproducir un computador paralelo en concreto.
Una clara diferencia entre estimaciones de programas secuenciales y paralelos esta en que el tiempo de ejecucin de un programa paralelo debera depender de 2 variables, el tamao de los datos de entrada y el nmero de procesos. As, en vez de usar T(n) para representar el rendimiento, se usar una funcin de 2 variables, T(n, p). T(n, p) es el tiempo transcurrido desde el momento en que el primer proceso comienza su ejecucin hasta el momento en el que el ltimo proceso termina su ejecucin.
6.1.4.1 Parmetros absolutos
Para la evaluacin de un determinado algoritmo paralelo se pueden usar parmetros que permitan medir la rapidez del mismo, sin compararlo con ningn otro algoritmo. Este tipo de parmetros suelen denominarse absolutos y suelen estar relacionados con el tiempo de ejecucin del algoritmo. Algunos de los ms importantes son:
! Tiempo secuencial de un algoritmo (T1): Tiempo que tarda en ejecutarse el algoritmo en un nico procesador. ! Tiempo de ejecucin en p procesadores (Tp): Tiempo que tarda en ejecutarse el algoritmo, utilizando un nmero de procesadores igual a p. ! Tiempo aritmtico de un algoritmo paralelo ejecutado en p procesadores (Ta): Tiempo que tarda un sistema multiprocesador en realizar operaciones aritmticas. ! Tiempo de comunicacin de un algoritmo paralelo en p procesadores (Tc): Tiempo que tarda un sistema multiprocesador en ejecutar transferencias de datos. ! Tiempo de solapamiento (Tov): Tiempo que transcurre cuando se realizan operaciones aritmticas y comunicaciones de forma simultnea.
6.1.4.2 Parmetros Relativos
En muchos casos, no interesa saber solamente la rapidez de un algoritmo paralelo, sino tambin si es ms rpido en comparacin con otro algoritmo, secuencial o paralelo, que resuelve el mismo problema, o tambin, si se est aprovechando de forma ptima los recursos del sistema multiprocesador en el que se ejecuta, o, simplemente, si un determinado algoritmo secuencial puede ser paralelizable.
Para evaluar esta clase de cuestiones se utilizan, normalmente, parmetros relativos. Algunos de los ms importantes son:
! Velocidad de un algoritmo (V): Se define como el nmero de operaciones en coma flotante que se realizan por unidad de tiempo, en el intervalo de ejecucin del algoritmo. ! Tiempo medio elemental de un algoritmo (tm): Es el tiempo, por trmino medio, para realizar una operacin elemental en coma flotante cuando se ejecuta el algoritmo. CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
141 ! Speed-up, Aceleracin o Incremento de velocidad (Sp): Indica la ganancia de velocidad de un determinado algoritmo paralelo, ejecutado sobre p procesadores, cuando se compara con el mejor algoritmo secuencial. ! Eficiencia (Ep): Mide el grado de utilizacin de un sistema multiprocesador.
6.1.5 La librera de comunicacin MPI
Entre todos los modelos de programacin paralela, el ms utilizado y extendido hoy en da es el paso de mensajes. Este modelo, definido por C. A. Hoare en 1978, realiza el intercambio de informacin mediante el envo y recepcin de mensajes explcitos, es decir, toda la informacin debe ser enviada explcitamente por el emisor y recibida explcitamente por el receptor. El modelo de paso de mensajes se basa en la existencia de procesos o procesadores, que no tienen porqu compartir memoria y que se comunican mediante una red de interconexin, a travs de la cual circulan los mensajes.
La programacin con paso de mensajes puede realizarse de dos maneras diferentes, mediante un lenguaje de programacin nuevo que incluya este modelo, o mediante una librera de comunicaciones con procedimientos y funciones, compatible con los lenguajes de programacin que existen actualmente.
En la actualidad existe un gran nmero de libreras o paquetes de comunicacin basados en el paso de mensajes: P4, PICL, Express, PVM, PARMACS, Chameleon, Zipcode, TCGMSG, etc. Unos de los primeros esfuerzos en la estandarizacin de estas libreras fueron P4 (Programming Parallel Portable Programs) y PVM (Parallel Virtual Machine). Este ltimo ha sido muy utilizado hasta la actualidad. Como evolucin de PVM, diversos fabricantes de computadores, cientficos, diseadores de software e incluso creadores de los anteriores paquetes, se reunieron para fijar un estndar, al que denominaron MPI (Message-Passing Interface).
MPI [46] es una librera con interfaces para diversos lenguajes, como por ejemplo C y Fortran. Esta caracterstica ha sido determinante para la amplia difusin que tiene MPI. Si bien, MPI fue diseado especficamente para multicomputadores, tambin puede funcionar en MMCs; siendo los programas MPI completamente portables. Si bien, MPI dispone de ms de 125 funciones, se puede escribir cualquier programa paralelo con tan slo las 6 funciones principales de MPI.
Existen diversas implementaciones de dominio pblico de la librera MPI, entre las que destacan, MPICH del Laboratorio Nacional de Argonne y la Universidad Estatal de Mississippi (EEUU), LAM de la Universidad Estatal de Ohio (EEUU) y CHIMP de la Universidad de Edimburgo (Reino Unido).
Para un adecuado diseo de las comunicaciones de un programa MPI, se hace necesario tener en cuenta una serie de conceptos bsicos de MPI:
! Comunicador. Un comunicador est formado por un grupo de procesos que realizan una determinada operacin, identificado mediante una etiqueta. Esto permite la realizacin de diferentes operaciones sobre grupos de procesos distintos ya que identifica de forma nica a ese grupo de procesos cuando se CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
142 comunican entre s. Los mensajes se hallarn siempre vinculados a un nico comunicador y no podrn ser recibidos por otro proceso que utilice otro comunicador. ! Grupos. MPI proporciona diferentes herramientas para la creacin, eliminacin, unin, interseccin y otras funciones relacionadas con la gestin de grupos de procesos. ! Topologas. MPI facilita funciones para crear y eliminar topologas virtuales, en contraposicin a las topologas fsicas subyacentes. ! Atributos. MPI permite asignar cualidades numricas o atributos a los comunicadores, resultando muy sencillo parametrizar determinadas libreras.
Por otra parte, MPI contiene rutinas bsicas de comunicaciones a bajo nivel y tambin un conjunto de rutinas de alto nivel que permiten realizar operaciones de comunicacin especiales. La mayora de estas pueden clasificarse en las siguientes categoras:
! Tipos de datos derivados. MPI contiene operaciones que permiten trabajar con tipos de datos bsicos y nuevos tipos derivados de los tipos de datos bsicos. La principal utilidad de los tipos de datos derivados es el envo de informacin que no est almacenada en posiciones contiguas de memoria. ! Comunicacin punto a punto. Son operaciones que transmiten la informacin, mediante mensajes entre dos procesos concretos. Los procesos involucrados se identifican mediante un nmero entero. MPI_Send, y MPI_Recv son dos ejemplos de rutinas de comunicacin punto a punto. ! Comunicacin colectiva. Son operaciones que transmiten la informacin entre todos los procesos pertenecientes a un grupo, generalmente, el grupo cuyos procesos han ejecutado dicha operacin. MPI_Bcast es un ejemplo de rutina para comunicacin colectiva. As mismo, MPI permite realizar ciertas operaciones entre operandos contenidos en diferentes procesos, almacenando el resultado en un proceso, son las denominadas operaciones de reduccin. MPI_Reduce es un ejemplo de rutina de reduccin. MPI tambin ofrece la posibilidad de sincronizar los procesos de un mismo comunicador. MPI_Barrier es un ejemplo de rutina de sincronizacin. ! Entorno y funciones de perfilado. Estas operaciones permiten la interaccin con el exterior y el afinado de los programas mediante el estudio de su perfil. ! Inicializacin y terminacin. Un programa para poder utilizar las rutinas de MPI, debe realizar en primer lugar una llamada a la rutina de inicializacin de MPI, MPI_Init. Al finalizar el programa, o cuando no sea necesario utilizar las rutinas del MPI, se debe realizar una llamada a la rutina de finalizacin del entorno MPI, MPI_Finalize. ! Rutinas de informacin. MPI ofrece diversas rutinas para obtener informacin del sistema. MPI_Comm_rank y MPI_Comm_size son dos rutinas bsicas para obtener informacin del sistema.
6.1.6 Computacin paralela para resolver el problema esttico de la elasticidad
En el Captulo 5 se present una implementacin de Altas Prestaciones para resolver el problema esttico de la elasticidad de la catenaria. Ambas implementaciones CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
143 fueron llevadas a cabo para una estructura de pendolado normal como con pendolado en Y.
La cantidad de parmetros a considerar para obtener una instalacin ptima de la catenaria es considerable, casi 100. Si adems se consideran los kilmetros de rales existentes en Espaa, es posible imaginar la cantidad de simulaciones que hay que cumplir considerando la variacin de los parmetros. An teniendo en cuenta la experiencia de los ingenieros de ADIF (Administrador de Infraestructuras ferroviarias) [3], para reducir el nmero de pruebas, el nmero sera todava muy alto.
Por tanto es obvio que es necesario reducir el tiempo de ejecucin de cada simulacin para proporcionar a los resultados en un tiempo razonable.
Hasta donde se sabe, existen ciertos paquetes software para calcular el problema esttico de la elasticidad de la catenaria ([8], [9], [11]). Sin embargo, ninguno de ellos hace uso del paralelismo para resolver este problema.
Por esta razn, en este apartado se ha desarrollado una implementacin paralela de los algoritmos que resuelven el problema esttico de la elasticidad de la catenaria, siendo sta la primera aproximacin para resolver este importante problema de ingeniera. Considerando esta aproximacin, la mayora de los problemas de clculo de estructura de la catenaria se podra considerar, incluyendo el problema en 3D.
Para la la implementacin paralela, se ha creado un programa principal, en el cual se siguen los siguientes pasos:
! Se procede a la inicializacin de MPI a travs de la instruccin MPI_Init(&argc,&argv). ! Para poder medir el tiempo que tarda en ejecutarse el programa que calcula la elasticidad de la catenaria, llamado CEPNCVI, han sido declaradas dos variables de tipo double, t_inicial y t_final. Se ha usado la funcin MPI_Wtime( ) para poder tomar las medidas de tiempo de ejecucin. En este momento se inicializar la variable t_inicial. ! Se realiza la llamada a CEPNCVI. ! Se inicializa la variable t_final. ! Se calcula el tiempo de ejecucin a travs de las variables t_inicial y t_final.
El programa CEPNCVI es prcticamente el mismo que se vi en el Captulo 5, ms concretamente en la Seccin 5.2, por tanto se har aqu referencia nicamente a aquellas partes que se han introducido para poder realizar la paralelizacin. As pues, se podra decir que se han seguido los siguientes pasos:
! Mdulo I (Ver Seccin 5.2). ! Se sealizan dos llamadas a MPI para obtener el identificador y el nmero de procesos. MPI_Comm_size(MPI_COMM_WORLD,&tid); MPI_Comm_rank(MPI_COMM_WORLD,&mid); ! Mdulo II (Ver Seccin 5.2). ! Mdulo III (Ver Seccin 5.2). ! Llamada a la funcin denominada localdim CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
144 localdim(noi,nof,tid,mid,&noil,&nofl); Mediante la funcin localdim y a partir del nodo inicial global noi, el nodo de nodo final global nof, el nmero de procesos tid y el identificador del proceso mid, se obtendrn el nodo inicial local noil y el nodo final local nofl. Estos dos parmetros son calculados siguientdo el algoritmo que se muestra en la Figura 6.4. ! Mdulo IV. En este mdulo se resolva el problema esttico de la elasticidad de la catenaria, como se vi en el Captulo 5, este proceso era un conjunto de iteraciones en el que se calculaba, a partir de la posicin en reposo de la catenaria, su nueva posicin al ejercerse una fuerza vertical en el punto i del vano j, este proceso se repeta hasta que se llegase al ltimo punto del ltimo vano. Al haber realizado la llamada a la funcin localdim, lo que se hace es dividir estas iteraciones en grupos, teniendo tantos grupos como procesadores se utilicen, por tanto cada procesador calcular un subconjunto de iteraciones.
Figura 6. 4 Algoritmo localdim CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
145
Un esquema de la paralalizacin realizada se puede ver en la Figura 6.5.
Figura 6. 5 Esquema paralelizacin de CEPNCVI
Para conseguir esta paralelizacin se ha utilizado una comunicacin basada en la librera de paso de mensjes MPI (Message Passing Interface). Las implementaciones realizadas han sido ejecutadas en un cluster de PCs. Aunque se ha utilizado esta plataforma, hoy en da existen ordenadores personales multiprocesador, de hasta 4 procesadores, que tienen la ventaja de que estn disponibles a un precio muy asequible.
6.1.6.1 Casos de estudio
Para la obtencin de los resultados experimentales se han considerado vanos con el mismo nmero de pndolas en la misma posicin. En cuanto a la estructura, se considerar una estructura de catenaria con pendolado normal. En la Tabla 6.1 se muestra la batera de casos de estudio que se va a llevar a cabo:
Casos de estudio nv np lv 1 3 10 60 2 20 11 60 3 60 20 60 4 100 20 60 Tabla 6. 1 Casos de estudio para la evaluacin de la paralelizacin del problema de la elasticidad
donde ns es el nmero de vanos, np el nmero de pndolas por cada vano y lv la longitud del vano. Se han considerado estos tres parmetros significativos para CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
146 redimensionar el tamao del problema, aunque estos algoritmos necesitan cerca de 100 parmetros de entrada.
Estos casos de estudio consideran diferentes grados de dificultad. As, el caso de estudio 1 es un caso simple que cubre la simulacin de un trayecto de 180 metros, sin embargo el caso de estudio 4 es un caso ms realista, que cubre una trayectoria de 6000 metros.
La productividad obtenida en las implementaciones paralelas ser evaluada en trminos de:
! Tiempo de ejecucin: tiempo consumido en resolver el problema. ! Speed-Up: se define como el tiempo que conlleva la resolucin de un problema en un procesador y el tiempo que se requiere en la resolucin de ese mismo problema con p procesadores. ! Eficiencia: se define como la media de la fraccin de tiempo que un procesador est siendo utilizado realmente. Se obtiene calculando la relacin entre la aceleracin y el nmero de procesadores.
La plataforma utilizada para realizar las pruebas consiste en un cluster de PCs perteneciente al grupo de Sistemas Concurrentes y Tiempo (Real Real-Time and Concurrent Systems) [1] del Instituto de Investigacin en Informtica de Albacete [2].
Este cluster consta de 9 procesadores (1 procesador es utilizado como frontend y los 8 restantes son utilizados nicamente para el clculo), cada procesador con las siguientes caractersticas:
! Cada procesador es un Intel PIV a 3.00GHz. y con 3GB de RAM. ! El cluster funciona bajo el sistema operativo Debian de Linux. ! La memoria principal del multiprocesador tiene una capacidad de 250GB.
En esta mquina se compilaron las libreras BLAS y SPARSKIT con el objetivo de obtener una mayor productividad.
A continuacin se muestran los resultados obtenido al ejecutar los casos de prueba sobre esta plataforma.
6.1.6.2 Resultados de los casos de estudio
Tras la descripcin de los diferentes casos y trminos de estudio, adems de la presentacin de la arquitectura utilizada para la ejecucin de la batera de casos de prueba, en este apartado se presentan los diferentes resultados obtenidos, teniendo en cuenta el tiempo de ejecucin, el Speed-up y la eficiencia.
En la Tabla 6.2 se muestran los tiempos de ejecucin obtenidos sobre la plataforma del cluster de PCs, detallada con anterioridad, y utilizando MPI para la comunicacin.
CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
147 Casos de estudio 1 proc. 2 proc. 4 proc. 8 proc. 1 0,018071 0,010611 0,006486 0,004580 2 1,182784 0,638545 0,353971 0,214382 3 44,811559 22,146480 11,532784 6,336630 4 79,863329 40,360713 20,534133 10,647014 Tabla 6. 2 Tiempo de ejecucin en segundos en el Cluster de PC`s
Observando la Tabla 6.2 se puede ver que los tiempos de ejecucin se ven fuertemente reducidos al incrementar el nmero de procesadores que se utilizan para el clculo, pero la mejor forma de tener unas conclusiones ms concretas, con respecto a estos resultados, es utilizando el Speed-up y la Eficiencia.
El Speed-up se muestra en la Tabla 6.3.
Casos de estudio 2 proc. 4 proc. 8 proc. 1 1,703044 2,786154 3,945633 2 1,852311 3,341471 5,517179 3 2,023416 3,885580 7,071828 4 1,978739 3,889296 7,501007 Tabla 6. 3 Speed-up en el Cluster de PC`s Al calcular el Speed-up, se puede concluir que, para el caso de 2 y 4 procesadores, cuando el tamao del problema es mediano e incluso grande, se obtienen un Speed-up muy cercano al ideal, es decir, cercano a dos en el caso de dos procesadores y cercano a cuatro en el caso de cuatro procesadores.
En el caso de 8 procesadores la ganancia obtenida es considerable pero aun queda casi un punto por debajo de su ideal tanto para tamaos de problemas grandes como tamaos de problema casi reales, aunque, cabe decir, que la tendencia que muestra es a aumentar conforme el tamao de problema aumenta.
El siguiente paso es el clculo de la Eficiencia, reflejada en la Tabal 6.4, haciendo uso de los datos del Speed-up que se han mostrado anteriormente.
Casos de estudio 2 proc. 4 proc. 8 proc. 1 0,851522 0,696538 0,493204 2 0,926155 0,835367 0,689647 3 1,011708 0,971395 0,883978 4 0,989369 0,972324 0,937625 Tabla 6. 4 Eficiencia en el Cluster de PC`s La eficiencia, que como ya se sabe tiene un valor ideal de 1, da una visin ms clara de los datos obtenidos, pero no aporta nada nuevo, sino que viene a reforzar las conclusiones que se obtuvieron estudiando los datos del Speed-up.
CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
148 Si se asume que los casos de estudio se han realizado teniendo en cuenta el tamao del problema, se podran considerar 4 casos: el caso de estudio uno tendra un tamao de problema pequeo, el caso dos mediano, el tres mediano-grande y el caso de estudio cuatro grande.
Partiendo de esta estructura se podra concluir que:
! Para tamaos de problemas pequeos es quiz poco aconsejable la paralelizacin pues la ganancia que se obtiene no es mucha si se compara con el coste que produce. ! Para tamaos de problemas medianos es recomendable paralelizar usando dos procesadores, pues se obtiene una eficiencia prxima a 1. ! Para tamaos de problemas medianos-grande la paralelizacin produce muy buenos resultados tanto para dos como para cuatro procesadores, aunque se sigue teniendo mejor eficiencia para dos procesadores que para cuatro. ! Para tamaos de problemas grandes la paralelizacin es aconsejable, aunque es mayor la eficiencia para dos y para cuatro procesadores que para ocho.
Es evidente, que si se tuviese que dar una respuesta en un tiempo lmite, no importa el nmero de recursos que se utilice, lo que importa es que la paralelizacin disminuye notablemente el tiempo de ejecucin de los algoritmos secuenciales, y si un algoritmo que tarda en ejecutarse 0,018 segundos se puede ejecutar en 0,004, el que haya utilizado un mayor nmero de procesadores no es un dato relevante si ya se dispone de la arquitectura.
6.2 UNA IMPLEMENTACIN DISTRIBUIDA
Las caractersticas de muchos de los ordenadores personales que se pueden tener en casa mejoran las prestaciones que tenan los supercomputadores que existan hace aos y que ocupaban salas enteras. Ahora las mquinas son mucho ms pequeas, ms rpidas y sobre todo ms econmicas.
Se debe prestar tambin atencin al desarrollo que se ha producido ltimamente en las redes de interconexin, que han incrementado en pocos aos su velocidad de transmisin, lo cual ha supuesto una gran ventaja a la hora de facilitar la comunicacin entre sistemas.
Estos avances tecnolgicos permitieron plantear y estudiar nuevos sistemas de computacin.
As se comprob que uniendo los recursos de varios sistemas informticos convencionales, conectados por una red con buenas prestaciones, colaborando entre si se puede obtener una eficiencia similar o superior a la de un supercomputador. Todo esto con un coste econmico muy inferior que el que supone un gran computador. Esto sera el comienzo de los sistemas distribuidos.
CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
149 6.2.1 Sistemas distribuidos
Los sistemas distribuidos son componentes hardware o software conectados en red, que se comunican y coordinan mediante el paso de mensajes, y que normalmente constituyen un esquema cliente-servidor (ver [47]).
Sus principales virtudes vienen marcadas por las siguientes caractersticas:
! Concurrencia: Los recursos que se encuentran en el sistema pueden ser utilizados simultneamente por varios usuarios. ! Temporizacin distribuida: No hay un reloj general en el sistema mediante el cual se puedan sincronizar los recursos, la coordinacin se realiza mediante mensajes. ! Independencia de fallos: Si cualquiera de los componentes del sistema tuviese un fallo ste no tendra porque afectar al conjunto. Ganaremos en efectividad y robustez ya que el sistema puede continuar trabajando. ! Independencia de elementos: Cada elemento que forma parte del sistema tiene su propia memoria y sistema operativo. ! Sistemas abiertos: Nos van a dar facilidades a la hora de realizar cambios en el sistema y nos permite aadir nuevos componentes y recursos sin problemas. ! Plataformas heterogneas: No va a ser necesaria una plataforma estndar sobre la que ejecutar nuestras aplicaciones, los recursos pueden ser heterogneos (Unix, Windows, Intel, Risc,). ! Disponibilidad de un medio de comunicacin: los distintos elementos van a necesitar un sistema de interconexin compuesto por redes, protocolos, dispositivos, etc. ! Comparticin de recursos: una ventaja importante que nos van a aportar estos sistemas es posibilidad de compartir recursos ya sean hardware o software.
Con todo esto podemos afirmar que con la unin de estaciones en un sistema distribuido se puede obtener una buena potencia de procesamiento y clculo para satisfacer las necesidades de los diversos usuarios, sin olvidar el menor coste del sistema, por lo que se puede concluir que se mejora la relacin precio/rendimiento respecto a los sistemas centralizados.
No todo son ventajas, por otro lado los sistemas distribuidos van a necesitar mecanismos especficos para la comparticin de datos y recursos, necesidad de controles de acceso y registro, qu usuarios van a tener acceso y a qu recursos, etc. Adems existe otro problemas y es que si la red de intercomunicacin que dispone el sistema no es lo suficientemente rpida puede afectar a la velocidad de propagacin de la informacin.
Las tendencias de computacin en red (Net Computing) consisten en interconectar sistemas distribuidos y as poder utilizar de forma conjunta y coordinada sus recursos. Existen diversas iniciativas para este tipo de computacin, la cuales se pueden clasificar:
! Cluster Computing: Se desarrolla por el bajo precio y buen rendimiento de los actuales PC y las redes de interconexin que pueden llegar a 1000 y ms CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
150 Mbits/seg. Esta puede ser una buena opcin para la construccin de un sistema multiprocesador ya que mejora la relacin coste/rendimiento entre 3 y 10 veces sobre los clsicos multiprocesadores. Se comporta como si fuese una nica computadora y nos puede servir de gran ayuda en aplicaciones de supercmputo. Los clusters habitualmente se gestionan por herramientas software que se encargan de ejecutar las aplicaciones de los usuarios sobre las distintas mquinas en funcin de diferentes criterios de planificacin fijados por el administrador. ! Intranet Computing: Se basa en la idea de que los recursos que forman esta red pueden estar desaprovechados parte del tiempo. El objetivo de Intranet Computing es unir la potencia computacional desaprovechada de los recursos hardware distribuidos, dentro de un nico dominio de administracin para alcanzar rendimientos semejantes a los proporcionados por los sistemas de alto rendimiento. Esta es una opcin muy eficiente de aprovechar la capacidad de procesamiento en los equipos que se encuentran ociosos en la red; suelen ejecutar trabajos independientes y paramtricos. ! Internet Computing: Es un sistema distribuido en el cual la red de intercomunicacin entre los recursos es Internet. Estos sistemas aprovechan los tiempos ociosos de los sistemas conectados a la red global. Generalmente se dedican a la resolucin de proyectos cientficos que estn basados en procesos paramtricos, como por ejemplo Seti@home.
El hecho de que la comunicacin se realice a travs de Internet puede suponer diversas complicaciones. Teniendo en cuenta que la seguridad no esta garantizada, con los problemas que eso puede generar, adems el ancho de banda que se tiene no va a ser tan grande como del que se podra disponer en una red privada, de tal forma que la computacin distribuida puede resultar ineficiente.
En la actualidad se trabaja con este sistema principalmente en organismos cientficos e investigadores en colaboracin con sistemas remotos que donan su procesador para obtener resultados de forma eficiente. Todava ninguna empresa ha puesto en funcionamiento un sistema de Internet Computing, ya que no ofrece toda la seguridad que se deseara y las empresas no se arriesgan a que sus aplicaciones y datos viajen libremente por Internet, y mucho menos que se instalen en maquinas extraas. En un futuro cabe la posibilidad de que las empresas desarrollen este tipo de computacin distribuida y que pague a aquellos que ceden su procesador, con la consecuente creacin de un mercado de recursos de clculo.
Otro modelo de computacin en Internet es On-Demand Computing, en el cual las aplicaciones se programan para que usen recursos especficos de forma remota.
! Computing Portal: Se basa en el establecimiento de un portal Web al que accedemos mediante navegador y mediante el cual podemos ejecutar aplicaciones en plataformas de alto rendimiento
6.2.2 GRID vs Computacin de recursos pblicos
A continuacin se va a detallar en que consiste tanto el Grid como la computacin de recursos pblicos, para poder realizar una breve diferenciacin entre ambas. CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
151 As pues, la implementacin de Grids, siguiendo el hilo de lo visto en la computacin por Internet, es una nueva infraestructura que permite, sobre la red global, compartir a gran escala recursos que se encuentran distribuidos por la geografa mundial, gracias a la evolucin de las redes de alta velocidad que permiten sacar buen rendimiento a esta tecnologa.
La tecnologa Grid intenta ofrecer unas garantas de seguridad y polticas para la gestin de los recursos del sistema, pero siempre permitiendo compartir y explotar de forma transparente los recursos de las organizaciones y participantes en el proyecto.
La tecnologa Grid supone una revolucin en el tipo de servicios prestados a travs de Internet ya que con slo conectarse se tiene acceso a un enorme potencial de intercambio y de gestin de recursos. A estos servicios se accede desde un interfaz nico que permite realizar operaciones bsicas, ejecucin de aplicaciones, monitorizacin de un trabajo, informacin del estado de los recursos, gestin de instrumentos o control de acceso a los recursos. Para obtener una informacin ms detallada ver [48], [49], [50] y [51].
Hoy da, el principal estndar diseado para estos servicios es el Globos Toolkit, este sistema es una coleccin de componentes software opensource y open-architecture diseados para soportar el desarrollo de aplicaciones de alto rendimiento sobre entornos distribuidos tipo Grid. Se compone de un conjunto de componentes autnomos, cada elemento proporciona un servicio bsico como autenticacin, asignacin de recursos, monitorizacin y acceso remoto a datos.
Por otra parte, la computacin de recursos pblicos (Public-Resource Computing) es una idea que se viene desarrollando con gran xito en los ltimos tiempos, principalmente en el seno de la comunidad cientfica. Este modelo de computacin se basa en el aprovechamiento de los recursos que estn disponibles en los PC`s de todo el mundo y que se encuentran conectados a Internet.
En 1999 un grupo de investigadores de la Universidad de California en Berkeley di un empujn definitivo a este sistema de computacin de recursos pblicos con el lanzamiento de SETI@home (Search for ExtraTerrestrial Intelligence), una aplicacin que consista en la bsqueda de seales exteriores que no pareciesen aleatorias y que pudieses interpretarse como seales inteligentes.
El principal representante del concepto de recursos pblicos es la plataforma BOINC (Berkeley Open Infrastructure for Network Computing), un sistema que facilita la creacin y mantenimiento de proyectos basados en la computacin de recursos pblicos.
En Espaa, el proyecto ms conocido de computacin de recusos pblicos y que se basa en el uso de BOINC, es Ibercivis (ver [52]).
Esta iniciativa parta del xito de una experiencia previa, el proyecto Zivis, creado en la Universidad de Zaragoza y el CIEMAT. En el proyecto Zivis se pudieron computar casi 800.000 horas de clculo cientfico gracias a la participacin de los ciudadanos, 20 veces ms de lo previsto en un principio para ejecutar los trabajos programados. Ibercivis en una primera fase se centrar en proyectos de investigacin CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
152 como la bsqueda de nuevas fuentes de energa, frmacos contra el cncer y simulacin de materiales.
Hoy da ms de 5 millones de mquinas de todo el mundo participan en BOINC, teniendo como tasa de procesamiento sostenido ms de 90 TeraFLOPS, algo formidable si se tiene en cuenta que el supercomputador ms potente del mundo, Blue Gene, tiene una tasa de 70.72 TeraFLOPS.
Existen grandes diferencias entre un sistema grid y un sistema de computacin de recursos pblicos.
! Un Grid implica que existe una organizacin propietaria de los recursos que se van a compartir (supercomputadores, cluster, etc.), estos son gestionados por las entidades, los elementos estn conectados a tiempo completo y disponen de un gran ancho de banda. Se puede decir que es una relacin simtrica entre organizaciones, unos hacen uso de los recursos de los otros. ! Por el contrario en la computacin de recursos pblicos se trata de una relacin asimtrica entre el proyecto y los participantes, ya que la organizacin que coordina el proyecto, suele tratarse de grupos de investigacin cientfica, mientras que los participantes son particulares con un PC convencional conectado a Internet. Los participantes se conectan y desconectan frecuentemente de los proyectos. sta es otra diferencia considerable respecto a los Grid, de igual forma que tampoco son expertos en la aplicacin en cuestin, sino que ceden voluntariamente sus recursos. ! Con Grid se puede controlar el intento de falsificacin de resultados. ! En la computacin de recursos pblicos, los responsables del proyecto no pueden tener un control total sobre los participantes, de tal forma que se pueden producir algunas prcticas maliciosas, como la falsificacin de resultados. ! La Computacin en Grid requiere ms condiciones que las que puede necesitar un sistema de computacin de recursos pblicos, como puede ser un mecanismo para el descubrimiento y acceso a los recursos.
6.2.3 BOINC
Durante los aos 70 se intenta desarrollar una investigacin que trate la bsqueda efectiva de seales exteriores, as nace el proyecto SETI (Search of Extraterrestrial Intelligence). En el Centro Ames de Investigacin de la NASA en Mountain View, California, un grupo de expertos de Hewlett-Packard realiz un estudio completo para la agencia espacial. Este proyecto SETI utilizaba supercomputadores dedicados a este propsito particular. Los mismos se encontraban localizados junto a los propios telescopios y se encargaban de analizar un gran volumen de datos.
En 1995, David Gedye de Starwave Corp. propuso crear un proyecto SETI que usar un supercomputador virtual que consista en un gran numero de maquinas conectadas por Internet. No fue hasta 1999 cuando en el laboratorio de Ciencias Espaciales de la Universidad de California, Berkeley se desarrollo el proyecto que David Gedye propuso y que se denomin SETI@home (ver [53]), siendo el primer intento de computacin distribuida realizado con xito y en el que participan voluntarios de todo el mundo y fueron conscientes de que a muchos de estos voluntarios, usuarios a CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
153 fin de cuentas, les gustara participar en ms de un proyecto. As pues, la Universidad de Berkeley, pens que sera una buena idea desarrollar un sistema en el que dos, o ms, proyectos pudieran compartir un PC y repartirse el tiempo de proceso disponible, permitiendo as que, en el caso de que un proyecto no tuviese suficientes datos para enviar a los usuarios, estos PCs pudiesen seguir procesando otros proyectos sin necesidad de intervencin humana. Como consecuencia de estas ideas en el ao 2002 se desarrollo la plataforma BOINC.
BOINC (Berkeley Open Infrastructure for Network Computing) es un sistema software gratuito, que facilita la creacin y funcionamiento de proyectos de computacin de recursos pblicos (ver [54]), teniendo la capacidad de soportar varios de ellos procesando concurrentemente, pues cada proyecto es independiente del resto y cuenta con sus propios servidores y bases de datos. Para obtener una visin ms detallada de la infraestructura ver [55].
Esta plataforma BOINC consiste en un sistema de servidores y un software de cliente, existiendo comunicacin entre ambos a fin de distribuir, procesar y devolver unidades de cmputos resultantes.
Es posible participar simultneamente en distintos proyectos BOINC, teniendo la posibilidad de especificar como se quiere que sean divididos los recursos entre los distintos proyectos.
6.2.3.1 Estructura del servidor BOINC
Los servidores BOINC suelen incluir un servidor remoto, que puede correr en una o ms mquinas para permitirle a BOINC escalar a proyectos de cualquier envergadura. Los servidores BOINC corren bajo Linux y utilizan Apahce, PHP y MySQL como base para sus sistemas web y base de datos. BOINC es sencillamente una estructura para la distribucin de trabajo sin utilidad cientfica para el propio BOINC.
Los cmputos cientficos se realizan en las computadoras de los usuarios y los resultados son analizados despus de ser validados y transferidos desde el software BOINC hacia la base de datos de los investigadores cientficos.
Los servidores BOINC tambin proveen caractersticas de avanzada, incluyendo redundancia homognea, como envo de paquetes de cmputos a computadoras de la misma plataforma exclusivamente, truncamiento de unidad de trabajo, es decir, envo de la informacin al servidor antes de que el proceso de una unidad de trabajo est completa, e incluso segmentacin localizada, que quiere decir que re realizar el envo de unidades de trabajo a computadoras que ya contenan los archivos necesarios, creando as trabajo por demanda.
6.2.3.2 Estructura de cliente
La estructura de cliente consiste en una aplicacin pequea que se encarga de la gerencia del trabajo de las computadoras donde se encuentra el software de BOINC. CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
154 Cualquier computadora puede incluirse en cuantos proyectos BOINC quiera, permitiendo a los usuarios participar en mltiples tipos de investigaciones.
El cliente BOINC, tambin denominado BOINC Manager, se encarga automticamente de la descarga y subida de trabajo. Adems, se ocupa tambin de dividir el tiempo de trabajo en cada proyecto de acuerdo a las preferencias del usuario, pero no es capaz de auto actualizarse, debido a razones de seguridad. Sin embargo, las aplicaciones de ciencia se bajan de manera automtica y son actualizadas cuando una computadora est suscrita a un proyecto, lo que permite a los cientficos lanzar fcilmente y distribuir nuevo software a los participantes sin su intervencin.
El proceso de ejecucin de una aplicacin BOINC se podra resumir en 5 pasos:
! Obtener instrucciones. El PC obtiene del servidor de proyectos un conjunto de instrucciones a procesar. Estas instrucciones dependern de las caractersticas del ordenador, por ejemplo, el servidor dar ms trabajo que el que realmente la memoria RAM del equipo pueda procesar. Las instrucciones pueden descomponerse en varios trozos o bloques. ! Descargar aplicaciones y ficheros de entrada. El PC descarga ficheros ejecutables de entrada desde el servidor de datos de proyectos. Si el proyecto sufre algn tipo de actualizacin en su versin los paquetes enviados seran actualizados y descargados automticamente. ! Procesar. El PC procesa toda la informacin y genera los ficheros de salida correspondientes. ! Transmitir ficheros de salida. El PC transmite los ficheros de salida al servidor. ! Reportar informes de resultados. Luego, algn tiempo despus y dependiendo de las preferencias establecidas por el proyecto, el PC enva los resultados completos al servidor de proyectos y vuelve a obtener nuevas unidades para procesar.
Este proceso se realiza de forma indefinida. BOINC se encarga de hacerlo todo de forma automtica sin necesidad de que el usuario haga absolutamente nada.
En la Figura 6.6 se puede observar el proceso anterior de forma grfica.
Figura 6. 6 Simplificacin del sistema BOINC CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
155 6.2.3.3 Caractersticas de las aplicaciones BOINC
Las aplicaciones que se quieran usar para funcionar sobre una plataforma de computacin de recursos pblicos como BOINC, deben cumplir una serie de caractersticas para obtener el mximo rendimiento:
! Conviene que la aplicacin requiera gran cantidad de computacin y de almacenamiento ! Las tareas deben tener una alta relacin cmputo/volumen de datos, es decir que se puedan realizar muchos clculos con pequeas cantidades de datos. Esto nos dar como consecuencia que no se genere mucho trfico por peticiones de nuevos trabajos y cuando estas se produzcan no ocupen mucho tiempo la red. ! Es deseable que sean trabajos paramtricos, es decir que se puedan dividir fcilmente en tareas independientes que permitan la computacin en paralelo de distintas partes sin problemas. ! Se debe tener en cuenta la tolerancia a errores, ya que los las maquinas participantes de un proyecto pueden generar resultados errneos. No se puede considerar que la aplicacin que sea lanzada en esta plataforma sea totalmente fiable, por eso se genera computacin redundante repartiendo cada tarea entre distintos participantes. ! Otro aspecto importante es la temtica del propio proyecto, debe ser lo suficientemente atractiva para captar la atencin de participantes. Las iniciativas de investigacin han de ser interesantes y deben justificar un objetivo bien definido en el campo cientfico.
6.2.4 Computacin de Alta Productividad para resolver el problema esttico de la elasticidad
En el Captulo 5 se present una implementacin de Altas Prestaciones para resolver el problema esttico de la elasticidad de la catenaria. Dichas implementaciones se han llevado a cabo tanto para el caso de una estructura normal de la catenaria como para en pendolado en Y.
Estos algoritmos contienen una gran cantidad de parmetros (unos 100) que se deben considerar, a fin de obtener una instalacin precisa de la catenaria para que la interaccin pantgrafo-catenaria sea ptima, es muy considerable. Si adems, se tiene en cuenta que la instalacin de un conjunto de vanos cubre unos 1200m aproximadamente, y la cantidad considerable de kilmetros de red ferroviaria que existe en Espaa, se puede imaginar la gran cantidad de simulaciones que se deben llevar a cabo para tomar en consideracin todas las posibles variaciones de los parmetros.
An teniendo en cuenta las consideraciones de los expertos ingenieros, a fin de reducir el nmero de tests (en este caso de los ingenieros pertenecientes a la empresa ADIF, la compaa encargada de las infraestructuras ferroviarias en Espaa), este nmero es todava muy alto.
Una vez que los ingenieros han obtenido los resultados, es necesario llevar a cabo un post-anlisis a fin de saber si la solucin se ajusta a las especificaciones o no. Si la solucin no es suficientemente buena, se deber cambiar el valor de uno o varios de CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
156 los parmetros y repetir el proceso de nuevo. Es, por tanto, una filosofa de prueba y error, y se basa en el conocimiento de los expertos.
Un ingeniero experto puede conducir el anlisis a fin de encontrar una solucin aceptable despus de varias ejecuciones. Sin embargo, las soluciones ptimas son difciles de encontrar porque en casa simulacin se deben tener en cuenta un gran nmero de parmetros, y los ingenieros se centran nicamente en una pequea cantidad de ellos.
A fin de entender la envergadura de estas simulaciones, slo consideraremos un subconjunto de parmetros que aparecen en la Tabla 6.5.
Parmetro Valores Nmero de vanos [12-20] Nmero de pndolas [10-20] Longitud del vano [40m. 60m.] Altura del hilo de contacto [5m. 6m.] Nmero de hilos de contacto [1 2] Tabla 6. 5 Parmetros de entrada del algoritmo Parece clara la necesidad de cambiar la metodologa. Dentro de una metodologa de prueba y error es el ingeniero quien realiza las modificaciones a mano de varios de los parmetros a fin de conseguir una mejor simulacin. Se puede considerar una nueva metodologa donde los ingenieros definen un conjunto de parmetros que pueden tomar diferentes valores dentro de un rango y a continuacin se ejecuta cada simulacin desde la plataforma distribuida y devuelve los mejores resultados.
Por otra parte, una buena caracterstica que beneficia esta aplicacin particular es que el tiempo de ejecucin es corto, entre dos o tres minutos. Este escaso tiempo de ejecucin de una simulacin nos permite que el objetivo de la plataforma en la que se llevan a cabo los test no necesite requerimientos especiales en cuanto a hardware, en trminos de memoria principal y velocidad del procesador. Adems, estos pequeos requisitos computacionales hacen esta aplicacin ideal para ser usada no slo en una plataforma dedicada sino tambin un una no-dedicada, sacando as beneficios de los ciclos ociosos del procesador cuando el personal de la compaa no se encuentra trabajando.
Esto significa que se puede hacer uso no slo de un conjunto de sistemas de Computacin de Altas Prestaciones en un cluster dedicado (como podra ser Condor [56], PBS [57] o Sun Grid Engine [58]), sino tambin de computacin distribuida en ordenadores cliente usando una plataforma BOINC, la cual nos permite usar el poder computacional de los ordenadores cliente cuando estos estn ociosos.
Con las reflexiones anteriores cabe pensar que este tipo de algoritmos se hacen propicios para ejecutarse siguiendo una filosofa de Computacin de Alta Productividad, de esta forma se podra optimizar el uso de los recursos computacionales de la empresa, ayudando a los ingenieros a abarcar un mayor rango de tests.
CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
157 El objetivo de esta parte de la Tesis, es mostrar como ha sido usada la plataforma BOINC, con el fin de resolver el problema esttico de la elasticidad empleando computacin distribuida en ordenadores no-dedicados. Esta nueva aproximacin nos permite cambiar, como se ha dicho anteriormente, la metodologa de los ingenieros, desde una metodologa de prueba y error a una metodologa de bsqueda de una buena/mejor solucin.
Esta metodologa tiene tres pasos importantes:
1. Desde la especificacin del ingeniero, se genera automticamente un conjunto de ficheros de entrada (workunits en la terminologa BOINC). 2. Cada uno de los ficheros de entrada es enviado a un cliente BOINC, en el cual se ejecuta la simulacin y devuelve el resultado al servidor. 3. Un procesamiento posterior, tomando en cuenta los parmetros crticos de los ficheros de entrada, permite a los ingenieros obtener directamente la mejor solucin.
Esta nueva metodologa ya tiene varias ventajas que pueden resumirse como el tiempo de diseo se acorta, soluciones mejores que antes, y se logra un uso ms eficiente de los recursos computacionales disponibles en la organizacin, y todo esto sin coste adicional.
Esta parte de la Tesis se centra en el punto 2, es decir, slo se pretende desarrollar las aplicaciones distribuidas.
Los pasos del 1 y 3 seran parte de un trabajo futuro. El paso 1 necesitara definir una interfaz (interfaz web) donde el ingeniero dedica los parmetros que quiere modificar y pasos necesarios. Con esta informacin, las workunits de la plataforma BOINC se generan automticamente. El paso 3 sera incluso ms fcil porque slo necesitamos un procesado posterior de los archivos de salida para buscar los mejores valores de los parmetros crticos.
Para la realizacin de este proyecto BOINC, se ha utilizado el algoritmo del clculo de la elasticidad de la catenaria con vanos iguales, visto en el Captulo 5, para adaptarlo y poderlo ejecutar sobre BOINC. Este proyecto ser llamado Est@home
6.2.4.1 Proyecto Est@home
Como se acaba de decir, se ha utilizado el algoritmo de altas prestaciones para la resolucin del problema esttico de la elasticidad de la catenaria con vanos iguales y pendolado normal descrito en el Captulo 5, pero ha sido modificado ligeramente para funcionar en clientes que dispongan de Linux/Unix.
Por otra parte, al cdigo original se le han hecho unas ligeras modificaciones para adaptarlo al sistema BOINC (Boincificacin).
Para ello, lo primero que se ha debido hacer es incluir libreras propias de BOINC, tales como diganostics.h, boinc_api.h y filesys.h.
CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
158 Una vez incluidas las libreras se deben incluir un conjunto de instrucciones, especficas de BOINC, en el programa original. En la Figura 6.7 se puede ver un esquema del cuerpo del programa boincificado, partiendo, como se acaba de comentar el programa que resuelve el problema esttico de la elasticidad con vanos iguales y pendolado normal, es decir, CEPNCVI. Una vez realizado esos cambios, ya se ejecutar el cdigo propio de la aplicacin.
Figura 6. 7 Boincificacin de CEPNCVI
CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
159 El sistema BOINC est alojado en un cluster de PC`s, del grupo de Sistemas Concurrentes y de Tiempo Real [1], y siendo Debian el sistema operativo de este cluster.
A continuacin se van a describir los pasos necesarios tanto para crear un servidor web donde tener nuestro proyecto, como para unirse un usuario a este proyecto.
Se debe descargar el cdigo del sistema BOINC a travs de la pgina oficial de BOINC [55]. Una vez se tiene el cdigo fuente en el sistema se procede a la instalacin del servidor, pero cuando finaliza este paso, el servidor aun no se encontrar operativo, para eso debe existir un proyecto con el que el servidor pueda trabajar, que en este caso ser el proyecto Est@home.
Previamente a la creacin del proyecto, se debe asegurar que los componentes de los que hace uso se encuentran en las condiciones adecuadas para la puesta en marcha, as se debe comprobar que el servidor de MySQL se encuentra en marcha y que le concede permisos de acceso al servidor Apache.
Una vez configurado el servidor se proceder a la creacin del proyecto a travs del script que proporciona BOINC, llamado make_proyect. Al comando de ejecucin del script se deben aadir una serie de parmetros que definirn la configuracin del proyecto, como son la URL (http://sctr.i3a.uclm.es/), directorio, base de datos, etc.
Tras la ejecucin del script make_proyect se crean automticamente una serie de ficheros, uno de ellos con el nombre del proyecto, en este caso es static.httpd.conf. Este fichero se encargar de la configuracin especfica que necesita Apache para el proyecto recin creado.
Para la configuracin de las URL, mediante las que un cliente se conecta al proyecto, se realiza a travs de la edicin de un fichero especfico, project.inc, por defecto este fichero incluye una serie de URL que deben ser sustituidas por las del proyecto creado, tal y como se muestra a continuacin:
! define(PROJECT,Est@home): se da nombre al proyecto en el sitio Web. ! define(MSTER_URL,http://sctr.i3a.uclm.es/estatic): se define la URL maestra para la correcta unin de clientes al proyecto. Esta URL ser la utilizada desde el BOINC Manager del cliente para estableces conexin con el servidor del proyecto. ! define(URL_BASE,http://sctr.i3a.uclm.es/): adems de la anterior, tambin se define la URL del servidor donde se encuentra alojado el proyecto.
Existe un archivo llamado project.xml que se encarga de definir las plataformas y aplicaciones que se utilizan en un proyecto.
Este fichero no se crea por defecto en el nuevo proyecto, se debe copiar desde el servidor BOINC y se debe modificar para configurar la base de datos, incluyendo las plataformas y aplicaciones para las que el proyecto estar disponible.
Es imprescindible incluir en project.xml el nombre de las aplicaciones que se ejecutarn en el proyecto. CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
160 Cada vez que se crea una nueva aplicacin se debe aadir a este archivo. En el caso del proyecto Est@home, se va a incluir una nueva aplicacin llamada estpp1_5.01_i686-pc-linux-gnu, donde, como se puede observar, adems de poner el nombre del ejecutable de la aplicacin (estpp1) se especifica el tipo de plataforma (i686-pc-linux-gnu).
La modificacin del fichero no conlleva la actualizacin automtica de plataformas y aplicaciones en la base de datos del proyecto, se debe ejecutar el comando xadd que se encarga de aadirlas.
Tras esto, ya se puede acceder desde un navegador a la Web del administrador del proyecto, http://sctr.i3a.uclm.es/estatic_ops, en la que se reflejan las aplicaciones existentes y las plataformas permitidas, tal y como se puede observar en la Figura 6.8.
Para la puesta en marcha y parada de un proyecto se dispone de distintos fichero ejecutables que permiten realizar dichas acciones. Estos scritps se detallan a continuacin:
! ./bin/start: sirve para iniciar un proyecto, pues pone en funcionamiento los demonios de ejecucin de BOINC. ! ./bin/stop: permite la parada de estos demonios y en consecuencia de la ejecucin del proyecto. ! ./bin/status: permite obtener el estado actual en el que se encuentran los demonios, en ejecucin o parados.
Figura 6. 8 Gestin de aplicaciones desde la Web de administrador
Una vez el proyecto Est@home ha sido creado y la aplicacin est lista para funcionar, se deben crear unidades de trabajo, denominadas workunit, que son las descripciones de las tareas que se ejecutan en un proyecto y se debe asociar a la aplicacin concreta que la va a computar, adems debe hacer referencia a los ficheros de entrada, los argumentos de lnea de comandos, variables, etc.
CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
161 Tambin se debe de crear Result, que es el resultado obtenido por el cliente y que va a ser enviado al servidor BOINC para su anlisis. Result debe ser asociado a la unidad de trabajo que lo produce y a la lista de ficheros que han sido generados.
Para crear tanto la workunit como Result se utilizan las plantillas, que es un fichero escrito en XML en el que se realiza la descripcin de los parmetros de ambos. Una misma plantilla puede ser utilizada para la generacin de distintas unidades de trabajo.
Una vez todo el sistema esta implantado sobre el servidor, el proyecto se ha creado y las aplicaciones estn listas para procesar, es el momento de poner en marcha el cliente BOINC. Como en este caso se ha preparado una aplicacin que debe funcionar sobre una plataforma Linux, se debe disponer de una versin del BOINC Manager para este sistema operativo en el cliente.
Cuando el programa cliente se encuentre en ejecucin, el primer paso a seguir es unirse a un proyecto. Se debe accede al men Herramientas y desde ah pinchar sobre Attach to Project y aparecer una ventana, como la mostrada en la Figura 6.9, que solicita la introduccin de la URL del proyecto elegido. En este caso ser http://sctr.i3a.uclm.es/estatic, que permitir unirse al proyecto Est@home.
El siguiente paso es identificarse como usuario de Est@home. Se debe introducir la direccin de correo electrnico y password del participante. Si todava no se hubiese registrado se puede crear un nuevo usuario, seleccionando la opcin No, new user e introduciendo la cuenta de correo propia del usuario y un password de al menos 6 caracteres. En la Figura 6.10 se puede observar la ventana de creacin de cuenta de un proyecto. Tanto si se accedi con un usuario vlido como si se cre uno nuevo, el cliente de BOINC intenta conectar con el proyecto Est@home. Si se consigue, el participante recibir una confirmacin del xito de la conexin mediante una ventana como la mostrada en la Figura 6.11.
Figura 6. 9 Ventana de unin a un proyecto CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
162
Figura 6. 10 Creacin de un nuevo usuario
Figura 6. 11 Ventana de confirmacin de unin al proyecto
En la Figura 6.12 se puede observar la ventana Messages del BOINC Manager en la que se muestran algunos de los pasos que siguen para esta conexin.
CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
163
Figura 6. 12 Ventana de Mensajes tras la unin al proyecto
A continuacin se comentar brevemente los mensajes correspondientes a la conexin de un cliente al proyecto.
En primer lugar el servidor enva informacin del proyecto al cliente, la cual necesitar para la ejecucin:
El servidor enva una lista de planificadores a los que el cliente se puede conectar para obtener los datos del proyecto.
Tras esto el cliente enva una peticin de trabajo a un Scheduling Server activo.
Es entonces cuando el servidor buscar un trabajo adecuado para ese participante, que se ajuste a su plataforma y que no haya sido anteriormente ejecutado por el mismo. Si cumple las condiciones le ser enviado, en caso contrario se le advertir que en ese instante no se encuentra una trabajo disponible para l.
Tras recibir la confirmacin de conexin al proyecto, en la ventana Project del BOINC Manager se puede observar que el proyecto se ha aadido correctamente mostrando el nombre de usuario con el que se accedi. En la Figura 6.13 se puede ver el proyecto que se acaba de crear.
Figura 6. 13 Ventana Projects CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
164 Seguramente la ventana Tasks sea la ms importante con la que cuenta la interfaz grfica, ya que es donde el usuario puede observar el estado de las tareas que estn en ejecucin o que van a ser ejecutadas.
En la Figura 6.14 se puede ver una ejecucin de tareas para el proyecto Est@home. En este caso hay dos tareas, una para la aplicacin estapp1 y otra para una aplicacin de prueba que se ha aadido (hello 5.05). Para ellas se crearon unidades de trabajo, wuest2_4 y wuhellolinux1_1 respectivamente, que se tendrn que ejecutar.
Es importante controlar el estado de cada una de las tareas, que se muestra en la columna Status. Se puede ver como la tarea wuhellolinux1_1 se encuentra en ejecucin (Running), mientras que wuest2_4 esta preparada para ser procesada (Ready to Run).
Figura 6. 14 Ventana Tasks Una vez concluida la ejecucin de las tareas, en pocos segundos, se cambiar el estado de la tarea que pasar a Ready to Report si termin satisfactoriamente, y que indica que el cliente est preparado para informar al servidor del xito de la computacin.
La Figura 6.15 muestra un ejemplo de tres tareas ejecutadas y listas para informar al servidor.
Figura 6. 15 Tareas preparadas para informar
El sistema BOINC lleva a cabo una serie de actividades encadenadas para la ejecucin y envo de resultados al servidor, las principales que se muestran en la ventana Messages son las siguientes: CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
165 ! Successfully atached to Est@home: Indica que el cliente se ha unido sin problemas al proyecto. ! Started download of file app_version_platform: Comienza el envi por parte del servidor del fichero ejecutable que procesar las tarea. ! Finished download of file app_version_platform: La aplicacin se encuentra por completo en el sistema del cliente. ! Started download of file input.en: Comienza la descarga del fichero de entrada. ! Finished download of file input.en: El fichero de entrada es recibido totalmente por el cliente. ! Starting task tarea_version using app_version_platform: En este momento empieza la ejecucin de una tarea a cargo de la aplicacin descargada. ! Computation for task tarea_version finished: Indica el fin de procesamiento de la tarea sealada. ! Started upload of file tarea_version: Una vez concluida la ejecucin los resultados han de ser enviados al servidor del proyecto. ! Finished upload of file tarea_version: El servidor enva una seal indicando que los resultados se han recibido correctamente. ! Reporting completed tasks: Informe que es enviado para notificar la correcta consumacin de tareas.
Las Figuras 6.16 y 6.17 muestran la ventana Messages, que sirven de ejemplos de lo comentado anteriormente. Se puede ver como se conecta el cliente al proyecto Est@home, descarga aplicaciones y tareas, realiza las correspondientes ejecuciones y devuelve los resultados al servidor.
Figura 6. 16 Mensajes de ejecucin de tareas
CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
166
Figura 6. 17 Mensajes de ejecucin de tareas
La forma ms sencilla de observar el xito de las computaciones realizadas por el sistema BOINC es acceder a la Web de administracin del proyecto. Mediante el enlace correspondiente a Workunits se puede hacer una consulta a todas las tareas del proyecto, permitir ver si se han obtenidos resultados de forma exitosa o si han provocado algn tipo de error. La Figura 6.18 muestra las tablas correspondientes a una unidad de trabajo, en este caso la ejecucin de la tarea ha sido satisfactoria.
Figura 6. 18 Consulta a "Windows" desde la Web Tambin existe la posibilidad de acceder por medio de esta Web a cada uno de los resultados obtenido y analizar sus caractersticas de forma mas concreta, para ello se accede al enlace Results y se selecciona el identificador del resultado deseado.
CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
167 La Figura 6.19 muestra un ejemplo de un resultado que se obtuvo con xito.
Figura 6. 19 Acceso a Results desde la Web
Por los principios que impone el sistema BOINC y la privacidad de la que disponen las organizaciones creadoras de proyectos, un cliente nunca tiene acceso directo al cdigo de la aplicacin descargada, ni a los resultados obtenidos tras la ejecucin de tareas. Es por eso que los datos obtenidos como resultado son almacenados en directorios del proyecto dentro del servidor BOINC. Solamente los responsables del proyecto pueden acceder directamente a ellos.
La Figura 6.20 muestra parte del contenido del fichero de salida cel.sal que fue procesado por estapp1.
Para obtener una informacin ms detallada sobre la instalacin del servidor BOINC o como configurarlo, consultar [55].
CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
168
Figura 6. 20 Ficheros de salida
6.3 CONCLUSIONES
En este Captulo se ha realizado la implementacin de unos algoritmos paralelos para la resolucin del problema esttico de la elasticidad de la catenaria, que un paso evidente despus del estudio realizado sobre las implementaciones llevadas a cabo en el Captulo 5.
Esta implementacin ha sido ejecutada bajo una plataforma de memoria distribuida, como es el cluster de PCs y utilizando la librera de comunicacin por medio de paso de mensajes, MPI.
La batera de test mostrada anteriormente concluye que la ejecucin de estos algoritmos es muy eficiente para el caso de dos y cuatro procesadores, y ya para tamaos de problemas muy grandes se podra hacer uso de ocho procesadores.
Es evidente que para poder tratar problemas reales en un tiempo razonable, la paralelizacin es la nica solucin, y ms teniendo en cuenta que para que el ingeniero de ADIF llegue a la estructura de catenaria deseada ha tenido que ejecutar antes unas cuantas configuraciones distintas.
El problema podra venir por tener que adquirir un cluster de PCs para llevar a cabo estas simulaciones, pero teniendo en cuenta por una parte que la eficiencia es casi la ideal para dos y cuatro procesadores, y por otra parte la aparicin de los ordenadores de sobremesa con dos y cuatro procesadores, este cambio no resultara brusco, pues no es necesaria la inversin en mquinas especficas, como un supercomputador o un cluster de PCs. El ingeniero seguira trabajando en su mquina local lanzando implementaciones paralelas.
CAPTULO 6: UNA IMPLEMENTACIN PARALELA Y DISTRIBUIDA
169 Como ya se coment, los ingenieros de ADIF siguen una filosofa de prueba y error, teniendo en cuenta la cantidad de parmetros de entrada que tienen estos algoritmos y el nmero de combinaciones posibles entre ellos, el nmero de pruebas que se deben realizar para obtener la configuracin adecuada de la catenaria es elevado.
La paralelizacin reduce el tiempo de ejecucin de estos algoritmos, pero no modifica la filosofa que se sigue.
En la Seccin 6.2 de este Captulo se ha implementado una propuesta siguiendo una filosofa de Computacin de Alta Productividad.
Para seguir esta filosofa se ha utilizado un software gratuito, denominado BOINC, que permite la creacin y y el funcionamiento de proyectos de computain con recursos pblicos.
Este software permite poder lanzar una aplicacin, habiendo realizado una pequea modificacin en las lineas de los algoritmos de dicha aplicacin, en este caso la aplicacin sera cualquiera de los algoritmos expuestos en el Captulo 5, que se ejecutar de forma distribuida con distintos datos de entrada, esto permite lanzar todas las ejecuciones a la vez y, en el tiempo que tarde en ejecutarse la ms lenta, se podr obtener la slida que sea ms ptima de todas las obtenidas de las distintas ejecuciones.
CAPTULO 7: HERRAMIENTA SOFTWARE
171 CAPTULO 7: HERRAMIENTAS SOFTWARE: CALPE E INDICA
En un primer momento, todos los algoritmos presentados en el Captulo 5 entraron a forman parte de una herramienta intuitiva, interactiva y grficamente orientada, esta herramienta era denominada CALPE 6. El nombre de CALPE viene de CLculo de Pndolas, pues hasta la versin 5 nicamente contenia un conjunto de algoritmos que resolvan el sistema de sustentacin de la catenaria.
En la versin 6 de la herramienta CALPE se agregaron los algoritmos para la resolucin tanto del problema esttico de la elasticidad de la catenaria como del problema dinmico de la interaccin pantgrafo-catenaria. Por la envergadura que lleg a alcanzar se decidi particionar la herramienta en dos:
! CALPE: herramienta para el Clculo de Pndolas y otros elementos del sistema de sustentacin de la catenaria. Este clculo se realiza para distintos tipos de vanos como un vano normal, de seccionamiento, de aguja, vano corto-auxiliar- directo, etc. Adems tambin contiene los algoritmos del Captulo 5 que resuelven el problema esttico de la elasticidad de la catenaria. ! InDiCa: herramienta para el clculo de la Interaccin Dinmica pantgrafo- Catenaira.
Ambas herramientas estn siendo usadas por la compaa ferroviaria Espaola para el desarrollo de sistemas elctricos de catenarias.
Estos paquetes software han sido desarrollados bajo un sistema de base de datos orientada a objetos con una interfaz visual en Windows. Este framework es soportado por el entorno Visual FoxPro (@Microsoft).
En este Captulo se van a presentar las herramientas CALPE e InDiCa, por tanto, en las siguientes Secciones se vern las aplicaciones de usuario subdividida en dos partes, por un lado la parte que muestra las salidas que el usuario puede ver al ejecutar un algoritmo esttico, y por otra las salidas de la parte dinmica.
Por otra parte, el diseo e implementacin de ambas herramientas informticas se ha realizado teniendo presentes diversos aspectos necesarios en la conformacin de un producto software de calidad.
Por ello, adems de los, evidentes requisitos tcnicos necesarios para el funcionamiento correcto de los algoritmos de modelado y simulacin, se han cuidado los elementos informticos que componen la herramienta, y que a groso modo, se pueden calificar en:
! Requisitos de Modelado o Requisitos generales ! Mtodo consistente y comprobado de simulacin. ! Tcnicas de modelado por combinacin de subestructuras. ! Mtodo consistente y comprobado de optimizacin de clculos. ! Estructura de las bases de datos coherente y adecuada.
CAPTULO 7: HERRAMIENTA SOFTWARE
172 o Prerrequisitos de lnea ! Descripcin del modelo de catenaria. ! Descripcin de los vanos. ! Descripcin y nmero de pantgrafos. ! Otros elementos necesarios. o Prerrequisitos de vano ! Longitud y altura. ! Hilos sustentador y de contacto. ! Pndolas. ! Curvatura y peralte. ! Diversos elementos variados. o Prerrequisitos de pantgrafo ! Cinemtica. ! Propiedades de masa e inercia. ! Propiedades de friccin. ! Propiedades de los diversos componentes ! Requisitos de Simulacin o Variedad de las simulaciones. o Optimizacin de los clculos. o Clculos parametrizados. ! Requisitos de Usabilidad o Introduccin de las simulaciones. o Presentacin de datos. o Librera de diseos y clculos. o Documentacin y ayuda en lnea.
Los algoritmos diseados y optimizados en el Captulo 5, pasan a formar una aplicacin integrada, comunicndose con el usuario mediante una interfaz amigable que proporciona las opciones necesarias al ingeniero de cara a obtener los resultados esperados.
Al ejecutar ambas aplicaciones se abre en cada caso una ventana principal, tal y como se puede observar en la Figura 7.1.
A partir de la ventana principal, de ambas aplicaciones, se permiten las siguientes aplicaciones:
! Sistema: permite seleccionar diversas utilidades de uso habitual, como cortar, copiar, etc. Esta opcin tambin incluye la opcin de salir de la aplicacin. ! Proceso: en esta opcin se lanza la ventana de introduccin y seleccin de datos, as como el lanzamiento de las distintas ejecuciones. Es el autntico corazn de la aplicacin. ! Mantenimiento: permite al usuario mantener las diversas bases de datos auxiliares necesarias para el funcionamiento correcto de la aplicacin. Se incluyen las bases de datos de conductores, grifas, pndolas y materiales, tanto para CALPE como para InDiCa, pero adems sta ltima tambin incluye una base de datos referente a pantgrafos. ! Listados: permite obtener informes listados, bien por pantalla o impresora, acerca de las bases de datos. CAPTULO 7: HERRAMIENTA SOFTWARE
173 ! Utilidades: estn incluidas algunas utilidades de carcter tcnico, necesarias para el correcto funcionamiento de la aplicacin.
Figura 7. 1 Ventanas principales de control de las aplicaciones CALPE (a) e InDiCa (b)
As pues, el funcionamiento de ambos programas est fundamentalmente localizado en el apartado Proceso, donde al ser seleccionado se lanza la ventana de introduccin de datos y preparacin para el anlisis.
En las siguientes Secciones se van a ver las dos herrmientas ms detalladamente, teniendo en cuenta que la interfaz de ambas es muy similar para ayudar a los usuarios en la usabilidad de ambas herramietas. CAPTULO 7: HERRAMIENTA SOFTWARE
174 7.1 CALPE
Como se coment anteriormente, esta herramienta sirve para el clculo de pndolas y de otros elementos del sistema que sustenta la catenaria, pero adems contiene los algoritmos para resolver el problema esttico de la elasticidad de la catenaria, y es en esta parte donde se centra esta Seccin, por tanto, se va a realizar una descripcin de la interfaz de usuario de esta herramietna, as como de los resultados que el usuario puede obtener al lanzar la ejecucin de estos algoritmos.
As pues, en la Figura 7.2 se muestra un ejemplo de la interfaz grfica que se encontrara un usuario, para poder introducir los datos de entrada relativos al anlisis de la elasticidad de la catenaria. En esta ventana se permite al usuario seleccionar elementos ya calculados, o introducir nuevos elementos para el desarrollo del clculo, mediante el uso de una codificacin para la organizacin de los resultados ya calculados.
Adems existe la posibilidad de ejecutar un amplio mecanismo de bsqueda de resultados existentes, o bien la creacin de un clculo nuevo, donde el cdigo y la descripcin permitirn al usuario su localizacin posterior, bien para consultarla de nuevo, o bien para introducir modificaciones.
Figura 7. 2 Introduccin de datos de entrada en la aplicacin CALPE
El funcionamiento de la aplicacin es muy amigable, de forma que los ingenieros, tras un corto periodo de entrenamiento pueden estar familiarizados con su uso, y conseguir obtener los resultados esperados de la aplicacin.
CAPTULO 7: HERRAMIENTA SOFTWARE
175 En este apartado de la Tesis no se pretende realizar una presentacin exhaustiva de la aplicacin, sino tan slo una descripcin panormica de la misma, por lo que no se explicar el significado de todos los elementos integrantes de la ventana, no obstante se podra destacar el botn de la esquina superior izquierda, etiquetado bien con Normal o bien con En Y que se muestra en la Figura 7.3.
Este botn permite al usuario, de una forma muy sencilla, cambiar el formato del clculo, eligiendo el tipo de algoritmo que se ejecutar con los datos introducidos. Obviamente, la seleccin implica una modificacin del tipo de datos necesarios, lo que se traduce en un cambio de la estructura de la ventana, con unos elementos distintos para cada uno de los tipos de clculo, que el usuario deber rellenar antes de proceder al desarrollo del anlisis.
Figura 7. 3 Detalle del botn de seleccin del tipo de vano Se destaca tambin la estructura en pestaas en que se ha diseado la ventana, que permite una alta concentracin de datos, sin por ello penalizar la gestin de los mismos, que puede hacerse de una forma intuitiva y cmoda por parte del usuario. As, en la ventana principal se tienen dos pestaas, etiquetadas cada una de ellas con los rtulos: Catenaria y Condiciones de Clculo; de forma que cada una de estas pestaas tiene un conjunto distinto de datos asociados. Por otra parte, si se selecciona la pestaa de Catenarias, a su vez, se tendr otro conjunto de pestaas que permitir la introduccin y/o modificacin de la totalidad de datos necesarios para la realizacin de los clculos.
Finalmente, el botn etiquetado con Calcular, y colocado en la parte superior en el centro de la ventana, permite iniciar el proceso de clculo de la elasticidad de la catenaria; este clculo se realiza bajo las condiciones descritas por el conjunto de datos introducidos.
El lanzamiento de la ejecucin del algoritmo seleccionado nicamente procede en el caso de que la totalidad de los datos estn introducidos y sean coherentes, pues en caso contrario, el programa se interrumpir con una advertencia al usuario del error o conjunto de errores encontrado, para que se realice la correccin de los mismos.
Una vez comprobada la coherencia de los datos se procede a la ejecucin de los algoritmos de anlisis, de acuerdo a las implementaciones indicadas en el Captulo 5. El proceso es relativamente corto, y dependiendo de la envergadura del problema, puede tomar unos segundos, en general menos de un minuto.
Tras la ejecucin, se presentan los resultados, tal y como se comentar en la siguiente Seccin, por medio de una nueva ventana lanzada automticamente, donde se utiliza el mecanismo de pestaas para hacer ms amigable e intuitivo el proceso de visualizacin de los resultados. CAPTULO 7: HERRAMIENTA SOFTWARE
176 7.1.1 Ejemplo de Ejecuciones de CALPE
En este apartado se muestran algunos ejemplos de los grficos generados por diferentes ejecuciones de la dll utilizando ficheros de datos que contienen informacin sobre diferentes tipos de vanos y trazados.
En la Figura 7.4 se puede ver el grfico que se obtiene por ejecutar el programa para el clculo de un vano normal y con pendolado alternativo con parejas. Se puede observar la distancia entre las dos pndolas que estn alternativas y la distancia entre estas a la siguiente pareja de pndolas alternativas.
La Figura 7.5 representa un vano con pendolado en Y con pendolado alternativo por parejas. Muestra los mismos datos que la figura anterior, lo que cambia es la estructura de la catenaria que ha sido utiliza para llevar a cabo estos clculos.
Figura 7. 4 Vano normal con pendolado alternativo por parejas
Figura 7. 5 Vano en Y con pendolado alternativo por parejas. CAPTULO 7: HERRAMIENTA SOFTWARE
177 Como se puede observar en la Figura 7.6 el grfico del trazado est formado a su vez por cuatro grficos cuyo significado es el siguiente:
! El primer grfico: representa las zonas rectas y curvas del trazado. La lnea negra representa un tramo recto, la roja representa una zona de transicin entre una recta y una curva y la lnea azul representa una curva. Encima de la lnea azul viene indicado el radio de curvatura. ! El segundo grfico: representa el nmero de vanos que hay en el trazado y el nmero de postes en cada vano. El nmero que hay encima de cada poste representa el nmero de poste. El primer y ltimo cuadrado no representan un poste, representan los anclajes inicial y final. ! El tercer grfico: representa la posicin de los postes con respecto a la va, es decir, si estn a la izquierda o a la derecha de la va y a que distancia de sta. ! En el cuarto grfico: se indica la altura de los postes.
Figura 7. 6 Trazado
Por ltimo la Figura 7.7 muestra el informe que el usuario puede despus de haber introducido los datos de entrada.
Si un usuario viese dicho informe podra sacar toda la informacin que ha sido necesaria para la ejecucin, de tal forma que se podra saber que se trata de un ejemplo formado por 40 vanos, cada uno de los cuales tiene una longitud de 60 metros. Se ha escogido un pendolado alterno por parejas, lo que implica por una parte que se debe haber cogido un numero par de pndolas que componen cada uno de los vanos, y por otra que se han considerado dos hilos de contacto, informacin que tambin se puede observar en el informe. En este ejemplo se ha querido ejecutar un algoritmo de vanos iguales, por tanto el usuario nicamente deber escoger el nmero de pndolas por vano, que como se muestra en el informe es de 16 pndolas.
CAPTULO 7: HERRAMIENTA SOFTWARE
178
Figura 7. 7 Informe CALPE
7.2 InDiCa
Al igual que se ha hecho en el apartado anterior, en este apartado se explicar la interfaz de usuario para la introduccin de datos en el caso de la resolucin del problema dinmico de la interaccin pantgrafo-catenaria, y algunos grficos, en formato jpg, de los resultados que se pueden obtener al haber ejecutado la aplicacin.
Adems en esta aplicacin, tal y como se ver ms adelante, se puede obtener un video en el que se representa como el pantgrafo recorre la catenaria, mostrando incluso informacin de los momentos en los que se producen desconexin entre el pantgrafo y la catenaria y en que momento dicho contacto se vuelve a realizar.
CAPTULO 7: HERRAMIENTA SOFTWARE
179 En la Figura 7.8 se puede observar la interfaz para que el usuario pueda introducir los datos de entrada para la ejecucin.
Figura 7. 8 Introduccin datos de entrada en la aplicacin InDiCa
Como se puede observar, la interfaz es idntica a la que se mostr en el caso de CALPE, pero en este caso adems de las pestaas Catenaria y Condiciones de Clculos, se puede apreciar que aparece una ventana nueva denominada Pantgrafo, el contenido de esta ventana se puede apreciar en la Figura 7.9. En esta Figura se ven los datos que el usuario puede introducir para configurar los datos de entrada relativos al pantgrafo.
Figura 7. 9 Introduccin datos relativos al pantgrafo CAPTULO 7: HERRAMIENTA SOFTWARE
180 En la Figura 7.10 se observan los datos que el usuario puede modificar para configurar las condiciones de clculo, e incluso especificar si se desea la obtencin del video que simule como el tren recorre los distintos vanos.
Figura 7. 10 Introduccin datos relativos a las Condiciones de Clculo
7.2.1 Ejemplo de Ejecuciones InDiCa
A travs de la herramienta InDiCa, al igual que ocurria en CALPE, el usuario puede sacar un informe con los datos de entrada que se han utilizado para realizar la simulacin, tal y como se puede observar en la Figura 7.11.
Una ve z introducidos todos los datos de entrada, el usuario puede proceder al clculo de la interaccin dinmica entre el pantgrafo y la catenaria. Cuando dicha simulacin termine el usiario podr ver una interfaz como la que se muestra en la Figura 7.12.
A travs de esta interfaz, el usuario podr interactuar con cinco tipos de grficos, almacenados todos ellos en formato jpg:
! Esfuerzos frente a distancia: en este grfico se representa la fuerza que realiza el pantgrafo sobre el/los hilo/s de contacto en cada punto del recorrido, tal y como se puede ver en la Figura 7.11. ! Elevacin frente a distancia: esta grfica representa la elevacin del hilo de contacto en cada punto del recorrido. Esta elevacin es producida por la fuerza que ejerce el pantgrafo sobre el hilo. ! Dispersin de esfuerzos: en esta grfica se muestra el porcentaje de veces que se repite una determinada fuerza sobre el/los hilo/s de contacto. ! Esfuerzos/elevacin frente a distancia: superpone los dos primeros grficos utilizando dos escalas verticales. CAPTULO 7: HERRAMIENTA SOFTWARE
181 ! Posicin frente a tiempo: muestra la posicin (vertical) de un punto fijo a lo largo del tiempo que dura el recorrido.
Figura 7. 11 Informe InDiCa CAPTULO 7: HERRAMIENTA SOFTWARE
182
Figura 7. 12 Interfaz grfica de los resultados
Al ser el componente interactivo se podrn modificar los grficos durante la ejecucin del componente, por lo tanto, se guardarn dos versiones del grfico: la inicial (sin modificar) y la modificada, pudiendo restaurar la grfica en cualquier momento a travs del botn Restaurar grfica.
Cada una de estas grficas tiene la opcin de realizar un zoom sobre la zona que el usuario decida, para as poder obtener mayor detalle de la grfica.
En la Figura 7.12 se ha mostrado la grfica correspondiente a los esfuerzos, aunque como ya se ha comentado el usuario puede visualizar el resto de grficas, pero no se procede a mostrarlas pues no se consideran de vital relavancia, pues lo que se pretende con este Captulo es mostrar al lector una visin global de las herramientas CALPE e INDICA.
Se coment anteriormente que el usuario podra elegir si quera obtener un video de la simulacin realizada, en el cual se podra apreciar el efecto de las fuerzas realizadas por el pantgrafo o pantgrafos sobre el sistema de catenarias.
Adems de poder ver esta secuencia de imgenes que permitirn comprender mejor todos los datos obtenidos en el clculo y los grficos generados anteriormente, el usuario tambin podr interaccionar con el vdeo mostrado, as pues podra ver la secuencia a cmara lenta, hacia delante, hacia atrs e incluso tambin variar las escalas en tiempo de ejecucin para ver aumentado el movimiento del hilo de contacto y del sustentador.
CAPTULO 7: HERRAMIENTA SOFTWARE
183 En la Figura 7.13 se puede observar la interfaz que mostrar el video, en la cual se podr ver como el pantgrafo recorre el vano de la catenaria, y al mismo tiempo se ir mostrando cuando se produce un despegue y cuando el pantgrafo vuelve a tener contacto con la catenaria, adems de poder interactuar con la interfaz tal y como se coment anteriormente.
Figura 7. 13 Interfaz de usuario de vdeo
CAPTULO 8: CONCLUSIONES Y TRABAJO FUTURO
185 CAPTULO 8: CONCLUSIONES Y TRABAJO FUTURO
8.1 CONCLUSIONES Y TRABAJO FUTURO
La Comisin Europea define las lneas de alta velocidad ferroviaria como aquellas lneas que han sido diseadas y construidas para que se pueda circular a velocidades iguales o superiores a los 250 km/h, evidentemente se entiende que adems de poder los trenes circular a estas velocidades tambin lo deben de hacer de forma segura.
Pero esta definicin de lnea de alta velocidad, tambin entran aquellas lneas que se encuentran ya en funcionamiento con trenes convencionales pero que se han visto adaptadas para que se permita circular a trenes de alta velocidad, con la diferencia de que stos circularan a velocidades cercanas a los 250 km/h, y como en el caso anterior, se debe de cumplir, adems, que esta circulacin se realice de forma segura.
Estas velocidades slo se pueden llegar a alcanzar si se ha realizado un diseo ptimo de la estructura de la catenaria, que es la estructura area que proporciona la energa al tren, a travs del elemento del mismo denominado pantgrafo. Por consiguiente esta interaccin entre la estructura area y el pantgrafo debe ser lo ms ptima posible, es decir, se debe evitar, en la medida de lo posible, la desconexin entre ambos elementos, pues esto supondra una prdida de energa para el tren lo que implicara que no pudiese mantener su velocidad.
Es evidente que se desea poder conseguir una alta velocidad en la lnea pero se deben tener en cuenta otros aspectos, como puede ser el ruido que se produce por el contacto entre el pantgrafo y la catenaria, la aparicin de arcos voltaicos, el desgaste en ambos elementos, etc. El desgaste de los elementos que intervienen en la interaccin dinmica pantgrafo-catenaria, no es trivial pues para que no se produzcan prdidas de contacto se suele aumentar la fuerza con la que el pantgrafo interacta con el hilo de contacto, pero al hacer esto el desgaste es mayor, y por otra parte si se disminuye la fuerza para disminuir el desgaste se propiciar la prdida de contacto.
Estos son los pilares sobre los que se desarrolla esta Tesis, pues los clculos para poder calcular todas estas estructuras no son triviales, y necesitan gran cantidad de recursos computacionales, por ellos los dos objetivos bsicos de la presente Tesis, que posteriormente dieron lugar a una serie de objetivos secundarios, fueron dos:
! Resolucin del problema esttico de la elasticidad de la catenaria. Este es el problema que primero se debe solucionar, pues con l se consigue realizar un modelo ptimo de la estructura de la catenaria, lo que implicar que a la hora de interaccionar con el paso del tren, esta interaccin sea la deseada, es decir, se produzcan el menor nmero de desconexiones posibles entre el pantgrafo y el hilo de contacto, en caso de que se produzcan, estas deben durar el menor tiempo posible, el desgaste debe ser mnimo, etc. Todo esto queda resuelto con el estudio del Dr. Jess Benet, el problema es que con una implementacin tradicional, estos algoritmos consumen mucho tiempo de clculo y gran cantidad de memoria. De ah que se pensase en la Computacin de Altas Prestaciones CAPTULO 8: CONCLUSIONES Y TRABAJO FUTURO
186 para resolver ambos problemas, y eso fue lo que se hizo, tal y como queda reflejado en el Captulo 5 de la presente Tesis. En este Captulo adems se puede ver como estas implementaciones reducan en ms de un 90% las necesidades de memoria y de tiempo de cmputo. Por tanto este primer objetivo de la Tesis se vio cubierto y adems con gran satisfaccin por parte de los ingenieros de ADIF, que vieron reducir enormemente el tiempo necesario en realizar sus clculos, permitindoles realizar ms simulaciones adaptando los datos de entrada de estos algoritmos, hasta llegar a la estructura de la catenaria deseada.
! Resolucin del problema dinmico de la interaccin pantgrafo-catenaria. Una vez que se ha resuelto el problema esttico de la elasticidad de la catenaria, el siguiente paso es realizar el estudio dinmico de la interaccin entre la catenaria y el elemento del tren por el que se realiza la captacin de la energa, es decir, el pantgrafo. El problema matemtico, como en el caso anterior, fue resuelto por el Dr. Jess Benet, pero se segua teniendo el problema del enfoque tradicional, es decir, se consuman muchos recursos computacionales, por tanto se realizaron unos algoritmos de altas prestaciones para la resolucin de este problema. Estas implementaciones, al igual que las anteriores, quedan reflejadas en el Captulo 5 de esta Tesis, y tambin se puede ver como se han reducido en ms de un 90% todos los requerimientos tanto de memoria como de tiempo de ejecucin. Esto, evidentemente, para los ingenieros de ADIF fue un paso muy importante, pues podan realizar gran cantidad de simulaciones en un pequeo periodo de tiempo.
Como se puede observar, se han cumplido los dos objetivos ms importantes de esta Tesis, habiendo sido todo este proceso respaldado por los ingenieros de la compaa ADIF.
Estos dos objetivos han sido incorporados en dos herramientas software, tal y como se vio en el Captulo 7, estas herramientas son:
! CALPE es una herramienta software compuesta por el conjunto de algoritmos de altas prestaciones desarrollados en la presente Tesis, y que resuelven de forma eficiente los problemas relacionados con pndolas, clculo de mnsulas, etc. Adems se incluyen los algoritmos de altas prestaciones para resolver el problema esttico de la elasticidad de la catenaria. ! InDiCa, por tanto, es la herramienta software que ha resultado de la evolucin de CALPE y que, utilizando sus datos de salida, permite realizar el estudio dinmico de la interaccin pantgrafo-catenaria.
Estas dos herramientas han sido testadas por los ingenieros de ADIF, y estn siendo utilizadas en la actualidad por ellos para realizar todos sus clculos necesarios para la construccin de las lneas de alta velocidad.
Adems, estas dos herramientas software han sido patentadas por el equipo CALPE, de la Universidad de Castilla-La Mancha, entre los cuales se encuentra la autora de la presente Tesis.
Despus de realizar las implementaciones de Altas Prestaciones, expuestas en el Captulo 5, y que se acaban de resumir, se pens que se podran adoptar otro tipo de CAPTULO 8: CONCLUSIONES Y TRABAJO FUTURO
187 tcnicas para hacer ms eficientes los algoritmos desarrollados, as fue como surgieron dos objetivos que se podran denominar secundarios, pues no eran el problema principal que los ingenieros de ADIF necesitaban solucionar. Estos dos objetivos se exponen a continuacin:
! Paralelizacin de los algoritmos. Como se dijo en la introduccin de la presente Tesis, no se ha encontrado en la literatura constancia alguna de la existencia de algoritmos paralelos que resuelvan los problemas que son objetivo principal de este trabajo. La necesidad es obvia, pues si se consideran tamaos grandes de problema, es decir, si se consideran problemas reales, los algoritmos de altas prestaciones desarrollados requieren bastante tiempo de cmputo, y ms si se tiene en consideracin, por una parte la gran cantidad de kilmetros de lneas de alta velocidad tanto que ya existen como de las que se tiene planificado, por el Ministerio de Fomento, construir, como por otra parte, que se pueda obtener una mayor precisin en el clculo lo que implica realizar una discretizacin mucho ms fina que evidentemente hace que el tamao del problema sea mucho mayor. Esto conlleva un mayor tiempo de cmputo y la paralelizacin de estos algoritmos lo reduce de forma drstica, tal y como se vio en el Captulo 6. Las pruebas realizadas sobre la implementacin paralela muestran que la reduccin de tiempo de ejecucin es ms que considerable, adems con los resultados obtenidos se puede concluir que con las tecnologas emergentes de hoy en da, es decir, con ordenadores de sobremesa multiprocesador, de hasta cuatro ncleos, se pueden utilizar las implementaciones realizadas sin que ello supongo un desembolso grande de dinero, pues estos nuevos ordenadores de sobremesa son muy asequibles, y evidentemente mucho ms baratos que adquirir un cluster de PC`s o un supercomputador.
! Computacin de Alta Productividad. Hasta este punto, en esta Tesis se ha aplicado computacin de altas prestaciones, es decir, ejecutar una aplicacin en el menor tiempo posible. Considerando que los ingenieros de ADIF siguen una filosofa de prueba y error para obtener los clculos deseados, es decir, varan los datos de entrada, obtienen los datos de salida y si no son los deseados vuelven al principio. Esto lleva mucho tiempo y ms considerando la cantidad de parmetros de entrada que tienen estos algoritmos y los rangos en que se mueve cada uno de ellos. Este es el motivo por el que se pens en realizar una aplicacin que utilizando estos algoritmos siguiese una filosofa de Computacin de Altas Prestaciones, esta filosofa se basa en poder conseguir ejecutar un nmero mayor de aplicaciones y no en reducir el tiempo de ejecucin de una aplicacin. As pues, y tal como se vio tambin en el Captulo 6, se ha desarrollado una herramienta basada en esta filosofa, de tal forma que los ingenieros solo deben definir que parmetros y en que rango se van a utilizar, producindose los correspondientes ficheros de entrada, posteriormente se lanzarn a travs de la plataforma de alta productividad que ha sido desarrollada, Est@home, y que ejecutar de forma distribuida, el algoritmo con cada fichero de entrada de forma que cuando antes en el tiempo de ejecucin de un algoritmo slo se tena un fichero de salida con la estructura calculada, ahora se dispone de varios ficheros de salida, siendo presentado al ingeniero nicamente aquel fichero de salida que ms se ajuste a sus necesidades. Esta herramienta, como se coment en el Captulo 6, est implementada, pero se ha CAPTULO 8: CONCLUSIONES Y TRABAJO FUTURO
188 dejado para un trabajo futuro tanto el poder crear de forma automtica los ficheros de entrada a travs de unos parmetros introducidos por el usuario, como el poder elegir el propio sistema el fichero de salida ms apropiado para el usuario.
Con todo esto se puede concluir que se ha cubierto en gran medida los objetivos primordiales de esta Tesis, el clculo esttico de la elasticidad de la catenaria y el clculo del problema dinmico de la interaccin pantgrafo-catenaria, adems se han aportado dos objetivos secundarios que pueden ayudar en gran medida a los ingenieros de ADIF en su trabajo diario, as pues se ha realizado la paralelizacin de los algoritmos que resuelven el problema esttico de la elasticidad de la catenaria, permitiendo as poder simular problemas ms reales, y adems se ha aportado una plataforma de alta productividad que le va a facilitar al ingeniero el poder lanzar simulaciones con distintos datos de entrada.
Como lneas futuras de investigacin se podran considerar los siguientes puntos:
! Tratamiento de los vanos de seccionamiento ! Resolver el problema esttico de la elasticidad de la catenaria en 3D ! Resolver el problema dinmico de la interaccin pantgrafo catenaria en 3D. ! Ampliar la aplicacin Est@home para que a partir de unos parmetros introducidos por el usuario, la misma aplicacin sea capaz de crear distintos ficheros de datos de entrada. ! Ampliar la aplicacin Est@home para que a partir de todos los ficheros de salida producidos por las ejecuciones de los algoritmos, la propia aplicacin sea capaz de elegir entre estos, aquel que produzca un modelo de catenaria ms ptimo.
8.2 APORTACIONES DEL TRABAJO
A partir de la actividad desarrollada a lo largo de esta Tesis, se han obtenido un conjunto de resultados que han sido parcialmente difundidos en publicaciones de carcter tanto nacional como internacional. Estas aportaciones son enumeradas a continuacin, haciendo una distincin entre congresos, captulos de libros y revistas tanto las que estn indexadas como las que no:
! Aportaciones a congresos: o David Cebrian, Toms Rojo, Angelines Alberto, Enrique Arias y Fernando Cuartero. A user interface for the representation of the dynamic results on the pantograph-catenary interactions. Ed.WIT, ISSN: 1746-4498. ISBN: 1-84564-177-9. Tenth International Conference on Computer System Design and Operation in the Railway and Other Transit Systems (COMPRAIL`2006), Vol. 88, pag. 817-825. Referenciado en ISI-proceedings o Angelines Alberto, Enrique Arias, David Cebrian, Toms Rojo, Fernando Cuartero y Jess Benet. An efficient method to solve the Static Stiffness Problem on a Catenary with equals spans. Fourteenth CAPTULO 8: CONCLUSIONES Y TRABAJO FUTURO
189 European Conference on Mathematics for Industry (ECMI, 2006), pag. 69. o Angelines Alberto, Enrique Arias, David Cebrian, Toms Rojo, Jess Benet. A High Performance Algorithms to solve the Static Stiffness Problem on a Catenary. Ed. Civil-Comp Press, ISBN: 1-905088-08-06- X. Proceedings of the Seventh International Conference on Computational Structures Technologies (CST, 2006), pag. 397-398. o Benet Mancho, Jesus; Alberto Morillas, Angelines; Arias Antunez, Enrique; Rojo Guillen, Tomas. A mathematical Study of the Pantograph/Catenary Dynamic Interaction on Transition Spans . Ed. IAENG, ISBN: 978-988-98671-5-7. Proceedings of World Congress on Engineering (WCE), The 2007 International Conference of Applied an Engineering Mathematics (ICAEM). pag: 750-758. Referenciado en ISI- proceedings, DBLP, Computer Science Bibliographics. o A. Alberto, E.Arias, T. Rojo. F. Cuartero and J. Benet. Numerical Simulation of the Static Stiffness Problem on a Catenary through a High Performance Computing implementation. Ed. AIP, ISSN: 0094-243-X, ISBN: 978-0-7354-0478-6. Computation in Modern Science and Engineering. Proceedings of the International Conference on computational Methods in Science and Engineering (ICCMSE, 2007), Vol 2, pag. 1141-1145. Referenciado en ISI-proceedings. o A. Alberto, E.Arias, J.Benet, T. Rojo, F. Cuartero and P. Tendero. A Distributed Memory Implementation for Solving the Static Problem on the Pantograph/Catenary Interaction. Ed. WEAS Press, ISSN: 1790- 2769, ISBN: 978-960-6766-88-6. New Aspects of Engineering Mechanics, Structures and Engineering geology. Proceeding of the WSEAS Intenational Congerence on Engineering Mechanics, Structures, Engineering Geology (WMESEG, 2008), pag. 131-135. Refenciado en ISI-proceedings.
! Captulo de libro: o Angelines Alberto, Enrique Arias, Diego Cazorla, Jess Cruz.Calp@home: Una plataforma de computacin de altas prestaciones basada en BOINC para la interaccin patgrafo/catenaria. Editorial GILSAM , ISBN: 978-84-690-5358-4. Computacin GRID: del Middleware a las Aplicaciones, 2007, pag: 95-103.
! Revista indexada: o Angelines Alberto, Jess Benet, Enrique Arias, David Cebrian, Toms Rojo, Fernando Cuartero. A high performance tool for the simulation of the dynamic pantographcatenary interaction. Ed. ELSEVIER, ISSN: 0378-4754, Mathematics and Computers in Simulation, Vol. 79 (2008), pag. 652-667. Factor de impacto: 0,738. Subcategorias: Computer Science, Interdisciplinary applications: 54/92, Computer Science, Software Engineering: 48/84 y Mathematics, Applied:69/165. o Enrique Arias, Angelines Alberto, Jess Montesinos, Toms Rojo, Fernando Cuartero, Jess Benet. A mathematical model of the static pantograph/catenary interaction. Ed. Taylor & Francis, ISSN: 0020- 7160. International Journal of Computer Mathematics, Vol. 86 (2009), CAPTULO 8: CONCLUSIONES Y TRABAJO FUTURO
190 pag. 333-340. Factor de impacto:0,423. Subcategora: Mathematics, Applied: 133/165.
! Revistas no indexadas: o Jess Benet, Enrique Arias, Angelines Alberto and David Cebrin. An efficient method for study of the pantograph-catenary dynamic interaction. . Ed. CIT, ISSN: 0718-0764. Revista Internacional Informacin Tecnolgica, Vol. 17 (2006) n3, pag. 137-148. Citada en INSPEC. o Jess Benet, Angelines Alberto, Enrique Arias, Toms Rojo. A mathematical model of the pantograph-catenary dynamic interaction with several contact wires. Ed. IAENG, ISSN: 1992-9978. International Journal of Applied Mathematics Vol. 37 (2007), pag. 136-144. Citada en DOAJ (Directory of Open Access Journals) y en NSOL (National Science Digital Library).
Tambin cabe destacar las patentes existentes sobre las dos herramientas software desarrolladas, y que han sido ampliamente explicadas en el Captulo 7:
! Ttulo: CALPE. Clculo de Pndolas de Catenrias o Inventores (p.o. de firma): Angelines Alberto Morillas, David Cebrin Sierra, Enrique Arias Antnez, Fernando Cuartero Gmez, Jess Benet Mancho, Jess Montesinos Ortuo, Pedro Tendero Lozano, Toms Rojo Guillen. o Nmero de asiento registral: 00/2008/1524 o Pas de prioridad: Espaa o Entidad titular: Universidad de Castilla-La Mancha o Empresa/s que la estn explotando: ADIF y Universidad de Castilla- La Mancha ! Ttulo: INDICA (Interaccin Dinmica Pantgrafo/Catenaria) o Inventores (p.o. de firma): Alberto Morillas, Alejandro Jimnez Picazo, David Cebrin Sierra, Enrique Arias Antnez, Fernando Cuartero Gmez, Jess Benet Mancho, Jess Montesinos Ortuo, Pedro Tendero Lozano, Toms Rojo Guillen. o Nmero de asiento registral: 00/2008/1525 o Pas de prioridad: Espaa o Entidad titular: Universidad de Castilla-La Mancha o Empresa/s que la estn explotando: ADIF y Universidad de Castilla- La Mancha
Por ltimo cabe mencionar la realizacin de un curso internacional para PhD, en la ciudad Pcs (Hungra) denominado High Performance Computation por Engineering en Marzo 2006.
[7] Ministerio de Educacin y Ciencia Clculo del desgaste en el sistema de captacin de energa de trenes de alta velocidad (Diciembre 2004 Diciembre 2007).
[8] Carnicero Lpez, Alberto, Lpez Garca, Oscar y Torres Toledo, Victor: Un modelo para el clculo de catenarias Ferroviarias. Asociacin/Colegio Nacional de Ingenieros del ICAI. Anales de mecnica y electricidad. Vol. LXXXI. Fascculo II. Nmero II (Marzo-Abril 2004).
[9] Carnicero Lpez, Alberto, Lpez Garca, Oscar y Maroo, Jos Luis: Modelo simplificado de la interaccin dinmica catenaria-pantgrafo. Asociacin/Colegio Nacional de Ingenieros del ICAI. Anales de mecnica y electricidad. Vol. LXXXIII. Fascculo III. Nmero III (Mayo-Junio 2006).
[10] Universidad de Navarra: Estudio Dinmico a Velocidades Elevadas de la Catenaria Tipo RENFE Modernizada y Compensada (1982).
[11] Fernndez, F.A. y Pastor, M: Anlisis Mediante Elementos Finitos del Acoplamiento Dinmico Catenaria-Pantgrafo, Centro de Estudios y Experimentacin de Obras Pblicas, Espaa (1998).
[12] Nicole, D.A., Allan, R.J., Guest, M.F., Henty, D.S. and Simpson, A.D. High- Performance Computing, Plenum Publishing Corporation (1999).
[13] Yousef Saad. Iterative Methods for Sparse Linear Systems., Society for Industrial and Applied Mathematics, SIAM (2003).
[14] B. Nath Datta. Numerical Linear Algebra and Applications. Brooks/Cole Publishing Company (1995).
[15] Gene H. Golub, Charles F. Van Loan. Matrix Computations. The Johns Hopkins University Press (1989).
[16] Yousef Saad. SPARSKIT: A basic tool kit for sparse matrix computations. Version 2. CSRD, university of Illinois and RIACS, Nasa Ames Research Center (1994).
BIBLIOGRAFA
192 [17] M. T. Heath. Science Computing: An introductory survey. Mc Graw Hill, (2002).
[18] I. S. Duff, A. M. Erisman, J. K. Reid. Direct Methods for Sparse Matrices. Clarendon Press, Oxford (1986).
[19] R. Barret y otros. Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods. Philadelphia, SIAM Publications (1994).
[20] R. W. Freund, G. H. Golub, N. M. Nachtigal.Iterative Solutions of Linear Systems. Acta Numrica (1992).
[21] R. D. Cook, D. S. Malkus, M. E. Plesha. Concepts and Applications of Finite Element Analysis. John Wiley & Sons Inc (1989).
[22] C. L. Lawson, R. J. Hanson, D. R. Kincaid, F. T. Krogh. Basic Linear Algebra Subprograms for FORTRAN Usage., ACM Trans. Math. Soft. (1979).
[23] J. J. Dongarra, J. Du Croz, I. S. Duff, S. Hammarling. A Set of Level 3 Basic Linear Algebra Subprograms. ACM Trans. Math. Soft. (1990).
[24] http://www.netlib.org/blas/index.html
[25] J. J. Dongarra, J. Du Croz, S. Hammarling, Richard J. Hanson. An Extended Set of FORTRAN Basic Linear Algebra Subroutines. ACM Trans. Math. Soft. (1988).
[26] I. S. Duff, R. G. Grimes, J. G. Lewis. Sparse Matrix test problems. ACM trans. Math. Soft. (1989).
[27] I. S. Duff. A survey of sparse matrix research. New York, Prentice Hall. (1977).
[28] Z. Zlatev, K. Schaumburg, J.Wasniewski. A testing scheme for subroutines solving large linear problems. Computers and Chemistry. (1981).
[29] O. Osterby, Z. Zlatev. Direct Methods for sparse matrices. Springer Verlag, New York. (1983).
[30] O.C. Zienkiewics, R.L. Taylor. El Mtodo de los Elementos Finitos. Ed. McGraw Hill (1994).
[31] K.J. Bathe. Finite Element Procedures in Engineering Analysis. Ed. Prentice Hall (1982).
[32] Cook D.C., Malkus D.S., Plesha M.E. Concepts and Applications of Finite Element Analysis. Ed. John Wiley and Sons (1989).
[33] Thomas J.R. Hughes. The Finite Element Method. Ed. Prentice Hall (1987).
BIBLIOGRAFA
193 [34] Benet, J y Montesinos, J. Clculo Mecnico de Pndolas de Catenaria par Tendido Elctrico Ferroviario, XIII Congreso Nacional de Ingeniera Mecnica, Terrassa, Espaa (1998).
[35] Benet, J., Arias, E., Cuartero, F. and Rojo, T. Basic problems on the mechanical calculus of railway catenaries. Revista Internacional Informacin Tecnolgica (2004).
[36] K.J. Bathe. Finite Element Procedures, Prentice Hall (1996).
[37] Benet, J., Arias, E., Alberto, A. and Cebrian, D. Desarrollo de un Mtodo Eficiente para el Estudio de la Interaccin Dinmica Pantgrafo-Catenaria. Revista Internacional Informacin Tecnolgica ( Mayo-Junio 2006).
[38] Angelines Alberto, Enrique Arias, David Cebrian, Toms Rojo, Fernando Cuartero and Jess Benet. An efficient method to solve the Static Stiffness Problem on a Catenary with equals spans The 14 th European Conference on Mathematics for Industry. (2006).
[39] Angelines Alberto, Enrique Arias, David Cebrian, Toms Rojo, Fernando Cuartero and Jess Benet. A High Performance Algorithm to solve the Static Stiffness Problem on a Catenary. The Eighth International Conference on Computational Structures Technology. (2006).
[40] Flynn M. J. Some Computer Organizations and Their Effectiveness. IEEE Trans. Comput., Vol C-21, pp 948. (1972).
[41] Ralph Duncan. A Survey of Parallel Computer Architectures. IEEE Computer Society Press. Vol 23, Issue 2, pages 5-16. (Febrero 1990).
[42] Roger W. Hockney. Classification and evaluation of parallel computer system. 4 th International DFVLR Seminar on Foundations of Engineering Sciences on Parallel Computing in Science and Engineering, in Boon, Germany. Springer-Verlag New York pages 13-25. (1988).
[43] Kay Hwang and Faye A. Briggs. Computer Architecture and Parallel Processing. McGraw-Hill (1994).
[44] Kevin Dowd and Charles Severance. High Performance Computing O`Reilly && Associates, Inc. 2 edition (Julio 1998).
[45] Ananth Grama, Anshul Gupta, George Karypis and Vipin Kumar. Introduction to Parallel Computing. Pearson Education Limited, Second edition (2003).
[46] Gropp, W., Lusk, E. and Skjellum, A. Using MPI: Portable Parallel Programing with the Message-Passing Interface. MIT Press (1994).
[47] George Coulouris. Sistemas Distribuidos. Tercera Edicin. Addison Wesley. Madrid (2001).
BIBLIOGRAFA
194 [48] Foster, I., Kesselman, C. Computational Grids. In: The Grid: Blueprint for a Future Computing Infrastructure. Morgan Kaufmann Publishers (1998).
[49] Foster, I., Kesselman, C. and Tuecke, S, The Anatomy of the Grid. Intl J. Supercomputer Applications (2001).
[50]. Foster, I. What is the Grid? A Three Point Checklist. Argonne National Laboratory & University of Chicago (2002).
[51] J.L. Vzquez-Poletti, Eduardo Huedo Cuesta, Rubn Santiago Montero, Ignacio Martn Llorente. Una visin global de la tecnologa GRID. Revista del CES Felipe II. ISSN 1695-8543, Nmero 2 (Diciembre 2004).
[52] Poryecto Ibercivis http://www.ibercivis.es
[53] D. P. Anderson, J. Cobb, E. Korpela, M. Lebofsky and D. Werthimer. SETI@home An Experiment in Public-Resource Computing. Communications of the ACM, Nov. 2002, Vol 45 No 11, pp. 56-61 (2002).
[54] David P. Anderson, University of California at Berkeley. BOINC: A System for Public-Resource Computing and Storage. Proceedings 5 th IEEE/ACM International Workshop on Grid Computing, Pittsburgh, PA (Noviembre 2004).
[55] Berkeley Open Infrastructure for Network Computing Oficial Website: http://boinc.berkeley.edu/