memoria pfc ayose lomba

222

Upload: ayose-lomba-perez

Post on 09-Mar-2016

279 views

Category:

Documents


0 download

DESCRIPTION

Memoria principal de PFC

TRANSCRIPT

Page 1: Memoria PFC Ayose Lomba

Software de análisis de circuitos linealesmediante métodos avanzados deresolución para uso docente.

Autor: Ayose Lomba Pérez

Tutores: Jose Miguel Monzón VeronaAntonio Andrés Ocón Carreras

Fecha: Septiembre 2009

Universidad de Las Palmas de Gran CanariaEscuela Técnica Superior de Ingenieros Industriales

Ingeniería Industrial

Memoria

Page 2: Memoria PFC Ayose Lomba
Page 3: Memoria PFC Ayose Lomba

Software de Análisis de Cir uitos Lineales medianteMétodos Avanzados de Resolu ión para Uso Do ente.Memoria.Ayose Lomba PérezSeptiembre 2009

Page 4: Memoria PFC Ayose Lomba
Page 5: Memoria PFC Ayose Lomba
Page 6: Memoria PFC Ayose Lomba

ii

La iviliza ión no dura porque a los hombres sólo les interesan los resultadosde la misma: los anestési os, los automóviles, la radio. Pero nada de lo que dala iviliza ión es el fruto natural de un árbol endémi o. Todo es resultado deun esfuerzo. Sólo se aguanta una iviliza ión si mu hos aportan su olabora ión al esfuerzo. Si todos preeren gozar el fruto, la iviliza ión sehunde.José Ortega y GassetHay errores que siempre pasan inadvertidos hasta que el libro esté impreso.Ley de Jones

Page 7: Memoria PFC Ayose Lomba

iiiAyose Lomba PérezIngeniería Industrial espe ialidad Ele tri i-dadH: 666 83 14 35k: ayoselombagmail. om: www.avalon-alp.es Agrade imientos:Me gustaría desta ar y agrade er el papel que han jugado en este proye to y en suelabora ión mis dos tutores.En el largo pro eso que lleva sa ar ha ia delante esta titula ión, debo dar gra ias en primerlugar a mi familia, por aguantar los malos momentos, que no han sido po os.A los amigos que siempre han estado para apoyarse uno en ellos in luyendo a los hispasque han he ho de este periodo, algo agradable y más llevadero.A U por aportarme el equilibrio que ne esitaba.En último lugar pero no menos importante, quisiera dar las gra ias a Luis porpropor ionarme la posibilidad de aprender y re er en estos dos últimos años.Gra ias a todos.

Esta Do umenta ión ha sido realizada en LATEX sirviéndonos del entorno LYXy otros programas de ódigo abierto, se presenta bajo li en ia Creative Commons.El PFC ha sido elaborado en su totalidad on Software libre y su ódigo fuente se li en iaen GNU/GPL v3.

Page 8: Memoria PFC Ayose Lomba
Page 9: Memoria PFC Ayose Lomba

Un proye to adaptado a las nuevasne esidades universitarias.

v

Page 10: Memoria PFC Ayose Lomba
Page 11: Memoria PFC Ayose Lomba

Introdu ión.Pro esos de ambio ha ia un nuevo modelo de enseñanza.El pro eso de ambio en el que se en uentra el sistema universitario, que omienza on la rma de la De lara ión de Bolonia, tiene sus orígenes en la Carta Magna de lasUniversidades en 1988 a la que siguió diez años más tarde la De lara ión de la Sorbona(1998) para on luir, el 19 de Junio de 1999 on la rma de la De lara ión de Bolonia, porparte de los 29 Ministros de Edu a ión de los estados miembros de la Unión Europea.En la De lara ión de Bolonia se propone la rea ión del Espa io Europeo de Edu a iónSuperior on seis objetivos:Adop ión de un sistema fá ilmente legible y omparable de titula iones.Adop ión de un sistema basado en tres i los (grado, máster y do torado).Estable imiento de un sistema interna ional de réditos (ECTS).Promo ión de la movilidad de estudiantes, profesores e investigadores y personalde administra ión y servi ios, y supera ión de los obstá ulos que di ultan di hamovilidad.Promo ión de la oopera ión europea para garantizar la alidad de la edu a iónsuperior.Promo ión de una dimensión europea de la edu a ión superior.El Espa io Europeo de Edu a ión Superior, en adelante EEES, impli a una reforma enla estru tura universitaria, una nueva forma de generar y gestionar aprendizaje. En 2008es aprobado el Mar o Europeo de Cuali a iones para el Aprendizaje Permanente.Es notable, la diversidad existente entre los países miembros, por lo que por ese motivose pone en mar ha el itado mar o, el ual vin ula los diferentes sistemas na ionales de uali a iones mediante o ho niveles de referen ia omunes a toda Europa y que abar andesde los erti ados de edu a ión es olar hasta el do torado. Los niveles se denen entérminos de resultados de aprendizaje. Los resultados de aprendizaje se denen omo ex-presiones de lo que una persona en pro eso de aprendizaje sabe, omprende y es apaz deha er al ulminar un pro eso de aprendizaje y se lasi an en:vii

Page 12: Memoria PFC Ayose Lomba

viii Cono imientos.DestrezasCompeten ias.Es en este punto donde el proye to tiene su razón de ser. En la nueva forma deentender el aprendizaje en el sistema universitario la teoría y prá ti a obran un nuevopapel fundamental y distinto al anteriormente eje utado, ya que el alumno pasa a ser partea tiva del sistema edu ativo.Se trata de onseguir unos objetivos de forma ión que ontemplen tanto la adquisi iónde ono imientos omo la apa ita ión de los alumnos para seguir estudiando ( ompeten- ias a adémi as y profesionales). Evidentemente este objetivo pasa por un pro eso en lasaulas donde el alumnado debe ompaginar de forma ontinua durante la forma ión, teoríay prá ti a.El estudiante aprenderá de una forma diferente y on una evalua ión que va más alláde los lási os exámenes, y que tendrá en uenta su propio esfuerzo (trabajos, estudio,seminarios, trabajos en equipo, tutorías, et ).Estos e hos ponen de maniesto la ne esidad real de ade uar la do en ia a las exigen- ias a tuales. En este PFC se pretende dotar al departamento y a los estudiantes de unaherramienta para que el salto de la teoría impartida en asignaturas rela ionadas on laele tri idad a la prá ti a y a la simula ión sea Cuantitativo y Cualitativo.En el amino a que el alumnado universitario adquiera los ono imientos, destrezas y ompeten ias es ne esaria que la universidad se involu re en la rea ión de herramientasque ayuden a la obten ión de los objetivos mar ados por este pro eso de ambio en el quenos en ontramos sumergidos. Con el desarrollo de este tipo de herramientas el estudiantetiene la posibilidad de experimentar, desarrollar, investigar y mejorar los ono imientos queadquiere permitiendo mediante la simula ión asentar on eptos que permitan una mejorasimila ión de las prá ti as que tengan lugar posteriormente en los laboratorios o en laeje u ión de estos en la vida laboral.Ante edentes.La a tividad pionera por la que se ara teriza la U.L.P.G.C. y su rme apuesta porla divulga ión y uso de software libre han dado paso en los últimos años a la apari iónde la O ina del Software Libre (OSL) y a la elabora ión de nuestra propia distribu iónGNU/Linux basada en Ubuntu y presentada en abril de ha e dos años, bautizada omoSILU (a rónimo de Sistema Informáti o Libre Universitario).La posibilidad de satisfa er las ne esidades té ni as de distintas asignaturas de nuestratitula ión, la tenden ia anteriormente itada de la universidad y el pro eso de adapta iónal ual deben adherirse las nuevas titula iones han promovido la idea de este proye to.El desarrollo propio de apli a iones gratuitas es una ara terísti a de innova ión yun laro ejemplo de reutiliza ión de los propios re ursos. Además de una mejora en la

Page 13: Memoria PFC Ayose Lomba

ix apa idad de redistribu ión de los presupuestos asignados a los departamentos. Debemostener presente que todo software libre no supone oste alguno en su utiliza ión y explota iónen ninguna de sus diferentes posibilidades de li en ias.La idea de rear un programa abierto na e de la posibilidad de un ontinuo re imientodel mismo on las aporta iones que puede tener por parte de los usuarios en las diferentesasignaturas para las que está pensado y por la omunidad de software libre.A eder al ódigo de un programa de análisis de ir uitos fa ilita la omprensión de losmismos lo ual mejora el al an e que pueden tener asignaturas no sólo tron ales sino deespe ialidad omo es amplia ión de teoría de ir uitos.Cono ida las similitudes entre métodos de ál ulo en ele tri idad y en estru turas, elmotor bási o desarrollado de nuestro programa en este proye to, no sólo abre una puerta ala elabora ión de más librerías para la espe ialidad de ele tri idad. Sino que también ha eposible el desarrollo de fun iones y nuevas librerías para análisis de estru turas y sistemasme áni os.Objetivos a Satisfa er.La nalidad de este proye to es la rea ión de un software base de análisis de ir uitoslineales on una librería de elementos desarrollada para tal estudio, que a su vez pueda serampliado mediante el diseño de nuevas librerías de otro tipo de elementos.Este programa se ha desarrollado ha iendo uso ex lusivo de software libre por lo quese presenta en li en ia GPL dejando su utiliza ión, distribu ión y mejora del ódigo om-pletamente abierto para la omunidad universitaria y sus diferentes usuarios.El software desarrollado ha e uso de métodos avanzados de resolu ión de ir uitos. Parasu orre to fun ionamiento se implementará un entorno grá o que fa ilite la elabora iónde los ir uitos, y se utilizará un programa de dibujo. Tras el diseño del esquema ini ialse han reado las fun iones pertinentes para analizar, al ular y representar las diferentesvariables elé tri as del ir uito. Todo este pro eso queda embebido en un úni o entornoque se pro ura de intuitivo y de fá il manejo al que se denomina Ávalon, ver se iónsiguiente.Se adjunta un manual de usuario del programa así omo formas de generar nuevoselementos que no estén re ogidos en la librería ini ial, que será perfe tamente modi able ongurable y ampliable.Se presenta todo su ódigo expli ado on detalle, además de ejemplos de ir uitoselaborados y analizados paso a paso a modo de tutoriales.A su vez, toda la base matemáti a de los métodos y la justi a ión de los mismos seexpondrá on detalle para una mejor asimila ión del fun ionamiento del software.Todo el programa se desarrollara en C++ bajo una distribu ión Linux. El uso delas librerías grá as Qt desarrolladas por la empresa Qt Nokia garantizará que nuestroprograma pueda ser instalado en los diferentes distribu iones linux.El prin ipal n de este Software de análisis de ir uitos lineales mediante métodosavanzados de resolu ión es onseguir una buena integra ión de los ono imientos teóri os

Page 14: Memoria PFC Ayose Lomba

xprevios en los que se fundamenta el análisis de ir uitos on métodos utilizados por pro-gramas omer iales para la obten ión de solu iones en ir uitos lineales. Para ello se hanmar ado los siguientes objetivos a umplir:Asentar los on eptos ne esarios para entender la metodología utilizada por el pro-grama.Desarrollar una librería adaptada a X ir uit que permita el desarrollo de ir uitospara su posterior resolu ión.Desarrollar una metodología prá ti a, para la in lusión de elementos que no estén ontenidos en el desarrollo ini ial del proye to, minimizando las modi a iones en el ódigo fuente ya desarrollado.Genera ión de fun iones que permitan la rea ión de los sistemas lineales de e ua- iones que onlleven al ál ulo de variables fundamentales.Obten ión por pantalla de las solu iones de sistemas esta ionarios y transitorios delos ir uitos analizados. Para los transitorios además se omplementará los datosnuméri os on representa ión grá a de todas las variables al uladas en el análisis.Peti ionarioLa realiza ión de este Proye to Fin de Carrera se lleva a abo a peti ión de la Es uelaTé ni a Superior de Ingenieros Industriales (ETSII) de la Universidad de Las Palmas deGran Canaria omo requisito para la obten ión del título de Ingeniero Industrial por partedel estudiante en argado de su realiza ión, una vez haya superado éste la totalidad de los réditos de los que onsta di ha titula ión.Contenido del proye to.El ontenido del proye to es el siguiente:Memoria. Donde se desarrolla toda la base teóri a del proye to así omo la omposi iónde los elementos desarrollados para la librería de análisis, presupuesto, li en ia deexplota ión del proye to y diversos anexos destinados a la instala ión de diferentesherramientas on las que se ha desarrollado el PFC y on el que se pueden realizaramplia iones en el fun ionamiento del mismo.Cole ión de problemas resueltos. Compendio de problemas en los que se exponeparte de las posibilidades del programa desarrollado en este PFC.Manual de Código Fuente. En este manual se en uentra lasi ado, ordenado y expli- ado todo el ódigo del programa, así omo la estru tura del mismo.

Page 15: Memoria PFC Ayose Lomba

xiManual de usuario. Libreto donde se re oge el fun ionamiento bási o del programa deanálisis.Póster del Proye to.CD-ROM Dos opias on todo el ontenido del proye to en formato digital.¾Por qué Ávalon?El porque se ha elegido el nombre de Ávalon para el programa no se debe más que ala a ión del autor por la mitología y leyendas de diferentes ulturas y por una pequeñaparti ularidad de la etimología de la palabra que, omo se indi ará, ha e alusión a las IslasCanarias.La isla de Ávalon se ita en leyendas élti as y artúri as, además de estar rela ionada on el mito griego de las Hespérides.La palara Ávalon es una adapta ión de Annwyn (Reino de Hadas) de origen elta, sinembargo un lérigo de la edad media, Godofredo de Monmouth, atribuyó el origen de lapalabra a una tradu ión de Isla de las Manzanas, fa tor que lo rela iona on el mito delJardín de las Hespérides.

Figura 1: El jardín de las Hespérides on Hér ules.El jardín pertene ía a Hera y ontenía un árbol del que brotaban manzanas doradas queotorgaban la inmortalidad a aquel que las omiese. Di ho tesoro, odi iado por mu hos,fué en omendado a las Hespérides y al dragón Ladón, al ual debemos, según la mitologíagriega, la onstela ión del dragón (Dra o) a donde Era subió sus restos tras su muerte amanos de Atlas enviado por Hera les1 uando realizaba una de sus do e pruebas.Hespérides o también Islas Afortunadas es el nombre que se atribuía a una serie de islassituadas en el extremo oeste del mundo enton es ono ido. Éstas podían haber in luidoCanarias, Madeira y Cabo Verde.1Hera les es Hér ules en la mitología romana.

Page 16: Memoria PFC Ayose Lomba

xiiCono imientos previos.El ele tromagnetismo y la teoría de ir uitos nos propor ionan diferentes métodos parala resolu ión de ir uitos. Estos abar an varias lasi a iones y diversos ampos de lasmatemáti as omo son el álgebra, las e ua iones diferen iales, la tranformada de Lapla ey en los últimos años diferentes métodos numéri os para la resolu ión de los sistemas dee ua iones que se presentan.Por todo esto, debemos tener presente que para la elabora ión de este proye to se ha ene esario el dominio de los ampos abordados en las asignaturas indi adas en la tabla 2 enla que se señalan sus ódigos y sus des riptores B.O.E.Asignatura Código Des riptor B.O.E.Álgebra 15242 Álgebra lineal. MétodosNuméri os: E ua iones ySistemas Lineales.Cál ulo I 15243 Cál ulo Innitesimal eIntegral. Campo Real yComplejo.Cál ulo II 15244 E ua iones diferen iales.Resolu ión. Integra iónMúltiple y de Campo.Físi a I 15248 Me áni a. Campos y ondas.Físi a II 15249 Termodinámi afundamental. Introdu ióna la Estru tura de laMateria. Ele tri idad.Ele tromagnetismo 15253 Ele tromagnetismo.Ópti a. Campos y ondas.Fundamentos deInformáti a 15256 Programa ión deComputadoras.Fundamentos de SistemasOperativos.Teoría de Cir uitos 15265 Análisis y Síntesis deRedes.Dinámi a de Sistemas 15266 Matemáti as(E ua ionesdiferen iales, métodosnuméri os),Físi a(modelado desistemas), Estadísti a.

Page 17: Memoria PFC Ayose Lomba

xiiiEle tróni a General 15269 Dispositivossemi ondu tores.Ampli a ión. Cir uitos on Ampli adoresOpera ionales. Cir uitosdigitales.Te nologías de laInforma ión 15270 Análisis y Diseño de Redesy Sistemas de informa ión.Máquinas Elé tri as 15271 Generalidades de máquinaselé tri as. Des rip ión yfundamentos de los tiposbási os de máquinaselé tri as.Ele tróni a Industrial 15293 Componentes y SistemasEle tróni os.Te nología Elé tri a 15294 Sistemas de Genera ión,Transporte y Distribu iónde Energía Elé tri a y susApli a iones.Métodos Numéri os 15296 Matemáti a Dis reta.Análisis Numéri o.Optimiza ión no lineal.Simula ión.Regula ión Automáti a 15299 Prin ipios y Té ni as deControl de Sistemas yPro esos.Te nología energéti a 15303 Fuentes de energía. Gestiónenergéti a Industrial.Amplia ión de Teoría deCir uitos 15332 Intensi a ión de teoría de ir uitos. Régimentransitorio. Cir uitosdesequilibrados.Centrales Elé tri as yCentros de Control yOpera ión 15333 Centrales elé tri as.Centros de transforma ión.Prote iones en lossistemas elé tri os.Explota ión de los sistemaselé tri os.

Page 18: Memoria PFC Ayose Lomba

xivAnálisis de SistemasElé tri os de Poten ia 15335 Modelado y análisis desistemas elé tri os depoten ia. Flujos depoten ia. Corto ir uitos.Estabilidad.Líneas y Redes 15336 Parámetros de las líneaselé tri as. Estudios delíneas y redes elé tri as.Cál ulo me áni o de líneasaéreas.Produ ión Elé tri a onEnergías Renovables 15337 Sistemas de produ ión deenergía elé tri a a partir deenergías renovables.Integra ión en el sistemaelé tri o. Aspe tosmedioambientales.A ionamientos Elé tri os 15334 Cara teriza ión dedispositivos ya ionamientos elé tri os.Convertidores de poten ia.Campos de apli a ión.Régimen dinámi o demáquinas elé tri as.Cuadro 2: Des riptores B.O.E.

Page 19: Memoria PFC Ayose Lomba

