Вы находитесь на странице: 1из 212

UNIVERSIDAD DE CASTILLA-LA MANCHA

DEPARTAMENTO DE SISTEMAS INFOMTICOS





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

BIBLIOGRAFA............................................................................................................. 191



















































































ix


NDICE FIGURAS.

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.








CAPTULO 2: CONCEPTOS MATEMTICOS
7
CAPTULO 2: CONCEPTOS MATEMTICOS

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.


* 0 0
0 * 0
0 0 *
!
"
#
#
$
%
&
&
(a)
* * *
0 * *
0 0 *
!
"
#
#
$
%
&
&
(b)
* 0 0
* * 0
* * *
!
"
#
#
$
%
&
&
(c)

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.


* * 0 0 0 0 0
* * * 0 0 0 0
0 * * * 0 0 0
0 0 * * * 0 0
0 0 0 * * * 0
0 0 0 0 * * *
0 0 0 0 0 * *
!
"
#
#
#
#
#
#
#
#
$
%
&
&
&
&
&
&
&
&

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.


1
!
(D"!L)x
(k+1)
=
1
!
((1"!)D+!U)x
(k)
+ c (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


1
!
(D"!U)x
(k+1)
=
1
!
((1"!)D+!L)x
(k)
+ c (2.5)

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
2!t
({q}
n+1
"{q}
n"1
) (2.17)
CAPTULO 2: CONCEPTOS MATEMTICOS
31

{ 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.


{q}
!1
= {q}
0
! "t{ q }
0
+
"t
2
2
{ q }
0
(2.22)

CAPTULO 2: CONCEPTOS MATEMTICOS
32
donde los trminos con

!t
3
y potencias superiores se omiten.

{ q }
0
se obtiene a
partir de la ecuacin de movimiento en el tiempo cero, es decir, tal y como se
muestra en la Ecuacin 2.23.


{ q }
0
= M
!1
" {R
ext
}
0
! K{q}
0
! C{ q }
0
( )
(2.23)

4. Para calcular

{q}
n+1
se necesita

{R
int
}
n
. Para los casos con no-linealidades

{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


{ q }
n!1 2
=
1
"t
{q}
n
!{q}
n!1
( ) (2.25)

{ q }
n
=
1
!t
{ q }
n+1 2
"{ q }
n"1 2
( )
=
1
!t
2
{q}
n+1
" 2{q}
n
+{q}
n+1
( ) (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:

! DNS: Formato denso
! COO: Formato coordenado
! CSR: Formato disperso de fila comprimida
! CSC: Formato disperso de columna comprimida

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

ns=[[ 17, 1, 2, 19 ][ 19, 3, 4, 5, 20 ] [20, 6, 7, 21 ]]
nh = [ [ 18, 6, 9, 10 ] [ 10, 11, 12, 13, 14 ] [ 14, 15, 16, 21 ] ]
os = [ [1, 2 ] [3, 4, 5 ] [ 6, 7 ] ]
oh = [ [ 8, 9] [ 11, 12, 13 ] [ 15, 16 ] ]

4.5.3 Consideraciones generales

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.


4.7 ESTUDIO INTERACCIN DINMICA PANTGRAFO-CATENARIA

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.


q
n!1 2
=
1
2"t
q
n+1
! q
n!1
( )
q
n
=
1
2"t
2
q
n+1 2
! q
n!1 2
( )
=
1
"t
2
q
n+1
! 2q
n
+ q
n!1
( )
(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

K
4
, resultando la Ecuacin
4.37.


(!
1
)
n+1
= K
4
(y
4
)
n+1
" (y
3
)
n+1
[ ]
(4.37)

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.


K
0
!
0
T
!
0
0
"
#
$
%
&
'
(
q
0
)
0
"
#
$
%
&
'
=
R
0
0
"
#
$
%
&
'
(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:


K
0
!
0
T
!
0
0
"
#
$
%
&
'
(
q
0
)
0
"
#
$
%
&
'
=
R
0
0
"
#
$
%
&
'


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.

Casos de Estudio nv np lv
1 3 6 60
2 3 10 60
3 3 16 60
4 4 6 60
5 4 10 60
6 4 16 60
7 8 6 60
8 8 10 60
9 8 16 60
Tabla 5. 1 Casos de estudio problema elasticidad

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

1 0,125 0,031 0,766 0,094 0,172 0,029 0,141 0,016
2 0,243 0,062 3,797 0,141 0,734 0,046 0,234 0,031
3 0,828 0,14 25,703 0,390 3,422 0,11 1,093 0,109
4 0,328 0,046 1,422 0,063 0,313 0,036 0,282 0,034
5 0,397 0,078 9,500 0,218 1,656 0,078 0,516 0,062
6 1,937 0,187 62,985 0,531 11,172 0,14 2,609 0,156
7 2,3 0,229 15,00 0,187 2,344 0,137 2,297 0,093
8 2,562 0,237 92,375 0,453 25,594 0,165 6,343 0,125
9 23,86 0,343 510,203 1,078 122,016 0,265 41,500 0,312
Tabla 5. 5 Tiempo ejecucin, expresado en segundos, del problema esttico con vanos iguales


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.

Casos de Estudio nv np lv
1 3 6 60
2 3 10 60
3 3 16 60
4 4 6 60
5 4 10 60
6 4 16 60
7 8 6 60
8 8 10 60
9 8 16 60
Tabla 5. 9 Casos de estudioproblema dinmico

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.

1 pant 2 pant 3 pant 4 pant Casos de
estudio nz K nz K nz K nz K
1 3304 0,075 3321 0,076 3338 0,076 3355 0,076
2 3334 0,076 3351 0,076 3368 0,077 3385 0,077
3 3664 0,083 3681 0,084 3698 0,084 3715 0,085
4 4407 0,100 4424 0,101 4441 0,101 4458 0,102
5 4447 0,101 4464 0,102 4481 0,102 4498 0,102
6 4887 0,111 4904 0,112 4921 0,112 4938 0,113
7 8819 0,201 8836 0,202 8853 0,202 8870 0,203
8 8899 0,203 8916 0,204 8933 0,204 8950 0,204
9 9779 0,223 9796 0,224 9813 0,224 9838 0,225
Tabla 5. 10 Memoria requerida en el problema dinmico para 1, 2, 3 y 4 pantgrafos
CAPTULO 5: ALGORITMOS DE ALTAS PRESTACIONES

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.

Casos de estudio 1 pant 2 pant 3 pant 4pant
1 3,375 4,003 4,531 5,421
2 3,406 4,203 4,562 5,437
3 3,719 4,5 4,875 5,781
4 3,906 4,906 5,218 6,234
5 3,953 5,02 5,296 6,421
6 4,328 5,281 5,641 6,781
7 6,125 7,609 8,218 9,594
8 6,140 7,620 8,266 9,640
9 6,797 8,328 9,031 10,562
Tabla 5. 11 Tiempos de ejecucin para el problema dinmico considerando 1, 2, 3 y 4 pantgrafos

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.




BIBLIOGRAFA

191
BIBLIOGRAFA


[1] http://www.i3a.uclm.es/consulta/memoria.php?lang=es&param_0=4&param_1=122

[2] http://www.i3a.uclm.es/presentacion.php?lang=es&sec=inicio

[3] http://www.adif.es

[4] http://www.todotrenes.com/

[5] http://es.wikipedia.org/wiki/Portada

[6] http://lightrailnow.org/features/f_lrt_2006-03a.htm

[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/

[56] http://www.cs.wisc.edu/condor/manual/v6.8/2_Users_Manual.html.

[57] Portable Batch System http://www.nas.nasa.gov/Software/PBS/

[58] http://www.sun.com/software/gridware/

Вам также может понравиться