Índi e generalÍndi e General xxiÍndi e de Cuadros y Figuras xxiÍndi e de Tablas xxviI Métodos de resolu ión de ir uitos. 11. Teoría bási a previa. 31.1. Variables de un ir uito. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32. Métodos de análisis de ir uitos. 92.1. Métodos lási os. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2. Métodos Sistemáti os de análisis de ir uitos. . . . . . . . . . . . . . . . . 92.2.1. Método nodal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103. Introdu ión el Método Nodal Moodi ado (MNM) 133.1. Método general. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.2. Formula ión de la Tabla. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.3. E ua ión onstitutiva para elementos de dos terminales . . . . . . . . . . . 153.3.1. Resisten ia. (3.1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.3.2. Condu tan ia. (3.2) . . . . . . . . . . . . . . . . . . . . . . . . . . 163.3.3. Condensador (3.3) . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.3.4. Bobina (3.4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.3.5. Fuente independiente de tension (3.5) . . . . . . . . . . . . . . . . . 163.3.6. Fuente independiente de intensidad (3.6) . . . . . . . . . . . . . . . 173.4. E ua ion onstitutiva para elementos de uatro terminales, bipuertos. . . . 173.4.1. Fuentes de orriente Dependientes de Tensión (VCT) (3.8) . . . . . 183.4.2. Fuentes de Tensión Dependientes de Tensión (VVT) (3.9) . . . . . . 183.4.3. Fuentes de Corriente Dependientes de Corriente (3.10) . . . . . . . 193.4.4. Fuentes de Tensión Dependientes de Corriente (CVT) (3.11) . . . . 193.4.5. Ampli adores Opera ionales (OPAMP). (3.12) . . . . . . . . . . . 203.4.6. Transformador ideal. (3.13) . . . . . . . . . . . . . . . . . . . . . . 20xv

Page 20: Memoria PFC Ayose Lomba

xvi ÍNDICE GENERAL3.4.7. Bobinas a opladas magnéti amente. (3.14) . . . . . . . . . . . . . . 213.4.8. Cuadripolo denido por sus parámetros de impedan ia Z. (3.15) . . 213.4.9. Cuadripolo denido por sus parámetros de admitan ia Y . (3.16) . . 213.4.10. Cuadripolo denido por sus parámetros híbridos h. (3.17) . . . . . 223.4.11. Cuadripolo denido por sus parámetros de transmisión t. (3.18) . . 224. Elimina ión de bloques en la tabla. 235. El Método Nodal Modi ado Usando un Grafo. 256. Formula ión del Método Nodal Modi ado por Inspe ión. 297. Método Nodal Modi ado por inspe ión. 317.1. Condu tan ia G. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317.2. Condensador C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327.3. Fuente de orriente dependiente de tensión. . . . . . . . . . . . . . . . . . 337.4. Fuente independiente de orriente. . . . . . . . . . . . . . . . . . . . . . . . 347.5. Resistor y orto ir uito. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347.6. Indu tor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357.7. Bobinas A opladas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367.8. Fuente independiente de tensión. . . . . . . . . . . . . . . . . . . . . . . . 367.9. Fuente de orriente dependiente de orriente. . . . . . . . . . . . . . . . . . 377.10. Fuente de Tensión dependiente de Tensión. . . . . . . . . . . . . . . . . . . 387.11. Ampli ador Opera ional Ideal. . . . . . . . . . . . . . . . . . . . . . . . . 397.12. Fuente de Tensión dependiente de Corriente. . . . . . . . . . . . . . . . . . 397.13. Transformador ideal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407.14. Interruptor ideal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417.15. Cuadripolo resistivo denido por sus parámetros de admitan ia Y . . . . . . 427.16. Cuadripolo resistivo denido por sus parámetros de impedan ia Z. . . . . . 427.17. Cuadripolo resistivo denido por sus parámetros híbridos h. . . . . . . . . 437.18. Cuadripolo resistivo denido por sus parámetros de transmisión t. . . . . . 448. Confe ión de la Matriz T y el Ve tor W. 478.1. Pasos previos al ensamblaje del sistema. . . . . . . . . . . . . . . . . . . . 478.2. Deni ión de elementos en Ávalon. . . . . . . . . . . . . . . . . . . . . . . 488.2.1. Plantilla para indi ar dimensiones generales de un nuevo elemento. 498.2.2. Plantilla para elemento uadripolo. . . . . . . . . . . . . . . . . . . 508.2.3. Plantilla para a tua ión sobre Ve tor W. . . . . . . . . . . . . . . 538.3. Ve tores de deni ión de los elementos en Ávalon. . . . . . . . . . . . . . . 558.3.1. Condu tan ia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558.3.2. Resisten ia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568.3.3. Condensador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568.3.4. Bobina. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Page 21: Memoria PFC Ayose Lomba

ÍNDICE GENERAL xvii8.3.5. Fuente Independiente de Tensión. . . . . . . . . . . . . . . . . . . . 578.3.6. Fuente Independiente de Intensidad. . . . . . . . . . . . . . . . . . 588.3.7. Ampli ador Opera ional. . . . . . . . . . . . . . . . . . . . . . . . 588.3.8. Transformador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598.3.9. Fuente de orriente dependiente de tensión. . . . . . . . . . . . . . . 598.3.10. Fuente de tensión dependiente de tensión. . . . . . . . . . . . . . . 608.3.11. Fuente de orriente dependiente de orriente. . . . . . . . . . . . . . 608.3.12. Fuente de tensión dependiente de orriente. . . . . . . . . . . . . . . 608.3.13. Bobinas A opladas. . . . . . . . . . . . . . . . . . . . . . . . . . . . 618.3.14. Interruptor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618.3.15. Cuadripolo on parámetros de Admitan ia. . . . . . . . . . . . . . . 618.3.16. Cuadripolo on parámetros de Impedan ia. . . . . . . . . . . . . . . 628.3.17. Cuadripolo on parámetros Híbridos. . . . . . . . . . . . . . . . . . 628.3.18. Cuadripolo on parámetros de Transmisión. . . . . . . . . . . . . . 62II Resolu ión de Sistemas de E ua iones Lineales. 639. Métodos numéri os. 659.1. Métodos de solu ión de sistemas de e ua iones algebrai as lineales. . . . . 669.1.1. Método de elimina ión de Gauss. . . . . . . . . . . . . . . . . . . . 679.1.2. Método de des omposi ión triangular. . . . . . . . . . . . . . . . . . 689.1.3. Método theta θ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709.1.4. Método del gradiente. . . . . . . . . . . . . . . . . . . . . . . . . . 719.1.5. Método de las dire iones onjugadas. . . . . . . . . . . . . . . . . . 729.1.6. Método del onjugado del gradiente . . . . . . . . . . . . . . . . . . 7310.Análisis en Fre uen ia. 7510.1. Respuesta fre uen ial de ir uitos. . . . . . . . . . . . . . . . . . . . . . . . 7510.2. Cál ulo de los oe ientes de un polinomio por interpola ión. . . . . . . . . 7610.3. Elabora ión de una programa semisimbóli o de análisis de ir uitos . . . . 8110.3.1. Cál ulo del grado máximo de polinómios. . . . . . . . . . . . . . . . 8210.3.2. Cál ulo del polinomio denominador. . . . . . . . . . . . . . . . . . . 8311.Matri es Sparse. 8511.1. Deni ión de Matriz dispersa o Matriz Sparse. . . . . . . . . . . . . . . . 8611.1.1. Deni ión. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8611.1.2. Clasi a ión. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8611.2. ¾Cómo se denen las matri es sparse en C++? . . . . . . . . . . . . . . . . 8711.3. Estru turas de matri es sparse. . . . . . . . . . . . . . . . . . . . . . . . . 8711.3.1. Estru turas Estáti as. . . . . . . . . . . . . . . . . . . . . . . . . . 8811.3.2. Estru turas dinámi as . . . . . . . . . . . . . . . . . . . . . . . . . 89

Page 22: Memoria PFC Ayose Lomba

xviii ÍNDICE GENERALApéndi es 92A. Manual de X ir uit. 93A.1. Instala ión del X ir uit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93A.2. Eje utar el programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94A.3. Cambiar una op ión del menú . . . . . . . . . . . . . . . . . . . . . . . . . 96A.4. Dibujar una línea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96A.5. Mover un objeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97A.6. Cambiar las propiedades del polígono . . . . . . . . . . . . . . . . . . . . . 97A.7. Cambiar de página . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98A.8. Sele ionar un objeto de la librería . . . . . . . . . . . . . . . . . . . . . . 99A.9. Usar el te lado para rear un ar o . . . . . . . . . . . . . . . . . . . . . . . 100A.10.Op iones de aumento y panorámi as . . . . . . . . . . . . . . . . . . . . . 100A.11.Sele ionar múltiples objetos . . . . . . . . . . . . . . . . . . . . . . . . . 101A.12.Guardar un hero. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102A.13.Abrir un ar hivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103A.14.Añadir texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104A.15.Crear urvas y traye torias . . . . . . . . . . . . . . . . . . . . . . . . . . . 107A.16.Mover objetos al frente y al fondo . . . . . . . . . . . . . . . . . . . . . . . 109A.17.Ha er objetos denidos por el usuario . . . . . . . . . . . . . . . . . . . . 110A.18.Editar objetos y elementos . . . . . . . . . . . . . . . . . . . . . . . . . . 111A.19.Crea ión de formas geométri as omplejas . . . . . . . . . . . . . . . . . . 112A.20.Investigando otros omandos de x ir uit. . . . . . . . . . . . . . . . . . . . 114B. PETs . 117B.1. Instala ión. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117B.2. PETs y el IDE Kdevelop. . . . . . . . . . . . . . . . . . . . . . . . . . . . 118B.3. Matri es Sparse en Pet s . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118B.3.1. Crea ión y Montaje de Matri es. . . . . . . . . . . . . . . . . . . . 119B.3.2. Insertar Valores en una Matriz . . . . . . . . . . . . . . . . . . . . . 119B.3.3. Pro esamiento de una Matriz . . . . . . . . . . . . . . . . . . . . . 120B.3.4. Matri es Sparse en PETS . . . . . . . . . . . . . . . . . . . . . . . 120B.4. Resolu iones de sistemas lineales on PETS . . . . . . . . . . . . . . . . . . 121B.4.1. Uso bási o de KSP. . . . . . . . . . . . . . . . . . . . . . . . . . . . 121C. El sitio web del proye to. 123C.1. Mapa del sitio web. Árbol bási o del ontenido de la web del proye to. . . 124C.2. Imagen del programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124D. Introdu ión a las distros Linux. 127D.1. Instala ión y ongura ión avanzada de Debian. . . . . . . . . . . . . . . . 127D.2. Debian, un po o de historia. . . . . . . . . . . . . . . . . . . . . . . . . . . 127D.3. Históri o de Publi a iones Debian . . . . . . . . . . . . . . . . . . . . . . . 128

Page 23: Memoria PFC Ayose Lomba

ÍNDICE GENERAL xixD.4. Des arga de la Distribu ión . . . . . . . . . . . . . . . . . . . . . . . . . . 129D.4.1. Parti iones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129D.5. Instala ión estándar Debian. . . . . . . . . . . . . . . . . . . . . . . . . . . 129E. Instala ión avanzada Debian. 139E.1. Tarjeta Inalámbri a WIFI. . . . . . . . . . . . . . . . . . . . . . . . . . . . 139E.2. Tarjeta de Sonido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140E.2.1. Te las Espe iales y Rueda Volumen . . . . . . . . . . . . . . . . . . 140E.3. Instalando Nvidia GeFor e 8600m GS en Lenny on el 5920G . . . . . . . . 142E.4. Instalando el es ritorio KDE . . . . . . . . . . . . . . . . . . . . . . . . . 142E.5. Instalando Herramientas Bási as . . . . . . . . . . . . . . . . . . . . . . . . 143E.6. Montando parti iones NTFS. . . . . . . . . . . . . . . . . . . . . . . . . . 143F. Apli a iones ne esarias para el PFC. 145F.1. Instalar kdevelop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145F.2. Instalando Qt 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146F.3. InstalandoTexLive 2008 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146F.3.1. Instalando el Lyx. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146F.4. Instalando el X ir uit en Et h. . . . . . . . . . . . . . . . . . . . . . . . . . 147F.5. Cervisia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148F.6. Doxygen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148G. Repositorios en Debian. 149H. GNUPlot 151H.1. Introdu ión a GNUPlot . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151H.2. S ripts de Ávalon para GNUPlot . . . . . . . . . . . . . . . . . . . . . . . 152H.3. Uso bási o de GNUPlot . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153H.3.1. Estilo de líneas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153H.3.2. Expresiones analíti as. . . . . . . . . . . . . . . . . . . . . . . . . . 153H.3.3. Modi a iones del omando plot. . . . . . . . . . . . . . . . . . . . 155H.4. GNUPlot en Ávalon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158H.4.1. Fun ión en argada de generar las grá as en Ávalon. . . . . . . . . 158I. Historia de Qt e inuen ias en los entornos de es ritorio. 161I.1. Extensión de uso de Qt. Produ tos. . . . . . . . . . . . . . . . . . . . . . . 162I.2. Software errado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162I.2.1. Lu aslm Entertainment Company Ltd. . . . . . . . . . . . . . . . 162I.2.2. Wolfram Resear h . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163I.2.3. Adobe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163I.2.4. Google . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163I.3. Software libre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164I.3.1. KDE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

Page 24: Memoria PFC Ayose Lomba

xx ÍNDICE GENERALI.3.2. Ko e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164I.3.3. VLC media player . . . . . . . . . . . . . . . . . . . . . . . . . . . 165I.3.4. Amarok 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165J. Li en ias en el mundo del software libre. 167J.1. Li en ia GNU/GPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167J.2. Tradu ión de GNU/GPL . . . . . . . . . . . . . . . . . . . . . . . . . . . 167J.3. Creative Commons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180J.3.1. Atributos de la li en ia . . . . . . . . . . . . . . . . . . . . . . . . . 180K. Presupuesto. 183K.1. Coste de re ursos humanos. . . . . . . . . . . . . . . . . . . . . . . . . . . 183K.2. Coste de re ursos de hardware. . . . . . . . . . . . . . . . . . . . . . . . . 184K.3. Coste de re ursos software. . . . . . . . . . . . . . . . . . . . . . . . . . . . 185K.4. Gastos de reda ión. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185K.5. Coste Total. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185Índi e alfabéti o 187Glosario 190Bibliografía 191

Page 25: Memoria PFC Ayose Lomba

Índi e de Cuadros y Figuras1. El jardín de las Hespérides on Hér ules. . . . . . . . . . . . . . . . . . . . xi1.1. Bibliote a de Ávalon para X ir uit . . . . . . . . . . . . . . . . . . . . . . . 31.2. Gustav Robert Kir hho . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3. Cara terísti a Resisten ia . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.4. Cara terísti a Condensador . . . . . . . . . . . . . . . . . . . . . . . . . . 51.5. Cara terísti a Bobina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.6. Cara terísti a Fuente de Tensión . . . . . . . . . . . . . . . . . . . . . . . 61.7. Cara terísti a Fuente de Intensidad . . . . . . . . . . . . . . . . . . . . . . 63.1. Resisten ia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.2. Condu tor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.3. Condensador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.4. Bobina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.5. Fuente independiente de tensión . . . . . . . . . . . . . . . . . . . . . . . 173.6. Fuente independiente de intensidad . . . . . . . . . . . . . . . . . . . . . . 173.7. Método grafo-simple. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.8. Fuente de intensidad dependiente de tensión . . . . . . . . . . . . . . . . . 183.9. Fuente de tension dependiente de tensión . . . . . . . . . . . . . . . . . . 193.10. Fuentes de Corriente Dependientes de Corriente . . . . . . . . . . . . . . 193.11. Fuente de tension dependiente de intensidad . . . . . . . . . . . . . . . . . 193.12. Ampli ador Opera ional Ideal . . . . . . . . . . . . . . . . . . . . . . . . 203.13. Transformador ideal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.14. Bobinas a opladas magnéti amente . . . . . . . . . . . . . . . . . . . . . . 213.15. Cuadripolo denido on Zij . . . . . . . . . . . . . . . . . . . . . . . . . . 213.16. Cuadripolo denido on Yij . . . . . . . . . . . . . . . . . . . . . . . . . . 223.17. Cuadripolo denido on hij . . . . . . . . . . . . . . . . . . . . . . . . . . 223.18. Cuadripolo denido on tij . . . . . . . . . . . . . . . . . . . . . . . . . . 227.1. Condu tan ia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317.2. Condensador C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327.3. Fuente de Corriente Dependiente de Tensión. . . . . . . . . . . . . . . . . . 337.4. Fuente Independiente de Corriente. . . . . . . . . . . . . . . . . . . . . . . 347.5. Resisten ia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34xxi

Page 26: Memoria PFC Ayose Lomba

xxii ÍNDICE DE CUADROS Y FIGURAS7.6. Indu tor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357.7. Bobinas A opladas Magnéti amente. . . . . . . . . . . . . . . . . . . . . . 367.8. Fuente Independiente de Tensión. . . . . . . . . . . . . . . . . . . . . . . . 377.9. Fuente de orriente dependiente de orriente. . . . . . . . . . . . . . . . . . 377.10. Fuente de Tensión dependiente de Tensión. . . . . . . . . . . . . . . . . . . 387.11. Ampli ador Opera ional. . . . . . . . . . . . . . . . . . . . . . . . . . . . 397.12. Fuente de Tensión dependiente de Intensidad. . . . . . . . . . . . . . . . . 397.13. Transformador Ideal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407.14. Interruptor ideal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417.15. Cuadripolo Yij . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427.16. Cuadripolo Zij . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427.17. Cuadripolo hij . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437.18. Cuadripolo rij . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448.1. Captura del programa de resolu ión. . . . . . . . . . . . . . . . . . . . . . 4911.1. Ejemplo grá o de matriz sparse realizado por nuestro software. . . . . . . 8511.2. Estru tura Dinámi a, Lista Bidimensional doblemente enlazada. . . . . . . 89A.1. X ir uit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95A.2. Línea on X ir uit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95A.3. Polilínea on X ir uit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97A.4. Trabajando on polígonos. . . . . . . . . . . . . . . . . . . . . . . . . . . . 98A.5. Trabajando on polígonos. . . . . . . . . . . . . . . . . . . . . . . . . . . . 100A.6. Ar os on el Make Ar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101A.7. Sele ión múltiple. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102A.8. Guardando hero I. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103A.9. Guardando hero II. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103A.10.Abriendo heros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104A.11.Panel de símbolos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106A.12.Dibujando Curvas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107A.13.Ajustando Curva. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108A.14.Creando sólido a partir de urvas. . . . . . . . . . . . . . . . . . . . . . . . 109A.15.Ordenando elementos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110A.16.Creando objetos propios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111A.17.Editando Objetos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112A.18.Creando sólido omplejo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113A.19.Rellenando sólido I. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114A.20.Rellenando sólido II. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114C.1. Splash S reen Ávalon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125C.2. I ono y web de Ávalon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125D.1. Logo del portal Linux on Laptop. . . . . . . . . . . . . . . . . . . . . . . . 127

Page 27: Memoria PFC Ayose Lomba

ÍNDICE DE CUADROS Y FIGURAS xxiiiD.2. Logo de Debian. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128D.3. Grá o generado por el proye to Linux Timeline. . . . . . . . . . . . . . . 137F.1. Captura del IDE Kdevelop. . . . . . . . . . . . . . . . . . . . . . . . . . . 146F.2. Captura de Qt Designer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147F.3. León de CTAN dibujado por Duane Bibby y mas ota de Lyx. . . . . . . . 147F.4. Logos de Cervisia y Doxygen. . . . . . . . . . . . . . . . . . . . . . . . . . 148H.1. GNUPlot desde shell linux . . . . . . . . . . . . . . . . . . . . . . . . . . . 152H.2. Comando help fun tions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154H.3. Comando help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156J.1. Re ono imiento, No omer ial, Sin obras derivadas y share alike . . . . . . 181

Page 28: Memoria PFC Ayose Lomba
Page 29: Memoria PFC Ayose Lomba

Índi e de Tablas2. Des riptores B.O.E. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv1.1. Parámetros de Fuentes Dependientes. . . . . . . . . . . . . . . . . . . . . . 68.1. Tipos de ex ita ión disponibles en Ávalon . . . . . . . . . . . . . . . . . . . 578.2. Variables ara terísti as de las fuentes de ex ita ión en el programa. . . . . 5811.1. Matriz Estáti a por Coordenadas ordenada por las. . . . . . . . . . . . . 8811.2. Matriz Estáti a por CRS. . . . . . . . . . . . . . . . . . . . . . . . . . . . 89D.1. Históri o de publi a iones Debian. . . . . . . . . . . . . . . . . . . . . . . . 128K.1. Cál ulos previos oste por horas . . . . . . . . . . . . . . . . . . . . . . . . 183K.2. Coste de re ursos humanos. . . . . . . . . . . . . . . . . . . . . . . . . . . 184K.3. Coste de re ursos de hardware. . . . . . . . . . . . . . . . . . . . . . . . . 184K.4. Coste de re ursos software. . . . . . . . . . . . . . . . . . . . . . . . . . . . 185K.5. Costes de reda ión. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185K.6. Coste total. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

xxv

Page 30: Memoria PFC Ayose Lomba
Page 31: Memoria PFC Ayose Lomba

Parte IMétodos de resolu ión de ir uitos.

1

Page 32: Memoria PFC Ayose Lomba
Page 33: Memoria PFC Ayose Lomba

Capítulo 1Teoría bási a previa.1.1. Variables de un ir uito.Cada elemento de un ir uito posee dos variables, a saber, tensión entre sus terminalese intensidad. Cada una de estas variables debe tener asignada dos ara terísti as, la tensiónse dene por una polaridad y magnitud, mientras que la intensidad se ara terizará porsu sentido y su magnitud. Para que al realizar un análisis de ir uito, estos parámetrosestén denidos de forma inequívo a, se debe seguir un riterio previo denido. Para loselementos realizados en Ávalon esto se ha realizado según el onvenio de elemento pasivo.El sentido estable ido según el onvenio tomado para la elabora ión de los elementos delprograma pueden verse en el grá o 1.1

Figura 1.1: Bibliote a de Ávalon para X ir uitEl seguimiento de un riterio de signos, ja las rela iones matemáti as que se utilizan3

Page 34: Memoria PFC Ayose Lomba

4 1. Teoría bási a previa.en la deni ión de los elementos y su ontribu ión al ir uito que se analiza. Como yase expusiese en asignaturas bási as de teoría de ir uitos una vez se obtienen estas dosvariables de ada elemento la obten ión de otras variables de interés se logran medianteopera iones bási as.Repasando on eptos tenemos que el ujo se obtiene omo derivada de la tensión. La arga omo derivada de la intensidad. La poten ia on el produ to de tensión e intensidady por último integrando la poten ia se obtiene la energía.Cuando se analiza un ir uito los valores que toman la tensión e intensidad están ligadosa dos tipos de restri iones, las debidas a su e ua ión de defini ión, rela ión tensiónfrente a intensidad y a las ara terísti as topológi as propias del ir uito donde seen uentra.Llegados a este punto debe re ordarse un onjunto de deni iones laves para asentarlos ono imientos que se abordan en este apítulo y en los siguientes:Rama. Cualquier elemento on dos terminales onstituye una rama.Nudo. Punto en un ir uito al que se one tan dos o más ramas.Bu le. Conjunto de ramas que forman un amino errado.Las leyes de Kir hho rigen el análisis de ir uitos en lo que a restri iones topológi as sereere, fueron enun iadas por el físi o prusiano Gustav Robert Kir hho en el año 1845.Primera Ley de Kir hho (LCK).- En todo nodo, donde la densidad de la arga novaríe en un instante de tiempo, la suma de orrientes entrantes es igual a la suma de orrientes salientes.Segunda Ley de Kir hho (LVK).- En toda malla la suma de todas las aídas de ten-sión es igual a la suma de todas las subidas de tensión.Figura 1.2: Gustav Robert Kir hhoEl objetivo prin ipal de este proye to es la realiza ión de un programa que resuelva ir uitos lineales mediante un método avanzado de resolu ión1. Un ir uito lineal está om-puesto por elementos de naturaleza resistiva, apa itiva e indu tiva en los que la rela iónfun ional es lineal. A ontinua ión se presenta un resumen de di hos elementos on susrela iones fundamentales.1El método utilizado para la resolu ión de ir uitos en este PFC es el Método Nodal Modi ado.

Page 35: Memoria PFC Ayose Lomba

1.1. Variables de un ir uito. 5Resisten ia. La resisten ia lineal estable e una rela ión también lineal entre orriente ytensión de la forma Vt = It ·R, el parámetro R en el sistema MKS se mide en OhmiosΩ. Será de espe ial interés para el método nodal también ono er su inverso, es de irla ondu tan ia, uya rela ión fundamental es It = Vt · G donde G se denominaCondu tan ia y equivale a G = 1

Rmidiéndose en MKS en Siemens Ω−1. E ua ión ara terísti a en gura 1.3

V

i

V

iFigura 1.3: Cara terísti a Resisten iaCondensador. El ondensador lineal estable e una rela ión lineal entre la arga del mismoy su tensión, su expresión es qt = C · Vt. La e ua ión de deni ión de este elementoes It = C · ∂v∂t

o Vt = 1C

∫ t

0Idt+ V0 donde C es denominado Capa idad midiéndose enFaradios F . E ua ión ara terísti a en gura 1.4

q

V

V

iFigura 1.4: Cara terísti a CondensadorBobina. La bobina es el elemento dual del ondensador, y su rela ión lineal es φt = L · it.La e ua ión de deni ión de la bobina es it = 1L

∫ t

0vdt + I0. En el sistema MKS, LIndu tan ia se mide en H Henrios. E ua ión ara terísti a en gura 1.5

i

V

i

φ

Figura 1.5: Cara terísti a BobinaConviene también repasar otro tipo de elementos bási os que podremos en ontrar enel análisis de un ir uito lineal, estos pueden ser fuentes independientes y fuentes dependi-entes.

Page 36: Memoria PFC Ayose Lomba

6 1. Teoría bási a previa.Fuente Independiente. Este tipo de elementos ja el valor de una de las variables fun-damentales. Si tenemos una fuente de tensión, se jará un valor para esta variable,mientras que la intensidad podría tomar ualquier otro valor. Podemos tener dostipos de fuentes independientes una por ada variable fundamental: Fuente de Ten-sión o Fuente de Intensidad. En las guras 1.6 y en 1.7 podemos ver la ara terísti apara una fuente de ex ita ión ontinua, no obstante se debe tener presente que eltipo de ex ita ión que podremos modelar en el software de este PFC podrá ser devarios tipos omo: senoidal, osenoidal, ontínua, es alón y rampa.i

iV

Figura 1.6: Cara terísti a Fuente de Tensióni

V

Figura 1.7: Cara terísti a Fuente de IntensidadFuentes Dependientes. Este tipo de elementos sirven para modelar transferen ias on-troladas de energía en fun ión de una variable ara terísti a existente en otro ele-mento del ir uito. Son muy prá ti as en ele tróni a. En fun ión de la variable quegenere y de la que dependa su parámetro ara terísti o re ibe diferentes nombres vertabla 1.1 Tipo de Fuente Dependiente ParámetroFuente de Intensidad dependiente de Tensión g Trans ondu tan iaFuente Tensión de dependiente de Tensión k Ampli a iónFuente Intensidad de dependiente de Intensidad αAmpli a ión de CorrienteFuente de Tensión dependiente de Intensidad r Transresisten iaTabla: 1.1: Parámetros de Fuentes Dependientes.Tal y omo se ha expuesto, el ál ulo de un ir uito lineal pasará por la resolu ión deun sistema de e ua iones linealmente independientes Tx = W y de dimensión dos ve es

Page 37: Memoria PFC Ayose Lomba

1.1. Variables de un ir uito. 7el número de elementos que posea el ir uito a resolver (4 elementos → 8 ecuaciones,5 elementos → 10 ecuaciones). Esto se debe a que por ada elemento que se introduz a enel ir uito tendremos que al ular sus dos variables ara terísti as, la intensidad yla tensión.La mitad de ese sistema de e ua iones nos la propor iona la e ua ión de rela ióntensión-intensidad de ada elemento, mientras que la otra mitad restante, se onsigue onla apli a ión de las leyes de Kir hhoff. Esto supone el primer problema que abordala teoría de resolu ión de ir uitos bási a, ya que ha iendo uso de las leyes de Kir hhosiempre es posible plantear más e ua iones que las que se ne esitan, ya que no todas lasque se obtienen son linealmente independientes. No se debe olvidar que se está intentado onstituir un sistema de e ua iones linealmente independientes.Para en ontrar un método que supla este in onveniente es ne esaria la introdu iónde las variables generadoras, es de ir aquellas que uando se ono en permiten medianteadi ión o sustra ión hallar las demás variables del ir uito. Las variables generadoras sonlas tensiones nodales on respe to a un nodo de referen ia y las orrientes de malla.Si se apli a la ley de orrientes de Kir hho a los nodos del ir uito menos al dereferen ia (n) y la ley de tensiones a la diferen ia del número de ramas (b) menos el númerototal de nodos sin ontabilizar el de referen ia (b − n), se tiene garantizado la obten ión dela mitad de las e ua iones ne esarias para la resolu ión del sistema de e ua iones siendoestas linealmente independientes. Estas expresiones junto on las e ua iones de rela ión v−ide ada elemento ompletan el sistema a resolver. Esto no garantiza la ompatibilidad delsistema ya que las e ua iones de rela ión pueden ser dependientes en algunos asos.Estos on eptos previos permiten asentar los pilares de métodos de resolu ión omo elanálisis nodal.

Page 38: Memoria PFC Ayose Lomba
Page 39: Memoria PFC Ayose Lomba

Capítulo 2Métodos de análisis de ir uitos.2.1. Métodos lási os.Los métodos lási os de resolu ión se basan en el ál ulo de la e ua ión diferen ial querige la evolu ión temporal de la variable que se ne esita. Para esto, es ne esario que seplanteen las e ua iones integrodiferen iales que mediante deriva ión se pasan a e ua ionesdiferen iales.Para obtener la solu ión de estos sistemas se ne esita la solu ión homogénea, la parti -ular y el ál ulo de las diferentes onstantes on todo lo que esto supone. Evidentemente,este tipo de pro edimientos no tiene utilidad prá ti a, aunque si es ne esario su estudiopara asentar ono imientos bási os de la teoría de ir uitos.El siguiente paso lógi o en la resolu ión de ir uitos pasa por el intento de onvertir elsistema de e ua iones integrodieren ial a un sistema algebrai o, para ello se pro ede a usarLapla e, fa ilitándose de esta forma la resolu ión del sistema de e ua iones. Esto tambiéntrae ventajas añadidas omo es la apa idad de estudio del sistema de forma fre uen ial.2.2. Métodos Sistemáti os de análisis de ir uitos.Hasta el momento, se ha abordado la elabora ión de un sistema de e ua iones de di-mensión doble al número de elementos, lo ual ondu e a sistemas demasiado grandes ylaboriosos en su resolu ión. Por este motivo, en la evolu ión de métodos de resolu ión, se omienza a bus ar otros medios que permitan redu ir las dimensiones de los sistemas a al ular.El método nodal y el de orrientes de malla basados en las primera y segunda ley deKir hho respe tivamente, onsiguen el objetivo de redu ir el sistema que se debe al ulary sistematizar la forma de en ontrar una solu ión al ir uito.Tres son las uestiones fundamentales que se plantean en la elabora ión de estos méto-dos: 9

Page 40: Memoria PFC Ayose Lomba

10 2. Métodos de análisis de ir uitos.1. Deni ión de onjunto homogéneo de variables generadoras1.2. Formula ión sistemáti a de un número de e ua iones igual al número de variablesgeneradoras y uya elabora ión sea posible mediante inspe ión.3. E ua ión que permita el ál ulo de las demás variables que no son generadoras.2.2.1. Método nodal.Para la apli a ión del método nodal basta la identi a ión de los nudos del ir uitopara así omenzar el ensamblamiento del sistema de e ua iones ne esario.El primer paso es la ele ión de un nudo de referen ia e identi a ión de los restantes uyos valores de tensión serán las variables generadoras a al ular (tensiones nodales).Se apli a la primera ley de Kir hho a los nodos del ir uito a ex ep ión del dereferen ia.El Método Nodal no tiene limita iones de apli a ión en lo referente a estru tura del ir uitoa resolver, pero si posee limita iones en uanto a los tipos de elementos que puede tenerel ir uito. Es de ir sus e ua iones solo se pueden formular en ir uitos on Resisten ias,Condensadores, Bobinas, Fuentes independientes de Intensidad y Fuentes de Intensidaddependientes de Tensión. Cuando solo tenemos este tipo de elementos en el ir uito laelabora ión del sistema de e ua iones a resolver se puede realizar por inspe ión, no ob-stante si en el ir uito se en uentran elementos no onsiderados en el grupo anterior, seha e ne esario adaptar el método, generalizarlo.Generaliza ión del Método Nodal.Tal y omo se ha indi ado, uando en un análisis de ir uito tenemos elementos omouna Fuente Independiente de Tensión el Método debe ser adaptado para poder in luiren el sistema a di ho omponente. En el aso de la Fuente de Tensión se suele sustituiresta por una de Corriente on la ayuda de los Teoremas de Thevenin y Norton u otrasté ni as similares on las que las e ua iones que se obtienen permiten la implementa ióndel elemento en el sistema.Es importante que el usuario no tenga que realizar modi a iones en el ir uito parapoder poner en prá ti a el método de resolu ión. Lo que se pretende de un método es quesea general para ualquier tipo de ir uito (topología y omponentes) y sobre todo quese pueda realizar el ensamblaje del sistema por inspe ión, lo ual fa ilitará la tarea deprogramar y automatizar el análisis en uestión.1Las variables generadoras serán tensiones o intensidades que permitan el ál ulo de las variables de ada rama del ir uito mediante diferen ia de estas o bien oin idan on estas.Es de ir, la tensión de un nudo determinado es variable generadora si oin ide on una tensión de ramao bien restándole otra tensión se onsigue la tensión de di ha rama.

Page 41: Memoria PFC Ayose Lomba

2.2. Métodos Sistemáti os de análisis de ir uitos. 11El siguiente paso para la rea ión de un método general de análisis pasa por la adapta ióndel Método Nodal ha ia otro que si permita el análisis de ualquier tipo de ir uito, apare epor tanto el Método Nodal Modi ado el ual se desarrolla en el siguiente apítulo.

Page 42: Memoria PFC Ayose Lomba
Page 43: Memoria PFC Ayose Lomba

Capítulo 3Introdu ión el Método NodalMoodi ado (MNM)El método de análisis nodal modi ado supone, en lo que a análisis de resolu iónde ir uitos se reere, un avan e importante y revolu ionario debido al amplio espe troresolutivo que es apaz de abordar. Este método es utilizado en software de re ono idoprestigio omo es el PSpi er y programas de resolu ión similares.Este método tiene omo base el método de análisis nodal onven ional. Re ordemosque para di ho método se es ribe una e ua ión de equilibrio de orriente en ada nudo reándose así un sistema de e ua iones donde las in ognitas a resolver son las diferentestensiones respe to a un nudo de referen ia.3.1. Método general.La resolu ión de ir uitos mediante un método de formula ión plantea diversos in on-venientes desde el punto de vista de la lase de elementos que puede soportar. Existenmétodos relativamente e ientes y útiles en diversas apli a iones (Método de análisis de orriente de malla, método de análisis de orriente de bu le, et ), pero in apa es de sopor-tar toda lase de elementos ideales. Para evitar estos in onvenientes se introdu e el métodode formula ión general. En siguiente se ión se estudia la formula ión por el método dela tabla. Aquí todas las orrientes y tensiones por las ramas, y todas las tensiones en losnodos son onsideradas omo in ógnitas del problema. Esta es la formula ión más generaldel método (que permite ualquier ál ulo posterior on la solu ión obtenida) pero derivaen sistemas de matri es ex esivamente largos.En otra se ión de este apítulo se indi a omo bloques de in ógnitas son eliminablesbajo ir unstan ias espe iales, lo ual ondu e a la formula ión del método nodal. Pero sideseamos mantener la posibilidad de trabajar on ualquier tipo de elementos, los bloquesno pueden ser eliminados por ompleto, por lo que se re urre al método nodal modi ado.Esto se puede realizar bien usando un sistema de equivalen ia en esquemas que representana los elementos, o bien sin ellos, omo veremos.13

Page 44: Memoria PFC Ayose Lomba

14 3. Introdu ión el Método Nodal Moodi ado (MNM)3.2. Formula ión de la Tabla.En esta primera formula ión todas las e ua iones dedu idas de la red son introdu idasen una gran e ua ión matri ial, que devuelve las leyes de tensión y de orriente de Kir ho(KVL y KCL), y las e ua iones onstitutivas, CE.Hablaremos primeramente sobre el tipo de tabla más ade uado. Consideraremos ini- ialmente que la red posee b ramas; n+1 nudos; elementos R, G, L, C ; (resisten ias, ondu tan ias, bobinas y ondensadores, respe tivamente), y fuentes. Podemos expresarlas propiedades topológi as de di ha red mediante las matri es A, Q y B (matriz dein iden ia nudos ramas, matriz fundamental de orte y matriz fundamental de bu le re-spe tivamente). Las dos últimas matri es son interdependientes y su ál ulo es bastantelaborioso: para ello debe ser sele ionado un árbol del grafo e introdu ir las matri es demanera ade uada. Es mu ho más sen illo trabajar on la matriz de in iden ia nodal , ypor esta razón la tabla esta basada en ella.Re ordamos que la ley de Kir ho para orrientes (KCL) se expresaba porAIb = 0 (3.1)Y la ley para las tensiones (KVL) por

Vb − AtVn = 0donde n es el número de nudos, b el número de ramas, pero en la prá ti a b se reemplazapor el número del elemento1.La representa ión general des ribiendo todas las posibles e ua iones onstitutivas poseela forma:CorrientesTensiones

[

Y1

K2

]

· Vb+

[

K1

Z2

]

· Ib =

[

Wb1

Wb2

]donde Y1 y Z2representan las admitan ias y las impedan ias, respe tivamente; K1 y K2 ontienen onstantes adimensionales; y Wb1, Wb2 in luyen las fuentes independientes deintensidad y tensión , así omo las inuen ias de las ondi iones ini iales de los apa itorese indu tores (o ondensadores y bobinas, según se preera).Rees ribiendo la e ua ión anterior matri ial en una nota ión más ompa ta:YbVb + ZbIb = Wb (3.2)Para ualquier formula ión posterior, los ondensadores serán introdu idos en formade admitan ias y los indu tores en forma de impedan ias, on la nalidad de mantener lavariable s (transformada de Lapla e) en el numerador. Puesto que la variable s equivalea un operador diferen ial, obtendremos un sistema algebrai o de e ua iones diferen iales uando desarrollemos el análisis en el dominio del tiempo.Las e ua iones 3.1 y 3.2 pueden es ribirse de la siguiente manera1P.e. para el quinto se es ribirá 5 en vez de b.

Page 45: Memoria PFC Ayose Lomba

3.3. E ua ión onstitutiva para elementos de dos terminales 15Vb − AtVn = 0

YbVb + ZbIb = Wb

AIb = 0e introdu irse en una sola e ua ión matri ialb b n

bbn

1 0 −At

Yb Zb 00 A 0

×

Vb

Ib

Vn

=

0Wb

0

o de manera generalTX = W (3.3)El arreglo matri ial indi ado en la expresión 3.3 posee submatri es uadradas. En latabla no hay razón alguna para distinguir entre fuentes (elementos a tivos) y elementospasivos. La numera ión de los elementos puede ser ompletamente arbitraria, dependiendodel propósito.A ontinua ión se obtendran las e ua iones onstitutivas para los elementos de 2 ter-minales.3.3. E ua ión onstitutiva para elementos de dos termi-nales3.3.1. Resisten ia. (3.1)V

IR

i

jFigure 3.1: Resisten iaV = I · RV − RI = 0Donde la e ua ión ompa ta es: Y = 1, Z = −R y W = 0

Page 46: Memoria PFC Ayose Lomba

16 3. Introdu ión el Método Nodal Moodi ado (MNM)3.3.2. Condu tan ia. (3.2)V

IG

i

jFigura 3.2: Condu torI = G · VG · V − I = 0Con e ua ión ompa ta Y = G, Z = −1 y W = 03.3.3. Condensador (3.3)

VI

C

i

jFigura 3.3: CondensadorI = Cs · VCs · V − I = 0 on la e ua ion ompa ta Y = Cs, Z = −1y W = 03.3.4. Bobina (3.4)V = Ls · IV − Ls · I = 0 on la e ua ion ompa ta Y = 1, Z = −Ly W = 03.3.5. Fuente independiente de tension (3.5)V = EV ∗ 0 · I = E on la e ua ion ompa ta Y = 1, Z = 0y W = E

Page 47: Memoria PFC Ayose Lomba

3.4. E ua ion onstitutiva para elementos de uatro terminales, bipuertos. 17V

IL

i

jFigura 3.4: BobinaV

I i

jFigura 3.5: Fuente independiente de tensión3.3.6. Fuente independiente de intensidad (3.6)V I

i

jFigura 3.6: Fuente independiente de intensidadI = I0 · V − I = I on la e ua ion ompa ta Y = 0, Z = 1y W = 13.4. E ua ion onstitutiva para elementos de uatro ter-minales, bipuertos.Hasta ahora, hemos podido trabajar on elementos de dos terminales. Pero para gen-

Page 48: Memoria PFC Ayose Lomba

18 3. Introdu ión el Método Nodal Moodi ado (MNM)eralizar la tabla para ualquier elemento, introdu iremos el on epto de grafo-simple. Eneste nuevo on epto ada elemento de dos puertos de un ir uito es dado por dos segmentosorientado y dos e ua iones onstitutivas. La representa ión se muestra en la gura (3.7)al tiempo que se ompara on un elemento de dos terminales. Las e ua iones onstitu-tivas de los elementos de más de dos terminales implementados en Ávalon se muestran a ontinua ión.Y

i

j

i

j

i

j

m

n

i

j

i

jFigure 3.7: Método grafo-simple.3.4.1. Fuentes de orriente Dependientes de Tensión (VCT) (3.8)

V1 I2

i

j

m

n

gV1I2

V1

Figura 3.8: Fuente de intensidad dependiente de tensión[

0 0g 0

]

×

[

V1

V2

]

+

[

1 00 −1

]

×

[

I1

I2

]

=

[

00

]3.4.2. Fuentes de Tensión Dependientes de Tensión (VVT) (3.9)[

0 0µ −1

]

×

[

V1

V2

]

+

[

1 00 0

]

×

[

I1

I2

]

=

[

00

]

Page 49: Memoria PFC Ayose Lomba

3.4. E ua ion onstitutiva para elementos de uatro terminales, bipuertos. 19V1

i

j

m

n

kV1I1

V2

I2

Figura 3.9: Fuente de tension dependiente de tensión3.4.3. Fuentes de Corriente Dependientes de Corriente (3.10)V1 I2

i

j

m

n

αI1 I1

V2

Figura 3.10: Fuentes de Corriente Dependientes de Corriente[

1 00 0

]

×

[

V1

V2

]

+

[

0 0α −1

]

×

[

I1

I2

]

=

[

00

]

3.4.4. Fuentes de Tensión Dependientes de Corriente (CVT) (3.11)V1

i

j

m

n

rV1I1

V2

I2

Figura 3.11: Fuente de tension dependiente de intensidad

Page 50: Memoria PFC Ayose Lomba

20 3. Introdu ión el Método Nodal Moodi ado (MNM)[

1 00 −1

]

×

[

V1

V2

]

+

[

0 0r 0

]

×

[

I1

I2

]

=

[

00

]

3.4.5. Ampli adores Opera ionales (OPAMP). (3.12)V1

i

j

m

Im

Figure 3.12: Ampli ador Opera ional Ideal[

1 00 0

]

×

[

V1

V2

]

+

[

0 01 0

]

×

[

I1

I2

]

=

[

00

]

3.4.6. Transformador ideal. (3.13)V1

i

j

m

n

V2

Figura 3.13: Transformador ideal[

1 −a0 0

]

×

[

V1

V2

]

+

[

0 01 −1/a

]

×

[

I1

I2

]

=

[

00

]

Page 51: Memoria PFC Ayose Lomba

3.4. E ua ion onstitutiva para elementos de uatro terminales, bipuertos. 21V1

i

j

m

n

V2

Figura 3.14: Bobinas a opladas magnéti amente3.4.7. Bobinas a opladas magnéti amente. (3.14)[

1 00 1

]

×

[

V1

V2

]

+

[

−L1p −Mp−Mp −L2p

]

×

[

I1

I2

]

=

[

00

]

3.4.8. Cuadripolo denido por sus parámetros de impedan ia Z.(3.15)V1

i

j

m

n

V2

Z

Figura 3.15: Cuadripolo denido on Zij[

1 00 1

]

×

[

V1

V2

]

+

[

−Z11 −Z12−Z21 −Z22

]

×

[

I1

I2

]

=

[

00

]

3.4.9. Cuadripolo denido por sus parámetros de admitan ia Y .(3.16)[

Y 11 Y 12Y 21 Y 22

]

×

[

V1

V2

]

+

[

−1 01 −1

]

×

[

I1

I2

]

=

[

00

]

Page 52: Memoria PFC Ayose Lomba

22 3. Introdu ión el Método Nodal Moodi ado (MNM)V1

i

j

m

n

V2

Y

Figura 3.16: Cuadripolo denido on YijV1

i

j

m

n

V2

h

Figura 3.17: Cuadripolo denido on hij3.4.10. Cuadripolo denido por sus parámetros híbridos h. (3.17)[

1 −h12

0 h22

]

×

[

V1

V2

]

+

[

−h11 0h21 −1

]

×

[

I1

I2

]

=

[

00

]3.4.11. Cuadripolo denido por sus parámetros de transmisión t.(3.18)V1

i

j

m

n

V2

t

Figura 3.18: Cuadripolo denido on tij[

1 −A0 C

]

×

[

V1

V2

]

+

[

0 B−1 −D

]

×

[

I1

I2

]

=

[

00

]

Page 53: Memoria PFC Ayose Lomba

Capítulo 4Elimina ión de bloques en la tabla.En el amino ha ia la onstitu ión de un método general que a la vez mejore los ex-istentes se debe tener en uenta la posibilidad de redu ir el sitema que se genere paraahorrar tiempo de omputa ión. Teniendo presente que las tensiones de ualquier rama deun ir uito son el resultado de la resta de las tensiones de los nudos de sus extremos abepensar que se pueden eliminar las diferen ias de tensiones en las e ua iones, pro edamosde esta forma para ver que onse uen ias tiene sobre los bloques de la tabla.Vb = AtVn

YbVb + ZbIb = Wb

AIb = 0Sustituyendo la primera e ua ión en la segunda.YbA

tVn + ZbIb = Wb (4.1)AIb = 0 (4.2)En forma matri ial

[

YbAt Zb

0 A

]

×

[

Vn

Ib

]

=

[

Wb

0

] (4.3)El tamaño de la nueva matriz es (b + n)Podemos ir in luso más lejos bajo ir unstan ias más espe iales1. Asumimos que ualquier elemento de la red está representado por su admitan ia. Enton es las orrientes1Hay que jarse en el he ho de que no existe manera de representar en forma de admitan ia numerososelementos de uso fre uente, omo las fuentes de tensión, o fuentes de tensión ontroladas por tensión,fuentes de tensión ontroladas por orriente, transformadores, transformadores ideales y ampli adoresopera ionales. Además si deseamos mantener la variable s en el numerador, el indu tor debe ser introdu idoen la matriz en forma de impedan ia. En redes no lineales, una resisten ia puede ser un me anismo para23

Page 54: Memoria PFC Ayose Lomba

24 4. Elimina ión de bloques en la tabla.por las ramas son fá ilmente dedu ibles por la e ua ión YbVnj = Ib, y para los elementosque no están one tados a tierra, por la e ua ión Yb (Vnj − Vnk) = Ib. En este aso podemostambién eliminar las orrientes de las e ua iones 4.1 y 4.2 en la página anterior. Enton es ada elemento vendrá denido por:YbVb − Ib = 0y solo permitir las fuentes de orriente

Ib = Jbestas dos e ua iones pueden ser ombinadas en forma matri ial:Ib = YbVb + Jb (4.4)Sustituyendo el valor de Vb se obtiene

Ib = YbAtVn + Jb (4.5)Multipli ando ambos miembros por la matriz de in iden ia nodal A

A(

YbAtVn + Jb

)

= 0

AYbAtVn = −AJb (4.6)Este es el método nodal, donde el tamaño de la matriz se ha redu ido a n x n.

ontrolar la orriente y su fun ión de deni ión puede no ser invertible. En todos estos asos, algunas orrientes deben ser guardadas en la formula ión.Este fa tor tendrá su onse uen ia más dire ta en el modo en que se lasi arán los elementos en elMétodo Nodal Modi ado ya que los grupos que se formen dependerán bási amente de si el elemento esrepresentable a través de impedan ia o no, para más informa ión ver apítulo (??).

Page 55: Memoria PFC Ayose Lomba

Capítulo 5El Método Nodal Modi ado Usandoun Grafo.Vamos a seguir todos los pasos ne esarios que nos ondu en al método nodal modi- ado para elementos ideales. La idea fundamental del método es separar los elementosen dos grupos; un grupo formado por elementos que pueden ser expresados en forma deadmitan ias y otro por los que no es posible ha erlo. Enton es podemos eliminar todas las orrientes por las ramas en aquellos elementos del primer grupo. De esta manera se rellenapar ialmente el bloque va ío en 4.3 en la página 23 y redu iremos el número de orrientesdes ono idas Ib. Todos los elementos se representarán por los esquemas desarrollados enlos puntos 3.3 en la página 15 y en el 3.4 en la página 17 . Las ondi iones ini iales paraindu tores y apa itares serán reemplazados por sus fuentes equivalentes.Reestru turamos los elementos de la red de manera que las e ua iones de la ley deKir ho para orrientes (KCL) pueda ser es rita de la siguiente manera:[

A1 A2 A3

]

I1

I2

J

= 0 (5.1)Las divisiones son readas de manera que:1. I1 ontiene las orrientes por las ramas de los elementos que tienen representa ión enforma de admitan ia y que no son requeridas omo solu iones.2. I2 ontiene las orrientes por las ramas de los elementos que no tienen representa iónen forma de admitan ia. Contiene, además, orrientes de ramas de fuentes de tensióny orrientes de ramas que son requeridas omo solu iones.3. J ontiene las fuentes independientes de orriente.Las e ua iones KVL son divididas de la misma manera:25

Page 56: Memoria PFC Ayose Lomba

26 5. El Método Nodal Modi ado Usando un Grafo.

V1

V2

VJ

=

At1

At2

At3

Vn (5.2)Las e ua iones anteriores representan en realidad tres e ua iones matri iales separadas:V1 = At

1Vn (5.3)V2 = At

2Vn (5.4)VJ = At

3Vn (5.5)La e ua ión 5.5 se usa para determinar las tensiones en las fuentes de orriente una vezque se halla en ontrado el valor de Vn.Las rela iones entre las ramas para los elementos pertene ientes a la segunda divisiónson:Y2V2 + Z2I2 = W2 (5.6)donde el segundo miembro W2 ontiene las entradas no nulas de las fuentes de tensiónúni amente.Las rela iones entre las ramas de primera rela ión son de la forma:

Y1V1 = I1 (5.7)Rees ribiendo 5.1 en la página anterior de la siguiente forma:A1I1 + A2I2 = −A3JY sustituyendo I1 en 5.7:

A1Y1V1 + A2I2 = −A3JLas tensiones en las ramas V1 pueden ser eliminadas sustituyendo 5.3:A1Y1A

t1Vn + A2I2 = −A3J (5.8)Y de igual manera sustituyendo 5.4 en 5.6, obtenemos:

Y2At2Vn + Z2I2 = W2 (5.9)Las e ua iones 5.8 y 5.9 se pueden expresar en una úni a e ua ión matri ial:E ua ión Adi- ional. [

A1Y1At1 A2

Y2At2 Z2

]

×

[

Vn

I2

]

=

[

−A3JW2

]

Page 57: Memoria PFC Ayose Lomba

27Destaquemos lo siguienteA1Y1A

t1 = Yn1 (5.10)

−A3J = Jn (5.11)Comparando on la formula ión nodal 4.6 en la página 24 podemos ver que Yn1 esla matriz de admitan ia nodal para los elementos de la primera división mientras queJnrepresenta las fuentes equivalentes de orriente. Ambas Yn1 y Jn pueden ser es ritas porinspe ión. Por n dedu imos la expresión del método nodal modi ado.

Tensinde Nodos

CorrientesAdicionales

KCLEc Adicional

[

Yn1 A2

Y2At2 Z2

] [

Vn

I2

]

=

[

Jn

W2

]Una vez que esté resuelto, el resto de las orrientes se obtienen por la e ua ión 5.7 ylas tensiones en las ramas usando la 5.2 en la página anterior.Hay que advertir, para futuras referen ias, que las e ua iones superiores expresan lasKCL en los nodos. El sistema posee las ventajas de ambos métodos, el nodal y el métodode la tabla.

Page 58: Memoria PFC Ayose Lomba
Page 59: Memoria PFC Ayose Lomba

Chapter 6Formula ión del Método NodalModi ado por Inspe ión.La formula ión del método nodal modi ado se presenta por medio de un grafo dondeson eliminadas las tensiones y orrientes de las ramas para todos aquellos elementos quetienen una des rip ión en forma de admitan ia, grupo A1. No se pueden permitir variablesredundantes que son ono idas de antemano (I1 = 0 para fuentes de tensión dependientesde tensión, et .).En suma, el método onsiste en eliminar algunas de la variables redundantes y no añadirningún grafo o matriz de in iden ia. El resultado es la formula ión de un método prá ti opara la apli a ión informatizada.Usando 5.10 en la página 27, introdu imos por inspe ión todos los elementos queson expresados en forma de admitan ia. Por lo que la ontribu ión de la parte Y de lamatriz es m = n, siendo m el número ini ial de nodos distintos de ero. In rementaremosel orden de la matriz uanto añadamos un elemento que no posea una des rip ión enforma de admitan ia, grupo A2. Su e ua ión de onstitu ión se añade al nal del resto dee ua iones1 y la orriente que ir ula por el elemento será una nueva variable añadida alsistema2.Para fa ilitar la labor de programa ión vamos a ha er las siguientes onsidera iones.Denimos dos matri es G y C de igual orden N (N mayor que m).Denimos asi mismo un ve tor W de longitud N para el ve tor del segundo miembrodel sistema. Los valores de J , E serán introdu idos en este ve tor. Todos los elementosindependientes de la fre uen ia que surgen en la formula ión se alma enan en la matriz G.Todos los indu tivos se tratan en su forma de impedan ia. Una vez que se haya ompletadola parte de la formula ión y las matri es G, C y el ve tor W está ompleto, el sistema dematri es se obtiene para ualquier s, es ribiendoT = G + sC1Como una la más de la matriz2En forma de olumna adi ional a la matriz 29

Page 60: Memoria PFC Ayose Lomba

30 6. Formula ión del Método Nodal Modi ado por Inspe ión.En resumen, hemos llegado a un sistema de e ua iones que omo se verá en el apítulosiguiente se ara terizará por un número elevado de valores nulos en la matriz T. A la horade implementar esta matriz en C++ haremos uso de matri es sparse. Para su resolu iónen el estado transitorio explotaremos la posibilidad de obtener di ha matriz omo la sumade otras dos G y C onteniendo ada una de estas la parte real y la ompleja de la matrizT respe tivamente.El haber llegado a este punto en la formula ión del método nos propor iona la posibil-idad de realizar el barrido del ir uito por inspe ión pudiéndose automatizar el pro esomediante el diseño ade uado de una serie de fun iones en C++ que se en arguen de tratarade uadamente las e ua iones onstitutivas y ensamblarlas en el sistema a al ular.En el siguiente apítulo se analiza la ontribu ión de ada elemento en la matriz Ty el ve tor W que omponen el sistema, será importante tener presente, para una mejor omprensión del mismo, los on eptos de los últimos apítulos.

Page 61: Memoria PFC Ayose Lomba

Capítulo 7Método Nodal Modi ado porinspe ión.Se des ribirá a ontinua ión la forma en que los elementos del ir uito se introdu en ala matriz T y el ve tor W. Para ada uno de ellos se tratará el aso general. Cabe a lararque si uno de los elementos del ir uito se en uentra one tado al nodo de referen ia, seeliminará la la y la omuna que dependan de di ho nodo ya que la tensión en el mismoes ono ida y por tanto, en línea on lo expuesto en el apítulo anterior se elimina de laimplementa ión.7.1. Condu tan ia G.i

j

G

Figura 7.1: Condu tan iaT

Vi Vj

ij

[

G −G−G G

]Si se pretende determinar la orriente que ir ula por la misma, ha de in luirse unae ua ión adi ional, 31

Page 62: Memoria PFC Ayose Lomba

32 7. Método Nodal Modi ado por inspe ión.GVi − GVj − IG = 0por lo que la matriz T queda enton es:

TVi Vj IG

ij

EA

... 1... −1· · · · · · · · · · · ·

G −G... −1

7.2. Condensador C.Igual que para el aso de la ondu tan ia.i

j

C

Figura 7.2: Condensador C.T

Vi Vj

ij

[

Cs −Cs−Cs Cs

]Si deseamos ono er la intensidad por el mismo, enton es deberemos onsiderar lae ua ión adi ionalCsVi − CsVj − IC = CV c(0)por lo que la matriz T nos queda:

Page 63: Memoria PFC Ayose Lomba

7.3. Fuente de orriente dependiente de tensión. 33T

Vi Vj IC

ij

EA

... 1... −1· · · · · · · · · · · ·

Cs −Cs... −1

7.3. Fuente de orriente dependiente de tensión.Este elemento viene denido por su valor de trans ondu tan ia.i

j

m

nFigura 7.3: Fuente de Corriente Dependiente de Tensión.T

Vi Vj

ij

[

G −G−G G

]Si se pretende al ular la orriente por la fuente, enton es onsideraremos la e ua ióngVi − gVj − IG = 0quedando la matriz T de la siguiente forma:

TVi Vj IG

ij

EA

... 1... −1· · · · · · · · · · · ·

g −g... −1

Page 64: Memoria PFC Ayose Lomba

34 7. Método Nodal Modi ado por inspe ión.7.4. Fuente independiente de orriente.Estas fuentes afe tan solamente al ve tor W. La forma del mismo será enton es:i

j

J

Figura 7.4: Fuente Independiente de Corriente.W

ij

[

J−J

]Los uatro elementos des ritos no impli an ambios respe to al método nodal salvo quese dena alguna orriente de rama omo variable de salida, en uyo aso se in luye en lala de e ua iones adi ionales.7.5. Resistor y orto ir uito.Esta denido por el valor de R, y su in orpora ión al sistema trae aparejado el in on-veniente de que introdu e una e ua ión más; pero esto tiene utilidad uando es ne esarioel ál ulo de la orriente por el elemento. La matriz T queda enton es:V

IR

i

jFigura 7.5: Resisten ia.

Page 65: Memoria PFC Ayose Lomba

7.6. Indu tor. 35T

Vi Vj IG

ij

EA

... 1... −1· · · · · · · · · · · ·

1 −1... −R

En aso de querer obtener la orriente de orto ir uito, la misma se obtendría valuandola resisten ia en 0 ( ero) ohm:(V i − Vj) − RIR = 07.6. Indu tor.Con el n de evitar la presen ia de términos (1/s) en la matriz T, este elemento sein orpora al sistema a travez de su impedan ia.

i

j

L

Figura 7.6: Indu tor.T

Vi Vj IL

ij

EA

... 1... −1· · · · · · · · · · · ·

1 −1... −Ls

La e ua ión onstitutiva esVi − Vj − LsIL = −LIL(0)

Page 66: Memoria PFC Ayose Lomba

36 7. Método Nodal Modi ado por inspe ión.7.7. Bobinas A opladas.Se tiene en uenta para este modelo no solo las indu tan ias de ada devanado, sinotambién la indu ión mutua de una on respe to a la otra. La matriz de ál ulo seráenton es:i

j

m

nFigura 7.7: Bobinas A opladas Magnéti amente.Vi − Vj = L1sI1 − L1i1(0) + MsI2 − Mi2(0)Vm − Vn = MsI1 − Mi1(0) + L2sI2 − L2i2(0)

Vi − Vj − L1sI1 − MsI2 = −L1i1(0) − Mi2(0)V k − V l − L2sI2 = −Mi1(0) − L2i2(0)E ua iones que de forma general quedan

TVi Vj Vm Vn I1 I2

... 1... −1... 1... −1· · · · · · · · · · · · · · · · · · · · ·

1 −1... −L2s ±Ms

1 −1... ±Ms −L2s

La indetermina ión del punto se resuelve on el onvenio del punto.7.8. Fuente independiente de tensión.Como la variable adi ional es la orriente, la matriz T y el ve tor W quedará:

Page 67: Memoria PFC Ayose Lomba

7.9. Fuente de orriente dependiente de orriente. 37i

j

E

Figura 7.8: Fuente Independiente de Tensión.T

Vi Vj IL

ij

EA

... 1... −1· · · · · · · · · · · ·

1 −1...

W

.........E

7.9. Fuente de orriente dependiente de orriente.En este elemento la variable adi ional es la intensidad de ontrol. Su in orpora ión alsistema de e ua iones se ha e según:Y la matriz T queda:i

j

m

nFigura 7.9: Fuente de orriente dependiente de orriente.

Page 68: Memoria PFC Ayose Lomba

38 7. Método Nodal Modi ado por inspe ión.T

Vi Vj Vm Vn iL

ijmn

EA

... 1... −1... α... −α

· · · · · · · · · · · ·... · · ·

1 −1...

7.10. Fuente de Tensión dependiente de Tensión.Se representa este elemento on su rela ión onstitutiva:i

j

m

nFigura 7.10: Fuente de Tensión dependiente de Tensión.La variable adi ional es la orriente I2 en la fuente de tensión in orporándose las e ua- iones de la forma:

TVi Vj Vk V1 I2

ijk1

EA

......... 1... −1

· · · · · · · · · · · ·... · · ·

−k k 1 −1...

Page 69: Memoria PFC Ayose Lomba

7.11. Ampli ador Opera ional Ideal. 397.11. Ampli ador Opera ional Ideal.Este dispositivo es onsiderado on valor innito de ampli a ión, lo ual ha e que seorigine un orto ir uito virtual entre los nodos a los que están one tadas las entradas. Lamatriz que lo ara teriza será enton es:m

i

jFigura 7.11: Ampli ador Opera ional.T

Vi Vj Im

m

EA

... −1...· · · · · · · · · · · ·

1 −1...

Vi − Vj = 07.12. Fuente de Tensión dependiente de Corriente.Aquí el número de variables y e ua iones adi ionales es igual a dos, según muestran lasrela iones onstitutivas que se muestran a ontinua ión:i

j

m

nFigura 7.12: Fuente de Tensión dependiente de Intensidad.

Page 70: Memoria PFC Ayose Lomba

40 7. Método Nodal Modi ado por inspe ión.Vi − Vj = 0Su in orpora ión a la matriz T :

TVi Vj Vm Vn I Iτ

ijmn

EA1

EA2

... 1... −1... 1... −1

· · · · · · · · · · · ·... · · · · · ·

1 −1...

1 −1... −r

7.13. Transformador ideal.Con el desarrollo anteriormente realizado para las bobinas a ompladas podemos reartambién una forma de implementar a los ir uitos el modelo de transformador ideal enfun ión de su rela ión de transforma ión a = N1

N2siendo N1el número de espiras de labonina entre nodos i y j y N2las espiras entre m y n.

i

j

m

nFigura 7.13: Transformador Ideal.E ua iones que de forma general quedan

Page 71: Memoria PFC Ayose Lomba

7.14. Interruptor ideal. 41T

Vi Vj Vm Vn I1 I2

... 1... −1... 1... −1· · · · · · · · · · · · · · · · · · · · ·

1 −1 −a a...

0 0 1 −1... 1 −1

a

7.14. Interruptor ideal.k=1

i

jk=0Figura 7.14: Interruptor idealLas e ua iones del interruptor suman las e ua iones de un orto ir uito y de un ir uitoabierto denidas por:T

Vi Vj IG

ij

EA

0 0... 1

0 0... −1

· · · · · · · · · · · ·

K −K... K − 1

Donde el valor de k = 1 suponen un interruptor errado y k = 0 interruptor abierto.

Page 72: Memoria PFC Ayose Lomba

42 7. Método Nodal Modi ado por inspe ión.7.15. Cuadripolo resistivo denido por sus parámetrosde admitan ia Y .m

n

Yi

j Figura 7.15: Cuadripolo YijCuando deseamos introdu ir un uadripolo en el análisis de un ir uito, si este se al ulaen fun ión de sus parámetros de admitan ia no será ne esario in luir e ua iones adi ionalesya que podría onsiderarse omo un elemento homólogo a los del grupo A1Analizando sus e ua iones de deni ión podemos ver la forma de implementar esteelemento en la matriz T mediante inspe ión.I1 = Y11(Vi − Vj) + Y12(Vm − Vn)I2 = Y21(Vi − Vj) + Y22(Vm − Vn)

TVi Vj Vm Vm

Y11 −Y11 Y12 −Y12

−Y11 Y11 −Y12 Y12

Y21 −Y21 Y22 −Y22

−Y21 Y21 −Y22 Y22

7.16. Cuadripolo resistivo denido por sus parámetrosde impedan ia Z.m

n

i

j

Z

Figura 7.16: Cuadripolo Zij

Page 73: Memoria PFC Ayose Lomba

7.17. Cuadripolo resistivo denido por sus parámetros híbridos h. 43Las e ua iones de deni ión de este tipo de parámetros para los elementos bipuertosson:Vi − Vj = Z11I1 + Z12I2

Vm − Vn = Z21I1 + Z22I2

TVi Vj Vk V1 I1 I2

... 1... −1... 1... −1· · · · · · · · · · · · · · · · · · · · ·

1 −1... −Z11 −Z12

1 −1... −Z21 −Z22

7.17. Cuadripolo resistivo denido por sus parámetroshíbridos h.m

n

i

j

h

Figura 7.17: Cuadripolo hijLas e ua iones de deni ión según parámetros híbridos son:V1 = h11I1 + h12V2

I2 = h21I1 + h22V2Que pueden ser rees ritas de una forma más ade uada a nuestra inten ión de poderrealizar una inspe ión de forma automáti a omo:Vi − Vj − h12Vm + h12Vn + h11I1 = 0

I2 = h21I1 + h22 (Vm − Vn)

Page 74: Memoria PFC Ayose Lomba

44 7. Método Nodal Modi ado por inspe ión.T

Vi Vj Vk V1 I1

... 1... −1

h22 −h22... h21

h22 h22... −h21

· · · · · · · · · · · · · · · · · ·

1 −1 −h12 h12... −h11

7.18. Cuadripolo resistivo denido por sus parámetrosde transmisión t.m

n

i

j

t

Figura 7.18: Cuadripolo rijLas e ua iones de deni ión según parámetros de transmisión son:V1 = AV2 − BI2

I1 = CV2 − DI2Que pueden ser rees ritas de una forma más ade uada a nuestra inten ión de poderrealizar una inspe ión de forma automáti a omo:Vi − Vj − AVm + AVn + BI2 = 0

I1 = C (Vm − Vn) − DI2

Page 75: Memoria PFC Ayose Lomba

7.18. Cuadripolo resistivo denido por sus parámetros de transmisión t. 45T

Vi Vj Vk V1 I1

C −C... D

−C C... −D... 1... −1

· · · · · · · · · · · · · · · · · ·

1 −1 −A A... B

Page 76: Memoria PFC Ayose Lomba
Page 77: Memoria PFC Ayose Lomba

Capítulo 8Confe ión de la Matriz T y el Ve torW.La implementa ión de la Matriz T y el Ve tor W en Ávalon es una de las partes másimportantes de este proye to, a groso modo podríamos dividir el programa en tres fases:1. Diseño del ir uito a analizar y genera ión de hero *.sp .2. Crea ión del sistema lineal de e ua iones.3. Resolu ión y ploteo de la solu ión del ir uito.En el presente apítulo nos entraremos en la naturaleza de los elementos y en ómo estándiseñados para la orre ta implementa ión de los mismos en el sistema uando se realizala inspe ión del ir uito.8.1. Pasos previos al ensamblaje del sistema.Para el dimensionamiento del sistema, el programa tendrá que saber de antemano iertas magnitudes para poder rear la Matriz T y el Ve tor W. Para ello se realiza unbarrido por los datos extraídos del hero *.sp generado por el x ir uit ha iendo uso dela librería espe í a para Ávalon. Con la le tura de los datos del itado hero obtenemosel número de nudos del sistema, elementos que posee el ir uito, a que grupo pertene en,si el usuario los quiere pasar a e ua iones adi ionales, et .La dimensión del sistema que se debe rear, depende dire tamente del número de nudos,número de e ua iones adi ionales de elementos pertene ientes al grupo A1 y el número deelementos que pertene en el grupo A2. Sumados estos valores tenemos la dimensión de lamatriz T y el Ve tor WLlegados a este punto se rea una matriz sparse on las dimensiones al uladas y sepro ede al análisis del ir uito por inspe ión para ensamblar los valores de ada elementosegún se indi a en el apítulo 7 en la página~3147

Page 78: Memoria PFC Ayose Lomba

48 8. Confe ión de la Matriz T y el Ve tor W.8.2. Deni ión de elementos en Ávalon.Para el orre to fun ionamiento del programa de análisis se han tenido que tener en uenta diferentes fa tores omo son la posibilidad de rea ión de nuevos elementos y eldes ono imiento del número de parámetros que estos puedan ne esitar. Se ha ía ne esariopues que ante la ne esidad de un usuario de introdu ir un elemento nuevo en la librería,este no tubiese que modi ar el resto de ódigo. Para ello se optó por una elabora ión deelementos muy diferente a la que hasta ahora se venía ha iendo.Ávalon visualiza los elementos a través de dos fases.1. Que debe implementar en la Matriz T.2. Que debe implementar en el Ve tor W.Y para ver estos dos puntos el elemento se onstituye en tres partes diferen iadas de onjuntos de datos.Parte de datos generales, visualizada en la Matriz de Datos Generales (MDG)Parte de posi ión/nodos que puede verse en la Matriz de Posi ión/Nodos (MN)Parte de valores ara terísti os del elemento situados en la Matriz de Valores Cara -terísti os (MVC)Cuando se desee realizar un elemento no ontemplado en la librería ini ial, se deberásaber la forma en que el programa lee los elementos y para ello es ne esario tener presentelos puntos anteriores.El he ho de que los datos de los elementos se anali en en tres grupos ha e que se ledeba indi ar al programa tres longitudes, a saber:1. Valor en el que empiezan los valores de la MN,2. valor en el que omienzan los valores de la MVC y3. longitud del ve tor de deni ión del elemento.Por lo tanto para implementar el elemento se deberán realizar tres fun iones:1. Fun ión que indique omo leer el ve tor que dene el elemento.2. La fun ión que introduz a los valores en la Matriz T.3. Fun ión que introduz a los valores en el Ve tor W.

Page 79: Memoria PFC Ayose Lomba

8.2. Deni ión de elementos en Ávalon. 49

Figura 8.1: Captura del programa de resolu ión.Se a onseja para entender bien omo introdu ir nuevos elementos seguir el tratamientode alguno de los que se en uentran ya implementados, de esta manera se verá la formaen la que se le indi a al programa uando mover los punteros a e ua iones adi ionales y omo introdu ir valores según los datos que nos propor iona el programa. Bási amentetodos los elementos siguen la misma estru tura por lo que aunque se exponen todos a ontinua ión previamente se limpiará uno de ellos de valores y opera iones espe í as yse presentará una plantilla bási a para un nuevo elemento de las tres fun iones ne esariaspara su introdu ión en Ávalon.8.2.1. Plantilla para indi ar dimensiones generales de un nuevoelemento.void lee_elementoNUEVO( ba s i o s *p_DATA)p_DATA−>lim [ 0 =4 ; //Valor d e l Primer l ím i t ep_DATA−>lim [ 1 =6 ; //Valor d e l Segundo l ím i t e

Page 80: Memoria PFC Ayose Lomba

50 8. Confe ión de la Matriz T y el Ve tor W.p_DATA−>lim [ 2 =8 ; //Longitud de l v e to r que d e f i n e e l e lemento8.2.2. Plantilla para elemento uadripolo.Ejemplo extraído y simpli ado del elemento Transformador.void trafoMatr izT (double *p_elemento , ba s i o s *p_DATOS)//De f in i i ón de v a r i a b l e s que deban o l o a r s e en l a Matriz T, enfun ión de l e lementos pueden ser de 1 en ade l an t ePet s S a l a r Valor=p_elemento [ 9 ;Pe t s S a l a r Valor inver=1/p_elemento [ 9 ;i f ( p_elemento [4==0 && p_elemento [ 5 !=0 && p_elemento[ 6 !=0 && p_elemento [ 7 !=0 )//primera EAMatSetValue (p_DATOS−>T,p_DATOS−>apuntaA2 , p_elemento[5−1 ,−1 ,ADD_VALUES) ;MatSetValue (p_DATOS−>T,p_DATOS−>apuntaA2 , p_elemento[6−1 ,−Valor ,ADD_VALUES) ;MatSetValue (p_DATOS−>T,p_DATOS−>apuntaA2 , p_elemento [7 −1 ,Valor ,ADD_VALUES) ;MatSetValue (p_DATOS−>T, p_elemento [5 −1 ,p_DATOS−>apuntaA2,−1 ,ADD_VALUES) ;// segunda EAMatSetValue (p_DATOS−>T,p_DATOS−>apuntaA2+1,p_DATOS−>apuntaA2 , 1 ,ADD_VALUES) ;MatSetValue (p_DATOS−>T,p_DATOS−>apuntaA2+1,p_DATOS−>apuntaA2+1,−Valor inver ,ADD_VALUES) ;MatSetValue (p_DATOS−>T, p_elemento [6 −1 ,p_DATOS−>apuntaA2+1 ,1 ,ADD_VALUES) ;MatSetValue (p_DATOS−>T, p_elemento [7 −1 ,p_DATOS−>apuntaA2+1,−1,ADD_VALUES) ;i f ( p_elemento [5==0 && p_elemento [ 4 !=0 && p_elemento[ 6 !=0 && p_elemento [ 7 !=0 )i f ( p_elemento [6==0 && p_elemento [ 5 !=0 && p_elemento[ 4 !=0 && p_elemento [ 7 !=0 )

Page 81: Memoria PFC Ayose Lomba

8.2. Deni ión de elementos en Ávalon. 51i f ( p_elemento [7==0 && p_elemento [ 5 !=0 && p_elemento[ 6 !=0 && p_elemento [ 4 !=0 )//dos nodos one tados a l nodo de r e f e r en i ai f ( p_elemento [ 4 !=0 && p_elemento [5==0 && p_elemento[ 6 !=0 && p_elemento [7==0)i f ( p_elemento [4==0 && p_elemento [ 5 !=0 && p_elemento[6==0 && p_elemento [ 7 !=0 )i f ( p_elemento [4==0 && p_elemento [ 5 !=0 && p_elemento[ 6 !=0 && p_elemento [7==0)i f ( p_elemento [ 4 !=0 && p_elemento [5==0 && p_elemento[6==0 && p_elemento [ 7 !=0 )i f ( p_elemento [4==0 && p_elemento [5==0 && p_elemento[ 6 !=0 && p_elemento [ 7 !=0 )i f ( p_elemento [ 4 !=0 && p_elemento [ 5 !=0 && p_elemento[6==0 && p_elemento [7==0)// t r e s nodos one tados a l de r e f e r en i a

Page 82: Memoria PFC Ayose Lomba

52 8. Confe ión de la Matriz T y el Ve tor W.i f ( p_elemento [4==0 && p_elemento [ 5 !=0 && p_elemento[6==0 && p_elemento [7==0)i f ( p_elemento [ 4 !=0 && p_elemento [5==0 && p_elemento[6==0 && p_elemento [7==0)i f ( p_elemento [4==0 && p_elemento [5==0 && p_elemento[ 6 !=0 && p_elemento [7==0)i f ( p_elemento [4==0 && p_elemento [5==0 && p_elemento[6==0 && p_elemento [ 7 !=0 )i f ( p_elemento [ 4 !=0 && p_elemento [ 5 !=0 && p_elemento[ 6 !=0 && p_elemento [ 7 !=0 )//primera EAMatSetValue (p_DATOS−>T,p_DATOS−>apuntaA2 , p_elemento[4 −1 ,1 ,ADD_VALUES) ;MatSetValue (p_DATOS−>T,p_DATOS−>apuntaA2 , p_elemento[5−1 ,−1 ,ADD_VALUES) ;MatSetValue (p_DATOS−>T,p_DATOS−>apuntaA2 , p_elemento[6−1 ,−Valor ,ADD_VALUES) ;MatSetValue (p_DATOS−>T,p_DATOS−>apuntaA2 , p_elemento [7 −1 ,Valor ,ADD_VALUES) ;MatSetValue (p_DATOS−>T, p_elemento [4 −1 ,p_DATOS−>apuntaA2, 1 ,ADD_VALUES) ;MatSetValue (p_DATOS−>T, p_elemento [5 −1 ,p_DATOS−>apuntaA2,−1 ,ADD_VALUES) ;// segunda EAMatSetValue (p_DATOS−>T,p_DATOS−>apuntaA2+1,p_DATOS−>apuntaA2 , 1 ,ADD_VALUES) ;

Page 83: Memoria PFC Ayose Lomba

8.2. Deni ión de elementos en Ávalon. 53MatSetValue (p_DATOS−>T,p_DATOS−>apuntaA2+1,p_DATOS−>apuntaA2+1,−Valor inver ,ADD_VALUES) ;MatSetValue (p_DATOS−>T, p_elemento [6 −1 ,p_DATOS−>apuntaA2+1 ,1 ,ADD_VALUES) ;MatSetValue (p_DATOS−>T, p_elemento [7 −1 ,p_DATOS−>apuntaA2+1,−1,ADD_VALUES) ;8.2.3. Plantilla para a tua ión sobre Ve tor W.Este ódigo pertene e a la fun ión de la fuente independiente de tensión.void fuenteV Ve torW(double *p_elemento , ba s i o s *p_DATOS, f loatt )f loat l imite_a=p_elemento [ 1 0 ; //Datos de In t e r é s a i n t r odu i r ene l Ve tor Wf loat l imite_b=p_elemento [ 1 1 ;double t ipo_ex i ta i on0= p_elemento [ 6 ;int t ipo_ex i ta i on=int ( t ipo_ex i ta i on0 ) ;f loat valor_n , valor_n1 , va l o r ;swit h ( t ipo_ex i ta i on ) ase 0 : i f (p_DATOS−>t r a n s i t o r i o==1)valor_n=p_elemento [ 7 ; valor_n1=p_elemento [ 7 ; i f (p_DATOS−>e s t a i o n a r i o==1) va lo r=p_elemento [ 7 ; break ; ase 1 : i f (p_DATOS−>t r a n s i t o r i o==1)valor_n=p_elemento [ 1 2 * s i n (p_elemento [ 9 * 2 *M_PI*( t *p_DATOS−>h)+(p_elemento [ 8 *RAD) ) ;valor_n1=p_elemento [ 1 2 * s i n (p_elemento [ 9 * 2 *M_PI*( t *p_DATOS−>h+p_DATOS−>h) ) ;i f (p_DATOS−>e s t a i o n a r i o==1) va lo r=p_elemento [ 1 2 ; break ; //Seno ase 2 : i f (p_DATOS−>t r a n s i t o r i o==1)

Page 84: Memoria PFC Ayose Lomba

54 8. Confe ión de la Matriz T y el Ve tor W.valor_n=p_elemento [ 1 2 * os (p_elemento [ 9 * 2 *M_PI*( t *p_DATOS−>h)+(p_elemento [ 8 *RAD) ) ;valor_n1=p_elemento [ 1 2 * os (p_elemento [ 9 * 2 *M_PI*( t *p_DATOS−>h+p_DATOS−>h)+(p_elemento [ 8 *RAD) ) ; i f (p_DATOS−>e s t a i o n a r i o==1) va lo r=p_elemento [ 7 ; break ; //Coseno ase 3 : valor_n=p_elemento [ 1 2 * t+p_elemento [ 1 3 ;valor_n1=p_elemento [ 1 2 * ( t+p_DATOS−>h)+p_elemento [ 1 3 ; break ; //Rampa ase 4 : i f ( t<l imite_a ) valor_n=p_elemento [ 1 2 ;valor_n1=valor_n ; i f ( t>=limite_b ) valor_n=p_elemento [ 1 3 ;valor_n1=valor_n ; break ;//Es alón ase 5 : i f ( t<l imite_a ) valor_n=p_elemento [ 1 4 ;valor_n1=valor_n ; i f ( t>=limite_b ) valor_n=p_elemento [ 1 5 ;valor_n1=valor_n ; i f ( ( t>l imite_a )&&(t<limite_b ) )valor_n=p_elemento [ 1 2 * t+p_elemento [ 1 3 ;valor_n1=p_elemento [ 1 2 * ( t+p_DATOS−>h)+p_elemento [ 1 3 ;break ;//Es alón Modif i adoi f ( p_elemento [4==0) i f (p_DATOS−>t r a n s i t o r i o==1)Ve SetValue (p_DATOS−>Wn,p_DATOS−>apuntaA2 , valor_n,ADD_VALUES) ;

Page 85: Memoria PFC Ayose Lomba

8.3. Ve tores de deni ión de los elementos en Ávalon. 55Ve SetValue (p_DATOS−>Wn1,p_DATOS−>apuntaA2 ,valor_n1 ,ADD_VALUES) ; i f (p_DATOS−>e s t a i o n a r i o==1)Ve SetValue (p_DATOS−>W,p_DATOS−>apuntaA2 , valor ,ADD_VALUES) ; i f ( p_elemento [5==0) i f (p_DATOS−>t r a n s i t o r i o==1)Ve SetValue (p_DATOS−>Wn,p_DATOS−>apuntaA2 , valor_n,ADD_VALUES) ;Ve SetValue (p_DATOS−>Wn1,p_DATOS−>apuntaA2 ,valor_n1 ,ADD_VALUES) ; i f (p_DATOS−>e s t a i o n a r i o==1)Ve SetValue (p_DATOS−>W,p_DATOS−>apuntaA2 , valor ,ADD_VALUES) ; i f ( p_elemento [4!=0&&p_elemento [ 5 !=0 ) i f (p_DATOS−>t r a n s i t o r i o==1)Ve SetValue (p_DATOS−>Wn,p_DATOS−>apuntaA2 , valor_n,ADD_VALUES) ;Ve SetValue (p_DATOS−>Wn1,p_DATOS−>apuntaA2 ,valor_n1 ,ADD_VALUES) ; i f (p_DATOS−>e s t a i o n a r i o==1)Ve SetValue (p_DATOS−>W,p_DATOS−>apuntaA2 , valor ,ADD_VALUES) ; p_DATOS−>apuntaA2=p_DATOS−>apuntaA2+1;// In remento en uno e lv a l o r para poder poner o tro elemento EA s i l o hub i e s e8.3. Ve tores de deni ión de los elementos en Ávalon.8.3.1. Condu tan ia.Elemento pertene iente al Grupo 1 que puede implementar una e ua ión adi ional.

Page 86: Memoria PFC Ayose Lomba

56 8. Confe ión de la Matriz T y el Ve tor W.V

IG

i

js p i e : 0 %i 0 1 %pi %pj 0 G8.3.2. Resisten ia.Elemento pertene iente al Grupo 2 que implementa una e ua ión adi ional.V

IR

i

js p i e : 1 %i 0 2 %pi %pj 0 R8.3.3. Condensador.Elemento pertene iente al Grupo 1 que puede implementar una e ua ión adi ional.V

IC

i

js p i e : 2 %i 0 1 %pi %pj 0 C8.3.4. Bobina.Elemento pertene iente al Grupo 2 que puede implementar una e ua ión adi ional.

Page 87: Memoria PFC Ayose Lomba

8.3. Ve tores de deni ión de los elementos en Ávalon. 57V

IL

i

js p i e : 3 %i 0 2 %pi %pj 0 L8.3.5. Fuente Independiente de Tensión.Elemento pertene iente al Grupo 2 que implementa una e ua ión adi ional.V

I i

js p i e : 4 %i 0 2 %pi %pj 0 Cte rho f a b A B C DTanto para la fuente independiente de tensión omo para la de intensidad se ha ene esario indi ar a los posibles usuarios del programa que son los diferentes parámetrosque denen el ve tor de estos dos elementos.El valor de la séptima posi ión indi ará al programa que tipo de ex ita ión queremosque propor ione la fuente según los valores siguientes:Valor Ex ita ión0 Constante1 Senoidal2 Cosenoidal3 Rampa4 Es alón5 Es alón modi adoCuadro 8.1: Tipos de ex ita ión disponibles en Ávalon

Page 88: Memoria PFC Ayose Lomba

58 8. Confe ión de la Matriz T y el Ve tor W.8.3.6. Fuente Independiente de Intensidad.Elemento pertene iente al Grupo 3 que no implementa e ua iones adi ionales.V I

i

js p i e : 5 %i 0 3 %pi %pj 0 Cte rho f a b A B C DExpresión Ex ita iónCte ConstanteA · sin (2πf + ρ) SenoidalA · cos (2πf + ρ) Cosenoidal

y = Ax + B Rampa

x < a y = 0

x ≥ a y = AEs alón

x < a y = 0

a ≤ x ≤ b y = Ax + B

x > a y = B

Es alón modi adoCuadro 8.2: Variables ara terísti as de las fuentes de ex ita ión en el programa.8.3.7. Ampli ador Opera ional.Elemento pertene iente al Grupo 2 que implementa dos e ua iones adi ionales.V1

i

j

m

Im

Page 89: Memoria PFC Ayose Lomba

8.3. Ve tores de deni ión de los elementos en Ávalon. 59sp i e : 6 %i 0 2 %pi %pj %pm 0 BCabe desta ar que el valor de B no es la ampli a ión del opera ional sino a su inversaBs = −

1

As8.3.8. Transformador.Elemento pertene iente al Grupo 2 que implementa dos e ua iones adi ionales.V1

i

j

m

n

V2

s p i e : 7 %i 0 2 %pi %pj %pm %pn 0 aEn el transformador el parámetro a es la rela ión de transforma ión de espiras a = N1

N28.3.9. Fuente de orriente dependiente de tensión.Elemento pertene iente al Grupo 1 que puede implementar una e ua ión adi ional.V1 I2

i

j

m

n

gV1I2

V1

s p i e : 8 %i 0 1 %pi %pj %pm %pn 0 g

Page 90: Memoria PFC Ayose Lomba

60 8. Confe ión de la Matriz T y el Ve tor W.8.3.10. Fuente de tensión dependiente de tensión.Elemento pertene iente al Grupo 2 que implementa una e ua ión adi ional.V1

i

j

m

n

kV1I1

V2

I2

s p i e : 9 %i 0 2 %pi %pj %pm %pn 0 k8.3.11. Fuente de orriente dependiente de orriente.Elemento pertene iente al Grupo 2 que implementa una e ua ión adi ional.V1 I2

i

j

m

n

αI1 I1

V2

s p i e : 10 %i 0 2 %pi %pj %pm %pn 0 alpha8.3.12. Fuente de tensión dependiente de orriente.Elemento pertene iente al Grupo 2 que implementa dos e ua iones adi ionales.V1

i

j

m

n

rV1I1

V2

I2

s p i e : 11 %i 0 2 %pi %pj %pm %pn 0 r

Page 91: Memoria PFC Ayose Lomba

8.3. Ve tores de deni ión de los elementos en Ávalon. 618.3.13. Bobinas A opladas.Elemento pertene iente al Grupo 2 que implementa dos e ua iones adi ionales.V1

i

j

m

n

V2

s p i e : 12 %i 0 2 %pi %pj %pm %pn 0 L1 L2 M8.3.14. Interruptor.Elemento pertene iente al Grupo 2 que puede implementar una e ua ión adi ional.k=1

i

jk=0s p i e : 13 %i 0 2 %pi %pj 0 k8.3.15. Cuadripolo on parámetros de Admitan ia.Elemento pertene iente al Grupo 1 que no implementa e ua iones adi ionales.

V1

i

j

m

n

V2

Y

s p i e : 14 %i 0 1 %pi %pj %pm %pn 0 0 0 0 0 0 Y11 Y12 Y21 Y22

Page 92: Memoria PFC Ayose Lomba

62 8. Confe ión de la Matriz T y el Ve tor W.8.3.16. Cuadripolo on parámetros de Impedan ia.Elemento pertene iente al Grupo 2 que implementa dos e ua iones adi ionales.V1

i

j

m

n

V2

Z

s p i e : 15 %i 0 2 %pi %pj %pm %pn 0 0 0 0 0 0 Z11 Z12 Z21 Z228.3.17. Cuadripolo on parámetros Híbridos.Elemento pertene iente al Grupo 2 que implementa una e ua ión adi ional.V1

i

j

m

n

V2

h

s p i e : 16 %i 0 2 %pi %pj %pm %pn 0 0 0 0 0 0 h11 h12 h21 h228.3.18. Cuadripolo on parámetros de Transmisión.Elemento pertene iente al Grupo 2 que implementa una e ua ión adi ional.V1

i

j

m

n

V2

t

s p i e : 17 %i 0 2 %pi %pj %pm %pn 0 0 0 0 0 0 r11 r12 r21 r22

Page 93: Memoria PFC Ayose Lomba

Parte IIResolu ión de Sistemas de E ua ionesLineales.

63

Page 94: Memoria PFC Ayose Lomba
Page 95: Memoria PFC Ayose Lomba

Capítulo 9Métodos numéri os.En este apítulo, nos entraremos en algunos de los métodos iterativos existentes para laresolu ión de sistemas de e ua iones lineales. Claro está, que para el ál ulo de las variablesen el esta ionario esto no es ne esario, ya que que sólo se resuelve un sistema. No obstante, uando nuestro análisis sea un transitorio este e ho ambia para ha erse ne esario resolverel sistema tantas ve es omo nos indiquen los datos del intervalo de tiempo a estudio y elpaso de tiempo en el aso de un sistema iterativo dire to, omo es el que usa el programa.En el proye to, se ha optado por la implementa ión ini ial del método theta θ el ual,a través de los valores que pueden introdu irse de este parámetro resolverá sistemas segúnel método de Euler Implí ito, Explí ito o un Crank Ni holson. El método theta es unmétodo iterativo dire to, esto quiere de ir que su número de itera iones está determinadapreviamente por un número prejado de pasos. Durante el uso de Ávalon para el análisisde un ir uito en régimen transitorio se le soli itará al usuario que introduz a los valoresde tiempo ini ial t0, tiempo nal tf , paso de tiempo h y el valor de theta.Se pretende, que on el tiempo y olabora ión de los alumnos de las asignaturas deespe ialidad y omunidad interesada en el programa se implementen más métodos de res-olu ión omo los que se exponen en este apítulo y que hagan que el programa sea apazde adaptar su fun ionamiento a ne esidades más espe í as.El método del onjugado del Gradiente es el siguiente paso que por lógi a debería darsea este PFC debido a la naturaleza del método y que según las diferentes referen ias a las quese ha a udido des riben el método omo uno de los mejores existentes a la hora de realizarla resolu ión de sistemas lineales de e ua iones sparse. (Jonathan Ri hard Shew huk,1994). Para ello se ha omenzado analizando la teoría del mismo y las eje u iones previasrealizadas por el tutor de este proye to. En las se iones 9.1.4, 9.1.5 y 9.1.6 podemos ver ódigos de S ilab que se espera que en breve puedan ser introdu idos en el me anismo deresolu ión de nuestro programa.Otro fa tor que se espera pueda ser añadido en las apa idades del programa sonlos análisis en fre uen ia del que también se ha elaborado on la experien ia previa deltutor una guía de omo debería realizarse esta implementa ión ayudada de algoritmosdesarrollados en S ilab, ver apítulo ?? en la página ??En línea on esta idea se han utilizado para el ensamblamiento de la Matriz T matri es65

Page 96: Memoria PFC Ayose Lomba

66 9. Métodos numéri os.Sparse lo ual, omo se expondrá en el apítulo 11 podrá ahorrar tiempo de omputa iónen el ál ulo de la solu ión del sistema. Además también se realizan prea ondi ionamientosen espa ios de Krylov que ayudan en el mismo propósito. Para una mejor ompresión y amodo de introdu ión se expondrá en los siguientes apítulos on eptos varios sobre méto-dos iterativos y matri es sparse. Este onjunto de apítulos no pretende ser un desarrolloamplio de estos temas ya que para los mismos sería ne esario un periodo mu ho mayorde eje u ión del proye to debido a la omplejidad y amplitud que supone esta parte del ál ulo avanzado de resolu ión de sistemas de e ua iones de las que existen numerosasreferen ias bibliográ as y tesis disponibles en la red. Por lo que es a onsejable para unamayor profundiza ión en los mismos a udir a di has fuentes.9.1. Métodos de solu ión de sistemas de e ua iones al-gebrai as lineales.Un programa para la determina ión de la respuesta temporal in luye ne esariamente lasolu ión de sistemas de e ua iones algebrai as y lineales. De los distintos métodos que paraello se han desarrollado se presenta aquí diferentes posibilidades para su implementa iónen el programa para su resolu ión a través de un ordenador.Un sistema de e ua iones lineales y algebrai as puede expresarse omoa11x1 + a12x2 + · · ·+ a1nxn = b1

a21x1 + a22x2 + · · ·+ a2nxn = b2

· · · · · · · · ·an1x1 + an2x2 + · · ·+ annxn = bn uya forma matri ial es

Ax = bdonde A es una matriz uadrada de orden n, uyos elementos son números reales o omplejos, x es el ve tor de las n in ógnitas y b el de los n términos independientes.Si la matriz A es no singular, la solu ión del sistema es úni a y viene dada por laexpresiónx = A−1bdonde A−1 es la matriz inversa de A.Más e az que la determina ión de la matriz inversa es el método de basado en la reglade Cramer, según la ual el valor de una ualquiera de las in ógnitas puede obtenerse omo o iente de dos determinantes a través de la expresiónxk = |Ak|

|A|

Page 97: Memoria PFC Ayose Lomba

9.1. Métodos de solu ión de sistemas de e ua iones algebrai as lineales. 67donde Ak es la matriz resultante de sustituir en A la olumna de oe ientes xk por elve tor b de términos independientes.De todas formas los métodos basados en la determina ión de la matriz inversa y enla apli a ión de la regla de Cramer no se utilizan en el ál ulo automáti o debido a la omplejidad de los algoritmos a los que dan lugar, y al número elevado de opera iones loque in rementa de forma onsiderable el tiempo de omputo. Debido a esto se re urre amétodos numéri os que pueden lasi arse en dire tos e indire tos. En los primeros se llegaa la solu ión después de un número prejado de pasos, mientras que en los del segundotipo se obtiene una se uen ia innita de valores que puede onverger a la solu ión.Los métodos que se expli arán a ontinua ión son:Método de elimina ión de Gauss.Método de des omposi ión triangular.Método de Theta.Método del Gradiente.Método de las Dire iones Conjugadas.Método del Conjugado del Gradiente.9.1.1. Método de elimina ión de Gauss.En un sistema de e ua iones la solu ión permane e invariante si una de ellas se sustituyepor su suma on otra del sistema, previamente multipi ada por una onstante.El método de elimina ión de Gauss se basa en la apli a ión repetida de esta propiedadhasta onseguir que un sistema de la formaAx = bse transforme en otro, que teniendo idénti a solu ión, responda a la expresión generalUx = b′ (9.1)donde la matriz U es uadrada, del mismo orden que A y triangular superior, on

uij = 1 i = juij = 0 i > jEl sistema de e ua iones uya forma general se expresa en 9.1 puede desarrollarse según9.2

Page 98: Memoria PFC Ayose Lomba

68 9. Métodos numéri os.x1 + a1

12x2 + a113x3 + · · ·+ a1

1nxn = b11

x2 + a212x3 + · · ·+ a2

2nxn = b22

x3 + · · ·+ a33nxn = b3

3

· · · · · · · · ·xn = bn

n

(9.2)expresión en la que los superíndi es indi an el número de transforma iones efe tuadasen ada una de las e ua iones.La solu ión de un sistema de la forma expresada en 9.2 puede obtenerse por un pro esoiterativo en el que el valor de las variables ya determinadas se utiliza en el ál ulo de lasanteriores, razón por la que se denomina de sustitu ión regresiva y que puede expresarseporxn = bn

n

xn−1 = bn−1n−1 − an−1

n−1xnn −

xn−2 = bn−1n−1 − an−2

n−2xn−2n−2 − · · · − an−2

n−2xnn

· · · = · · · · · · · · · · · · · · ·x1 = b1

1 − a11x

22 − · · · − a1

1xnnLa forma general de este pro eso de sutitu ión es que onstituye un algoritmo fá ilmenteimplementable en ordenador. Su prin ipal problema radi a en el tiempo ex esivamentelargo de omputa ión si las matri es son de gran dimensión.9.1.2. Método de des omposi ión triangular.La ara terísti a más importante del método de des omposi ión triangular es que lastransforma iones que impli a afe tan úni amente a la matriz del sistema, por lo que los re-sultados obtenidos son válidos para todos los sistemas de e ua iones que sólo se diferen ianen el término independiente.El método onsiste en la determina ión de dos matri es, L y U , triangulares inferior ysuperior, respe tivamente, de la forma

L =

l11 0 0 · · · 0l21 l22 0 · · · 0l31 l32 l33 · · · 0ln1 ln2 ln3 · · · lnn

U =

1 u12 u13 · · · u1n

0 1 u23 · · · u2n

0 0 1 · · · u3n

0 0 0 · · · 1

uyo produ to sea igual a la matriz del sistema, según

Page 99: Memoria PFC Ayose Lomba

9.1. Métodos de solu ión de sistemas de e ua iones algebrai as lineales. 69A = LU (9.3) on lo que la expresiónAx = bse transforma en

LUx = bsistema del que puede obtenerse la solu ión a través de dos pro esos de sustitu ión.Las expresiones que rela ionan los valores de los elementos de L y U on los de la matrizA, se obtienen desrrollando la igualdad 9.3. En efe to, los elementos no nulos de la lai-ésima de L sonli1, li2, ... , liimientras que los de la olumna k-ésima de U, son

u1k, u2k, ... , uk−1k, 1por lo que un elemento, aik on i ≥ k de la matriz A, es igual al produ to de L y U,seráaik =

∑k

m=1 limumk = lik +∑k−1

m=1 limumkde dondelik = aik +

∑k

m=1 limumk ; i ≥ kPara los elementos akj on k < j se umple queakj =

∑k

m=1 lkmumj = lkk +∑k−1

m=1 lkmumjigualdad de la que se obtiene el valor de segúnukj = 1

lkk

(

akj +∑k−1

m=1 limumk

)Expresiones que oin iden on las que se obtuvieron en el desarrollo del método deGauss.

Page 100: Memoria PFC Ayose Lomba

70 9. Métodos numéri os.9.1.3. Método theta θ.Para el desarrollo de este método iterativo dire to se debe tomar la Matriz T y des-glosarla en dos partes para que una ontenga los oe ientes de los valores reales y otralos oe ientes de los valores imaginarios según la expresión T = G + C · sSi tenemos presente que el sistema que debemos resolver es de la forma Tx = Wtenemos que:GX + C

dx

dt= W (9.4)desarrollando la expresión para Xny Xn+1y multipli ando la expresión en n por 1 − θy la de n + 1 por θ

GXn + C dxdt

n= W n

GXn+1 + C dxdt

n+1= W n+1

(1 − θ)GXn + (1 − θ)C dxdt

n= (1 − θ)W n

(θ) GXn+1 + (θ) C dxdt

n+1= (θ) W n+1para ahora sumar ambos miembros obtenemos la expresión

(1 − θ)GXn + (θ) GXn+1 + C ·(

(1 − θ) dxdt

n+ (θ) dx

dt

n+1)

= (1 − θ) W n + (θ) W n+1(9.5)Si ordenamos el término que multipli a a la matriz C lo podemos asemejar a la expresiónde una media aritméti a, tal y omo indi a 9.6(

(θ)dx

dt

n+1

+ (1 − θ)dx

dt

n)

=Xn+1 − Xn

∆t(9.6)Sustituyendo 9.6 en la expresión 9.5

(1 − θ) GXn + (θ) GXn+1 + C ·(

Xn+1−Xn

∆t

)

= (1 − θ)W n + (θ) W n+1Ahora reordenamos para asemejar la expresión a la del sistema que deseamos resolverobteniéndose la expresión del método θ donde en fun ión del los valores que se introduz ande theta se obtienen el métoso de Euler Implí ito, el Euler Explí ito y el Crank Ni holson(

C∆t

+ θG)

Xn+1 =(

C∆t

− (1 − θ) G)

Xn + (1 − θ) W n + θW n+1En on lusión:θ = 1 tenemos Euler Implí ito

(

C

∆t+ G

)

Xn+1 =

(

C

∆t

)

Xn + W n+1 (9.7)θ = 0, 5 tenemos el método de Crank Ni holson

Page 101: Memoria PFC Ayose Lomba

9.1. Métodos de solu ión de sistemas de e ua iones algebrai as lineales. 71(

C

∆t+ 0, 5G

)

Xn+1 =

(

C

∆t− 0, 5G

)

Xn + 0, 5W n + 0, 5W n+1 (9.8)θ = 0 tenemos Euler Explí ito

(

C

∆t

)

Xn+1 =

(

C

∆t− G

)

Xn + W n (9.9)9.1.4. Método del gradiente.//Methods o f Conjugate Gradients f o r So l v ing Linear Systems// Magnus R. Hestenes and Eduar S t i e f e l .// r e s o l v e r e l s i s t ema de e ua iones A*x=K// s iendo l a matr iz A nos imétr i a y d e f i n i da p o s i t i v a o As ime t r i a y no nega t i va .i t e r =8;A=[3 4 ; 3 5 ;K= [ 1 ; 2 ;n=s ize (A) ;dim=n (1 ,1 ) ;x=zeros (dim , 1 ) ;// r=zeros (dim ,1 ) ;r=zeros (dim , 1 ) ;r r=zeros (dim , i t e r ) ;r_mas=zeros (dim , 1 ) ;p=zeros (dim , 1 ) ;pp=zeros (dim , i t e r ) ;X0=zeros (dim , 1 ) ; // i n i i a l i z ax=X0 ;phi=zeros (dim , 1 ) ;r=K−A*x ;a=(r ) '* ( r ) / ( ( r ) '* (A* r ) ) ;for j a =1: i t e rx=x+a* r ;a=(r ) '* ( r ) / ( ( r ) '* (A* r ) ) ;r=K−A*x ;endx s i l a b=inv (A) *K;// p l o t forma uadra t i a .xx=x ;// phi=1/2*(A(1 ,1)*x*x+A(1 ,2) *x*y+A(2 ,1) *y*x+A(2 ,2) *y*y )−(K(1 ,1) *x+K(2 ,1) *y ) ;

Page 102: Memoria PFC Ayose Lomba

72 9. Métodos numéri os.deff ( ' z=f (x , y ) ' , ' z=1/2*(A(1 , 1 ) *x*x+A(1 ,2 ) *x*y+A(2 ,1 ) *y*x+A(2 ,2 ) *y*y )−(K(1 , 1 ) *x+K(2 ,1 ) *y ) ' )x=−2:0.05:5 ; y=x ; l f ( ) ; fplot3d (x , y , f , alpha=5, theta=31)// fun t i on z=myfun (x , y )// z=1/2*(A(1 ,1) *x*x+A(1 ,2) *x*y+A(2 ,1) *y*x+A(2 ,2) *y*y )−(K(1 ,1) *x+K(2 ,1) *y )// endfun t ion//x=3;y=4;//g=numdiff ( l i s t (myfun ,3 ,4 ) ,1)9.1.5. Método de las dire iones onjugadas.//Methods o f l a s d i r e i one s onjugadas for So l v ing Linear Systems// Magnus R. Hestenes and Eduar S t i e f e l .// r e s o l v e r e l s i s t ema de e ua iones A*x=K// s iendo l a matr iz A s imé t r i a y d e f i n i da p o s i t i v a o A s ime t r i ay no nega t i va .dimension=300;AA=rand ( dimension , dimension , ' uniform ' ) ;A=AA'*AA;KK=rand ( dimension , 1 , ' uniform ' ) ;K=AA'*KK;t i ( ) ;n=s ize (A) ;u i=eye (n (1 , 1 ) ,n (1 , 1 ) ) ; // base d e l e spa io ( anoni a )di=zeros (n (1 , 1 ) ,n (1 , 1 ) ) ; // d i r e i one s onjugadasdim=n (1 ,1 ) ;// di ( : , 1 )=ui ( : , 1 ) ;suma=0;//Gram− S hmidt Conjugation ////////////////////for j a =1:dim ;for jb=1: ja −1;suma=suma−ui ( : , j a ) '*A*di ( : , jb ) /( d i ( : , jb ) '*A* di ( : , jb ) ) *( d i ( : , jb ) ) ;enddi ( : , j a )=ui ( : , j a )+suma ;suma=0;end//////////////////////////////////////////////////// b e t a i jxx=zeros (dim , 1 ) ;r=zeros (dim , 1 ) ; // re s i duo// [X, d i a g e v a l s = spe (A) ;// l o s au t o v e t o r e s de l a matr iz s ime t r i a

Page 103: Memoria PFC Ayose Lomba

9.1. Métodos de solu ión de sistemas de e ua iones algebrai as lineales. 73son A or togona l e s a l mismo// que or togona l e s// f o r ja=1: dim ;// d i ( : , ja )=X( : , ja ) ;//endfor j a =1:dim ;r=K−A*xx ;a l f a=di ( : , j a ) '* r /( d i ( : , j a ) '*A*di ( : , j a ) ) ;xx=xx+a l f a * di ( : , j a ) ;endt=to ( ) ;x s i l a b=inv (A) *K;deff ( ' z=f (x , y ) ' , ' z=1/2*(A(1 , 1 ) *x*x+A(1 ,2 ) *x*y+A(2 ,1 ) *y*x+A(2 ,2 ) *y*y )−(K(1 , 1 ) *x+K(2 ,1 ) *y ) ' )x=−4:0.1:4 ; y=x ; l f ( ) ;f ontour2d (x , y , f , 2 0 ) ;9.1.6. Método del onjugado del gradiente//Methods o f Conjugate Gradients f o r So l v ing Linear Systems// Magnus R. Hestenes and Eduar S t i e f e l .// r e s o l v e r e l s i s t ema de e ua iones A*x=K// s iendo l a matr iz A s imé t r i a y d e f i n i da p o s i t i v a o A s imé t r i ay no nega t i va .i t e r =4;A=[1 2 −1 1 ;2 5 0 2 ; −1 0 6 0 ;1 2 0 3 ;K= [0 ; 2 ; −1 ; 1 ;n=s ize (A) ;dim=n (1 ,1 ) ;x=zeros (dim , 1 ) ;r=zeros (dim , 1 ) ;r_mas=zeros (dim , 1 ) ;p=zeros (dim , 1 ) ;X0=zeros (dim , 1 ) ; // i n i i a l i z ax = [ 1 ; 0 ; 0 ; 0 ;p=K−A*x ;r=K−A*x ;a=p '* r / ( (p '*A*p) ) ;for j a =1: i t e r ;x=x+a*p ;r_mas=r−a*A*p ;b=−r_mas '*A*p/(p '*A*p) ;

Page 104: Memoria PFC Ayose Lomba

74 9. Métodos numéri os.p=r_mas+b*p ;r=r_mas ;a=p '* r / ( (p '*A*p) ) ;end

Page 105: Memoria PFC Ayose Lomba

Capítulo 10Análisis en Fre uen ia.10.1. Respuesta fre uen ial de ir uitos.Un programa para la determina ión de la respuesta fre uen ial de ir uitos analógi osa partir de las fun iones de la red o de transferen ia, debe in luir los siguientes pasos:1. Formula ión automáti a del sistema de e ua iones a partir de la des rip ión del ir uito, apli ando el Método Nodal Modi ado.2. Ele ión de un onjunto de valores de las variables s o z uyo número sea superioren una unidad al orden del ir uito, que para los analógi os invariantes es, omomáximo, igual al de ondensadores, indu tores.3. En el aso de ir uitos analógi os invariantes, solu ión del sistema de e ua ionespara ada valor si la variable s y determina ión de los valores de N (si) y D (si) orrespondientes a los polinomios numerador y denominador, respe tivamente, dela fun ión de transferen ia. Para ello se sustituye en la matriz del sistema T (s) lavariable s por si, y se al ula su determinante | T (si) | que oin ide on el valor delpolinomio del denominador D (s) según la expresión siguiente.

D (si) =| T (si) |Posteriormente, se iguala la ex ita ión a la unidad y se resuelva el sistema para lavariable Y (s). Al umplirse queN (si) = H (si) =

N (si)

D (si)el valor de N(si) puede determinarse según la expresiónN (si) = Y (si) · D (si)en la que los valores de la variable de salida y del denominador de la fun ión de redse han obtenido anteriormente. 75

Page 106: Memoria PFC Ayose Lomba

76 10. Análisis en Fre uen ia.4. Determina ión de la fun ión de la red por interpola ión.Los (n + 1) oe ientes de un polinomio de grado n pueden obtenerse por interpo-la ión de los valores que toma para (n + 1) valores de su variable. En onse uen ia,interpolando los resultados obtenidos en el paso anterior, se podrán determinar los oe ientes de los polinomios del numerador y denominador de la red, H (si). Unprograma que obtiene di has fun iones expresadas en s o simbóli os, que las de-terminan en fun ión de estas variables y de los símbolos asignados a los elementosdel ir uito, propor ionando una informa ión de igual alidad que la que se puedeobtener de un análisis manual, pero on la ventaja de poder abordar ir uitos demayor omplejidad.5. Cál ulo de la respuesta temporal del sistema utilizando SCILAB y SCICOS.La manera tradi ional de hallar la respuesta temporal del sistema es una vez halladala fun iones de transferen ia se multipli a esta por la entrada y se al ula la anti-transformada de Lapla e.Mediante el software men ionado anteriormente podemos hallar dire tamente la re-spuesta temporal sin más que simular nuestro ir uito introdu iendo omo datos lasfun iones de transferen ia. Podemos hallar de esta manera in luso un representa ióngrá a del resultado de la simula ión, bien en fun ión del tiempo, bien en fun iónde ualquier otra variable. Es interesante desde este punto de vista trabajar onvariables de estado. El software permite trabajar en el ampo de las variables deestado dire tamente a partir de las fun iones de transferen ia.Los problemas más importantes que se plantean al elaborar un programa según lospasos que se a aban de des ribir son el ál ulo del determinante de una matriz, lasolu ión de un sistema de e ua iones lineales y algebrai as y la determina ión de los oe ientes de un polinomio por interpola ión. Su tratamiento ongura el ontenidode los siguientes apartados.10.2. Cál ulo de los oe ientes de un polinomio porinterpola ión.Los (n + 1) oe ientes ai de un polinomio de grado n, Pn (x), pueden obtenerse porinterpola ión de (n + 1) valores, Pn (xk), que toma el polinomio para un número igual devalores xk de la variable.En efe to, del polinomioPn (x) =

∑k

m=1 aixi = a0 + a1x + a2x

2 + · · · + anxnse derivan (n + 1) e ua iones uya expresión general esa0 + a1xk + a2x

2k + · · · + anx

nk = ykque forman el sistema

Page 107: Memoria PFC Ayose Lomba

10.2. Cál ulo de los oe ientes de un polinomio por interpola ión. 77

1 x0 · · · xn0

1 x1 · · · xn1

· · · · · · · · · · · ·1 xn · · · xn

n

a0

a1

· · ·an

=

y0

y1

· · ·yn

que puede expresarse omoXa = y (10.1)y de uya solu ión se obtienen los oe ientes del polinomio.Di ha solu ión existe y es úni a al ser el determinante de X, llamado de Vandermonde,igual a

|X| =∏n

i>j=0 (xi − xj)que es distinto de ero siempre quexi 6= xjEn prin ipio, puede elegirse ualquier onjunto de valores de xk, aunque la ele iónóptima es la de (n + 1) números omplejos de módulo unidad, tales que la diferen ia entrelos argumentos de dos de ellos su esivos, xk+1 y xk, sea onstante e igual a 2π

n+1, y que elprimero sea real. La expresión general de xk es

xk = ej2πk

n+1 ; k = 0, 1, ...nsiendo, para k = 0 y ualquier valor de nx0 = 1Los números xk, así denidos se representan en el plano omplejo omo un onjunto depuntos igualmente espa iados sobre la ir unferen ia de radio unidad, según se muestra enla gura siguiente para distintos valores de n.

n = 2

n = 5n = 4n = 3

n = 0 n = 1

Page 108: Memoria PFC Ayose Lomba

78 10. Análisis en Fre uen ia.Puntos de interpola ión para distintos grados del polinomioSi n + 1 es par, el valor de xk, para k =(

n+12

) es igual a -1, ya que su argumento es2π(n+1)2(n+1)

= πAdemás el onjugado de uno ualquiera de los puntos xk también pertene e al onjunto, orrespondiéndole el número entero (n + 1 − k). En efe to, su argumento es2π(n+1−k)

n+1= 2πk

n+1que oin ide on el onjunto de xk.Esta parti ular ele ión de los valores de xkse justi a por dos motivos. Por una parte,no se ampli an los errores de redondeo en la solu ión del sistema y por otra, di ha solu iónse ve fa ilitada al poder expresarse la matriz X−1 en fun ión de X, de forma ompa ta.Se des ribe a ontinua ión el algoritmo que permite la determina ión de los oe ientes ajde un polinomio, a partir de sus valores yk.Deniendo la variable w omow = e

j2πk

n+1los valores de xk se pueden expresar omoxk = wk ; k = 0, 1, ...ny el elemento de la la (i + 1) y de la olumna (j + 1) en la matriz X viene dado por

xi+1 j+1 = wijSe trata ahora de demostrar que la inversa de la matriz del sistema X es igual a sutraspuesta onjugada X∗ dividida por el entero n +1. Di has matri es sonX =

1 1 1 · · · 11 w w2 · · · wn

1 w2 (w2)2

· · · (w2)n

· · · · · · · · · · · · · · ·

1 wn (wn)2 · · · (wn)n

X =

1 1 1 · · · 11 w−1 w−2 · · · w−n

1 w−2 (w−2)2

· · · (w−2)n

· · · · · · · · · · · · · · ·

1 w−n (w−n)2

· · · (w−n)n

siendo el término de la la y olumna (n + 1) de su produ to igual a

Page 109: Memoria PFC Ayose Lomba

10.2. Cál ulo de los oe ientes de un polinomio por interpola ión. 79∏n

k=0

(

wik − w−ik)

= n + 1mientras que el de su la (i + 1) y olumna (j + 1)es∏n

k=0

(

wik − w−ik)

=∏n

k=0 (wi−j)kexpresión en la que los (n + 1)sumandos forman una progresión geométri a de razón

(wi−j) y primer término igual a la unidad, siendo nula la suma de sus términos, ya que∏n

k=0 (wi−j)k

= w(i−j)(n+1)−1w(i−j)−1

= 0al ser[

w(i−j)]i−j

= 1Con esto queda demostrado queXX∗ = (n + 1) Iy, omo onse uen ia, queX−1 = 1

(n+1) X∗La solu ión del sistema (A.4) puede expresarse omoa = X−1y = 1

(n+1) X∗yde la que pueden obtenerse los oe ientes del polinomioaj = 1

(n+1)

∑n

k=0 ykw−ik; i = 0, 1, ..., n (10.2)siendo la expresión de sus valores, yk

yk =∑n

i=0 aiwik (10.3)Las expresiones 10.2 y 10.3 orresponden a las de la transformada de dire ta e inversadis reta de Fourier (DFT) para uyo ál ulo existen algoritmos de gran e a ia.Por otra parte, puede demostrarse que los efe tos sobre ai de los errores de redondeoen la determina ión de xk e yk se redu en al disminuir el parámetro K (X) denido por

K (X) =

λmax

λmindonde λmaxyλmin son los valores propios máximo y mínimo de la matriz XX∗, siendoX∗ la matriz onjugada transpuesta de X.Tal omo han sido elegidos los valores de xk se umple que

XX∗ = (n + 1) I

Page 110: Memoria PFC Ayose Lomba

80 10. Análisis en Fre uen ia. uyos valores propios son todos iguales a (n + 1) y, en onse uen ia, el valor de K (X)es igual a la unidad. Cualquier otra ele ión de xk hará que di hos valores propios seandistintos y que K (X) sea mayor que la unidad. De lo anterior se on luye que los valoreselegidos son óptimos de ara a redu ir los errores de redondeo en la solu ión del sistema.En la determina ión de los oe ientes de un polinomio puede su eder que su grado nno sea ono ido previamente y que la interpola ión se haga a partir de (n + m + 1) valoresde yk, al suponer que su grado es (n + m) y el polinomio de la formayk = Pn+m (x) =

∑n+m

i=0 a′iw

ikEn un análisis exta to, los valores obtenidos seríana′

i = ai i ≤ na′

i = 0 i > n(10.4)de forma que no se genera ningún error al suponer un grado mayor que el real.En efe to, independientemente de los puntos xk elegidos el sistema a resolver es de laforma

a′i + a′

1xk + a′2x

2k + · · ·+ a′

nxnk + a′

n+1xn+1k + · · ·+ a′

n+mxn+mk = yk

k = 0, 1, ... , n + m(10.5) umpliéndose quea′

i + a1xk + a2x2k + · · ·+ akx

nk = yk (10.6)Restando las expresiones 10.5 y 10.6 se obtiene

(a′i − a0) + (a′

1 − a1) xk + · · ·+ (a′n − an) xn

k + a′n+1x

n+1k + · · · + a′

n+mxn+mk = 0

k = 0, 1, · · · , n + msistema de e ua iones homogéneo que al tener que umplirse par ualquier onjunto devalores de xk, impli a las igualdades espresadas en 10.4.En aso de que la interpola ión se haga por ordenador los valores de los oe ientes,que teóri amente tienen que ser nulos, darán resultados distintos de ero aunque de variosórdenes de magnitud menores que el resto por lo que podrán ser fá ilmente dete tados.Este último aspe to tiene interés en el análisis automáti o de ir uitos en el que onfre uen ia se ha e estima ión del orden del ir uito superior al real.

Page 111: Memoria PFC Ayose Lomba

10.3. Elabora ión de una programa semisimbóli o de análisis de ir uitos 8110.3. Elabora ión de una programa semisimbóli o deanálisis de ir uitosDespués de estable er el riterio para la ele ión de los puntos de interpola ión, desar-rollar los métodos para la solu ión de sistemas de e ua iones lineales algebrai as y para ladetermina ión de oe ientes de un polinomio a partir de los valores que toma en númerode puntos superior omo mínimo en una unidad a su grado, se pueden formular los pasospara la elabora ión de un programa semisimbóli o para el análisis de ir uitos analógi osinvariantes.Estos pasos se on retan en:1. Formula ión automáti a del sistema de e ua iones. Para ello se apli a el MétodoNodal Modi ado resultando un sistema de la formaTX = W on los términos de la matriz T de primer grado en s.2. Estima ión del grado máximo de los polinomios de la fun ión de la red.En los ir uitos analógi os es, omo máximo, igual a la suma de los números deindu tores, ondensadores y ampli adores opera ionales no ideales modelados onuna fun ión de transferen ia que in luye un polo real, persentes en el ir uito.3. Ele ión de los puntos de interpola ión.En los ir uitos analógi os se elige un número de valores de la variable s superior enuna unidad al de la estima ión he ha para el grado máximo de los polinomios. Comose ha visto en el apartado anterior, di hos valores se representan en el plano omplejosobre la ir unferen ia de radio unidad, igualmente espa iados, siendo el primero deellos real e igual a uno.4. Cál ulo del denominador de H (si).La des omposi ión LU de la matriz del sistema para ada valor de si según las ex-presiones

T (si) = L (si)U (si)permite el ál ulo de su determinante, que oin ide on el valor del denominador dela fun ión de red, segúnD (si) = |T (si)| =

∏n

k=1 lkk5. Cál ulo del numerador de H (si).La determina ión del numerador de H (si) se ha e a partir de la solu ión del sistemade e ua iones del ir uito.En los ir uitos analógi os se al ula la variable de salida Y(si ) después de igualar

Page 112: Memoria PFC Ayose Lomba

82 10. Análisis en Fre uen ia.la ex ita ión a la unidad. Posteriormente, se obtiene el numerador de la fun ión dered H (si).N (si) = D (si) Y (si)Además no es ne esario repetir el pro eso para todos los puntos si ya que los valoresque toma el polinomio en xk y x∗

k son omplejos onjugados.Puede su eder que uno de los puntos de interpola ión oin ida on un polo de lafun ión de red, lo que impli a que no puede ompletarse la des omposi ión LU dela matriz del sistema ni determinar su solu ión. El problema puede resolverse, engeneral, on un ambio de los puntos de interpola ión aumentando el orden estimadodel ir uito.Los puntos 2 y 3 pueden observarse en los fragmentos de ódigo s ilab que se muestra a ontinua ión.10.3.1. Cál ulo del grado máximo de polinómios.// es t ima iòn de l orden máximo de l denominador de l a fun ión dered .o i =0;P=1;while (P)==1o=L(4)+L(6)+(2*L(8) )+o i ;w=exp(%i*%pi*2/( o+1) ) ;oo=o+1;I=0;while I<oos=w^I ; //Xk números omple jos óptimosRI=real (T) ;S=imag(T) ;S1=S* s ;TT=RI+S1 ;t=rank (TT) ;i f t==n// e l rango de l a matr iz T//para ese número omple jo o in ide on n l a matr iz// es no s i n g u l a r s inó se in rementa e l orden de l po l inomio //enuna unidad .I=I+1;P=0;elseP=1;o i=o i +1;

Page 113: Memoria PFC Ayose Lomba

10.3. Elabora ión de una programa semisimbóli o de análisis de ir uitos 83I=oo+1;endendend10.3.2. Cál ulo del polinomio denominador.// á l u l o d e l denominador// pasos//A**************oo=o+1;bk=zeros ( oo+1) ;yk=zeros ( oo ) ;w=exp(%i*%pi*2/( o+1) ) ;I =0;while I<oos=w^I ; // d i s t i n t o s numeros omple josRI=real (T) ;S=imag(T) ;S1=S* s ;TT=RI+S1 ;yk ( I+1)=det (TT) ;I=I+1;endfor I =1:oosumb=0;for k=1:oosumb=yk (k ) *w^(−(I−1)*(k−1) )+sumb ;endbk ( I )=sumb/oo ; // ada o e f i i e n t e según sumatoriaend

Page 114: Memoria PFC Ayose Lomba
Page 115: Memoria PFC Ayose Lomba

Capítulo 11Matri es Sparse.En el análisis de ir uitos mediante el método nodal modi ado utilizado por Ávalon,se debe siempre resolver en última instan ia un sistema de e ua iones matri ial del tipoAx = b, donde A es una matriz dispersa (sparse) y está ensamblada omo tal. Esta forma depro eder se fundamenta en que en la teoría de ir uitos es habitual en ontrarse on matri es on mu hos valores nulos. En esta parte de la memoria se abordará de forma super ial omo se dene, lasi an y utilizan las matri es sparse, para que se pueda entender, deforma orre ta, su uso en el ódigo del programa.Las matri es sparse han aumentado en los últimos tiempos su notoriedad, no sólopor su probada importan ia en la omputa ión, sino por su generaliza ión y apari iónen mu hos tipos de problemas de diversos ampos, omo son los de optimiza ión a granes ala, problemas de dinámi a de uidos, elementos nitos y en el análisis de ir uitos. Porlo general aquellos problemas en los que su ara teriza ión pase por una matriz on un altonúmero de elementos nulos deberían ha er uso de este tipo de matri es.

Figura 11.1: Ejemplo grá o de matriz sparse realizado por nuestro software.85

Page 116: Memoria PFC Ayose Lomba

86 11. Matri es Sparse.11.1. Deni ión de Matriz dispersa o Matriz Sparse.11.1.1. Deni ión.Deni ión 1: Se llama matriz sparse a una matriz uyos elementos en su mayoría sonnulos.Deni ión 2: Se di e que una matriz es dispersa uando se puede ha er uso de té ni asespe iales para sa ar ventaja del gran número de elementos eros que posee.11.1.2. Clasi a ión.Existen dos tipos de matri es dispersas, aquellas en que sus elementos forman patronesregulares denominadas Matri es Estru turadas y aquellas en las que los elementosno nulos se distribuyen de forma irregular, Matri es No Estru turadas. Con estaprimera lasi a ión se pueden diseñar métodos que se basen en la estru tura de la matrizo métodos que utili en la dispersidad de la matriz.Llegados a este punto debemos implementar dos deni iones de interés para las matri essparse a saber: Densidad de matriz y Dispersión de la matriz.Densidad: La densidad de una matriz dispersa se dene omo el o iente entre el númerode elementos no nulos y la dimensión de la misma.Dispersión: A la diferen ia entre la unidad y la densidad de la matriz se la dene omodispersión de matriz sparse.La ele ión por este tipo de matri es en el estudio y resolu ión de ir uitos no es arbitraria, on ella se bus a un onsiderable ahorro de tiempo de omputa ión omo de memoria delsistema que se en argue del ál ulo. Si bien es ierto que ini ialmente, los ejemplos que seplantean en este PFC son evidentemente simples y pequeños, se pretende que en un futuro,se amplíen los ir uitos analizados por el mismo en las diferentes líneas de do torado quese en uentran abiertas en el departamento al que pertene e el tutor de este proye to de nde arrera.Ini ialmente se lanza el proye to ompilado para un solo pro esador no obstante, on una ompila ión ade uada de la librería PETSc según el número de pro esadoresdisponibles junto a la nueva ompila ión del software de este PFC dejará disponible elprograma para trabajar on multipro esadores. Quedando una vez más de maniesto, lasventajas de disponer del ódigo fuente del programa para adaptarlo a los medios disponiblesdel usuario.De forma general, el uso de té ni as dispersas se justi a sólo en los asos en los que ladispersión de la matriz es lo su ientemente baja y que esta, no varíe de forma sustan ialdurante su tratamiento. Esto se debe a que en el a ondi ionamiento del sistema on unamatriz sparse puede darse el aso de que esta se llene demasiado y por tanto, el númerode elementos nulos pase a ser muy bajo. En este tipo de asos, se debe realizar un estudio

Page 117: Memoria PFC Ayose Lomba

11.2. ¾Cómo se denen las matri es sparse en C++? 87en el que se expongan las bondades de seguir on este tipo de análisis, realizarlo de formamixta o pasar dire tamente a un tratamiento de matri es densas.Otras referen ias y publi a iones rela ionadas on este tipo de elementos algebrai osrealizan una lasi a ión un po o más espe í a de las matri es dispersas.Matri es densas en las que se utiliza sólo una parte limitada de las mismas.Matri es dispersas on un patrón regular.Matri es dispersas on un patrón irregular. El tratamiento de este tipo será el másgenéri o dentro de las matri es de estas ara terísti as.Como ya se introdu ía al ini io de este apítulo mu hos de los problemas que ontienenmatri es sparse pasan por la resolu ión de un sistema lineal disperso de e ua iones, nuestro aso no es diferente, por lo que por este motivo, se optó por el uso de una librería ien-tí a desarrollada en C++ que permitiese la deni ión, genera ión y utiliza ión de formaade uada de este tipo de matri es.11.2. ¾Cómo se denen las matri es sparse en C++?Desde el punto de vista de la deni ión de la matriz sparse en C++ debemos tenerpresente que aunque la librería utilizada para la realiza ión del proye to (PETSc) seen arga del trabajo más tedioso, se debe tener una idea de ómo generan las mismas parauna mejor omprensión de estas en la apli a ión.La representa ión de una matriz densa no es más que el en adenamiento de sus oe- ientes por olumnas o por las, mientras que en el tratamiento de una matriz sparse,al no tener en uenta los elementos nulos, se posee un grado más amplio de libertad paraestru turar di has matri es. Esto también resulta determinante a la hora de realizar el dis-eño del programa o librería que se en argue de generar las matri es y a eder a las mismaspara su utiliza ión.Se debe tener en uenta que en el diseño y manejo de este tipo de matri es, inuye supatrón de relleno, si lo hubiese y el tipo de valores que alma ena, reales, omplejos omoa su vez si son de simple o de doble pre isión.PETS propor iona la posibilidad de trabajar on matri es del tipo estáti a CRS, dondepara más informa ión de omo trabaja on las mismas y realiza las opera iones podemosa udir a su manual en la web o ial de PETSC. En las próximas líneas se realiza unaintrodu ión de los prin ipales tipos de matri es sparse que existen.11.3. Estru turas de matri es sparse.Las estru turas que se pueden tener de las matri es dispersas son bási amente dos,a saber; estru turas estáti as y estru turas dinámi as. En las primeras la soli ita ión deespa io de memoria en la eje u ión del programa se realiza, omo su nombre indi a de

Page 118: Memoria PFC Ayose Lomba

88 11. Matri es Sparse.forma estáti a por los que su espa io de alma enamiento es jo. Por el ontrario, en lasestru turas dinámi as esto no su ede y se permite soli itar o liberar memoria durante laeje u ión del programa. El diseño de las estru turas de datos se basa en diversos parámetrospara su desarrollo y en onse uen ia para su ele ión, estos son:Flexibilidad de a eso.Consumo de memoria.Versatilidad.Fragmenta ión de memoria.11.3.1. Estru turas Estáti as.Estru tura estáti a por oordenadas.Tal vez sea la más intuitiva y lógi a de las que se exponen, se basa en el uso de tresve tores que alma enan respe tivamente el oe iente de la matriz, la posi ión en la, laposi ión en olumna. La ontra de este tipo de alma enamientos es el onsumo de memoriaque a arrean, por ada oe iente se alma enan tres valores. Los oe ientes se puedenordenar según las o olumnas.Valor a b d e f g hFila 1 2 3 3 3 5 5 5Columna 1 2 4 1 1 3 4 5Cuadro 11.1: Matriz Estáti a por Coordenadas ordenada por las.Estru tura estáti a CRS o CCS.CRS es el a rónimo de Compressed Row Storage (Alma enamiento omprimido porlas). Es este tipo de estru tura de alma enamiento se sustituye uno de los ve tores deposi ionamiento, on retamente el de las por uno de punteros al prin ipio de ada la.Si lo que se realiza es la sustitu ión del ve tor de las olumnas estamos ante la estru tura ono ida omo CCS. Este tipo de estru tura ya impli a un ahorro de memoria pero ela eso está restringido a una de las dos dire iones las o olumnas, es de ir es muy rápidoel a eso a valores de una la en una CRS pero mu ho más lento si se barre por olumnas.El trabajar on este tipo de estru turas es ompli ado desde el punto de vista del pivoteo,trasposi iones o insertamientos de nuevos valores o entradas.

Page 119: Memoria PFC Ayose Lomba

11.3. Estru turas de matri es sparse. 89Valor a b d e f g hColumna 1 2 4 1 3 1 3 4Puntero al prin ipio de ada la 1 2 4 6 6 9Cuadro 11.2: Matriz Estáti a por CRS.11.3.2. Estru turas dinámi asLLRCS Linked List Row Column Storage (Lista bidimensional doblemente en-lazada)Los in onvenientes de las estru turas estáti as a la hora de apli ar métodos donde seane esario la transposi ión de elementos o la modi a ión de la matriz durante su tratamien-to dieron paso a la genera ión de este tipo de estru tura dinámi a. En ellas, este tipo detratamientos se resuelve de forma e az al alma enar los siguientes valores: oe iente,índi e de la, índi e de olumna, puntero a omienzo de la y puntero a omienzo de olumna.

Figura 11.2: Estru tura Dinámi a, Lista Bidimensional doblemente enlazada.

Page 120: Memoria PFC Ayose Lomba
Page 121: Memoria PFC Ayose Lomba

Apéndi es.

91

Page 122: Memoria PFC Ayose Lomba
Page 123: Memoria PFC Ayose Lomba

Apéndi e AManual de X ir uit.A.1. Instala ión del X ir uit.Las diferentes formas de instala ión del programa vienen perfe tamente expli adas enla página o ial del proye to X ir uit, no obstante expondré la forma en la que se harealizado para Debian Et h 4.0, por no estar entre sus paquetes o iales a fe ha en que seha omenzado este proye to. Varias son las formas de instala ión en Et h entre las que seexpli arán tres posibilidades.1. La primera forma de instalar el X ir uit en Debian requiere algo de prá ti a, ya quedeberemos, de forma temporal, ambiar de repositorios e in luir los de la versióntesting lenny o bien la inestable sid para poder tener a eso al software desde elgestor Synapti o desde onsola. Esto se debe a que en estos momentos el paquetede X ir uit no se en uentra en la lista de programas onsiderados estable por la omunidad de Debian. Si se tiene alguna duda sobre omo se debe pro eder para lainstala ión por esta línea onsultar el anexo G en la página~1492. Otra posibilidad es el uso de la instala ión en línea a partir del repositorio CVS(Con urrent Versions System) siguiendo los pasos indi ados a ontinua ión y quepodéis onsultar en http://open ir uitdesign. om/x ir uit/a) El repositorio CVS anónimo puede ser utilizado para des argar la versión másre iente del ódigo de X ir uit. Para usar el CVS anónimo debemos te lear en onsola (Shell) el siguiente omando: vs −d : p s e rve r : anonymousopen ir uitdesign . om:/ usr / v s roo t l o g i nLa lave o password ne esaria es "anon vs ". Prestar aten ión al es-pa io final que debe ser in luido.Tras logearnos pasamos a introdu ir otra instru ión en la shell:93

Page 124: Memoria PFC Ayose Lomba

94 A. Manual de X ir uit. vs −d : p s e rve r : anonymousopen ir uitdesign . om:/ usr / v s roo t he kout x i r u i t −3.4o bien esta otra vs −d : p s e rve r : anonymousopen ir uitdesign . om:/ usr / v s roo t he kout x i r u i t −3.6Los nombres de los módulos son "x ir uit" y "x ir uit-dev" para la version es-table (3.4) y la de desarrollo (3.6) respe tivamente; los nombres de los módulospueden ser utilizados en lugar de "x ir uit-3.4" y "x ir uit-3.6" de las instru - iones anteriores.3. Por último la op ión que onsidero más efe tiva ya que nos propor iona una ver-sión perfe tamente operativa y sin ningún problema en los diferentes ordenadoresen los que ha sido probada es la instala ión del paquete *.deb (x ir uit_3.4.26-0ubuntu1_i386.deb) que también en ontramos en la se ión de des argas de la páginade X ir uit.Debemos tener presente que para que este fun ione y no nos de problemas dedependen ias hemos de tener instalada la librería lib 6-dev que se en uentradisponible en estos momentos en los repositorios de lenny. Por lo que parainstalarla, deberemos tener a tivo los repositorios del testing.Para instalar un paquete *.deb se pro ede on el omando dpkg -i nombre_paquetepor lo que en nuestro aso:dpkg -i x ir uit_3.4.26-0ubuntu1_i386.debA.2. Eje utar el programaTras la instala ión del X ir uit en nuestra plataforma, lo úni o que debemos ha er eseje utar el programa de la forma habitual en la que se ha e en Linux. Podemos optarpor lanzarlo desde una Shell, o desde la ubi a ión del programa bus ando su eje utable.Podemos también rear un a eso dire to en nuesro es ritorio. Claro está que esto se haríaasí, si sólo quisiésemos usar el X ir uit, pero si lo que se desea es resolver un ir uito lolanzaremos a partir de Ávalon, para lo ual seguiremos la forma de eje u ión indi ada enel manual de usuario del programa.Las ara terísti as de la ventana del XCir uit son:1. En la parte de arriba están los botones desplegables del menú: Ar hivo, Editar,Texto, Op iones y Ventana.2. Al lado de los botones del menú, hay un mensaje de bienvenida que nos di e la versióndel programa.

Page 125: Memoria PFC Ayose Lomba

A.2. Eje utar el programa 95

Figure A.1: X ir uit.3. En la parte de abajo en la izquierda, hay un mensaje que nos di e lo que estamoseditando en ese momento, omo por ejemplo: Página 1.4. El resto del mensaje de la parte de abajo de la ventana, nos di e la librería que elprograma ha argado. Este mensaje desapare e en 10 segundos.5. A la izquierda y de arriba abajo de la pantalla, se en uentran dos barras de desplaza-miento que nos dan la posi ión del dibujo y que pueden ser usadas para reposi ionarel dibujo ha iendo li k en la barra on ualquier botón del ratón.6. En el entro está el área de dibujo en blan o, on una rejilla de olores y unas líneasde ejes.

Figure A.2: Línea on X ir uitHay dos formas de apretar los botones del ratón. Cuando un botón es pulsado y selibera rápidamente, es lo que denominamos simplemente omo li k. Cuando un botón es

Page 126: Memoria PFC Ayose Lomba

96 A. Manual de X ir uit.pulsado y mantenido, es lo que llamamos arrastrar.XCir uit no utiliza el doble li k. Además debes de tener desa tivado el bloqueonuméri o, ya que sino el XCir uit no desplegará el menú.A.3. Cambiar una op ión del menú1. Presiona el botón de "Options" on el botón 1 y mantenlo mientras arrastras el ursor on el ratón.2. Manteniendo el botón presionado, mueve el ursor ha ia abajo hasta llegar a la op iónde "Element". Cada op ión ambia de olor uando pasas el ursor por en ima.3. Ahora mueve el ursor a la dere ha, verás que otro menú se despliega.4. Mueve el ursor hasta donde pone "Color". Si mueves el ursor sobre el mismoapare e otro menú despegable. Verás, que está sele ionado "Inherit Color" es de irque está el olor por defe to.5. Ahora mueve el ursor ha ia un olor y suelta el botón. El menú desapare erá yhabrás ambiado el olor por defe to al olor que hayas elegido.6. Repite los pasos del 1 al 4, y verás que ahora el olor por defe to es el que hayaselegido.A.4. Dibujar una líneaEl botón 1 tiene una fun ión distinta a la que se des ribió en el apartado anterior.Puede ser usado para sujetar un objeto y moverlo.Ahora que ya hemos aprendido las fun iones de los botones del menú, es hora deaprender a dibujar algo. El objeto más simple y omún para dibujar es un polígono.1. Haz un li k on el botón 1 en ualquier parte del área de dibujo y suéltalo inmedi-atamente. Si esperas mu ho tiempo antes de soltarlo, el XCir uit interpretará queestás intentado arrastrar el elemento en la pantalla, y no o urrirá nada, porque nohay nada que arrastrar.2. Mueve el ursor alrededor de la pantalla. Una línea apare erá entre el punto origeny el punto donde se en uentra el ursor.3. Haz un li k on el botón 1 otra vez, para terminar la línea. Una nueva línea apare- erá, y tendrá omo omienzo el punto nal de la línea anterior. Haz esto tantasve es omo sea ne esario para formar tu polígono. Termina el polígono ha iendo un li k on el botón 2.

Page 127: Memoria PFC Ayose Lomba

A.5. Mover un objeto 974. Repite estos pasos (del 1 al 3) pero esta vez termina on un li k del botón 3. Lalínea que a abas de rear desapare erá. Lo que has he ho es an elar la opera ión.

Figure A.3: Polilínea on X ir uit.Para la mayoría de opera iones en el programa, ha er un li k on el botón 1 signi aempezar o ontinuar una opera ión, ha er un li k on el botón 2 signi a la termina iónde la opera ión, y ha er un li k on el botón 3 signi a an elarla. El omportamientopuede ser un po o diferente dependiendo de las ir unstan ias, y el omportamiento de losbotones 1 y 2 uando hablamos de pulsar y arrastrar puede ser diferente.A.5. Mover un objeto1. Presiona el botón 1 er a de una línea del polígono que has reado. Sujeta el botón.La línea debería ponerse de olor oro, indi ando que ha sido sele ionada. Si nadao urre, es que el ursor está demasiado lejos de la línea. Sólo tienes que soltar elbotón para desele ionar la línea.2. Intenta arrastrar y liberar el poligono desde diferentes distan ias para saber uántode er a debes estar del objeto para arrastrarlo.3. Ahora arrastra el polígono, y on el botón mantenido, mueve el ursor a través de lapantalla. El polígono seguirá al ursor.A.6. Cambiar las propiedades del polígonoEl botón 2 también tiene otra fun ión. En el modo normal, puede ser usado parasele ionar objetos y editar y ambiar sus propiedades. Ahora utilizaremos el botón 2 parasele ionar el polígono que has reado y ambiar el trazo de la línea a dis ontinuo.Sele iona el objeto ha iendo un li k on el botón 2 on el ursor er a del objeto. Elobjeto se tornará de olor oro, indi ando que está sele ionado.

Page 128: Memoria PFC Ayose Lomba

98 A. Manual de X ir uit.1. Haz un li k on el botón 3, y la sele ión se an elará.2. Hay otro forma de sele ionar el objeto. Si pones el ursor a la izquierda del objetoy presionas el botón 2 y lo mantienes mientras lo mueves y abar as todo el objeto,verás que un uadrado verde apare e, esto quiere de ir que lo que queda dentro sesele ionará.3. Presiona el botón 3 para desele ionar el objeto.4. Repite los pasos de 3 hasta el 5, dándote uenta que si no está dentro del uadradola totalidad del polígono, no estará sele ionado.5. Ahora sele iona el polígono.6. Vete a "Options->Elements" -> "Border" y sele iona "Dashed" que signi a onguiones o a trazos. Cuando sueltes el botón, el polígono estará dibujado on líneas atrazos.Algunas de las mu has variedades de olores y tipos de líneas se mostrarán a ontinua ión.

Figure A.4: Trabajando on polígonos.A.7. Cambiar de páginaEl XCir uit tiene múltiples páginas. Hay dos formas de ambiar de página, desde elmenú o mediante el te lado.

Page 129: Memoria PFC Ayose Lomba

A.8. Sele ionar un objeto de la librería 991. Sele iona en el menú "Window->Goto Page ->Page 2". El polígono que a abas dedibujar en la pagina 1 desapare erá, y apare erá una página en blan o, y en la partede abajo en la izquierda, apare erá "Page 2". Ahora estamos en la página 2.2. Ahora vuelve a la página 1 usando el te lado. Con el ursor en el área de dibujo,presiona el botón "1". Volverás a la página 1.3. Las te las del "1' al "9", in luyendo el "0", te pasan de una página a otra.4. Vuelve a la página 2.A.8. Sele ionar un objeto de la libreríaOtra tarea muy omún es la de sele ionar un objeto de la librería y olo arlo en elárea de dibujo.1. Sele ionar "Window->Shown Library" en el menú, o presiona el "l" en el área dedibujo.2. Una ventana apare erá, enseñando los objetos que se en uentran en la librería.3. Arrastra un objeto moviendo el ursor sobre ál y presionando y manteniendo el botón1. En uanto sueltes el botón, el objeto de la desapare e, y podrás arrastrarlo a lapágina 2. Cuando sueltes el botón, el objeto se desele ionará.4. Sele iona el objeto ha iendo un li k on el botón 2. Intenta ambiar el estilo del ontorno. Verás que no o urre nada. Esto es debido a que es un objeto de la librería, yson objetos ompuestos al que no les puedes modi ar sus propiedades. Sin embargo,le puedes ambiar el olor y el tamaño.5. Sele iona el objeto otra vez, y sele iona en el menú: "Options-> Elements-> Obje tSize".6. Una ventana apare erá preguntándote por el tamaño del objeto. Colo a el ursor en ualquier lugar dentro de la ventana y ambia el tamaño de "1.00" a "1.5"7. Conrma presionando el botón de "Okay". La ventana desapare erá y el objeto ahoraserá 1.5 ve es el original (Es de ir, el largo y an ho del objeto es 1.5 ve es su valoranterior).

Page 130: Memoria PFC Ayose Lomba

100 A. Manual de X ir uit.

Figure A.5: Trabajando on polígonos.A.9. Usar el te lado para rear un ar oNormalmente una vez que nos aprendemos los omandos por te lado resulta mas fá ilque utilizar los botones del menú.1. Sele iona en el menú: "Edit-> Make Ar ".2. Apare e un mensaje que te di e que debes presionar el botón 1 y arrastrarlo para rear un ar o," li k button 1 and drag to reate a ar ".3. Colo a el ursor donde quieres que sea el entro del ar o y presiona. Mientrasmantienes el botón pulsado, arrastra el ursor por la pantalla. Un ar o seguiráal ursor.4. Suelta el botón. Ahora puedes editar el ángulo del primer punto nal. Si quieres un ír ulo, haz un li k on el botón 2 para terminar. Si mantienes presionado el botón1, podrás editar todas las propiedades del ar o así omo la posi ión del punto nal ylos ejes de la elipse.5. Ahora, rea un ar o es ribiendo la letra "a", mientras el ursor esté en al área dedibujo. La prin ipal diferen ia es que el botón 1 no ha e falta que esté pulsadomientras formas el radio del ar o. Después el ar o puede ser editado omo en elapartado anterior.A.10. Op iones de aumento y panorámi as1. Para ha er una panorámi a de la pantalla, sólo tienes que entrar el ursor en el ar oy te lear la letra "p".

Page 131: Memoria PFC Ayose Lomba

A.11. Sele ionar múltiples objetos 101

Figure A.6: Ar os on el Make Ar .2. También lo puedes ha er mediante los botones de men: "Window->Center Pan" y olo ando el ursor en el lugar que quieres que sea el nuevo entro de la pantalla.3. Te leando las letras "Z" y "z", aumentaremos o disminuiremos el zoom. También lopodemos ha er on el men: "Window -> Zoom out".4. Puedes ha er un zoom de una área parti ular ha iendo la sele ión on el re tánguloen olor verde omo el que hi imos en el apartado 5. Te leando "Z" uando tenemostodavía el botón esté pulsado el área sele ionada aumentará.5. Otra solu ión es ir a "Window -> Zoom Box" y luego sele ionar mediente el re -tángulo lo que queremos aumentar. Cuando soltemos el botón del ratón, el áreasele ionada aumentará.A.11. Sele ionar múltiples objetos1. Limpia la pantalla sele ionando en el menú: "File->Clear Page". No hay un o-mando por te lado para realizar esta tarea para evitar posibles borrados a identales.2. Arrastra varios objetos de la librería y olo álos uno en ima del otro en mitad de lapágina.3. De ide uál de los objetos quieres mover.4. Ahora presiona el botón 1 omo si fueras a sele ionar el objeto que quieres mover.Como el omando es ambiguo, el programa no logra saber uál o uáles de los objetosquieres mover, es ne esario que se lo espe iques.5. Cuando un objeto se vuelva azul, en la barra de informa ión en la parte de abajo dela pantalla, apare erá una pregunta: "Clik to a ept/reje t: 1 of 3". Estoquiere de ir que reali emos un li k si estamos de a uerdo o re hazamos mover los

Page 132: Memoria PFC Ayose Lomba

102 A. Manual de X ir uit.objetos, teniendo en uenta que el número de los objetos a mover dependerá de losque el ursor en uentre en la página.6. Si el objeto que queremos mover está azul, haremos un li k on el botón 2. Si elobjeto que no queremos mover está azul, haremos un li k on el botón 3.7. Cuando hayas elegido o re hazado ada uno de los objetos, el ursor se onvertirá enun ír ulo. Ahora debes presionar y mantener en botón 1 y mover los objetos.

Figure A.7: Sele ión múltiple.El olor oro en la puerta indi a que ya ha sido sele ionado, el programa está a laespera de que el usuario onrme la sele ión.A.12. Guardar un hero.1. Elige un página en la que hayas dibujado algo que quieras guardar.2. Sele iona en el menú: "File-> Write X ir uit PS". Se abrirá una ventana omo laque se muestra a ontinua ión:3. Ahora ambia el nombre del hero. Mueve el ursor sobre la asilla que ontiene elnombre. Borra el nombre que apare e por defe to y es ribe el que tu quieras. Cuandohayas he ho esto, a epta on el botón RETURN o presionando la asilla "Okay".4. Importante: Si el nombre del hero no tiene extensión, por defe to se le dará laextensión "*.ps".5. Cuando ambies el nombre de un hero,en la parte de abajo en la barra de infor-ma ión apare e el mensaje de "Editing".

Page 133: Memoria PFC Ayose Lomba

A.13. Abrir un ar hivo 103

Figure A.8: Guardando hero I.

Figure A.9: Guardando hero II.6. Si el nombre del hero ya existe, la asilla pondrá el mensaje de "Overwrite File",el ordenador emitirá un beep. Saldrá un mensaje de aten ión: "Warning: FileExists".7. Presona el botón "Close". La ventana desapare erá y no se habrá guardado en eldis o duro porque no has presionado "Write File" aunque en nombre del hero siha quedado registrado.8. Sele iona "File->Write XCir uit PS" para volver a la ventana anterior. Ahora hazun li k sobre "Write File" y ahora habrá ambiado la palabra de "Close" por "Done".9. El hero ha sido guardado en una fotmato PostS ript. Lo puedes visualizar en ualquier previsualizador de PostS ript.A.13. Abrir un ar hivo1. Ahora vete a un hero nuevo.

Page 134: Memoria PFC Ayose Lomba

104 A. Manual de X ir uit.2. Sele iona en el menú: "File->Read XCir uit PS". Apare erá una pantalla omola siguiente:

Figure A.10: Abriendo heros.3. Si la lista de heros es más grande que la propia pantalla sólo tienes que ayudartede las barras desplazamiento.4. Verás que a medida que nos movemos por los distintos heros, el ar hivo sele ionado ambia de olor. Cuando estemos sobre el hero que queramos abrir, haremos un li k on el botón 1 sobre el mismo. El hero se volverá de olor verde, eso querráde ir que ya se ha argado en nuestro editor.5. Pulsa el botón de "Okay".6. Si no quieres utilizar las barras de desplazamientos para bus ar el hero puedes,es ribir la ruta del hero.A.14. Añadir texto1. Abre un página nueva.2. Empieza on un ejemplo.3. Imagínate que quieres es ribir una expresión omo la siguiente:"f(x)=sin(2*pi*omega_ *t)4. Como debes de saber, todas las variables deben ser del estilo 'Itali '.5. Sele ionar "Text-> Style-> Itali ". Ahora el estilo es 'Itali '.6. Sele ionar "Text-> Font-> Times Roman, si no está sele ionado por defe to. Ahorala fuente es 'Times Itali ' (Fuente Times + Estilo Itali )7. Sele ionar "Text-> Make Label" y haz un li k on el botón 1 en ualquier sitio delárea de dibujo.

Page 135: Memoria PFC Ayose Lomba

A.14. Añadir texto 1058. Como alternativa, puedes te lear 't' en el área de dibujo.9. La línea verde mar a la posi ión del puntero, y la "x" mar a, el origen del texto.10. Sele ionar en el menú "Text->Justi ation->Middle Justied".Verás la "x" verdeal moverse al entro de la línea, mostrando que el textos está entrado verti almenteen el punto de origen.11. Como alternativa puedes te lear el número '6' (en algunos sistemas: shift + '6') parajusti ar el texto a la izquierda.12. Es ribe la letra "f". En el fondo de la ventana de mensaje apare en la letra "f" yuna barra verti al "|", mostrando dónde está situado el ursor de texto.13. Sele ionar en el menú "Text->Insert->1/4 Spa e". Con esto le daremos un espa iomás entre ara teres.14. Sele ionar "Text-> Style->Normal".15. Es ribe el ara ter "("16. Sele ionar en el menú "Text-> Style->Itali ".17. Es ribe la letra "x"18. Sele ionar en el menú "Text-> Style->Normal".19. Es ribe la expresión ") = sin (2"20. Sele iona en el menú "Text-> Style->Itali ".21. Sele iona en el menú "Text-> Style->Symbol".22. Es ribe el ara ter " \". Una página on 256 símbolos apare erá sustituyendo lapágina a tual, omo se muestra en la gura siguiente.23. Haz un li k en el símbolo "pi". La pantalla regresará inmediatamente a la páginaoriginal, on "π" añadido en la línea de texto.24. Es ribe el ara ter " \", luego haz li k sobre "omega en la pantalla de símbolos.25. Sele iona en el menú "Text-> Font->Time-Roman".26. Sele iona en el menú "Text-> Font->Subs ript" (o te la "-" en el te lado numéri o).27. Es ribe la letra " "28. Sele iona en el menú "Text-> Style->Normals ript" (o te la "enter" en el te ladonuméri o).

Page 136: Memoria PFC Ayose Lomba

106 A. Manual de X ir uit.

Figure A.11: Panel de símbolos.29. Es ribe la letra "t"30. Sele iona en el menúi "Text->Insert->1/4 Spa e".31. Sele iona en el menú "Text-> Style->Normal".32. Es ribe el ara ter ")"33. Antes de pulsar <RETURN> para ompletar el texto, usa las te las de e haizquierda y dere ha para mover el ursor a través texto. Fíjate que los tipos defuente -y de estilo- del texto pueden ser vistos en la venta de mensaje. EL ursordebe estar situado delante del texo que se quiere suprimir. (Te la <DELETE>).Es ompli ado, pero también es muy potente.

Page 137: Memoria PFC Ayose Lomba

A.15. Crear urvas y traye torias 107Nota: Las odi a iones ISO-Latin1 dene el ara ter griego "mu (µ)usándose para el símbolo "mi ro" normalmente en esquemas de ir uitos. Esta diferen ia de la fuente del símbolo "µ" es debidoal estilo y propidades de la fuente que tengas designada. Así, esposible utilizar una "µ" on estilo Helvéti a, una "µ" on estiloTimes-BoldItali ...

A.15. Crear urvas y traye toriasEl dibujo de una urva es una tareas más útiles de la mayoría de los programas dedibujo.1. Abra una página nueva.2. Te lea "s" para empezar una urva (puede reer que "s" signi a spline, aunque éstasson urvas tipo Bezier, o también puede pensar en la forma urvilínea de "s". Late la " " se reserva para opiar). La primera osa que verás son dos líneas de puntosque terminan en "x" . Estos son los puntos del ontrol de urva.3. Mueva el ursor alrededor. En este momento estás posi ionado en el n de la urvapero no puedes ontrolar los puntos del ontrol.Figure A.12: Dibujando Curvas.

Page 138: Memoria PFC Ayose Lomba

108 A. Manual de X ir uit.4. Colo a el punto nal de la urva. Si estás de a uerdo on la forma de ls urva, puedeutilizar el botón 2 del ratón para nalizar la urva y salir. Sin embargo, puedes ha ermás ajustes a la urva, así que ha emos li k en el botón 1 del ratón.5. A ontinua ión apare e un mensaje que di e "Adjust ontrol point", y el ursor semueve hasta la "x" más er ana. Ahora uando muevas el ursor, ambia la formade la urva.

Figure A.13: Ajustando Curva.6. Mueve el punto del ontrol dos bloques de uadrí ula a la izquierda de donde em-pezamos (haz la línea del ontrol horizontal on una longitud de 4 bloques de uadrí ula).7. Haga li k en el botón 2 del ratón para nalizar la urva.8. Ahora haremos una traye toria. Ésta está ompuesta por más de una línea. Pongael ursor sobre la urva y utili e la te la " ".9. Cuando muevas el ursor, una opia de la urva le seguirá .10. Mientras arrastras la opia de la urva, utiliza la te la "f y la te la "F" (paraposi ionar horizontal y verti almente).11. Colo a la urva on sus puntos nales sobresalientes a la urva original. El resultadodebe pare erse a la gura de abajo.12. Sele iona ambas urvas utilizando el botón 2 , o formando una aja de la sele ión(ver Punto 5).13. Te lea "j" para unir las dos urvas en una sola línea de urva.14. Si ahora mueves o sele ionas la traye toria, te darás uenta que ambas urvas sonuna sola.15. Sele iona la traye toria y después en el menú: "Options->Elements->Fill->(bla kbox)". La traye toria enton es pasará a ser un sólido negro. Si le da olor azul,obtendrá algo pare ido a lo que se muestra a la dere ha del dibujo siguiente.

Page 139: Memoria PFC Ayose Lomba

A.16. Mover objetos al frente y al fondo 109

Figure A.14: Creando sólido a partir de urvas.A.16. Mover objetos al frente y al fondo1. Limpie la página a tual ("File->Clear Page") o abra a una página nueva.2. Empie e una aja on la te la "b" .3. Haga li k en el botón 2 del ratón para terminar la aja.4. Sele iona la aja y en el menú: "Options->Elements->FiIl->(bla k box)", donde la" bla k box " es la primera op ión en la lista. Ahora tendrás una aja negra. (Date uenta que para sele ionar la aja, el ursor debe estar er a del borde de la aja,no en el entro).5. Sele iona la aja otra vez y sele iona "Options->Elements->Color->(orange)".Ahora tendrás un sólido que es una aja anaranjada.6. Vete a la librería (te la "1") y sele iona un objeto de un ir uito (una puerta"nand").7. Coloq a la puerta en ima de la aja anaranjada.8. Haz una opia de la aja (te la " ") y oló ala al lado de la primera. Con el botón2 del ratón naliza la orden opiar.9. Te darás uenta que el objeto de la librería desapare e. Esto es porque la orden" opy" sitúa la aja anaranjada al fondo del dibujo. Debido a que se dibuja despuésdel objeto de la librería, el objeto de la librería se es onde debajo.10. Para pasar el objeto de la bibliote a al frente otra vez, sele iona aja anaranjadaformando una aja de sele ión alrededor (el botón 2 del ratón). Utili e la te la"X" (mayús ula) para ambiar el orden de dibujo de los elementos. El objeto de labibliote a ahora será visible, estando por en ima de la aja anaranjada.

Page 140: Memoria PFC Ayose Lomba

110 A. Manual de X ir uit.

Figure A.15: Ordenando elementos.A.17. Ha er objetos denidos por el usuarioEl x ir uit posee una potente habilidad para tratar objetos de forma jerárqui a. Los ir uitos, en parti ular, poseen ara terísti as jerárqui as. A menudo es mejor dibujar unsub ir uito y utilizarlo varias ve es. Es mu ho más útil dibujar el sub ir uito y rear un"user obje t" en vez opiar todos los elementos del sub ir uito ada vez usted quiera una opia. Esto también es apli able para omponentes nuevos de un ir uito.Deseamos rear un omponente nuevo de ir uito, por ejemplo, una fuente de orrientedependiente.1. Limpia la página a tual o vete a una página nueva.2. Queremos que la fuente de orriente dependiente sea algo omo la fuente de orrienteindependiente (isour e) de la librería. Vete a la librería y sele iona un objeto de"isour e" omo referen ia.3. Dibuja un polígono, omo en el punto 3. Hazlo romboidal, on tres espa ios de uadrí ula altos, dos an ho (vea la gura siguiente).4. Agregua una línea on altura la mitad del espa io de uadrí ula por en ima y pordebajo del rombo.5. Ahora haremos algo distinto. Colo aremos la e ha dentro del objeto isour e. Editael objeto original "isour e" olo ando el ursor sobre éste y pulsando la te la ">".La ventana desapare erá y verás sólo el objeto "isour e".6. Utiliza la sele ión mútiple (Punto 10), y sele iona la e ha y la línea, pero no el ontorno del objeto.7. Haga una opia de estos dos elementos utilizando la te la " ".

Page 141: Memoria PFC Ayose Lomba

A.18. Editar objetos y elementos 1118. Mientras arrastras la opia, regresa a la ventana prin ipal pulsando la te la " <". Sevolverá al dibujo original, todavía arrastrando la opia on el ratón.9. Colo a la e ha dentro del rombo.10. Sele ione todos los omponentes del la fuente de orriente dependiente que a abasde rear.11. Pulse la te la "m" para rear un objeto on los elementos sele ionados.12. Apare erá una ventana donde te preguntará por el nombre del objeto. Es ribe algo omo "depsour e" o "disour e". Los espa ios no se permiten (si los utilizas, adaespa io será onvertido en un guión bajo).13. Pulse la te la "Okay". Ahora, si ha es li k en la fuente dependiente, se tratará omouno de los objetos reados.14. Pulse la te la "L" para ir a User Library. Verás que el objeto nuevo ahora se en uentraaquí. Puedes ha er li k para ha er otra opia, omo objeto reado.

Figure A.16: Creando objetos propios.A.18. Editar objetos y elementosEn el punto anterior editamos brevemente las ara terísti as de nuestra fuente. En estepuente, queremos ambiar la aparien ia de "la fuente a tual dependiente" que hi imos enla tarea previa.1. Para editar el objeto, pulsar la te la ">", omo hi imos para el "isour e" en el punto.2. Haz el polígono más orto. Pon el ursor er a de la parte superior del rombo y pulsela te la "e" para editar.3. Utiliza la sele ión múltiple para sele ionar sólo el rombo.

Page 142: Memoria PFC Ayose Lomba

112 A. Manual de X ir uit.4. Ahora estarás editando la posi ión del punto. Mueve el punto abajo un espa io ymedio de uadrí ula, y pulsa el botón 2 del ratón para ompletar la edi ión.5. Haz lo mismo para el punto inferior. Donde los dos extremos del polígono se en uen-tran, deberás ajustarlos.6. Extienda las líneas que están por en ima y por abajo del rombo para unirlas al romboeditando los puntos nales omo ya hi iste anteriormente.7. Cuando esté he ho, regresa a la página prin ipal ha iendo li k fuera de la páginadel objeto, utilizando la te la" <".

Figure A.17: Editando Objetos.A.19. Crea ión de formas geométri as omplejasLa rea ión de formas geométri as omplejas puede resultar in reiblemente útil para eldibujo en general. En este punto, se mostrará ómo generar un ilindro sólido, reando el ontorno on elipses y de líneas.1. Abre una página nueva.2. Ahora rearemos una elipse siguiendo los pasos que se denen a ontinua ión:a) Te lea "a" para empezar un ar o.b) Ha iendo uso del ratón, arrastra el ar o hasta el tamaño deseado.

Page 143: Memoria PFC Ayose Lomba

A.19. Crea ión de formas geométri as omplejas 113 ) Haz li k en el botón 1 del ratón tres ve es (para evitar editar el punto nal e ira la edi ión del eje de la elipse). La posi ión del ursor se moverá desde el ladodel ír ulo hasta la ima.d) Con el ratón arrastra el eje se undario de la elipse hasta el tamaño deseado yhaz li k en el segundo botón de ratón para terminar.3. La elipse será la parte superior del ilindro. Para ha er el fondo del ilindro:a) Copia el primer ar o y sitúalo debajo, próximo al primero.b) Pulsa "e" para editar (o sele iona "edit" del menú y haz li k en la elipse másbaja). ) A ontinua ión pulsa la te la "e" otra vez o haz li k en el botón 1 del ratónpara ir al punto nal del modo de edi ión.d) Arrastra el punto nal alrededor del otro lado hasta que el resultado sea la partede abajo de una elipse. Haz li k en el segundo botón del ratón para terminar.4. Dibuja dos líneas para rear los lados del ilindro.5. Sele iona el fondo y los lados del ilindro, y pulse la te la "j" para unir estos seg-mentos formando una traye toria.6. Sele iona todo. Si selee ionas ualquier omponente del ontorno (las líneas de loslados o la elipse inferior), éste se selee ionará por ompleto.7. Copia el onjunto y olo a la opia al lado.Figure A.18: Creando sólido omplejo.8. Sele iona el ontorno por la parte dere ha y más baja.9. Sele iona en el menú: "Options->Elements->Fill->(bla k box)". Ahora puedes ver omo se rellena de forma arbitraria.10. Termina el ilindro de la manera siguiente:1. Colorra el ontorno del ilindro on gris marengo.

Page 144: Memoria PFC Ayose Lomba

114 A. Manual de X ir uit.

Figure A.19: Rellenando sólido I.2. Sele iona la tapa del ilindro y realiza los mismos pasos para rellenarla utilizandoel olor gris "ojo".3. Pulse la te la "X" (mayús ula) para ordenar orre tamente los elementos, olo- ando la elipse gris en ima del objeto "fuerte" .4. Coloque el ilindro sin rellenar en ima del ilindro sólido.

Figure A.20: Rellenando sólido II.A.20. Investigando otros omandos de x ir uit.Ya debe entender que las tareas bási as del XCir uit y debes ser apaz de moverte entrelos menús, el área de dibujo, de manejar las ventanas, abrir y guardar los ar hivos, es ribirtexto, rear polígonos, ar os, urvas, ontornos, y objetos predenidos.

Page 145: Memoria PFC Ayose Lomba

A.20. Investigando otros omandos de x ir uit. 115Para ayudarte a re ordar los omandos del te lado y sus fun iones, sele iona "Options->Help!". Apare erá a la dere ha de la pantalla una lista de todas las fun iones del te lado.Pulse "Done" en la parte inferior uando no ne esites más el menú de ayuda.

Page 146: Memoria PFC Ayose Lomba
Page 147: Memoria PFC Ayose Lomba

Apéndi e BPETs .Instalando y ongurando PETS .Las librerías PETs son una ole ión de rutinas y estru turas que propor ionan la onstru ión de bloques para la implementa ión a gran es ala de ódigos de apli a ionespara trabajo en paralelo entre diferentes ordenadores. Esta librería umple el estandarMPI de omuni a ión de datos.La bibliote a está organizada jerárqui amente y permite a los usuarios emplear el nivelde abstra ión más apropiado para el problema parti ular que se intente resolver. Medianteel uso de té ni as de programa ión orientada a objetos, propor iona una enorme exibilidadpara todos los usuarios.PETs es a rónimo de The Portable, Extensible Toolkit for S ienti Computation.Esta librería es la responsable de que Ávalon sea apaz de trabajar on matri es de omplejos y resolver grandes sistemas de e ua iones, además de propor ionar diversas ruti-nas para el manejo de matri es tipo sparse. Esta parti ularidad redu e onsiderablementeel tiempo de ál ulo que debe emplear Ávalon a la hora de analizar los ir uitos.Se ha reído ne esario in luir un pequeño anexo de omo se instala y se ongurael Kdevelop para que esta librería fun ione orre tamente on él y permita trabajar yutilizarla en onjunto on el IDE que se ha utilizado para el desarrollo de todo el pro esode programa ión.B.1. Instala ión.PETS se puede des argar de su página web o ial (http://www-unix.m s.anl.gov/pets /pets -as/index.html) o bien instalar a través de un simple apt-get install pets si usamos Debiano ualquier distribu ión derivada de esta.Para que podamos usarlas y ompilar on ella debemos seguir las instru iones delmanual de instala ión y poner espe ial in apié en la parte de deni ión de la variablePETSC_ARCH en el ar hivo o ulto del sistema . shr (en Debian .bashr ) que se en uentraen la raiz del dire torio de usuario. 117

Page 148: Memoria PFC Ayose Lomba

118 B. PETs .Abrimos el ar hivo on ualquier editor de texto omo Vi o Kwrite y añadimos lasenten ia siguiente:export PETSC_DIR=/home/ usuar i o / pets −2.3.3−p15Téngase en uenta de que l a va r i ab l e ha de tomar l a ruta donde sedes omprima l a misma s i se r e a l i z a l a i n s t a l a i ó n de formamanual .En fun ión de la distribu ión y otros parámetros, la instala ión de PETS puede variarun po o, sobre todo si quiere o no in luir el ál ulo multipro esador y el proto olo estádarde omuni a ión (mpi), que en la ompila ión de Ávalon no ha sido in luida. La dire tivade instala ión para su uso en este proye to ha sido la siguiente:Algorithm 1 Instala ión de PETCs manual para Ávalon1 . / on f i g / on f i gu r e . py −−with− =g −−with−f =g77−2.95 −−with− xx=g++ −−download−f−blas−lapa k=1 −−download−mpi h=1 −−with−s a l a r−type= omplex −−with− language= xx −−with−mpi=02 make3 make testNuevamente y ante ualquier duda se vuelve a remitir a su web, la ual uenta on unextenso manual muy bien detallado de instala ión y numerosos ejemplos de uso.B.2. PETs y el IDE Kdevelop.Para poder usar PETs en Kdevelop es ne esario irnos a:Proye to->Op iones de Proye to->Op iones de Congure e in luir aquí lo siguienteB.3. Matri es Sparse en Pet sPETS propor iona una variedad de implementa iones de matri es muy amplio, ya queun formato simple tradi ional de matri es no es siempre el ade uado para el tratamientode todos los problemas. A tualmente la librería tiene dos grades bloques de matri es lasde tipo dense (densas) y las sparse (va ias) además de varios formatos espe ializados parael tratamiento de este tipo de elementos algebrái os. En el proye to que nos aborda seha pro edido al uso de matri es sparse ha iendo uso on retamente de las de tipo CSR(Compressed Sparse Row)En este apítulo se des ribirá los aspe tos bási os del tratamiento de matri es a travésde las librerías PETS ( on independen ia del formato elegido). El uso de matri es enPETS impli a las siguientes a iones: rear un tipo de matriz,

Page 149: Memoria PFC Ayose Lomba

B.3. Matri es Sparse en Pet s 119Algorithm 2 Parámetros de ongura ión de PETCs en KdevelopParámetros de Prepro esador de C/C++ (CPPFLAGS) :−I /home/ayose /pets −2.3.3−p15/bmake/ l inux−gnu− xx−debug −I /home/ayose /pets −2.3.3−p15/ in lude −I /home/ayose / pets −2.3.3−p15/in lude /mpiuniParámetros de Enla e (LDFLAGS) :− l d l −lg _s −L/home/ayose / pets −2.3.3−p15/ l i b / l inux−gnu− xx−debug −lmpiuni − l p e t s −lpets dm −l p e t s k sp −lpets mat −l p e t s v e − l p e t s s n e s − l p e t s t s −L/home/ayose / pets −2.3.3−p15/l i b / l inux−gnu− xx−debug −lmpiuni −lX11 −L/home/ayose /pets

−2.3.3−p15/ ex t e rna lpa kage s / f b l a s l apa k / l inux−gnu− xx−debug −l f b l a s − l f l a p a kinsertar valores en ella,pro esamiento de la matriz,utiliza ión de la matriz para los diversos ál ulos y,nalmente, destru ión de la matriz.B.3.1. Crea ión y Montaje de Matri es.La forma más simple para onstituir una matriz PETCs A en esta librería es medianteel uso de las siguientes rutinas:MatCreate (MPI_Comm omm,Mat *A)MatSetSizes (Mat A, Pets Int m, Pets Int n , Pets Int M, Pets Int N)Esta rutina genera una matriz se uen ial uando se eje uta en un pro eso y matri esparalelas uando se orren dos o más pro esos, para más detalle ver el manual de usuariode la librería.B.3.2. Insertar Valores en una MatrizPara insertar o añadir entradas a una matriz, se puede llamar una de las variantes deMatSetValues:MatSetValues (Mat mat , Pets Int m, onst Pets Int idxm [ , Pet s Int n , onst Pets Int idxn [ , onst Pet s S a l a r v [ , InsertMode addv )donde InsertMode addv puede ser

Page 150: Memoria PFC Ayose Lomba

120 B. PETs .ADD_VALUES que añade un valor a la posi ión existente sin rees ribir o INSERT_VALUESañade el valor rees ribiendo el existente en la posi ión de inser ión.Existen a su vez, métodos para la inser ión de valores omo bloques de matri es quepueden ser onsultados en el manual de la librería.B.3.3. Pro esamiento de una MatrizLas rutinas de pro esamiento de las matri es son:MatAssemblyBegin (Mat mat , MatAssemblyType type )MatAssemblyEnd (Mat mat , MatAssemblyType type )En la implementa ión de una matriz sparse, una vez que estas rutinas han sido llamadas,las matri es son omprimidas y se pueden utilizar para diversas opera iones omo produ tos on ve tores entre otras mu has. Llegados a este punto, el insertar nuevos valores en lamatriz, puede ser una opera ión ostosa ya que se requerirán opias de la misma y nuevasasigna iones de memoria. Por lo tanto, siempre que sea posible se debe rellenar la matriz ompletamente antes de llamar a la rutina de naliza ión del ensamblador.B.3.4. Matri es Sparse en PETS .Las librerías PETCs en su trabajo on matri es sparse basan su tratamiento en elformato CSR ( ompressed sparse row o matriz sparse Yale). Poseen otro tipo de rutinasmás espe í as y e ientes para el tratamiento de matri es sparse que se salen del ampode apli a ión de este proye to. No obstante deberían tenerse en uenta para posiblesamplia iones del programa para las líneas de los do torados que se en uentran abiertas enel departamento.Crea ión de una Matriz tipo SparsePara rear una se uen ia de a tividades de una matriz sparse A, on m las y n olumnas, se utiliza el omando:MatCreateSeqAIJ (MPI_Comm omm, Pets Int m, Pets Int n , Pets Int nz , onst Pets Int nnz [ , Mat *A)Se puede utilizar el es alar mx para espe i ar el número previsto de no- eros para ada la. Esto se realiza uando por la naturaleza del problema a abordar el número de no eros de la matriz es el mismo por ada la. Si uno subestima el número real de no- erosen una la y, a ontinua ión, durante el pro eso de montaje PETS realiza reasigna iónde más espa io, esta memoria adi ional puede retrasar el ómputo.

Page 151: Memoria PFC Ayose Lomba

B.4. Resolu iones de sistemas lineales on PETS . 121Algorithm 3 Fun ión para Crea ión y Dimensionamiento de la matriz T en ÁvalonMat reaT ( ) MatCreateSeqAIJ (PETSC_COMM_SELF, f i l a s ( ) , olumnas ( ) ,10 ,PETSC_NULL,&T) ;MatAssemblyBegin (T,MAT_FINAL_ASSEMBLY) ;MatAssemblyEnd (T,MAT_FINAL_ASSEMBLY) ; B.4. Resolu iones de sistemas lineales on PETS .Como ya se abordase anteriormente en este manual de prin ipios bási os de fun- iomaniento del programa, la resolu ión y análisis de un ir uito on Ávalon pasa porla resolu ión de un sistema de e ua iones lineal del tipo Tx = W . Para ello tras lade lara ión, montaje y ensamblaje de los miembros del sistema a resolver, se pro ede a suresolu ión en la que entra en juego otra serie de rutinas que propor iona la librería.El objeto KSP es el orazón de las librerías PETs ya que porpor ionan un a eso e aza todos los paquetes de resolu ión de sistemas de e ua iones lineales. KSP está diseñadopara la resolu ión de sistemas no singulares del tipo Tx = W .KSP utiliza la misma se uen ia de llamadas tanto para resolu ión de métodos dire tos omo iterativos en un sistema lineal. Además las té ni as de resolu ión junto on susop iones pueden realizarse en tiempo de eje u ión.La ombina ión de un subespa io de Krylov y prea ondi ionadores son base de mu hosmétodos iterativos de resolu ión de sistemas de e ua iones lineales.B.4.1. Uso bási o de KSP.Para resolver un sistema lineal el primer paso es la rea ión de un solver (objeto en ar-gado de la resolu ión) y para ello se ha e uso deKSPCreate (MPI_Comm omm,KSP * inksp )A su vez para indi ar el tipo de op iones on las que se desea realizar la resolu ión,existen varias fun iones que se en argan, previa resolu ión del sistema de preparar y a ondi- ionar al mismo para la resolu ión. La utilizada en el proye to es la siguiente ya que fa ilitaque el usuario pueda variar el tipo de resolu ión y prea ondi ionadores sin ne esidad devariar el ódigo del programa.Pe t s Opt i on s I n s e r tF i l e ( " op iones . txt " ) ;En el aso de Ávalon di ha ongura ión se en uentra en el hero op iones.txt en elque se jan las op iones requeridas por el usuario.En el uso de métodos iterativos di has op iones no se deben jar y llamar en adaitera ión del sistema, ya que uando lo úni o que se ve modi ado es el ve tor W del

Page 152: Memoria PFC Ayose Lomba

122 B. PETs .Algorithm 4 Fi hero de ongura ión de resou ión del sistema de e ua iones op- iones.txt−ksp_type gmres−p _fa tor_nonzeros_along_diagonal−p _fa tor_shi f t_nonzeros 0 .000001−p _type lusistema a resolver, ada vez que se a ude a la fun ión KSPSove el sistema utiliza pordefe to las op iones de la vuelta anterior.La forma de ongurar y utilizar el tipo de resolu ión y prea ondi ionadores posibles on PETs son muy variados. Ávalon propor iona por defe to la ongura ión que puedeverse en en esta página para más informa ión a er a de las posibilidades existentes a udiral manual de usuario de la librería y a la extensa do umenta ión existente sobre subespa iosde Krylov, prea ondidionadores y métodos de resolu ión de sistemas lineales.

Page 153: Memoria PFC Ayose Lomba

Apéndi e CEl sitio web del proye to.Un sitio web en un proye to de las ara terísti as del que se está desarrollando esfundamental para dar a ono er el programa, sus ara terísti as y que es lo que se pretendede él en su desarrollo. La web del proye to genera un mar o en el que el visitante se ha euna idea global de que es y para que sirve el software que se presenta en la misma.Los objetivos de la web de un proye to de software libre son:PRESENTACIÓN: Des rip ión del proye to tanto a usuarios omo a los poten ialesdesarrolladores que quieran mejorarlo e implementarlo.INTERACTIVIDAD: Debe propor ionar intera tividad a los usuarios de la plataforma on diferentes tipos de herramientas omo foros, posibilidad de omentarios en lasnoti ias, et .DOCUMENTACIÓN: Debe existir una se ión destinada a la do umenta ión parausuarios del programa omo para desarrolladores del mismo.ACTIVIDAD: La web debe tener una a tividad onstante, no debe tender al estatismo,la publi a ión de noti ias en la misma da sensa ión de uidez en el proye to al tiempoque ayuda a una promo ión del proye to en bus a olaboradores y usuarios.Para que se puedan umplir los objetivos itados, el autor ha optado por dotar a Ávalonde una web implementada bajo un gestor de ontenido li en iado bajo GNU/GPL, estegestor será Joomla. La Web onstará de varias se iones y ategorías que tendrán omoobjetivo prin ipal la presenta ión global del PFC.La forma general de la web del proye to se basa en una adapta ión de una plantilladesarrollada por http://joomlartwork. om/, portal dedi ado al diseño y ostumiza iónde plantillas para Joomla. Se ha optado por el modelo JAW31 Blue Business. Paramodi arlo y adaptarlo a la imagen del proye to, se ha elaborado un nuevo en abezado ymodi ado los ar hivos de estilo *. ss y el de la estru tura de la plantilla en sí.123

Page 154: Memoria PFC Ayose Lomba

124 C. El sitio web del proye to.C.1. Mapa del sitio web. Árbol bási o del ontenido dela web del proye to.Ávalon. Se ión de la web destinada al proye to PFC. Dentro de la misma se en uentranlas ategorías siguientes:A golpe de pi o. Categoría destinada a mostrar los pasos previos realizados parala ongura ión de las herramientas ne esarias para la elabora ión del proye to.Cuaderno de Bitá ora. Categoría ompuesta por las noti ias publi adas expli- ando los problemas generados durante el PFC y las solu iones elegidas para orregirlos.Fundamentos Teóri os. Categoría destinada a exponer la arga teóri a en la quese fundamenta el programa y su forma de trabajar.Código. Categoría ompuesta por el ódigo fuente del programa on la expli a iónbási a de la utilidad de las lases, estru turas y fun iones del mismo.Des arga Ávalon. Se ión de des arga de manuales y programa.Do umenta ión. Categoría destinada a propor ionar la do umenta ión exis-tente del proye to, memorias, manual de instala ión y usuario y ejemplosrealizados on el programa.Proye to. Categoría en la que puede des argarse los fuentes del proye to y uneje utable.C.2. Imagen del programaBasándose en el nombre del programa (Ávalon) y teniendo en uenta la alusión mi-tológi a del mismo a la isla de las Hespérides1, se ha desarrollado un logo que on símboloselé tri os omponen una isla. De esta forma, se desarrolla una imagen ligada al programaque dota a la web de personalidad y a su vez propor iona el despliegue de elementos vi-suales ne esarios para el proye to, omo son el logo del software, banners y abe era de laweb además de elementos grá os para la do umenta ión omo portadas y en abezados.1Ver introdu ión.

Page 155: Memoria PFC Ayose Lomba

C.2. Imagen del programa 125

Figure C.1: Splash S reen Ávalon

Figure C.2: I ono y web de Ávalon

Page 156: Memoria PFC Ayose Lomba
Page 157: Memoria PFC Ayose Lomba

Apéndi e DIntrodu ión a las distros Linux.D.1. Instala ión y ongura ión avanzada de Debian.Como el proye to ha sido desarrollado enteramente en esta distribu ión de Linux, serealizó un manual de instala ión de la versión DEBIAN 4.0 ETCH para el portátil ACERASPIRE 5920G. y posteriormente a tualiza ión a Lenny.En este manual se bus ó no sólo el orre to fun ionamiento de las herramientas uti-lizadas en el proye to sino también, la ongura ión de todos los elementos de hardwareque omponen el portátil. Este manual se in luyó en la web de linuxonlaptop, siendo elprimer manual en español para esta distribu ión en el portal, pudiendo desta arse unamedia mensual de 70 visitas en sus primeros meses.

Figure D.1: Logo del portal Linux on Laptop.D.2. Debian, un po o de historia.El 16 de Agosto de 1993, Ian Murdo k fundó el proye to Debian, onvirtiéndose de estamanera en la primera distribu ión de Linux. El nombre de la misma es una ombina ióndel nombre de su novia Deborah on el suyo, IanExisten numerosísimas distribu iones de Linux disponibles (177) y un gran número deellas están basadas en esta omo la extendidísima y ono ida Ubuntu. Para ha erse unaidea de la antidad de distribu iones que existen y uáles son las prin ipales se puedea eder al proye to Linux Timeline (http://futurist.se/gldt/) que re ientemente hapubli ado su versión 9.3 en la que se pueden obtener datos de todas las distros ono idasy sus dependen ias on otras existentes. En las últimas versiones de este proye to, nosólo se puede des argar un grá o de la evolu ión de las distribu iones sino también, un hero *.ods on datos de ini io de publi a ión, n de la misma uando se ha abandonado127

Page 158: Memoria PFC Ayose Lomba

128 D. Introdu ión a las distros Linux.(DEBorah+IAN=DEBIAN).

Figure D.2: Logo de Debian.su desarrollo y distribu ión de la que parte. Se puede ver el grá o de evolu ión de lasdistribu iones Linux en D.3 en la página 137D.3. Históri o de Publi a iones DebianMes Año Denomina iónAgosto-di iembre 1993 Debian 0.01-0.09Enero 1994 Debian 0.91Marzo 1995 Debian 0.93R5Noviembre 1995 Debian 0.93R617 Junio 1996 Debian 1.1 Buzz12 Di iembre 1996 Debian 1.2 Rex5 Junio 1997 Debian 1.3 Bo24 Julio 1998 Debian 2.0 Hamm9 Marzo 1999 Debian 2.1 Slink15 Agosto 2000 Debian 2.2 Potato19 Julio 2002 Debian 3.0 Woody8 Abril 2007 Debian 4.0 Et h14 Febrero 2009 Debian 5.0 LennyTable D.1: Históri o de publi a iones Debian.Debian posee siempre tres repositorios para su utiliza ión a saber estable, testing einestable o Sid, puede onsultarse en que onsiste ada una al nal de este do umento enla se ión de nomen latura.

Page 159: Memoria PFC Ayose Lomba

D.4. Des arga de la Distribu ión 129D.4. Des arga de la Distribu iónEl primer paso para instalar ualquier distro es ha ernos on un d o dvd, via ftp otorrent, en este aso de Debian. Se re omienda elegir la des arga de una imagen mínimade la versión testing: Lenny1.La instala ión será de 32bits, nuevamente me he de idido por esta debido a los proble-mas que he en ontrado para ongurar iertos ode s y demás programas en 64, ademásdespués de leer en varios post las experien ias de otros usuarios, reo que el uso que le doyal pro esador de mi portátil no es tan importante omo para notar la diferen ia entre uninstala ión de 64 y una de 32.D.4.1. Parti iones.Este apartado no debería ser un problema para aquellos usuarios que sepan y puedan,mediante programas ade uados preparar parti iones donde deseen instalar la distribu iónLinux elegida, sin embargo en mu hos portátiles que se adquieren re ientemente esto no estan sen illo on las herramientas on las que uenta el ordenador según se adquiere. Porello se expone omo se resolvió este problema en el portátil en que se elaboró el PFC.El problema radi a en que el portátil en uestión trae de fábri a 4 parti iones primarias.Una para el Sistema Operativo, otra para alma enar datos, una ter era para poder verpelí ulas sin en ender el sistema operativo y la última es la que guarda todo el softwareque trae por defe to. No puede haber por dis o más de 4 parti iones primarias y ese esel problema de Vista, el ual te permite modi ar esas parti iones, pero no deja ha erparti iones lógi as que es lo que se ne esita.Lo primero que se debe ha er es bus ar un programa de parti ionado de dis os quepueda eje utarse desde el d sin tener el linux instalado, las sugeren ias existentes en lared son el usar el Gparted o su análogo en KDE. Al nal se optó por la des arga delGparted live- d. Es muy sen illo de usar y ante posibles dudas existen numerososmanuales de uso de este programa omo el existente en el siguiente enla e(http://www. onfigurarequipos. om/do 719.html).D.5. Instala ión estándar Debian.Empe emos pues on la instala ión, después de grabar la imagen des argada en un dla introdu imos en nuestro portátil y ha emos que arranque desde el le tor de dvd.Para ello pulsamos F2 y una vez en la BIOS, la onguramos para que arranque desdeel le tor, salimos guardando ambios y reini iamos.Ahora nos apare erá la pantalla ini ial de Debian en la que tendremos que es ribir"installgui" para pro eder on la instala ión ayudándonos del entorno grá o de instala ión.1En las fe has de le tura de este proye to Lenny es ya una distribu ión estable.

Page 160: Memoria PFC Ayose Lomba

130 D. Introdu ión a las distros Linux.

Después de esto elegimos el idioma de nuestra instala ión y el del te lado.

Page 161: Memoria PFC Ayose Lomba

D.5. Instala ión estándar Debian. 131

Seguimos on la ongura ión de la red que ini ialmente será la eth1 Broad om Corpo-ration Netlink BCM5787M Gigabit Ethernet PCI Express, que es la de la tarjeta de red,la tarjeta Wi la instalaremos más adelante on el sistema bási o ya fun ionando.

Page 162: Memoria PFC Ayose Lomba

132 D. Introdu ión a las distros Linux.

Le to a el momento a las parti iones y a lo que vamos a instalar en las mismas. En mi aso voy a instalar el sistema en una parti ión y el dire torio /home en otro, así garantizoque ante otra instala ión desde ero omo la que estamos realizando no perderemos nuestros heros, do umentos y ongura ión del es ritorio.Es importante re ordar no formatear la parti ión en la que se en uentre nuestro /home

Page 163: Memoria PFC Ayose Lomba

D.5. Instala ión estándar Debian. 133

Page 164: Memoria PFC Ayose Lomba

134 D. Introdu ión a las distros Linux.

Page 165: Memoria PFC Ayose Lomba

D.5. Instala ión estándar Debian. 135

Llega el momento de introdu ir la lave de superusuario y los datos de una uenta deusuario.Primero se pide una lave de root, la ual dará a eso a instala ión de paquetes y ongura ión global del sistema.En segundo lugar se piden los datos para la rea ión de una uenta de usuario tradi- ional, para ello se soli ita nombre y apellidos de usuario y lave de a eso. en aso devenir de otra instala ión anterior omo es el aso y para utilizar la ongura ión delexistente se introdu en los datos del anterior usuario de esta forma uando se monteel dire torio /home, el es ritorio, arpetas y en general ongura ión del usuarioexistente se onservarán.Pasamos a la instala ión de los paquetes bási os y a eptar la en uesta de red, de estaforma la omunidad de Debian realiza estadísti as de los paquetes más utilizados por sususuarios.

Page 166: Memoria PFC Ayose Lomba

136 D. Introdu ión a las distros Linux.

Teniendo en uenta que nuestro d sólo ontiene los paquetes bási os elegiremos unarépli a en red.Y por último tan sólo nos queda la instala ión del gestor de arranque.

Ya tenemos nuestro Debian Lenny instalado y listo para empezar a parti ularizar lospaquetes que queremos instalar.

Page 167: Memoria PFC Ayose Lomba

D.5. Instala ión estándar Debian. 137

Figure D.3: Grá o generado por el proye to Linux Timeline.

Page 168: Memoria PFC Ayose Lomba
Page 169: Memoria PFC Ayose Lomba

Apéndi e EInstala ión avanzada Debian.Tras la primera fase de la instala ión pasaremos a la de ongura ión de dispositivosque no se instalan orre tamente en la etapa que a abamos de nalizar . Un ejemplo deesto son las te las espe iales de te lado, la rueda de volumen, la ámara, et .E.1. Tarjeta Inalámbri a WIFI.Este portátil trae onsigo una Intel 802.11 a/b7 WLAN que antes de la versión dekernel 2.6.22 de Debian se ponía en mar ha tal y omo indi aba en un anterior manualdisponible en la web del PFC. El problema es que a fe ha en la que se es rbe esta nuevaversión el pro eso ha ambiado un po o, ya que en los nuevos repositorios no tenemos elrmware anterior ne esario, pero no por ello debemos desesperar, ya que Intel ha puestoa nuestra disposi ión un nuevo rmware propietario por lo que lo úni o que vamos a tenerque ha er es añadir un repositorio más a nuestro sour e.listdeb http : //www. ba kports . org /debian et h−ba kports main ont r ibnon−f r e ey realizar unapt−get updateTras esto se nos pedirá que añadamos la lave de di ho repositorio que haremos que elsiguiente omando de onsola:gpg −−keys e rve r subkeys . pgp . net −−re v−keys EA8E8B2116BA136Cgpg −−export −−armor EA8E8B2116BA136C | sudo apt−key add −Nuevamente a tualizamos onapt−get updatey estamos en disposi ión de instalar el paquete ne esario medianteapt−get i n s t a l l f irmware−i w lw i f i139

Page 170: Memoria PFC Ayose Lomba

140 E. Instala ión avanzada Debian.Reini iamos el equipo y al terminar lanzamos si no se ha he ho de forma automáti a elKnetworkManager y elegimos de las diferentes redes que puedan apare ernos la nuestra ola aquella en la que nos queramos one tar.Puede que no one te a la primera por lo que enton es onviene ha er lo siguiente en onsola:iw on f i grmmod iwl3945modprobe iwl3945i f o n f i g wlan0 up //donde wlan0 se rá e l nombre de nuest ra t a r j e t aE.2. Tarjeta de SonidoTras nalizar la instala ión bási a tal vez os resulte extraño no haber es u hado lamúsi a "intro" del es ritorio que habéis instalado, tal y omo o urría on la versión anteriorresulta que el Kernel 2.6.26 que es el que hemos instalado ierra por defe to la salida deaudio de la tarjeta así que abrid el Centro de Volumen situado en K->Multimedia (Para losque usen KDE) y en Preferen ias bus ad Surround y tras dar la entrada tendréis vuestratarjeta fun ionando perfe tamente.E.2.1. Te las Espe iales y Rueda VolumenOtro problema on el que Debian nos va a sorprender es que las te las extras de nuestrote lado no van a fun ionar así omo la rueda de volumen. Esto se pude solu ionar de dosformas diferentes según el programa que de idamos utilizar.HotkeysXbindkeysEl pro edimiento en ambos es similar:1. Instala ión de programa.2. Dete tar el ódigo de las te las a utilizar.3. Crear el hero de te las.4. Crear el s ript para que se lan e el programa al ini iar nuestro DebianAntes de nada deberemos instalar el xev, programa que nos fa ilita el ódigo identi ativode las te las que deseamos utilizar.apt−get i n s t a l l xev

Page 171: Memoria PFC Ayose Lomba

E.2. Tarjeta de Sonido 141Op ión 1 Uso de hotkeysLo primero que debemos ha er es instalar el hotkeys, omo siempre de idid si ha erloa través de la onsola on synapti , et .Por onsola seríaapt−get i n s t a l l hotkeysTras instalarse se generan unos dire torios que nos serán de utilidad para la ongu-ra ión del programa, a saber:/usr/share/hotkeys/ en este dire torio rearemos nuestro ar hivo de ongura iónte ladolomba.def, que se lista a ontinua ión para los que uséis este portátil ya tengáisel trabajo realizado.<?xml v e r s i on=" 1 .0 "?><de f i n i t i o n >< on f i g model="A er Aspire 5920G"><VolUp key ode="176"/><VolDown key ode="174"/><Mute key ode="160"/><WebBrowser key ode="178"/><Email key ode="236"/><Play key ode="162"/><Stop key ode="164"/><PrevTra k key ode="144"/><NextTra k key ode="153"/></ onf ig>< ontr ibutor ><name>Ayose Lomba Pérez</name><email>ayoselombagmail . om</email></ ontr ibutor ></d e f i n i t i o n >/et / Aquí tenéis el hotkeys. onf que ontiene un listado de omandos que puedenser de utilidad para la deni ión de los omandos que deben lanzar las te las y enlas que olo amos la ongura ión de nuestro A er 5920G.

Page 172: Memoria PFC Ayose Lomba

142 E. Instala ión avanzada Debian.Op ión 2 Uso de XbindkeysLa forma de pro eder on este programa es similar a la que se ha presentado on elhotkeys por lo que no extenderemos más la expli a ión en esta línea. Sólo referen iar a laweb del programa donde existen manuales de omo ha er fun ionar la apli a ión según elprel del te lado y botones que tengamos en el mismo.http://www.nongnu.org/xbindkeys/xbindkeys.htmlE.3. Instalando Nvidia GeFor e 8600m GS en Lenny on el 5920GLos omandos que he utilizado para la instala ión de la tarjeta grá a son los siguientes:supassword : metes l a l ave de rootapt−get i n s t a l l module−a s s i s t a n t g nvidia−kerne l− ommonm−a updatem−a preparem−a auto i n s t a l l nv id i a/ e t / i n i t . d/gdm stopsudo wget http : // es . download . nv id i a . om/XFree86/Linux−x86/100 .14 . 09/NVIDIA−Linux−x86−100.14.09−pkg1 . run(Para saber ual es la dire ión exa ta y obtener el driver más a tualizado debemos ira la página o ial de Nvidia)sh NVIDIA−Linux−x86−100.14.09−pkg1 . run/ e t / i n i t . d/gdm s t a r t(en este último omando y en /et /init.d/gdm stop detenemos el gdm porque pordefe to el Debian instala Gnome, si por asualidad ya tenéis instalado el Kde el que deber-emos ini iar es el kdm quedando el omando al nal /et /init.d/kdm start y el anterior/et /init.d/kdm stop) Con esto ya tenemos la Tarjeta Nvidia fun ionando y on la a el-era ión 3D a pleno rendimiento.E.4. Instalando el es ritorio KDECon el sistema grá o fun ionando, he instalado el KDE que es el es ritorio on el quevoy a trabajar en el proye to así que, en una terminal:supassword : l a que tenganapt−get i n s t a l l kde

Page 173: Memoria PFC Ayose Lomba

E.5. Instalando Herramientas Bási as 143E.5. Instalando Herramientas Bási asDespués de errar sesión para abrir una nueva on KDE instalamos las herramientasbási as ne esarias para es u har ar hivos mp3, ver videos Divx, el ash, Java y demás.Software de Javaapt−get i n s t a l l sun−java5−plug in sun−java5−j r eSoftware de Flashwget http : // fpdownload . ma romedia . om/ get / f l a s hp l a y e r / ur r en t /ins ta l l_f lash_player_9_l inux . ta r . gzta r −zxv f ins ta l l_f lash_player_9_l inux . ta r . gzmv insta l l_f lash_player_9_l inux/ l i b f l a s h p l a y e r . so .rm −r ins ta l l_f lash_player_9_l inuxMultimedia Pluginsapt−get i n s t a l l mplayer v l amarok l ib speex−dev w32 ode sl ibmpeg4ip−dev l i b a l o gg−dev vorb i s−t o o l sE.6. Montando parti iones NTFS.Para ir nalizando este apítulo prepararemos el fstab para montar las parti ionesexistentes en mi ordenador on sistema NTFS. Eso se solu iona de forma muy sen illapero, normalmente, podremos ver pero no editar su ontenido. Ahora existe un proye toque ha onseguido que podamos usar de forma efe tiva este tipo de parti iones para lo ualtendremos que bajarnos los paquetes de Fuse y del NTFS-3G Una vez instalados podremoseditar el fstab (se en uentra en el dire torio /et /) y añadir las siguientes líneas:/dev/ sda2 /mnt/Windows nt f s−3g auto , rw , users ,umask=000 ,exe 0 0/dev/sda5 /mnt/Datos nt f s−3g auto , rw , users ,umask=000 ,exe 0 0

Page 174: Memoria PFC Ayose Lomba
Page 175: Memoria PFC Ayose Lomba

Apéndi e FApli a iones ne esarias para el PFC.1. Kdevelop2. PETs 3. Qt 34. Qt designer5. TexLive 20086. Lyx7. X ir uit8. Cervisia9. DoxygenF.1. Instalar kdevelopLa instala ión se realiza, omo de ostumbre onapt−get i n s t a l l kdevelopEn prin ipio el IDE se instala orre tamente, pero al intentar ompilar un simple ejem-plo de Hola mundo en C++ el programa fué in apaz de realizar la ompila ión. Paraarreglar este problema se ha pro edió a la instala ión del automake 1.9. (sele ionado delsynapti ) y la libtool. Una vez realizadas estas instala iones el programa fun ionaba per-fe tamente. Esto se debe porque a diferen ia de otras IDEs destinadas a la programa iónKdevelop no posee ompilador propio y se sirve del g , por lo que para que su fun- ionamiento sea el ade uado, debemos instalar los paquetes ya men ionados en su versiónmás re iente. 145

Page 176: Memoria PFC Ayose Lomba

146 F. Apli a iones ne esarias para el PFC.

Figure F.1: Captura del IDE Kdevelop.F.2. Instalando Qt 3Synapti : libqt3 y qt3-designer Con esto tenemos listo y sin problemas tanto la librería omo el programa para generar GUI's on las Qt. Es habitual en algunas distros quesi se han instalado herramientas de desarrollo esta librería y el designer ya esten listospara usarse. Kdevelop propor iona la posibilidad de trabajar on el Qt Designer de formaembebida por lo que a la hora de trabajar on el programa, el desarrollo se vuelve más on entrado y simple.F.3. InstalandoTexLive 2008Para instalar esta distribu ión de Latex, aunque on los repositorios onven ionales ten-emos otras posibilidades omo el Tetex o el Texlive 2005, yo añadí al sour e tres repositoriosque podeís ver G en la página 149. A tualiza ión de la base de paquetes:apt−get updateInstala ión del Texlive:apt−get i n s t a l l t e x l i v e− f u l lF.3.1. Instalando el Lyx.A mi personalmente no me gusta ha erlo todo en puro latex, aunque on el Kile estoya ionándome bastante. Por ello suelo usar lyx para el groso de los do umentos y sólo

Page 177: Memoria PFC Ayose Lomba

F.4. Instalando el X ir uit en Et h. 147

Figure F.2: Captura de Qt Designer.Figure F.3: León de CTAN dibujado por Duane Bibby y mas ota de Lyx.para lo más espe í o me entro en ódigo latex.Para la instala ión de la versión más re iente de lyx vamos a su web y la des argamos.Des omprimimos y seguimos las instru iones del léeme:. / on f i gu r emakemake i n s t a l lYa tenemos la última versión de este programa on un a abado.F.4. Instalando el X ir uit en Et h.Para la instala ión de este programa se puede a udir al apítulo dedi ado al mismo enel que se profundiza mu ho más que en estas líneas al tratarse de uno de los programasmás fundamentales en este proye to.

Page 178: Memoria PFC Ayose Lomba

148 F. Apli a iones ne esarias para el PFC.F.5. Cervisia.Este interfaz grá o para gestión de CVS. Di ho programa servirá para ontrolar lasversiones del proye to que se desarrolla en Kdevelop. La instala ión del programa se ha edire tamente on Synapti o por Shell. En la web existen numerosos manuales para su ongura ión.Figure F.4: Logos de Cervisia y Doxygen.F.6. Doxygen.Este programa utilizado en onjunto on el Kdevelop, nos fa ilita la elabora ión dematerial rela ionado on el ódigo fuente. su instala ión es muy sen illa desde onsola.apt−get i n s t a l l doxygen

Page 179: Memoria PFC Ayose Lomba

Apéndi e GRepositorios en Debian.Este anexo está dedi ado a la expli a ión paso a paso de omo se debe modi ar el hero que gestiona los repositorios que usa nuestra instala ión para poder instalar unprograma que no se en uentre por defe to en la versión estable de la distribu ión.Como ya se ha indi ado en varios puntos de este manual, Debian siempre se en uetradisponible bajo tres versiones, la estable, la de pruebas y la inestable. Cada una tiene a suvez unos repositorios independientes que no deben estar a tivos simultaneamente.El hero sour es.list ontiene la lista de los repositorios on los que se estable e labase de datos de todos los programas disponibles para nuestro linux. Generalmente parainstalar un programa en Debian podemos pro eder de varias formas en las que desta a elapt-get y el gestor de paquetes Synapti (Gnome) o Adept (KDE)## deb drom : [ Debian GNU/Linux 4 .0 r0 _Et h_ − O f f i i a l i386 DVD Binary−1 20070407−11:40/ e t h on t r i b maindeb drom : [ Debian GNU/Linux 4 .0 r0 _Et h_ − O f f i i a l i386 DVD Binary−1 20070407−11:40/ et h ont r ib main#Repos i t o r i o s de Lenny#deb h t t p :// f t p . de . debian . org/ debian/ lenny main on t r i b non−f r e e#deb−sr h t t p :// f t p . de . debian . org/ debian/ lenny main on t r i b non−f r e e#Repos i t o r i o s para e l TexLive 2007deb http : // people . debian . org/~pre in ing /TeX/ t l 2007 /deb http : // people . debian . org/~pre in ing /TeX/ ontext /deb http : // people . debian . org/~pre in ing /TeX/ lmodern/149

Page 180: Memoria PFC Ayose Lomba

150 G. Repositorios en Debian.#Repos i t o r i o s para e l Sarge#deb h t t p :// f t p . de . debian . org/ debian sarge main#deb−sr h t t p :// f t p . de . debian . org/ debian/ sarge main on t r i b non−f r e e#Repos i t o r i o s Sid#deb h t t p :// f t p . de . debian . org/ debian s i d main#deb−sr h t t p :// f t p . de . debian . org/ debian/ s i d main on t r i b non−f r e e

Page 181: Memoria PFC Ayose Lomba

Apéndi e HGNUPlotH.1. Introdu ión a GNUPlotGNUPlot es un sistema multiplataforma de gra ado de datos 2D y 3D que na e en1986 para atender las ne esidades de la omunidad ientí a y de estudiantes a la hora derealizar grá as on origen en fun iones o heros de datos. El proye to no tardó en re erde forma extraordinaria re ibiendo el apoyo de otros proye tos omo GNU O tave.

El programa se en uentra disponible tanto para Linux omo para otros sistemas oper-ativos, su li en ia no es GPL, pero sí se distribuye de forma libre.GNUPlot permite a través de su lanzamiento por onsola plotear diferentes tipos degrá as a través de expresiones matemáti as o tomando valores numéri os de un hero.La apa idad de genera ión de s ripts para la automatiza ión del mismo lo onvierte en unaherramienta ex elente para gra ar los resultados obtenidos por Ávalon en la resolu ióndel sistema de e ua iones lineal.Ávalon, ha e uso de una fun ión para rear un hero grá o del transitorio en la es alade tiempo que se le indique, a través de los datos que introdu e el usuario. A partir deeste punto el programa se en arga de generar un s ript on parámetros bási os de ploteoque harán que se genere de forma automáti a la grá a on la evolu ión temporal de lasvariables al uladas en el sistema de e ua iones.151

Page 182: Memoria PFC Ayose Lomba

152 H. GNUPlot

Figure H.1: GNUPlot desde shell linuxExiste la posibilidad a su vez de modi ar a mano el s ript para que la salida de lasolu ión se adapte más a las ne esidades del usuario. Por este motivo se genera este apítuloen la memoria, se expondrán una serie de on eptos bási os para saber modi ar el heros ript pudiendo añadir aquello que el usuario rea pertinente y que Ávalon no genere pordefe to.H.2. S ripts de Ávalon para GNUPlotPreviamente se pro ede a omentar el hero s ript que se genera de forma automáti a.1 set grid2 set autos ale3 set t i t l e ' Graf i ado por d e f e t o de l a s s o l u i o n e s de l i r u i t o '4 plot ' so l_trans . data ' using 5 :1 t i t l e 'V en nodo 1 ' with l i n e s , 'so l_trans . data ' using 5 :2 t i t l e 'V en nodo 2 ' with l i n e s , 'so l_trans . data ' using 5 :3 t i t l e ' I de Bobina ent r e nodos 2 , 0 'with l i n e s , ' so l_trans . data ' using 5 :4 t i t l e ' I Re s i s t en i a ent r e nodos 1 , 2 ' with l i n e s56 set terminal po s t s r i p t o l o r s o l i d7 set output ' /home/ayose /Programa ion /AVALON/debug/ s r /ejemplo_03/ejemplo_03_grafi a . ps '8 replotEl software de este PFC genera un s ript para todos los análisis transitorios on laestru tura bási a que se puede ver arriba.La línea 1 del s ript le indi a a GNUPlot que debe dibujar la rejilla en el grá o y onset autos ale ajustar el ploteado a los ejes, esto puede variarse on sen illos omandosque se presentarán en se iones posteriores.El título de la grá a es el que indi a el omando set title, de esta línea abe resltarque el título que se desee olo ar debe estar entre omillas simples ya que sino algunas

Page 183: Memoria PFC Ayose Lomba

H.3. Uso bási o de GNUPlot 153versiones de GNUPlot pueden dar problemas al eje utar el hero.La línea más importante del s ript es sin duda la que le indi a al programa que debedibujar para lo que se utiliza el omando plot desarrollado en la siguiente se ión. Comovemos se debe indi ar el hero del que debe tomar datos, las olumnas que debe utilizara traves del parámetro using, el título de los valores representados y el tipo de repre-senta ión: a través de puntos, líneas o ualquiera de las otras posibilidades que propor ionael programa.Por último, el s ript indi a que tipo de salida debe dar el programa y donde debeguardar el hero grá o generado, que por defe to siempre es en la dire ión donde seen uentre el hero *sp que estemos analizando.H.3. Uso bási o de GNUPlotEn esta introdu ión genéri a de GNUPlot nos entraremos úni amente en omandospara representa ión de grá as en 2D que son las que en un prin ipio nos interesan paraeste proye to. Para más informa ión a er a del programa y sus fun iones más avanzadasse puede a udir a su web o ial, en donde se puede onsultar un amplio manual de usuarioy numerosísimos ejemplos de apli a ión. http://www.gnuplot.info/Para plotear una grá a a partir de un hero de texto que ontiene los valores arepresentar se pro ede on:gnuplot> plot ' nombre_fi hero . ex t en s i ón ' using 1donde using 1 le indi a que debe utilizar los datos de la primera olumna, omo no sele indi a nada más GNUPlot utilizará valores orrelativos desde 0 a número total de datosdel hero omo eje de abs isas. En realidad, omo no se espe i a nada, el programaadapta de forma automáti a la es ala del eje de ab isas.H.3.1. Estilo de líneasgnuplot> set style data <style>donde style puede ser ualquiera de las posibilidades presentadas a ontinua ión:l i n e s po in t s l i n e s p o i n t s dotsimpul se s ye r ro rba r s xye r ro rba r s s t ep sf s t e p s h i s t ep s boxes boxe r ro rba r sboxxyerrorbars ve to r f i n an eba r s a nd l e s t i k se r r o r l i n e s x e r r o r l i n e s y e r r o r l i n e s x y e r r o r l i n e sH.3.2. Expresiones analíti as.En mu has o asiones tal vez tengamos la ne esidad de representar fun iones analíti asen el programa bien para que sirvan de referen ia o bien para omparar la salida del

Page 184: Memoria PFC Ayose Lomba

154 H. GNUPlotprograma on una fun ión teóri a al ulada por otras vías, omo por ejemplo en el manualde ejemplos resueltos on Ávalon. En este manual se efe tuan ompara iones entre losresultados del programa on las fun iones teóri as de las variables al uladas mediantemétodos tradi ionales.Para poder plotear este tipo de fun iones en GNUPlot, el programa nos propor ionauna serie de fun iones para su uso que podemos listar on el omandognuplot> help fun tionsEste omando nos da la salida del grá o H.2

Figure H.2: Comando help fun tionsSi quisiesemos ombinar representa ión de heros on fun iones analíti as deberíamosindi arlo de una forma determinada en la línea del omando plot del s ript, esto se puedever en la línea 3 del siguiente s ript en el que indi amos a GNUPlot que debe representarla fun ión 0, 1 · e−x10 orrespondiente a la salida teóri a de la intensidad de un ir uito RCserie on retamente, el primero de la ole ión de problemas.1 set autos ale2 set t i t l e ' So lu ión de l to RC omparado on s o l u i ón t e ó r i a '3 plot ' so l_trans . data ' using 5:(−1*$3 ) t i t l e ' I n t en s idad a l u l ada' with points , ( 0 . 1*exp(−x/10) ) t i t l e ' I n t en s idad t e ó r i a V/R*( exp(−t /RC) ) ' with l i n e s4 set terminal po s t s r i p t o l o r s o l i d5 set output ' /home/ayose /Programa ion /AVALON/debug/ s r /CTOr _grafi a . ps '6 replot

Page 185: Memoria PFC Ayose Lomba

H.3. Uso bási o de GNUPlot 155En otras o asiones, nos será ne esario operar on las variables que nos propor iona elprograma, ya que no debemos olvidar que en la resolu ión del sistema sólo se obtienentensiones en nodos e intensidades de elementos. Supongamos que tenemos que plotear latensión de una resisten ia que se en uentra entre los nudos 1 y 2 de un ir uito. Ávalon nosdará en un análisis transitorio la evolu ión temporal de los nudos 1 y 2 pero no su diferen iaque es la que ne esitamos, para onseguir esto en la g¯a a de salida sólo debemos indi ara GNUPlot que reali e una gra a en la que reste las olumnas de datos que ontenganlas tensiones de los nudos 1 y 2. Cuando queramos ha er esto simplemente tendremos queanteponer el símbolo del dollar $ a las variables on las que deseamos operar y siempre laopera ión entre paréntesis. Un ejemplo de esto lo tenemos en el s ript anterior en la línea3 sólo que en esta o asión lo que se ha e es ambiar el signo de la variable que se deseagra ar.H.3.3. Modi a iones del omando plot.No es raro que en ontrarse on que la salida generada on el programa no se ajusta a loque deseamos, debido a que el grosor de las líneas no nos gusta, el olor asignado a algunavariable no es el ade uado, et .Nuevamente el programa no fa ilita la forma de modi ar esta serie de parámetros através de iertos omandos, las variables que podemos modi ar se listan on sus valorespor defe to on el omandotest on el que se obtiene la salida del grá o H.3 en la página siguientelos omandos que propor ionan modi a iones son:with t ipo de l i n e a i nd i a omo deben un i r s e l o s puntos datos quedan e l r e s u l t adol in ew id th va lo r modi f i a e l g ro so r de l a l í n e al i n e t yp e va lo r e l t i po de l í n e axrange [ xminimo : xmáximo f i j a e l rango de l e j e Xyrange [ yminimo : ymáximo f i j a e l rango de l e j e yset xlabel ' nombredelejeX ' Da un nombre a l e j e Xset ylabel ' nombredelejeY ' Da un nombre a l e j e YEn el prin ipio de este apítulo se expuso un s ript del programa generado por defe toen el que las últimas líneas estaban destinadas a generar la salida, en ese momento no se omentó mu ho más, sin embargo GNUPlot ofre e una amplia gama de salidas grá asque puede en algún momento onvenir más que otras, las diferentes salidas posibles determinal de este programa se obtienen on el omando set term uya salida se presenta enlas próximas páginas.set termAva i l ab l e te rmina l types :

Page 186: Memoria PFC Ayose Lomba

156 H. GNUPlot

Figure H.3: Comando helpaed512 AED 512 Terminalaed767 AED 767 Terminalaifm Adobe I l l u s t r a t o r 3 . 0 Formatb i tgraph BBN Bitgraph Terminal gm Computer Graphi s Meta f i l e o r e l EPS format for CorelDRAWdumb as i i ar t for anything that p r i n t s t ex tdxf dxf−f i l e for AutoCad ( d e f au l t s ize 120x80 )e ep i EEPIC −− extended LaTeX p i tu r e environmentemf Enhan ed Meta f i l e formatemtex LaTeX p i tu r e environment with emTeX s p e i a l sep s l a t e x LaTeX p i tu r e environment us ing graphi xpa kageepson_180dpi Epson LQ−s t y l e 180−dot per in h (24 pin )p r i n t e r sepson_60dpi Epson−s t y l e 60−dot per in h p r i n t e r sepson_lx800 Epson LX−800 , Star NL−10, NX−1000 , PROPRINTER. . . f i g FIG graph i s language for XFIG graph i s e d i t o rg i f GIF images us ing l i b gd and TrueType f on t sgp i GPIC −− Produ e graphs in g r o f f us ing the gp i p r ep r o e s s o rhp2623A HP2623A and maybe othe r s

Page 187: Memoria PFC Ayose Lomba

H.3. Uso bási o de GNUPlot 157hp2648 HP2648 and HP2647hp500 HP DeskJet 500 , [ 75 100 150 300 [ r l e t i f f Press return for more :hpdj HP DeskJet 500 , [ 75 100 150 300 hpgl HP7475 and r e l a t i v e s [ number o f pens [ e j e t h p l j i i HP La s e r j e t s e r i e s I I , [ 75 100 150 300 hppj HP PaintJet and HP3630 [FNT5X9 FNT9X17FNT13X25 imagen Imagen l a s e r p r i n t e rjpeg JPEG images us ing l i b gd and TrueType f on t sk _tek40xx MS−DOS Kermit Tek4010 termina l emulator − o l o rkm_tek40xx MS−DOS Kermit Tek4010 termina l emulator −mono hromel a t e x LaTeX p i tu r e environmentmf Metafont p l o t t i n g standardmif Frame maker MIF 3.00 formatmp MetaPost p l o t t i n g standardne _ p6 NEC p r i n t e r CP6, Epson LQ−800 [ mono rome o l o rd r a f t ok idata OKIDATA 320/321 Standardpbm Portab le bitmap [ smal l medium la r g e [mono hrome gray o l o r p l5 HP Des i gn j e t 750C, HP La s e r j e t I I I /IV , e t . (many opt i on s )png PNG images us ing l i b gd and TrueType f on t sp o s t s r i p t Pos tS r ip t graph i s , i n l ud i ng EPSF embeddedf i l e s ( * . eps )p s l a t e x LaTeX p i tu r e environment with Pos tS r ip t \s p e i a l spstex p l a i n TeX with Pos tS r ip t \ s p e i a l sp s t r i k s LaTeX p i tu r e environment with PSTri ks ma rosqms QMS/QUIC Laser p r i n t e r ( a l s o Ta l a r i s 1200 andothe r s )Press return for more :r e g i s REGIS graph i s languages e l ana r Se lanars t a r Star Color Pr in t e rsvg W3C S a lab l e Ve tor Graphi s drivertandy_60dpi Tandy DMP−130 s e r i e s 60−dot per in h graph i stek40xx Tektronix 4010 and othe r s ; most TEK emulatorstek410x Tektronix 4106 , 4107 , 4109 and 420X te rmina l stexdraw LaTeX texdraw environment

Page 188: Memoria PFC Ayose Lomba

158 H. GNUPlott g i f TGIF X11 [mode [ x , y [ dashed [ " f on t " [f o n t s i z e tk anvas Tk/T l anvas widget [ p e r l t k [ i n t e r a t i v e t p i TPIC −− LaTeX p i tu r e environment with tp i \s p e i a l sunknown Unknown termina l type − not a p l o t t i n g dev i evttek VT−l i k e tek40xx termina l emulatorwxt wxWidgets ros s−plat form windowed termina lx11 X11 Window Systemx l i b X11 Window System ( gnulib_x11 dump)H.4. GNUPlot en Ávalon.Ya se ha men ionado, que en el programa de este PFC se utiliza GNUPlot para mostrarla salida grá a del análisis transitorio on la genera ión de un s ript que gra a todaslas variables al uladas, omo generalmente esto no será lo que el usuario desee se hanhabilitado formas en las que que se puede modi ar el s ript utilizado y eje utar el GNUPlotpara una nueva representa ión. Esto se onsigue mediante los botones que se en uentranen la ter era pestaña del programa.

H.4.1. Fun ión en argada de generar las grá as en Ávalon.La fun ión que se en arga de generar el s ript de salida de los transitorios es la siguiente1 void e s r i b i r g nup l o t ( ba s i o s *p_DATOS)2 3

Page 189: Memoria PFC Ayose Lomba

H.4. GNUPlot en Ávalon. 1594 f s t ream f i h ( " so l_trans . data" , i o s : : in | i o s : : out| i o s : : t run | i o s : : b inary ) ;5 har texto [ 1 0 0 ;6 i f s t r e am f i h e r o ;7 // Abro para l e t u r a8 f i h e r o . open ( "x_trans . data" ) ;9 f loat ontador=p_DATOS−>t0 ; ;10 i f ( ! f i h e r o )11 12 out << "No se ha podido ab r i r e l f i h e r o . " <<endl ;13 e x i t (1 ) ;14 15 f i h e r o . get ( texto , 2 56 ) ;1617 for ( int i n d i e =0; ind i e <(p_DATOS−>f i l a s ( ) *p_DATOS−>numv)+1; i n d i e++)18 19 f i h<<texto<<" " ;20 f i h e r o . g e t l i n e ( texto , 2 56 ) ;21 i f (0==ind i e%p_DATOS−>f i l a s ( )&&ind i e!=0&&ind i e!=p_DATOS−>f i l a s ( ) *p_DATOS−>numv)22 f i h<<" "<< ontador<<" \n" ; ontador= ontador+p_DATOS−>h ;23 24 f i h e r o . l o s e ( ) ;25 f i h . l o s e ( ) ;26 //Ploteando l a s s o l u i one s27 f s t ream plo t eo (p_DATOS−>datos_s r ipt , i o s : : in |i o s : : out | i o s : : t run | i o s : : b inary ) ;28 i f s t r e am va r i ab l e ;29 va r i ab l e . open ( " v a r i a b l e s . data" ) ;30 // fs t ream va r i a b l e (" v a r i a b l e s . data " , i o s : : in | i o s: : out | i o s : : t run | i o s : : b inary ) ;31 i f ( ! v a r i ab l e )32 33 out << "No se ha podido ab r i r e l f i h e r o . " <<endl ;34 e x i t (1 ) ;35 36 va r i ab l e . g e t l i n e ( texto , 2 55 ) ;3738

Page 190: Memoria PFC Ayose Lomba

160 H. GNUPlot39 int num ol=p_DATOS−>f i l a s ( ) +1;4041 ploteo<<" s e t g r id "<<endl ;42 ploteo<<" s e t au t o s a l e "<<endl ;43 ploteo<<" s e t t i t l e ' Graf i ado por d e f e t o de l a s s o l u i o n e s de l i r u i t o ' "<<endl ;44 ploteo<<" p lo t " ;45 for ( int g r a f=num ol ; graf >1; graf−−)46 ploteo<<" ' so l_trans . data ' us ing "<<num ol<<" : "<<num ol−g r a f+1<<" t i t l e ' "<<texto<<" ' "<<" with l i n e s " ;47 va r i ab l e . g e t l i n e ( texto , 2 55 ) ;48 i f ( num ol−g r a f+1!=num ol−1) ploteo<<" , "; 49 5051 ploteo<<"\n"<<endl ;52 ploteo<<" s e t termina l p o s t s r i p t o l o r s o l i d "<<endl ;53 QString g r a f i a = p_DATOS−>so lu i on ;54 ploteo<<" s e t output ' "<<gra f i a<<" ' "<<endl ;55 ploteo<<" r e p l o t "<<endl ;56 va r i ab l e . l o s e ( ) ;57 p lo t eo . l o s e ( ) ;58 QString p l o t e a r = p_DATOS−>datos_s r ipt ;59 p l o t e a r . prepend ( " gnuplot " ) ;60 system ( p l o t e a r ) ;61

Page 191: Memoria PFC Ayose Lomba

Apéndi e IHistoria de Qt e inuen ias en losentornos de es ritorio.En 1991, Eirik Eng y Haavard Nord omenzaron la gesta ión de la librería QuasarToolkit más ono ida por su a rónimo Qt. Tres años más tarde, el 4 de marzo de 1994 se onstituía Quasar Te hnologies, empresa de software noruega que ofertaba herramientas ybibliote as para el desarrollo de software y servi io de onsultoría. En esas fe has la libreríase desarrollaba en ódigo abierto pero no ompletamente libre, este he ho sumado a que noestaba permitido distribuir versiones modi adas de Qt hi ieron que se rease un oni toabierto entre los defensores del software libre más puristas y los menos onservadores, yaque se planteaban problemas de li en ias de explota ión que no se situaban en línea a lapolíti a de la funda ión GNU.Se debe tener presente que en o tubre de 1996 se omenzaba el desarrollo de uno de loses ritorios más extendidos en el mundo del software libre, KDE. Este vio la luz el 12 de juliode 1998, el he ho de que di ho es ritorio se basase en una librería par ialmente libre, reóy fomentó el oni to men ionado anteriormente por lo que se ini iaron nego ia iones paraintentar solventar di ho es ollo y poten iar de esta forma que la evolu ión del proye to noquedase estan ada por motivos de li en ias. Paralelamente se impulsó en el 1997 otro delos grandes es ritorios del mundo Linux, Gnome, a la vez que se ini iaron nego ia iones onQuasar Te hnologies denominada ya, Trollte h para estable er la KDE Free Qt Fundation.Esta garantizaba la publi a ión de la última versión de la librería, ante posibles problemas on Trollte h, bajo li en ia BSD.Queda lara la inuen ia de la librería en la apari ión y desarrollo de los dos entornosde es ritorio más utilizados en las distribu iones Linux hasta la fe ha.161

Page 192: Memoria PFC Ayose Lomba

162 I. Historia de Qt e inuen ias en los entornos de es ritorio.Al llegar la versión 2.0 de la librería (1998) los desarrolladores la li en iaron bajo QPLpara dos años más tarde, lanzar la 2.1 bajo GLP en Linux he ho que tardaría más años enextenderse a las plataformas de Ma y Windows en 2003 y 2005 respe tivamente.Tal vez el 28 de enero de 2008, puede ser la fe ha más importante en la historia brevede la ompañía desarrolladora de Qt ya que se anun iaba que Nokia adquiría la mismamediante lanzamiento de una OPA amistosa. El 30 de septiembre de ese mismo año seanun iaba la modi a ión del nombre Trollte h por el de Qt Software.Este último he ho hizo saltar las alarmas de los seguidores y usuarios de Qt, ya queaunque los a uerdos previos on la ompañía aseguraban un lanzamiento de la últimaversión de la librería bajo la li en ia orrespondiente, no se sabía si la gigante de losmóviles apostaría por seguir un desarrollo bajo los parámetros previos existentes. El 14 deenero de 2009 Nokia anun iaba que Qt 4,5 se li en iaba bajo LGPL.Este fa tor unido a otros problemas de ompatibilidad on el IDE utilizado en el de-sarrollo del presente proye to justi an que el entorno grá o del mismo se realizase on laversión 3 de la librería y no on la 4. No obstante y ante la posibilidad de seguir mejorandoel programa se tiene previsto su migra ión a la nueva versión de Qt después de la le turadel proye to.I.1. Extensión de uso de Qt. Produ tos.Para todos aquellos que des onoz an hasta donde ha llegado Qt, se presenta en laspróximas líneas varios produ tos desarrollados on la ayuda de esta librería. El poten ialde Qt radi a en que es una librería multiplataforma lo que le permite ser eje utado endiferentes es ritorios y sistemas operativos, su ayuda está altamente desarrollada y su ódigo en ++ es uído y laro para el programador.Podemos en ontrar desarrollos on Qt tanto en apli a iones de ódigo abierto omoprivativo. Estos ejemplos pueden ser onsultados en la web qtsoftware. om que ha he hode fuente para esta se ión.I.2. Software errado.I.2.1. Lu aslm Entertainment Company Ltd."Hemos utilizado Qt para algunos pequeños proye tos y quedaron impresionados on sufa ilidad de uso y apoyo para desarrollo de plataforma ruzada. Estábamos onven idos que

Page 193: Memoria PFC Ayose Lomba

I.2. Software errado. 163nuestra empresa puede aprove har esta librería a una es ala mayor en nuestras prin ipalesherramienta " Steve Sullivan, Dire tor de I + D de Lu aslm Ltd.I.2.2. Wolfram Resear hWolfram Resear h es la empresa responsable del programa Mathemati a, en el desar-rollo de su última versión han apostado por omenzar a vol ar su software a Qt por lo queha de larado:Ser apaz de onar en los desarrolladores de software Qt para que nos ayuden apermane er en la ima de la portabilidad de los problemas es una ventaja para nosotros.Qt onrma el aumento de la alidad del produ to que estamos trayendo al mer ado. "John Fultz, Desarrollador Prin ipal de Wolfram Resear hI.2.3. AdobeAdobe también ha e uso de Qt para el desarrollo de frontends de iertos programas desu oferta de software un ejemplo de estos es el Adobe Photoshop Elements ®

I.2.4. GoogleSeguro que mu hos de los que están leyendo esta memoria han utilizado en algúnmomento el Google Earth para ver alguna dire ión o trazar alguna ruta, el entorno grá ode este programa también ha e uso de Qt.

Page 194: Memoria PFC Ayose Lomba

164 I. Historia de Qt e inuen ias en los entornos de es ritorio.I.3. Software libreSe pueden onsultar mu has más apli a iones en la web del desarrollador, no obstanteme gustaría realizar una introdu ión rápida de algunas apli a iones rela ionadas másdire tamente on el mundo del software libre.I.3.1. KDE.Entorno de es ritorio al que ya se ha dedi ado una se ión en este proye to.

I.3.2. Ko eSuite de omáti a desarrollada para rear una alternativa al omnipresente O e deMi rosoft y que debe su entorno grá o una vez más a la librería de lases de la queestamos hablando.

Page 195: Memoria PFC Ayose Lomba

I.3. Software libre 165I.3.3. VLC media playerReprodu tor multimedia ampliamente utilizado tanto en Linux omo en WindowsI.3.4. Amarok 2Amarok es un reprodu tor de músi a multiplataforma que permite rear listas de re-produ ión y lasi ar la músi a que tenemos en el ordenador.

Page 196: Memoria PFC Ayose Lomba
Page 197: Memoria PFC Ayose Lomba

Apéndi e JLi en ias en el mundo del software libre.J.1. Li en ia GNU/GPLComo ya se diese a entender en las partes de la memoria destinada a la librería Qt,el uso de las li en ias en el ontexto del desarrollo GNU puede volverse un tanto tediosodebido a, bajo el punto de vista del autor, la innumerable antidad de li en ias disponibles.No obstante son menos, las más extendidas y ono idas por la gran mayoría de usuariosGNU Linux.

En este apítulo nos entraremos en la exposi ión de las li en ias en la que se lanzaráel ódigo del proye to que se expone, la do umenta ión y su página web.El ódigo del proye to se li en iará bajo General Publi Li ense GPL (Li en ia Públi aGeneral) ya que la idea al rear y desarrollar este proye to es que los usuarios ontribuyan amejorarlo, lo que evidentemente puede ha erse, ya que el autor no es experto programador.Para una versión más a tualizada de la li en ia a udir ahttp://www.gnu.org/li enses/li enses.html.J.2. Tradu ión de GNU/GPLA ontinua ión se expone una tradu ión no o ial de la GNU GPL y los términos enlos que se publi a el ódigo fuente del proye to.This is an uno ial translation of the GNU General Publi Li ense into spanish. It wasnot published by the Free Software Foundation, and does not legally state the distributionterms for software that uses the GNU GPLonly the original English text of the GNU GPLdoes that. However, we hope that this translation will help spanish speakers understandthe GNU GPL better.Esta es una tradu ión no o ial de la Li en ia Públi a General GNU (GNU GPL)al español. No fue publi ada por la Funda ión para el Software Libre, y no estable e167

Page 198: Memoria PFC Ayose Lomba

168 J. Li en ias en el mundo del software libre.legalmente los términos de distribu ión para software que utiliza la GNU GPLsólamenteel texto original en inglés de la GNU GPL ha e eso. De todas formas, esperamos que estatradu ión ayude a los hispanohablantes a omprender mejor la GNU GPL.LICENCIA PÚBLICA GENERAL GNUVersión 3, 29 de junio de 2007Copyright (C) 2007 Free Software Foundation, In . <http://fsf.org/>Se permite la opia y distribu ión de opias literales de esta li en ia, pero no estápermitido modi arla.PreámbuloLa Li en ia Públi a General GNU (GNU GPL) es una li en ia libre, sin dere hos parasoftware y otro tipo de trabajos.Las li en ias para la mayoría del software y otros trabajos prá ti os están destinadasa suprimir la libertad de ompartir y modi ar esos trabajos. Por el ontrario, la Li en iaPúbli a General GNU persigue garantizar su libertad para ompartir y modi ar todas lasversiones de un programay asegurar que permane erá omo software libre para todos sususuarios. Nosotros, La Funda ión de Software Libre, usamos la Li en ia Públi a GeneralGNU para la mayoría de nuestro software; y también se apli a a ualquier trabajo realizadode la misma forma por sus autores. Usted también puede apli arla a sus programas.Cuando hablamos de software libre, nos referimos a libertad, no a pre io. NuestrasLi en ias Públi as Generales están destinadas a garantizar la libertad de distribuir opiasde software libre (y obrar por ello si quiere), a re ibir el ódigo fuente o poder onseguirlosi así lo desea, a modi ar el software o usar parte del mismo en nuevos programas libres,y a saber que puede ha er estas osas.Para proteger sus dere hos, ne esitamos evitar que otros le nieguen esos dere hos ole pidan renun iar a ellos. Por lo tanto, usted tiene iertas responsabilidades uandodistribuye opias del software, o si lo modi a: responsabilidades que persiguen respetarla libertad de otros.Por ejemplo, si distribuye opias de tales programas, gratuitamente o no, debe trans-mitir a los destinatarios los mismos dere hos que usted re ibió. Debe asegurarse que ellostambién re iban o puedan onseguir el ódigo fuente. Y debe mostrarles estos términos y ondi iones para que onoz an sus dere hos.Los desarrolladores que usen la GPL GNU protegen sus dere hos de dos formas: (1)imponen dere hos al software, y (2) le ofre en esta Li en ia para que legalmente lo opie,distribuya y/o modique.Para proteger a desarrolladores y autores, la GPL expone laramente que no existegarantía alguna para este software libre. Para bene io de ambos, usuarios y autores, laGPL estable e que las versiones modi adas deberán estar identi adas omo tales, paraque ualquier problema no sea atribuido por error a los autores de versiones anteriores.Algunos dispositivos están diseñados para negar al usuario la instala ión o la eje u iónde versiones modi adas del software que usan internamente, aunque el fabri ante sí puedaha erlo. Esto es ompletamente in ompatible on el objetivo de proteger la libertad de los

Page 199: Memoria PFC Ayose Lomba

J.2. Tradu ión de GNU/GPL 169usuarios para modi ar el software. Este tipo de abuso sistemáti o o urre on produ tosde uso personal, que es pre isamente donde es menos a eptable. Por tanto, hemos diseñadoesta versión de la GPL para prohibir estas prá ti as en esos produ tos. Si apare iesen prob-lemas similares en otros ámbitos, estaremos preparados para extender estas presta iones alas próximas versiones de la GPL, tanto omo sea ne esario para proteger la libertad delos usuarios.Por último, todo programa está onstantemente amenazado por las patentes de soft-ware. Los estados no deberían permitir que las patentes restrinjan el desarrollo y el uso desoftware en ordenadores de uso general; pero en aquellos que lo hagan, esperamos evitarel espe ial peligro que suponen las patentes, que apli adas a un programa libre puedanha erlo propietario en la prá ti a. Para prevenir eso, la GPL estable e que las patentes nopueden usarse para onvertir un programa en no-libre.A ontinua ión se exponen los términos y ondi iones para la opia, distribu ión ymodi a ión.TÉRMINOS Y CONDICIONES0. Deni iones.En adelante Esta Li en ia se reere a la versión 3 de la Li en ia Públi a General GNU."Copyright" también signi a "leyes similares al opyright" que son apli ables a otrotipo de trabajos, tales omo las más aras de semi ondu tores."El Programa" se reere a ualquier trabajo on opyright al que se haya apli adoesta Li en ia. Cada bene iario es asimilable a "usted". "Bene iarios" y "destinatarios"pueden ser personas físi as u organiza iones."Modi ar" un trabajo signi a opiar o adaptar todo o parte de un trabajo, ex ep-tuando la opia exa ta, de manera que se requiera permiso de opyright. El trabajoresultante se denomina "versión modi ada" de un trabajo anterior o trabajo "basado en"el trabajo anterior.Un "trabajo amparado" puede ser tanto el Programa no modi ado omo un trabajobasado en el Programa."Difundir" un trabajo signi a ha er ualquier osa on él, sin permiso, que le hagadire ta o indire tamente responsable de infringir leyes ubiertas por opyright, ex epto laeje u ión en un ordenador o la modi a ión de una opia privada. La difusión in luyela opia, distribu ión ( on o sin modi a iones), distribu ión públi a, y en algunos paísestambién otras a tividades."Distribuir" un trabajo impli a ualquier tipo de difusión que permite a la otra parteha er o re ibir opias. La mera intera ión on un usuario mediante una red de ordenadores,sin transferir opia alguna, no se onsidera "distribu ión".Una interfaz de usuario intera tiva muestra "Avisos Legales Apropiados" siempre y uando in luya ara terísti as visuales apropiadas y desta adas que (1) muestren un avisode opyright apropiado, y (2) indiquen al usuario que no existe garantía alguna para eltrabajo (ex eptuando las garantías que se hayan podido estable er), que los bene iarios

Page 200: Memoria PFC Ayose Lomba

170 J. Li en ias en el mundo del software libre.deben distribuir el trabajo según se estable e en la presente Li en ia, y ómo se puede veruna opia de esta Li en ia. Si la interfaz muestra una lista de op iones o omandos, tales omo menús, un elemento desta ado en di ha lista umple estos riterios.1. Código Fuente.El " ódigo fuente" de un trabajo es el formato preferido para realizar modi a ionessobre él. "Código objeto" se reere a ualquier formato del trabajo que no sea ódigofuente.Una "Interfaz Estándar" se reere a una interfaz que sea o bien un estándar o ialdenido por una institu ión de estándares re ono ida, o bien, en el aso de interfa esespe í os para una determinado lenguaje de programa ión, una uyo uso esté generalizadaentre los desarrolladores que trabajan on ese lenguaje.Las "Bibliote as de Sistema" de un trabajo eje utable in luyen a ualquier elemento,que no sea el trabajo ompleto, que (a) esté in luida/o de la misma forma que un om-ponente prin ipal, pero que no forme parte de ese omponente prin ipal, y (b) sólo sirvapara habilitar la utiliza ión del trabajo a través de ese omponente prin ipal, o para im-plementar un Interfaz Estándar para el ual está disponible una implementa ión públi aen ódigo fuente. Un "Componente Prin ipal", en este ontexto, se reere a un ompo-nente prin ipal y esen ial (nú leo, sistema de ventanas y similares) del sistema operativoparti ular (en su aso) sobre el ual fun ione el eje utable, o un ompilador utilizado paragenerar el trabajo, o un intérprete del ódigo objeto utilizado para eje utarlo.La "Fuente Correspondiente" de un trabajo en ódigo objeto se reere a todo ódigofuente ne esario para generar, instalar, y (en el aso de trabajos eje utables) eje utar el ódigo objeto y modi ar el trabajo, in luyendo guiones que ontrolen esas a tividades.Sin embargo, no se in luyen las Bibliote as de Sistema del trabajo, o herramientas depropósito general o programas gratuitos habitualmente disponibles y usados sin ningunamodi a ión para realizar estas a tividades pero que no forman parte del trabajo. Porejemplo, la Fuente Correspondiente in luye los ar hivos de deni ión de interfaz aso ia-dos on ar hivos fuente del trabajo, y el ódigo fuente de las bibliote as ompartidas osubprogramas enlazados dinámi amente que el programa requiere por diseño, omo la o-muni a ión de datos intrínse a o el ontrol de ujo entre esos subprogramas y otras partesdel trabajo.La Fuente Correspondiente no in luye ne esariamente aquello que los usuarios puedenregenerar automáti amente a partir de otras partes de la Fuente Correspondiente.La Fuente Correspondiente de un trabajo en ódigo fuente es ese mismo trabajo.2. Permisos Bási os.Todos los dere hos garantizados por esta Li en ia se otorgan omo opyright del Pro-grama, y se propor ionan de manera irrevo able siempre y uando se umplan las ondi- iones estable idas. Esta Li en ia arma explí itamente su permiso ilimitado para eje utarel Programa sin modi a iones. El resultado de la eje u ión de un programa amparado

Page 201: Memoria PFC Ayose Lomba

J.2. Tradu ión de GNU/GPL 171está ubierto por esta Li en ia sólo en el aso de que la salida, por su ontenido, onsti-tuya un trabajo amparado. Esta Li en ia re ono e sus dere hos de uso razonable u otroequivalente, tal y omo determina la ley de opyright.Usted podrá realizar, eje utar y difundir trabajos amparados que no distribuya, sin ondi ión alguna, siempre y uando no tenga otra li en ia más restri tiva. Podrá distribuirtrabajos amparados a ter eros on el mero objetivo de que ellos hagan modi a ionesex lusivamente para usted, o para que le propor ionen ayuda para eje utar esos trabajos,siempre que umpla los términos de esta Li en ia distribuyendo todo el material de uyo opyright no posee el ontrol. Aquellos que reali en o eje uten los trabajos amparadospara usted deben ha erlo ex lusivamente en su nombre, bajo su dire ión y ontrol, ontérminos que les prohíban realizar opias de su material on opyright al margen de larela ión on usted.La distribu ión bajo otras ir unstan ias se permite úni amente bajo las ondi ionesestable idas más abajo. No está permitido subli en iar; la laúsula 10 lo ha e inne esario.3. Prote ión de Dere hos Legales de los Usuarios frente a Leyes Anti-Burla.Ningún trabajo amparado debe onsiderarse parte de una medida te nológi a efe tiva,a tenor de lo estable ido en ualquier ley apli able que umpla las obliga iones expresasen el artí ulo 11 del tratado de opyright WIPO adoptado el 20 de di iembre de 1996, oleyes similares que prohíben o restringen la burla de tales medidas.Cuando distribuya un trabajo amparado, renun ia a ualquier poder legal para prohibirla burla de medidas te nológi as mientras tales burlas se reali en en ejer i io de dere hosamparados por esta Li en ia respe to al trabajo amparado; además, usted negará ualquierinten ión de limitar el uso o modi a ión del trabajo on el objetivo de imponer, al tra-bajo de los usuarios, sus dere hos legales o de ter eros para prohibir la burla de medidaste nológi as.4. Distribu ión de opias literales.Usted podrá distribuir opias literales del ódigo fuente del Programa tal y omo loha re ibido , por ualquier medio, siempre que publique de forma lara y llamativa en ada opia el orrespondiente aviso de opyright ; mantenga inta tos todos los avisos queestablez an que esta Li en ia y ualquier término no-permisivo añadido y a orde on la láusula 7 son apli ables al ódigo; mantenga inta tos todos los avisos de ausen ia degarantía; y propor ione a todos los destinatarios una opia de esta Li en ia junto on elPrograma.Usted podrá obrar ualquier importe o no obrar nada por ada opia que distribuya,y podrá ofre er soporte o prote ión de garantía mediante un pago.5. Distribu ión de Versiones Modi adas de Código.Usted podrá distribuir un trabajo basado en el Programa, o las modi a iones que loprodu en a partir del Programa, omo ódigo fuente en virtud de los términos estable idos

Page 202: Memoria PFC Ayose Lomba

172 J. Li en ias en el mundo del software libre.en la láusula 4, siempre que umpla todas las ondi iones siguientes:a) El trabajo debe in luir avisos desta ados indi ando que usted lo ha modi ado ydando una fe ha pertinente.b) El trabajo debe in luir avisos desta ados indi ando que está realizado a tenor delo dispuesto en la presente Li en ia y en ualquier otra ondi ión añadida en virtudde la láusula 7. Este requisito modi a el requisito de "mantener inta tos todos losavisos" expuesto en la laúsula 4. ) En virtud del presente do umento, usted deberá apli ar la li en ia al trabajo ompleto, omo un todo, a ualquier persona que esté en posesión de una opia.Por lo tanto, esta Li en ia se apli ará junto on ualquier otra ondi ión adi ionalapli able de la láusula 7, al onjunto ompleto del trabajo y todas y ada una de suspartes, independientemente de omo sean agrupadas o empaquetadas. Esta Li en iano permite ser apli ada al trabajo de ninguna otra forma, pero no se anula di hopermiso si usted lo ha re ibido por separado.d) Si el trabajo tiene interfa es de usuario intera tivos, ada uno debe mostrar AvisosLegales Apropiados; sin embargo, si el Programa tiene interfa es intera tivos que nomuestran Avisos Legales Apropiados, su trabajo no tiene porqué modi arlos paraque lo hagan.Un onjunto o re opila ión formado por un trabajo amparado y otros trabajos distintose independientes, que por su naturaleza no sean amplia iones del trabajo amparado, queno se ombinen on él de alguna forma para dar lugar a un programa mayor, y que esténubi ados en un medio de distribu ión o alma enamiento, se denomina "paquete" si lare opila ión y su opyright al ompleto no son usados para limitar el a eso o los dere hoslegales de los usuarios de la re opila ión, más allá de lo que permita el trabajo individual.La in lusión de un trabajo amparado en un paquete no ha e apli able esta Li en ia al restode elementos del paquete.6. Distribu ión de ódigo No-fuente.Usted podrá distribuir el ódigo objeto de un trabajo amparado en virtud de los tér-minos de las láusulas 4 y 5, siempre que también distribuya las Fuentes Correspondientesen ódigo máquina, de a uerdo on los términos estable idos en esta Li en ia, de algunade las siguientes maneras:a) Distribuir el ódigo objeto en, o embebido en, un produ to físi o (in luyendomedios de distribu ión físi os), a ompañado de las Fuentes Correspondientes en unmedio físi o duradero y que sea utilizado habitualmente para el inter ambio de soft-ware.

Page 203: Memoria PFC Ayose Lomba

J.2. Tradu ión de GNU/GPL 173b) Distribuir el ódigo objeto en, o embebido en, un produ to físi o (in luyendomedios de distribu ión físi os), a ompañado de una oferta por es rito, válida al menosdurante tres años y válida durante el tiempo en el que usted ofrez a re ambios osoporte para ese modelo de produ to, on el n de ofre er al poseedor del ódigoobjeto (1) una opia de las Fuentes Correspondientes a todo el software del produ toque esté ubierto por esta Li en ia, en un medio físi o duradero habitual para elinter ambio de software, a un pre io no mayor que su oste razonable por distribuirfísi amente las fuentes, o (2) a eso para opiar las fuentes orrespondientes desdeun servidor de red sin oste alguno. ) Distribuir opias individuales del ódigo objeto junto on una opia de la oferta pores rito para/ on el n de propor ionar las Fuentes Correspondientes. Esta alternativasólo está permitida o asionalmente, pero no de forma omer ial, y solamente si ustedre ibió el ódigo objeto junto on una oferta pare ida, de a uerdo on la sub láusula6b.d) Distribuir el ódigo objeto ofre iendo a eso desde un lugar determinado (gratuita-mente o mediante pago), y ofre er a eso equivalente a las Fuentes Correspondientesde la misma forma y en el mismo lugar sin argo añadido. No es ne esario exigir alos destinatarios que opien las Fuentes Correspondientes junto on el ódigo objeto.Si el lugar para opiar el ódigo objeto es un servidor de red, las Fuentes Correspon-dientes pueden estar en un servidor diferente (gestionado por usted o ter eros) queofrez a fa ilidades de opia equivalentes, siempre que mantenga instru iones larasjunto al ódigo objeto espe i ando dónde en ontrar las Fuentes Correspondientes.Independientemente de qué servidores alberguen las Fuentes Correspondientes, ustedseguirá obligado a asegurar que estarán disponibles durante el tiempo ne esario para umplir estos requisitos.e) Distribuir el ódigo mediante transferen ias entre usuarios, siempre que informe aotros usuarios dónde se ofre en el ódigo objeto y las Fuentes Correspondientes deforma públi a sin argo alguno, tal y omo se estable e en la sub láusula 6d.Una parte separable del ódigo objeto, uyo ódigo fuente esté ex luido de las FuentesCorrespondientes omo Bibliote a de Sistema, no ne esita ser in luida en la distribu ióndel ódigo objeto del trabajo.Un "Produ to de Usuario" es tanto (1) un "produ to de onsumo", que se reere a ualquier propiedad personal tangible habitualmente utilizada para nes personales, fa-miliares o domésti os, o (2) ualquier osa diseñada o vendida para ser in orporada omoextensión/expansión para otro produ to. Para determinar si un produ to es un produ tode onsumo, los asos dudosos se resolverán favore iendo el amparo. En el aso de un pro-du to on reto re ibido por un usuario parti ular, "de uso habitual" se reere al uso típi oo orriente de ese tipo de produ to, independientemente de la situa ión del usuario parti -ular o de la forma en que el usuario on reto utili e, o pretenda o se espere que pretendautilizar, el produ to. Un produ to es un produ to de onsumo independientemente de si

Page 204: Memoria PFC Ayose Lomba

174 J. Li en ias en el mundo del software libre.el produ to tiene usos sustan ialmente omer iales, industriales o distintos del onsumo, amenos que tales usos representen la úni a forma posible de utilizar el produ to.Las "Instru iones de Instala ión" para un Produ to de Usuario se reeren a ualquiermétodo, pro edimiento, lave de autoriza ión, u otro tipo de informa ión ne esaria parainstalar y eje utar una versión modi ada de un trabajo amparado en ese Produ to deUsuario a partir de una versión modi ada de las Fuentes Correspondientes. Las instru - iones deben ser su ientes para asegurar el fun ionamiento ontinuo del ódigo objetomodi ado sin ningún tipo de ondi ionamiento o intromisión por el simple he ho de habersido modi ado.Si, bajo las premisas de esta láusula, usted distribuye el ódigo objeto de un trabajoen, o on un Produ to de Usuario o espe í amente para ser usado en el mismo, y la dis-tribu ión forma parte de una transa ión donde los dere hos de posesión y uso del Produ tode Usuario se transeren al destinatario a perpetuidad o durante un plazo jo de tiempo(independientemente de las ara terísti as de la transa ión), las Fuentes Correspondientesdistribuidas bajo estos supuestos deben a ompañarse de las Instru iones de Instala ión.Sin embargo, estos requerimientos no se apli an si ni usted ni ter eros tienen posibilidadde instalar el ódigo objeto modi ado en el Produ to de Usuario (por ejemplo, el trabajoha sido instalado en memoria de sólo le tura, ROM):El requerimiento de propor ionar Informa ión de Instala ión no in luye el he ho de ontinuar propor ionando servi io de soporte, garantía, o a tualiza iones para un trabajoque haya sido modi ado o instalado por el destinatario, o para el Produ to de Usuarioen el que se haya modi ado o instalado. El a eso a la red puede ser denegado uandola propia modi a ión afe te materialmente y de forma adversa a la opera ión de la red oviole las reglas y proto olos de omuni a ión en la red.Las Fuentes Correspondientes distribuidas, y las Instru iones de Instala ión propor- ionadas de a uerdo on esta láusula, deben gurar en un formato do umentado públi a-mente (y on una implementa ión disponible para el públi o en ódigo fuente), y no debenne esitar laves de a eso espe iales para la des ompresión, le tura o opia.7. Condi iones adi ionales.Los "Permisos Adi ionales" son ondi ionantes que amplían los términos de esta Li en- ia permitiendo ex ep iones a una o más de sus ondi iones. Los Permisos Adi ionales queson apli ables al Programa ompleto deberán ser tratados omo si estuviesen in luidos enesta Li en ia, hasta los límites de validez impuestos por las leyes apli ables. Si los permisosadi ionales se apli asen sólo a una parte del Programa, esa parte podría ser usada de formaindependiente en virtud de di hos permisos, pero el Programa ompleto seguiría estandoafe tado por esta Li en ia on independen ia de los permisos adi ionales.Cuando distribuya una opia de un trabajo amparado, usted podrá op ionalmenteeliminar ualquier permiso adi ional de esa opia, o de alguna parte del mismo. (Lospermisos adi ionales pueden haber estable ido que sea requerida su elimina ión en iertossupuestos si usted modi a el trabajo.) Usted puede estable er permisos adi ionales enmaterial añadido por usted a un trabajo amparado, sobre el ual tiene o podrá aportar sus

Page 205: Memoria PFC Ayose Lomba

J.2. Tradu ión de GNU/GPL 175permisos de opyright orrespondientes.Sin ontravenir ualquier otra estipula ión en esta Li en ia, usted podrá, para el mate-rial que añada a un trabajo amparado, (si está autorizado por los poseedores de opyrightde ese material) añadir ondi iones a esta Li en ia on los siguientes términos:a) Ausen ia de garantía o limita ión de responsabilidad diferente de los términosestable idos en las láusulas 15 y 16 de esta Li en ia; ub) Obliga ión de mantener determinados avisos legales razonables o atribu iones deautoría en el material o en los Avisos Legales Correspondientes mostrados por lostrabajos que lo ontengan; o ) Prohibir la tergiversa ión del origen del material, o soli itar que las diferen iasrespe to a la versión original sean señaladas de forma apropiada en las versionesmodi adas del material; od) Limitar la utiliza ión de los nombres de los autores o bene iarios del material on nes divulgativos; oe) Negarse a ofre er dere hos afe tados por leyes de registro para el uso de mar asempresariales, registradas o de servi io; of) Exigir indemniza ión a los autores y poseedores de la li en ia de ese material, porparte de ualquier persona que distribuya el material (o versiones modi adas delmismo), estable iendo obliga iones ontra tuales de responsabilidad sobre el desti-natario, para ualquier responsabilidad que estas obliga iones ontra tuales impon-gan dire tamente sobre los autores y poseedores de li en ia.Cualesquiera otras ondi iones adi ionales no-permisivas son onsideradas "otras restri - iones" en el ontexto de la láusula 10. Si el Programa, tal ual lo re ibió, o ualquierparte del mismo, ontiene un aviso indi ando que está amparado por esta Li en ia juntoa una láusula de restri ión posterior espe í a, usted podrá suprimir esa láusula. Siun do umento de li en ia ontiene una restri ión de este tipo pero permite modi ar lali en ia o la distribu ión en virtud de la presente Li en ia, usted podrá añadirla al materialde un trabajo amparado por los términos de ese do umento de li en ia, siempre que di harestri ión no se mantenga tras la modi a ión de la li en ia o la distribu ión.Si añade ondi iones para un trabajo amparado, a tenor de lo estable ido en la presente láusula, usted deberá ubi ar, en los ar hivos fuente involu rados, una de lara ión de lostérminos adi ionales apli ables a esos ar hivos, o un aviso indi ando dónde lo alizar lostérminos apli ables.Las ondi iones adi ionales, permisivas o no, deben apare er por es rito omo li en iasseparadas, o gurar omo ex ep iones; de todas formas, los requisitos anteriores siempreson apli ables.

Page 206: Memoria PFC Ayose Lomba

176 J. Li en ias en el mundo del software libre.8. Can ela ión.Usted no podrá distribuir o modi ar un trabajo amparado salvo de la forma en la quese ha previsto expresamente en esta Li en ia. Cualquier intento diferente de distribu ióno modi a ión será onsiderado nulo, y automáti amente an elará sus dere hos respe toa esta Li en ia (in luyendo ualquier patente onseguida según el párrafo ter ero de la láusula 11).Sin embargo, si deja de violar esta Li en ia, enton es su li en ia desde el poseedor del opyright orrespondiente será restituida (a) provisionalmente, a menos que y hasta queel poseedor del opyright dé por terminada explí ita y permanentemente su li en ia, y (b)permanentemente, si el poseedor del opyright no le ha noti ado por algún au e de laviola ión no después de los 60 días posteriores al ese.Además, su li en ia desde el poseedor del opyright orrespondiente será restituidapermanentemente si el poseedor del opyright le noti a de la viola ión por algún au e,es la primera vez que re ibe la noti a ión de viola ión de esta Li en ia (para ualquiertrabajo) de ese poseedor de opyright, y usted subsana la viola ión antes de 30 días desdela re ep ión del aviso.La an ela ión de sus dere hos según esta láusula no da por an eladas las li en iasde ter eros que hayan re ibido opias o dere hos a través de usted on esta Li en ia. Sisus dere hos han nalizado y no han sido restituidos de forma permanente, usted no está apa itado para re ibir nuevas li en ias para el mismo material en virtud de la láusula10.9. A epta ión no obligatoria por tenen ia de opias.No está obligado a a eptar esta Li en ia por re ibir o eje utar una opia del Programa.La distribu ión de un trabajo amparado surgida simplemente omo onse uen ia de latransmisión entre usuarios para obtener una opia tampo o requiere a epta ión. Sin em-bargo, úni amente esta Li en ia le otorga permiso para distribuir o modi ar ualquiertrabajo amparado. Estas a iones infringen el opyright si usted no a epta las los términosy ondi iones de esta Li en ia. Por lo tanto, al modi ar o distribuir un trabajo amparado,usted indi a que a epta la Li en ia.10. Heren ia automáti a de li en ia para destinatarios .Cada vez que distribuya un trabajo amparado, el destinatario re ibirá automáti amenteuna li en ia desde los poseedores originales, para eje utar, modi ar y distribuir ese tra-bajo, al amparo de los términos de esta Li en ia. Usted no será responsable de asegurarel umplimiento por ter eros de esta Li en ia.Una "transa ión de entidad" es una transa ión que transere el ontrol de una orga-niza ión, o todos los bienes sustan iales de una, o subdivide una organiza ión, o fusionaorganiza iones. Si la distribu ión de un trabajo amparado surge de una transa ión deentidad, ada parte involu rada en esa transa ión que re iba una opia del trabajo, tam-bién re ibe todas y ada una de las li en ias existentes del trabajo que la parte interesada

Page 207: Memoria PFC Ayose Lomba

J.2. Tradu ión de GNU/GPL 177tuviese o pudiese ofre er según el párrafo anterior, además del dere ho a tomar posesión delas Fuentes Correspondientes del trabajo a través de la parte interesada, si está en poderde di ha parte o se puede onseguir on un esfuerzo razonable.Usted no podrá imponer restri iones posteriores en el ejer i io de los dere hos otorga-dos o on edidos en virtud de la presente Li en ia. Por ejemplo, usted no puede imponera la li en ia pagos, dere hos u otros argos por el ejer i io de los dere hos otorgados segúnesta Li en ia; además no podrá ini iar litigios (in luyendo demandas o ontrademandas enpleitos) alegando que se infringen patentes por ambiar, usar, vender, ofre er en venta oimportar el Programa, o ualquier parte del mismo.11. Patentes.Un " olaborador" es un poseedor de opyright que autoriza el uso del Programa o untrabajo en el que se base el Programa bajo los términos y ondi iones estable idos en lapresente Li en ia. El trabajo on esta li en ia se denomina "versión en olabora ión" onel olaborador.Todas las reivindi a iones de patentes en posesión o ontroladas por el olaborador sedenominan "demandas de patente original", ya sean existentes o adquiridas on posteri-oridad, que hayan sido infringidas de alguna forma permitida por esta Li en ia, al ha er,usar o vender la versión en olabora ión, pero sin in luir demandas que sólo sean infra - iones omo onse uen ia de modi a iones posteriores de la versión en olabora ión. Paraa larar esta deni ión, " ontrol" in luye el dere ho de on eder subli en ias de patente deforma que no ontravenga los requisitos estable idos en la presente Li en ia.Cada olaborador le on ede a usted una li en ia de la patente no-ex lusiva, globaly libre de dere hos bajo las reivindi a iones de patente de origen del olaborador, parael uso, modi a ión, venta, ofertas de venta, importa ión y otras formas de eje u ión,modi a ión y redistribu ión del ontenido de la versión en olabora ión.En los siguientes tres párrafos, una "li en ia de patente" se reere a ualquier a uerdoo ompromiso expreso y maniesto, ualquiera que sea su denomina ión, que no impongauna patente ( omo puede ser el permiso expreso para eje utar una patente o a uerdos parano imponer demandas por infra ión de patente). "Con eder" estas li en ias de patente aun ter ero signi a llegar a tal tipo de a uerdo o ompromiso que no imponga una patenteal ter ero.Si usted distribuye un trabajo amparado, ono iendo que está afe tado por una li en iade patente, y no están disponibles de forma públi a para su opia las Fuentes Correspondi-entes, sin argo alguno y bajo los términos de esta Li en ia, ya sea a través de un servidorde red públi o o mediante ualquier otro medio, enton es usted deberá o bien (1) permitirque sean públi as las Fuentes Correspondientes, o (2) tratar de eliminar los bene ios dela li en ia de patente para este trabajo en parti ular, o (3) tratar de extender, de unaforma que no ontravenga los requisitos de esta Li en ia, la li en ia de patente a ter eros."Cono er que está afe tado" signi a que usted tiene ono imiento real de que, para lali en ia de patente, la distribu ión del trabajo amparado en un determinado país, o el usodel trabajo amparado por sus destinatarios en un determinado país, infringiría una o más

Page 208: Memoria PFC Ayose Lomba

178 J. Li en ias en el mundo del software libre.patentes existentes en ese país que usted onsidera apli ables por algún motivo.Si, de onformidad on alguna transa ión o a uerdo(o en un pro eso rela ionado onellos), usted distribuye o distribuye on nes de distribu ión , un trabajo amparado, on- ediendo una li en ia de patente para algún ter ero que re iba el trabajo amparado, yautorizándole a usar, distribuir, modi ar o distribuir una opia espe í a del trabajo am-parado, enton es la li en ia de patente que usted otorgue se extiende automáti amente atodos los re eptores del trabajo amparado y ualquier trabajo basado en el mismo.Una li en ia de patente es "dis riminatoria" si no in luye dentro de su ámbito de obertura, prohíbe el ejer i io, o está ondi ionada a no ejer itar uno o más de los dere hosque están espe í amente otorgados por esta Li en ia. Usted no debe distribuir un trabajoamparado si está impli ado en un a uerdo on ter eros que estén rela ionados on el nego iode la distribu ión de software, en el que usted haga pagos rela ionados on su a tividad dedistribu ión del trabajo, y donde se otorgue, a ualquier re eptor del trabajo amparado,una li en ia de patente dis riminatoria (a) en rela ión on las opias del trabajo amparadodistribuido por usted (o opias he has a partir de éstas), o (b) dire ta o indire tamenterela ionadas on produ tos espe í os o paquetes que ontengan el trabajo amparado, amenos que usted forme parte del a uerdo, o que esa li en ia de patente fuese otorgadaantes del 28 de marzo de 2007.Ninguna disposi ión de esta Li en ia se onsiderará omo ex luyente o limitante dela apli a ión de ualquier otra li en ia o defensas legales ontra la viola ión de las leyesde propiedad intele tual a que pudiera tener dere ho bajo la ley de propiedad intele tualvigente.12. No ondi ionamiento de la libertad de ter eros.Si a usted le son impuestas ondi iones que ontravienen las estipuladas en la presenteLi en ia (ya sea por orden judi ial, a uerdo u otros), no quedará eximido de umplir las ondi iones de esta Li en ia. Si usted no puede distribuir un trabajo amparado umpliendosimultáneamente sus obliga iones on esta Li en ia y on ualquier otra pertinente, en-ton es no podrá distribuirlo de ninguna forma. Por ejemplo, si usted se ompromete ontérminos que le obligan a obtener dere hos por la distribu ión a ter eros, la úni a forma desatisfa er ambos ondi ionantes y esta Li en ia es abstenerse ompletamente de distribuirel Programa.13. Uso onjunto on la Li en ia Públi a General Aero GNU.Sin ontravenir las disposi iones de la presente Li en ia, usted tendrá permiso paraenlazar o ombinar ualquier trabajo amparado on otro trabajo amparado por la versión3 de la Li en ia Públi a General Aero GNU y formar un solo trabajo ombinado, ydistribuir el trabajo resultante. Los términos de esta Li en ia seguirán siendo apli ables ala parte formada por el trabajo amparado, pero los ondi ionantes espe iales de la Li en iaPúbli a General Aero GNU, en su láusula 13, relativos a la intera ión mediante redes,serán apli ables a la ombina ión de ambas partes.

Page 209: Memoria PFC Ayose Lomba

J.2. Tradu ión de GNU/GPL 17914. Versiones Revisadas de esta Li en ia.La Funda ión para el Software Libre podrá publi ar revisiones y/o nuevas versionesde la Li en ia Públi a General GNU de vez en uando. Esas versiones serán similares enespíritu a la versión a tual, pero podrán diferir en algunos detalles para afrontar nuevosproblemas o situa iones.A ada versión se le da un número distintivo. Si el Programa espe i a que le esapli able ierto número de versión de la Li en ia Públi a General o " ualquier versiónposterior", usted tendrá la posibilidad de adoptar los términos y ondi iones de la versiónindi ada o de ualquier otra versión posterior publi ada por la Funda ión para el SoftwareLibre. Si el Programa no espe i a un número de versión de la Li en ia Públi a General,usted podrá elegir ualquier versión que haya sido publi ada por la Funda ión para elSoftware Libre.Si el Programa espe i a que un apoderado/representante puede de idir qué versionesde la Li en ia Públi a General pueden apli arse en el futuro, la de lara ión públi a dea epta ión que el apoderado/representante haga de una versión le autoriza a usted on ará ter permanente a elegir esa versión para el Programa.Versiones posteriores de la li en ia podrán otorgarle permisos adi ionales o diferentes.Sin embargo, no podrán imponerse obliga iones adi ionales a ualquier autor o poseedorde opyright omo onse uen ia de que usted adopte una versión posterior.15. Ausen ia de Garantía.EL PROGRAMA NO TIENE GARANTÍA ALGUNA, HASTA LOS LÍMITES PER-MITIDOS POR LAS LEYES APLICABLES. SALVO CUANDO SE ESTABLEZCA LOCONTRARIO POR ESCRITO, EL POSEEDOR DEL COPYRIGHT Y/O TERCEROSPROPORCIONARÁN EL PROGRAMA "TAL CUAL" SIN GARANTÍA DE NINGÚNTIPO, YA SEA EXPLÍCITA O IMPLÍCITA, INCLUYENDO, PERO SIN LIMITARSE A,LAS GARANTÍAS IMPLÍCITAS MERCANTILES Y DE APTITUD PARA UN PROPÓSITODETERMINADO. USTED ASUMIRÁ CUALQUIER RIESGO RELATIVO A LA CAL-IDAD Y RENDIMIENTO DEL PROGRAMA. SI EL PROGRAMA FUESE DEFEC-TUOSO, USTED ASUMIRÁ CUALQUIER COSTE DE SERVICIO, REPARACIÓN OCORRECCIÓN.16. Limita ión de Responsabilidad.EN NINGÚN CASO, SALVO REQUERIMIENTO POR LEYES APLICABLES OMEDIANTE ACUERDO POR ESCRITO, PODRÁ UN POSEEDOR DE COPYRIGHT,O UN TERCERO QUE MODIFIQUE O DISTRIBUYA EL PROGRAMA SEGÚN LOINDICADO ANTERIORMENTE, HACERLE A USTED RESPONSABLE DE DAÑOALGUNO, INCLUYENDO CUALQUIER DAÑO GENERAL, ESPECIAL, OCASIONALO DERIVADO QUE SURJA DEL USO O LA INCAPACIDAD DE USO DEL PRO-GRAMA (INCLUYENDO PERO SIN LIMITARSE A LA PÉRDIDA DE DATOS O LAPRESENTACIÓN NO PRECISA DE LOS MISMOS O A PÉRDIDAS SUFRIDAS POR

Page 210: Memoria PFC Ayose Lomba

180 J. Li en ias en el mundo del software libre.USTED O TERCEROS O AL FALLO DEL PROGRAMA AL INTERACTUAR CONOTROS PROGRAMAS), INCLUSO EN EL CASO DE QUE EL POSEEDOR O UNTERCERO HAYA SIDO ADVERTIDO DE LA POSIBILIDAD DE TALES DAÑOS.17. Interpreta ión de las láusulas 15 y 16.Si la ausen ia de garantía y la limita ión de responsabilidad des rita anteriormenteno tuviesen efe to legal a nivel lo al en todos sus términos, los juzgados apli arán lasleyes lo ales que más se aproximen a la exen ión de responsabilidad ivil en lo relativo alPrograma, a menos que la opia del Programa esté a ompañada mediante pago de unagarantía o ompromiso de responsabilidad.FIN DE TÉRMINOS Y CONDICIONESJ.3. Creative CommonsLa Creative Commons es la li en ia bajo la ual se publi ará la do umenta ión de todoel proye to junto on el manual de usuario del programa, manual de expli a ión del ódigofuente y el ontenido de la se ión de la web destinada al proye to.La li en ia Creative Commons Fundation na e en 2001 y sus diferentes tipos de li en iasestán inspiradas en la GNU GPL de la que ya hemos hablado en líneas anteriores. Estenuevo tipo de li en ia no se basa en software omo lo ha e la GPL, se entra en la difusión ydistribu ión de ontenidos. Esta li en ia posee diferentes tipos de atributos que el usuarioes oge y ombina para rear la adapta ión de li en ia que más se a erque a sus ne esidadespropor ionando un total de seis tipos de li en ia.Para la genera ión o onsulta sobre temas rela ionados on la misma puede a udirse a laweb o ial de la Creative Commons http:// reative ommons.org/ o a su representa ióno ial en España http://es. reative ommons.org/J.3.1. Atributos de la li en iaLos atributos de la CC son:Re ono imiento (Attribution): En ualquier explota ión de la obra autorizadapor la li en ia hará falta re ono er la autoría.No Comer ial (Non ommer ial): La explota ión de la obra queda limitada ausos no omer iales.

Page 211: Memoria PFC Ayose Lomba

J.3. Creative Commons 181Sin obras derivadas (No Derivate Works): La autoriza ión para explotar laobra no in luye la transforma ión para rear una obra derivada.(Share alike): La explota ión autorizada in luye la rea ión de obras derivadassiempre que mantengan la misma li en ia al ser divulgadas.Figure J.1: Re ono imiento, No omer ial, Sin obras derivadas y share alikeCon la debida ombina ión de estos uatro parámetros se onsiguen los seis tipos deli en ia posibles:1. Re ono imiento - NoComer ial (by-n ): Se permite la genera ión de obrasderivadas siempre que no se haga un uso omer ial. Tampo o se puede utilizar laobra original on nalidades omer iales.2. Re ono imiento - NoComer ial - CompartirIgual (by-n -sa): No se permite unuso omer ial de la obra original ni de las posibles obras derivadas, la distribu iónde las uales se debe ha er on una li en ia igual a la que regula la obra original.3. Re ono imiento - NoComer ial - SinObraDerivada (by-n -nd): No se permiteun uso omer ial de la obra original ni la genera ión de obras derivadas.4. Re ono imiento - CompartirIgual (by-sa): Se permite el uso omer ial de laobra y de las posibles obras derivadas, la distribu ión de las uales se debe ha er onuna li en ia igual a la que regula la obra original.5. Re ono imiento - SinObraDerivada (by-nd): Se permite el uso omer ial de laobra pero no la genera ión de obras derivadas.

Page 212: Memoria PFC Ayose Lomba
Page 213: Memoria PFC Ayose Lomba

Apéndi e KPresupuesto.Este anexo está dedi ado a al ular el oste al que puede as ender el desarrollo deeste PFC según lo estipulado por los baremos de honorarios orientativos de trabajdoresprofesonales. Debe desta arse que al estar desarrollado ompletamente on software librelos ostes por li en ias y ompra de programas son nulos suponiendo estos un ahorro en lapartida de re ursos de software.K.1. Coste de re ursos humanos.El oste de re ursos humanos está aso iado al tiempo empleado por un ingeniero junioren la realiza ión del proye toDe a uerdo a los Baremos de Honorarios Orientativos para Trabajos Profesionales delColegio O ial de Ingenieros Industriales para el año 2009, la tarifa que se debe apli ara trabajos por tiempo empleado es de 70 · Hn + 90 · He(¿) ( on un mínimo de 240,00¿), donde Hn representa las horas normales dentro de la jornada laboral He y las horasespe iales. Suponiendo que todo el trabajo se ha desarrollado en una jornada laboral de 8horas diarias, 20 días al mes, el oste por hora de un ingeniero junior as iende a 50 ¿ yteniendo en uenta que al oste total hay que apli arle un oe iente de de valor , dadoque se ex eden las 1080 horas de trabajo.A partir de estas onsidera iones en la tabla siguiente se re ogen todos los ostes aso- iados a re ursos humanos.Tipo de horas Nº horas Días Semana Horas Mensuales ¿ mesNormales 8 5 4 160 11.200, 00Espe iales - - - - -Total 160 11.200, 00Table K.1: Cál ulos previos oste por horas .183

Page 214: Memoria PFC Ayose Lomba

184 K. Presupuesto.Con epto Tiempo empleado (meses) Coste mensual TotalForma ión 4 11.200, 00 44.800, 00Desarrollo 5 11.200, 00 56.000, 00Do umenta ión 1 11.200, 00 11.200, 00Coste total aso iado a Ingeniero Junior 112.000, 00Coste orregido 44.800, 00Coste Total 44.800, 00Table K.2: Coste de re ursos humanos.Los re ursos humanos tienen un oste total libre de impuestos de uarenta y uatro milo ho ientos euros (44.800,00 ¿).K.2. Coste de re ursos de hardware.El oste total de los re ursos hardware in luye el uso de una red de ordenadores person-ales on impresora y el equipamiento ne esario para el a eso a Internet, siempre teniendoen uenta el tiempo de vida (amortiza ión) de los equipos.El ordenador utilizado es un Portátil A er 5920G on un oste aproximado de 800 ¿.Además el onjunto tiene un período de amortiza ión de dos años.En el oste aso iado a los re ursos hardware también se in luye el valor de la impresorautilizada, unos 25 ¿ mensuales ya que su valor es de 600 ¿ y su período de amortiza ióndos años. Por último hay que añadir unos 39 ¿ mensuales destinados a la ontrata ión deuna onexión a Internet de Banda An ha.A partir de estas onsidera iones en la tabla siguiente se re ogen todos los ostes aso- iados a los re ursos hardware.Con epto Tiempo empleado meses Coste mensual ¿ Importe ¿Ordenador 10 35, 00 350, 00Impresora Láser 10 25, 00 200, 00Conexión Internet 10 39, 00 390, 00Contrata ión de Dominio y Mantenimiento - (dos años) 13, 90Hosting - 6, 95 83, 4Coste total - - 1037.30Table K.3: Coste de re ursos de hardware.Los re ursos hardware tienen un oste total libre de impuestos de mil treinta y siete on tres éntimos de euro (1037,3 ¿).

Page 215: Memoria PFC Ayose Lomba

K.3. Coste de re ursos software. 185K.3. Coste de re ursos software.El oste de los re ursos software se obtienen a partir del valor de las li en ias y elmantenimiento de ada uno de los programas utilizados. Al igual que en el aso de losre ursos hardware, los importes de las li en ias software suelen al ularse teniendo en uenta el período de amortiza ión de 24 meses. En nuestro aso todo el software que seutiliza en la elabora ión del proye to en libre y no supone argo alguno para el usuario ypor tanto en esta partida el oste es nulo.Con epto Tiempo empleado (meses) Coste mensual ¿ Importe ¿Li en ias omer iales - - 0Table K.4: Coste de re ursos software.Los re ursos software tienen un oste total libre de impuestos de ero euros (0 ¿).K.4. Gastos de reda ión.Todo proye to onlleva un gasto aso iado a la reda ión de la do umenta ión que loa ompaña. Para el aso del presente Proye to Fin de Carrera, se ha estimado según elbaremo del Colegio O ial de Ingenieros Industriales, que indi a que di ho oste está enfun ión de la fórmula R = 0, 07·P ·C (¿) siendo P el resultado del presupuesto de eje u iónmaterial del proye to, y C un valor de pondera ión que, en este aso, es igual a 0,9. En latabla K.5 se resumen estos ostes.Con epto Importe ¿Re ursos humanos 44.800, 00Re ursos hardware 1.037, 32Re ursos software 0Presupuesto de eje u ión material 45.837, 30Presupuesto orregido 41.253, 57Coste total 2.887, 75Table K.5: Costes de reda ión.La reda ión de la do umenta ión del proye to tiene un oste total libre de impuestosde dos mil o ho ientos o henta y siete euros on setenta y in o éntimos (2.887,75 ¿).K.5. Coste Total.En la tabla siguiente se re opila el onjunto de los gastos ontemplados obteniéndoseel importe nal del Proye to Fin de Carrera.

Page 216: Memoria PFC Ayose Lomba

186 K. Presupuesto.Con epto ImporteRe ursos humanos 44.800, 00Re ursos hardware 1.037, 32Re ursos software 0Gastos de reda ión 2.887, 75Total 48.725, 05I.G.I.C. (5%) 2.436, 25Presupuesto TOTAL 51.161, 30Table K.6: Coste total.D. Ayose Lomba Pérez de lara que el presupuesto del proye to Software de resolu iónde ir uitos lineales mediante métodos avanzados de resolu ión para uso do ente as iendea un total de in uenta y un mil iento sesenta y un euros on treinta éntimos (51.161,30¿).

Page 217: Memoria PFC Ayose Lomba

Índi e alfabéti oBu le, 4ConvenioElemento pasivo, 3Creative Commons, 180Distribu iónDebian, 127E ua iones onstitutiva uatro terminales, 17 onstitutiva dos terminales, 15 onstitutivas, 14de deni ión, 4Elementosnuevo- uatripolo, 50nuevo-dimensiones, 49nuevo-ve tor W, 53ve tores de deni ión, 55Ensamblaje, 47GNUPlot, 151S ripts, 152Inspe ión, 10Instala iónde Herramientas PFC, 145Debian avanzada, 139Debian estádar, 129PETS , 117X ir uit, 93Kir hhoPrimera Ley, 4Segunda Ley, 4Librería

PETS , 117Qt, 161Li en iasCreative Commons, 180GNU/GPL, 167GNU/GPL Tradu ión, 167Matrizdensidad de, 86dispersión de, 86Sparse, 85sparse en PETS , 118T, 30, 31, 47Métodode la tabla, 14nodal, 10, 13nodal por inspe ión, 31por inspe ión, 29Métodos onjugado del gradiente, 73Crank Ni holson, 70de análisis en fre uen ia, 75del gradiente, 71des omposi ión triangular, 68dire iones onjugadas, 72Explí itos, 71Gauss, 67Implí ito, 70numéri os, 65Theta, 70Nudo, 4Parti iones, 129Qt, 161187

Page 218: Memoria PFC Ayose Lomba

188 ÍNDICE ALFABÉTICORama, 4Rela ión fundamentalde bobina, 5de ondensador, 5de resisten ia, 5Repositorios, 149CVS, 93S riptsde GNUPlot, 152sour es.list, 149Variablesgeneradoras, 10versiónestable, 149estable inestable testing, 93inestable/sid, 149prueba/testing, 149X ir uitInstala ión, 93Manual, 93

Page 219: Memoria PFC Ayose Lomba

Nomen laturaCVS Con urrent Versions System también ono ido omo Con urrent Versioning System,es una apli a ión informáti a que implementa un sistema de ontrol de versiones:mantiene el registro de todo el trabajo y los ambios en los heros ( ódigo fuenteprin ipalmente) que forman un proye to (de programa) y permite que distintosdesarrolladores (poten ialmente situados a gran distan ia) olaboren. CVS se hahe ho popular en el mundo del software libre. Sus desarrolladores difunden el sistemabajo la li en ia GPL.Shell Es el intérprete de órdenes de un sistema Unix. La shell o onsola es un interfazque nos propor iona utilidades de trabajo y permite estable er una rela ión on elnú leo. Es de ir: re ono e una serie de órdenes, las interpreta y lanza los pro esosne esarios para su realiza ión.Hay diversos tipos de shells, ada una on sus ara terísti as. Podemos itar:Bourne shell (sh)Korn shell (ksh)Shell C ( sh)Bourne again shell (bash)Sid Es el nombre lave para la versión de desarrollo de Debian, también llamada in-estable. La mayoría del trabajo de desarrollo que se lleva a abo en Debian seenvía a esta versión. Esta versión nun a se ofre erá al públi o en general; en lugarde esto, los paquetes de ésta se propagan a testing (la versión en pruebas), y,posteriormente, se propagarán a una versión nal.Synapti Programa informáti o basada en la librería grá a GTK+ y APT, para el sistemade gestión de paquetes de Debian GNU/Linux. Generalmente se utiliza Synapti para sistemas basados en paquetes .deb pero también puede ser usado en sistemasbasados en paquetes RPM.testing La distribu ión testing de Debian se genera de forma automáti a. Se origina par-tiendo de la distribu ión unstable (SID) mediante una serie de s ripts que intentanpasar de una a otra paquetes sobre los que sea razonable pensar que are en defallos importantes. Lo ha en de manera que las dependen ias de los otros paquetesen testing se puedan satisfa er siempre.189

Page 220: Memoria PFC Ayose Lomba
Page 221: Memoria PFC Ayose Lomba

Bibliografía[1 Beamer web o ial, http://latex-beamer.sour eforge.net/.[2 Creative ommons y la profundidad del opyright,http://www.arielver elli.org/ ylpd /.[3 Ctan repositorio de paquetes latex, http://www. tan.org/.[4 Debian omunidad en español de debian, http://www.esdebian.org/.[5 Debian página web o ial, http://www.debian.org/index.es.html.[6 Doxygen web o ial, http://www.sta k.nl/ dimitri/doxygen/.[7 Gnu portal li en ia, http://www.gnu.org/gnu/gnu.html.[8 Gnu web o ial, http://www.gnu.org/home.es.html.[9 Gnuplot página web o ial, http://www.gnuplot.info/.[10 Joomla extensiones web o ial, http://extensions.joomla.org/.[11 Joomla web o ial en español, http://www.joomlaspanish.org/.[12 Joomla web o ial, http://www.joomla.org/.[13 Kdevelop página web o ial, http://www.kdevelop.org/.[14 Linux on laptop http://www.linux-laptop.net/.[15 Linux timeline, http://futurist.se/gldt/.[16 Lyx web o ial, http://www.lyx.org/.[17 Pets librería web o ial, http://www.m s.anl.gov/pets /pets -as/.[18 Portal de programa ión ++, http://www. on lase.net/ /.[19 Qt página web de la librería, http://www.qtsoftware. om/.[20 Wikipedia, http://es.wikipedia.org/. 191

Page 222: Memoria PFC Ayose Lomba

192 BIBLIOGRAFÍA[21 X ir uit página web o ial, http://open ir uitdesign. om/x ir uit/.[22 A.L. Cheung and A. P. Reeves. Sparse data representation. In Pro eeding S alableHigh Performa e Computing Conferen e. 1992.[23 Timothy A. Davis. Dire t Methods for Sparse Linear Systems.[24 Grupo de Usuarios de Linux de Canarias. Curso de Introdu ion a Linux para Alum-nos. 2002.[25 Rafael Íñigo Madrigal. Teoría moderna de ir uitos elé tri os.[26 Rafael Íñigo Madrigal. Teoría moderna de ir uitos elé tri os.[27 M.Utrilla Manso, P. Martín Martín, P.L. López Espí, and H. Gómez Moreno. Her-ramienta software de simula ión de ir uitos elé tri os.[28 James Theiler Brian Gough Gerard Jungman Mi hael Booth Fabri e RossiMark Galassi, Jim Davies. GNU S ienti Library Versión 1.1, network theory limitededition, 2001.[29 Rafael Asenjo Plaza. Fa toriza ion LU de Matri es Dispersas en Multipro esadores.PhD thesis.[30 F. J. Santana, J.M. Monzón, and L. Simón. Utiliza ión del s ilab para el aprendizajede teoría de ir uitos. Te hni al report.[31 Vi torio Sonzogni, Pablo San hez, and Mario Storti. Resolu ión de grandes sistemasde e ua iones en un lúster de omputadoras.[32 Elizabeth Flores Vázquez. Constru ión de inversas aproximadas tipo sparse basadaen la proye ión ortogonal de frobenius para el pre ondi ionamiento de sistemas dee ua iones no simétri os. Master's thesis.[33 Ariel Ver elli. La onquista silen iosa del iberespa io. reative ommons y el diseñode entornos digitales omo nuevo arte regulativo en internet. Creative Commons,Marzo 2004.[34 Plantillas para joomla en li en ia gnu, http://joomlartwork. om/free-joomla-templates.