Métodos Numéricos para Acelerar la Convergencia de Ecuaciones Lineales provenientes de la Mecánica de Fluidos

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Métodos Numéricos para Acelerar la Convergencia de Ecuaciones Lineales provenientes de la Mecánica de Fluidos"

Transcripción

1 Métodos Numéricos para Acelerar la Convergencia de Ecuaciones Lineales provenientes de la Mecánica de Fluidos Lencina, Luis Javier Director Dr. Enzo Dari CoDirector Dr. Gustavo Buscaglia Instituto Balseiro Comisión Nacional de Energía Atómica Universidad Nacional de Cuyo Junio 2005

2

3 Índice general Resumen Abstract Agradecimientos Introducción IX XI XIII XV 1. Convergencia de la Ecuación de Laplace utilizando diferentes métodos iterativos Descripción del problema Descripción de los métodos utilizados Resolutos de PETSc Precondicionadores de PETSc Determinación del orden de convergencia Efecto del ensanchamiento Descomposición de Dominios y el Complemento de Schur Descomposición de Dominios para resolver Ecuaciones en Derivadas Parciales Complemento de Schur Matriz General Implementación del Complemento de Schur Secuencial Breve descripción del Código Descripción de las funciones schurmalloc generagrafo particionagrafo separadominios schursolve Resultados del Complemento de Schur Secuencial Método de Diferencias Finitas aplicado a la Ecuación de Poisson Partición en dominios y detección de borde Resolución del Sistema Lineal Método de los elementos finitos aplicado a un tubo con condiciones periódicas Partición en dominios y detección de borde resolución del sistema lineal A Γ como precondicionador Conclusiones III

4 5. Implementación del Complemento de Schur Paralelo Breve descripción del código Descripción de las funciones schurmalloc particionagrafo separadominios schursolve Resultados del Complemento de Schur Paralelo Método de los elementos Fínitos aplicado a un tubo con condiciones periódicas GMRES/GMRES/ILU/ILU GMRES/NONE/LU/LU Conclusiones Análisis Económico Cronología Discriminación de Costos Adquisición de Herramientas Introducción a PETSc Desarrollo del programa Laplace 2D Análisis de resultados Desarrollo del programa Schur Secuencial Validación y Análisis de Resultados Desarrollo, Validación y Análisis de Resultados del Programa Schur Secuencial Desarrollo, Validación y Análisis de Resultados del Programa Schur Paralelo Resumen de Costos Bibliografía 41

5 Índice de figuras 1.1. Gradientes Conjugados Métodos TFQMR, CGS, CR Métodos Chebychev, Richardson Métodos GMRES, BCGS y BCGSL Autovalores de la matriz en función del número de incógnitas Representación de un malla de un Dominio Rectangular descompuesta en Subdominios Grafo de la Matriz A Grafo de la Matriz A indicando las incógnitas de borde Esquema de Resolución Secuencial Esquema de funcionamiento de la función schurmalloc Esquema de funcionamiento de la función generagrafo Esquema de funcionamiento de la función particionagrafo Ejemplo de separador Esquema de funcionamiento de la función separadominios Esquema de funcionamiento de la función schursolve número de incógnitas en función del número de dominios tiempos necesarios para separar dominios en función del número de incógnitas Malla del problema del tubo en difentes vistas y cortes. Mallas utilizada por Gabriel Campos en su tesis de Ingenieria [14] descomposición de la malla del tubo en función de la cantidad de dominios esquema de resolución paralelo Esquema de funcionamiento de la función particionagrafo paralelo Esquema de funcionamiento de la función schursolve V

6

7 Índice de cuadros 4.1. tiempos de resolución en función del número de dominios utilizando gmres sin precondicionar para el caso secuencial tiempos de resolución en función del número de dominios utilizando gmres con precondicionar ILU para el caso secuencial tiempos de resolución en función del número de dominios utilizando LU caso secuencial tiempos de resolución en función del número de dominios utilizando gmres y precondicionar jacobi caso secuencial resultados para el problema tubo resolviendo con gmres y precondicionador ILU resultados para el problema tubo resolviendo con gmres y precondicionador LU y precondicionador LU de Schur resultados para el problema tubo resolviendo con gmres y precondicionador LU y precondicionador LU de Schur tiempos de resolución en función del número de dominios y máquinas utilizando ILU caso paralelo tiempos de resolución en función del número de dominios y máquinas utilizando LU caso paralelo Diagrama Gantt VII

8

9 Resumen En esta tesis se presenta el desarrollo de una biblioteca de cálculo para resolver sistemas lineales. La biblioteca está basada en la partición del grafo asociado a una matriz y la generación del separador que permite la resolución independiente de los subgrafos. Está destinanda en especial para problemas en derivadas parciales sobre dominios discretizados. Esto debido al caracter local de las funciones base, donde los nodos de un problema sólo se conecta a un pequeño número de nodos vecinos. Los códigos se realizaron aplicando el método del complemento de Schur. Dentro de él se plantearon dos formas de resolución, a saber: en forma secuencial, donde todas las operaciones son resueltas en un mismo procesador, y en paralelo donde se aprovecha la capacidad de comunicación de los ordenadores para poder distribuir el trabajo. Se realizó una validación del código utilizando el problema de difusión unidimensional discretizada por el método de las diferencias finitas, el cual es un benchmark muy útil para detectar errores sencillos de código, y un problema de flujo incompresible en un tubo vertical por el método de los elementos finitos utilizando el programa GPFEP [15] para generar la matriz del problema. Se realizaron comparaciones de tiempos de resolución tanto en secuencial como en paralelo, aplicando dentro de diferentes métodos de resolución en los subproblemas locales. IX

10

11 Abstract In this thesis we present the development of a library for solve linear system of equations. The library is based in the graph partition asociated to a matrix and the generation of the separator that allow to solve the subgraphs independently. This is destined specially to problems in parcial derivates over discrete domains. This is due to the local caracter of the base functions, where nodes of the problems are only connected to a few number of neighbors nodes. The code is done applying the method of the Schur Complement. It had been formulated on two forms for solving, to know: en secuencial, in which all operations al solved in one processor, and in parallel in which we take advantage of the comunications of the computers to distribute we works. It had been done a validation of the code using the problem of unidimensional diffusion discreted by the method of the finite differences, which is a benchmark very useful for detecting simples mistakes in the code, and a problem of incompressible fluid in a vertical tube by the method of the finite elements using the program GPFEPS [15] to build the matrix of the problem. It had been done comparisons in resolution s time for the secuencial and parallel case, applying diferents methods of resolutions for the local subproblems. XI

12

13 Agradecimientos Agradezco al grupo de Mecánica Computacional del Centro Atómico, en especial a mi Director Enzo Dari que me apoyó y guió en todo mi trabajo, a mi codirector Gustavo Buscaglia y a mi familia. XIII

14

15 Introducción A lo largo de la historia el desarrollo del ordenador ha sufrido grandes avances. Se han clasificado en 5 generaciones de ordenadores según los criterios de construcción y comunicación con el usuario. Primera Generación: abarcó la década de los cincuenta.estas máquinas estaban construidas por medio de tubos de vacío. Eran programadas en lenguaje de máquina. En esta generación las máquinas eran grandes y costosas (de un costo aproximado de ciento de miles de dólares). En 1951 aparece la UNIVAC (UNIVersAl Computer), fue la primera computadora comercial, que disponía de mil palabras de memoria central y podían leer cintas magnéticas, se utilizó para procesar el censo de 1950 en los Estados Unidos. Segunda Generación: a principios de la década del 60, se empezó a definir la forma de comunicarse con las computadoras, que recibía el nombre de programación de sistemas. En esta generación las computadoras se reducen de tamaño y son de menor costo. Aparecen muchas compañías y las computadoras eran bastante avanzadas para su época como la serie 5000 de Burroughs y la ATLAS de la Universidad de Manchester. Estaban construidas con circuitos de transistores y se programan en nuevos lenguajes llamados lenguajes de alto nivel. Tercera Generación: Se caracterizaron por su fabricación electrónica esta basada en circuitos integrados y su manejo es por medio de los lenguajes de control de los sistemas operativos. Cuarta Generación: Aparecen los microprocesadores que es un gran adelanto de la microelectrónica, son circuitos integrados de alta densidad y con una velocidad impresionante. En 1976 Steve Wozniak y Steve Jobs inventan la primera microcomputadora de uso masivo y más tarde forman la compañía conocida como Apple. Quinta Generación: Está caracterizado por procesamiento en paralelo mediante arquitecturas y diseños especiales y circuitos de gran velocidad, manejo de lenguaje natural y sistemas de inteligencia artificial. El avance del ordenador, ha posibilitado la resolución de cálculos de ingenieria de alta complejidad. Partiendo desde la simulación de tipo Monte Carlos en neutrónica donde se realizan cálculos que involucran tiempos de resolución de días a meses hasta simulaciones de fluido-dinámica e interacción fluido-estructura. La incorporación de estas simulación al campo del diseño ha llevado a las empresas a ampliar sus capacidad de diseño en componentes nuevos. La gran mayoría de las empresas en la actualidad realizan diseños estan involucradas con algún software de cálculo o diseño gráfico. Muchos de estos problemas habrían requerido costos altísimos sin la intervención del ordenador moderno, como es el caso del túnel de viento. En este trabajo analizaremos en particular problemas de ingeniería que llevan a la resolución de ecuaciones en derivadas parciales, utilizando por ejemplo: Método de las Diferencias Finitas Método de los Elementos Finitos Método de los Volúmenes Finitos XV

16 Cada uno de estos métodos posee ventajas y desventajas sobre el resto. En particular, el método de los elementos finitos posee las ventajas de describir correctamente las fronteras de un dominio y la posibilidad de utilizar elementos polinómicos de alto orden. Este método tuvo su origen en la Elasticidad. El método de los elementos finitos está basado en la formulación variacional de un problema, y busca minimizar el valor de este funcional en el espacio de las funciones de dimensión finita planteadas. Uno de los campos de aplicación actuales de estos métodos es la mecánica de fluidos. Se han modelado una gran cantidad de problemas por este método obteniendo resultados de importancia. El verdadero problema radica cuando se quieren modelar problemas de gran escala en gran detalle. Para los casos de mayor interés los problemas son tridimensionales,ej: DNS simulación numérica directa (Direct Numerical Simulation), por lo que el número de incógnitas del mismo aumentan al menos con el cubo de la discretización (dependiendo del tipo de elemento en cuestión). Pero estos problemas no conducen a matrices llenas, sino a matrices ralas, debido a el carácter local de las funciones base. Esto lleva a plantear métodos de almacenamiento especiales que sólo guarden los no ceros. Para resolver esta clase de problemas se encuentran las siguientes limitaciones en los equipos informáticos: Velocidad del procesador Capacidad de Almacenamiento Velocidad de transmición de datos Los procesadores actuales han llegado a velocidad del orden de los Ghz, sin embargo no es viable utilizar todo este poder de cálculo ya que precisaríamos de una memoria cache 1 lo suficientemente grande para almacenar todo el problema, ya que las memorias RAM 2 y RAM Disk 3 no llegan a las velocidades antes mencionadas. Si bien es posible aumentar la capacidad del cache esto lleva a costos prohibitivos para su realización. También existe la limitación en la capacidad de memoria que puede trabajar un procesador, básicamente limitado por la cantidad de bits en el direccionamiento que puede manejar el procesador 4, actualmente hasta 64bits. Además de ser prohibitivo aumentar mas alla la cantidad de bits que maneja el procesador, llegar a utilizar 64 bits en momeria llevaría a costosos desarrollos en las placas madres. Este problema se resuelve descomponiendo la matriz en varios ordenadores o cluster de cálculo, proceso denominado paralelización. Los costos de esta clase de esquemas aumenta linealmente con el número de procesadores ya que se utilizan equipos de uso común cuyos costos de desarrollo están amortizados y no precisen un desarrollo especial. Salvo para los casos donde se requieran del orden de 1000 unidades de cálculo, el esquema cluster es el más utilizado [1]. Los cálculos son realizados en parte con datos que estan almacenados en el procesador local y datos que deben ser transmitidos por otros procesadores. Este esquema permite utilizar la memoria disponible en cada procesador y el uso de cada unidad de cálculo. Para evaluar las ventajas de uso de un esquema paralelizado se define la escalabidad como la habilidad de un sistema de continuar funcionando correctamente a medida que el tamaño de un problema aumenta. Así un problema será escalable si al aumentar el tamaño de un problema y aumentar en la misma proporción el número de procesadores se puede resolver en tiempos similares. Nótese que la escalabilidad de un problema depende tanto del tipo de problema, del tipo de hardware disponible y del algorítmo utilizado. Así puede darse que un problema puede llegar a ser super escaleable o sea a resolverse en tiempos menores por número de procesadores que en un caso secuencial, pasando luego a no ser escalable por razones de tiempos de comunicación y latencias. Es común interconectar estos procesadores utilizando redes locales debido a su bajo costo. Además de poder distribuir memoria entre los ordenadores, es deseable que la resolución de un problema se 1 El cache es una memoria pequea para almacenar datos recientes, diseãda para acelerar el acceso a los mismos datos 2 RAM Memoria de Acceso Aleatoria (Random Access Memory) que se encuentra separada del procesador y se conectan por al mismo por un bus de datos 3 Es una parte de la memoria RAM que se vuelca al disco para ampliar la capacidad de la RAM o liberar de datos que no se precisen por el momento 4 un procesador de 32 bits puede manejar 2 32 = 4Gb y uno de 64 bits 2 64 = 1, Bytes

17 lleve en forma casi independiente, debido a que los tiempos de comunicación son elevados comparados con los tiempos de acceso a memoria. Si bien existen métodos de interconexión de mayor velocidad, tanto en latencia como en ancho de banda, sus costos también son más elevados y la relación costo beneficio es menor. Una forma de minimizar las comunicaciones es utilizar métodos de descomposición de dominios, en los cuales cada procesador se encarga de resolver una región del dominio. En estos casos, el cálculo que se puede realizar en forma independiente es proporcional al tamaño de los subdominios. Esto garantiza que, para problemas suficientemente grandes, el costo de comunicaciones se hace despreciable frente a los cálculos inter-dominios, completamente paralelizables. Una alternativa algebraica a los algoritmos de descomposición de dominios consiste en particionar el problema, una vez generada la discretización, y calcular la inter-relación de las incógnitas. Esta alternativa es la que desarrollaremos en esta tesis, en particular desarrollaremos el concepto de complemento de Schur, para resolver la matriz del sistema de ecuaciones lineales resultantes de una discretización por elementos finitos de un problema en ecuaciones en derivadas parciales. En la siguiente sección analizaremos un problema típico: la solución del problema de difusión bidimensional, analizando varios métodos iterativos disponibles en una biblioteca de software estándar. A continuación presentamos el método del complemento de Schur, su relación con un método de descomposición de dominios y la estrategia de resolución en paralelo. En el capítulo 3 presentamos la implementación del complemento de Schur secuencial, y un análisis de su comportamiento para el problema de la difusión unidimensional y Navier-Stokes en un tubo. En el capítulo 5 se describe la implementación computacional del algoritmo paralelo, presentando resultados en casos de interés. Finalmente en el cap tulo 7 se realiza el análisis económico del proyecto.

18

19 Capítulo 1 Convergencia de la Ecuación de Laplace utilizando diferentes métodos iterativos En este capítulo se realizaron comparaciones de los tiempos de resolución para diferentes métodos iterativos tomando como tema el problema del laplaciano bidimensional Descripción del problema El problema planteado fue el Laplaciano bidimensional, mostrado en la ecuación 1.1 en una región rectangular discretizada por el método de las diferencias finitas. u(x, y) = 0 uɛω u(x, y) = 0 y = 0 u(x, y) = 1 y = 1 Las condiciones de contorno son del tipo Dirichlet, como se muestra en la ecuación 1.1. Las condiciones de borde para las rectas x = 0 y x = 1 no son impuestas, y esto equivale a tener derivada nula en la dirección normal saliente[11]. Como se puede demostrar sencillamente, está ecuación posee solución analítica en el dominio igual a la función lineal en x como se muestra en la ecuación 1.2 (1.1) u(x, y) = x (1.2) Conociendo la solución este problema es ideal para realizar comparaciones directas del error en las incógnitas Descripción de los métodos utilizados En esta sección se realiza una descripción de los métodos utilizados. Los mismos se encuentran programas en las bibliotecas libres de cálculo numérico PETSC Resolutos de PETSc Los métodos son resueltos en distintas variantes basadas en la construcción de subespacios de Krylov que se describen a continuación. 1

20 Métodos de los Gradientes Conjugados (CG) Consiste en un método de minimización de un funcional cuadrático. Debido a su planteo requiere que la matriz sea simétrica y definida positiva. Su convergencia suele ser muy rápida, dependiendo del espectro de autovalores de la matriz. Mínimos Residuos (MINRES) y LQ Simétrico (SYMMLQ) Estos métodos son alternativas computacionales de los gradientes conjugados para matrices simétricas más generales. SYMMLQ genera la misma solución iterativa que CG si la matriz es definida positiva. Gradientes Conjugados en las Ecuaciones Normales (CGNE y CGNR) Se basan en la aplicación del método CG a una de las dos formas de las ecuaciones normales para Ax = b. CGNE resuelve el sistema (AA T )y = b para y y luego calcula la solución x = A T y. CGNR resuelve el sistema (A T A)x = b para el vector x donde b = A T b. Cuando la matriz A es no simétrica, las matrices AA T y A T A son simétricas y definidas positivamente. La convergencia de este método es peor que el CG debido a que el número de condición de estas matrices es mayor con respecto a la matriz original. Generalización de los mínimos residuos (GMRES) El método está basado en la propiedad de minimización de la norma del vector residual sobre el espacio de Krylov. El método requiere almacenar una secuencia de vectores, por lo que requiere alta capacidad de memoria. Esto suele limitarse especificando un número de máximo de vectores a almacenar, luego del cual se desechan los vectores viejos y se reinicia el ciclo. Este método es útil para matrices generales. Gradientes Biconjugados (BiCG) En el mismo se generan dos secuencias de vectores con CG, basado en un sistema de coeficientes originales para A y A T. En vez de ortogonalizar independientemente dicha secuencia de vectores, estos son ortogonalizados mutuamente. El método requiere poco almacenamiento y puede aplicarse a matrices no simétricas. Sin embargo, la convergencia puede ser irregular y el método puede diverger. Cuasi Mínimos Cuadrados (QMR) Este método aplica cuadrados mínimos y actualiza los residuos de BiCG, suavizando la convergencia que posee este último evitando ampliamente el fallo que puede ocurrir en BiCG. Suele requerir un número mayor de iteraciones que BiCG. Gradientes Conjugados cuadráticos (CGS) Este método es una variante de BiCG que aplica las operaciones de actualización para la secuencias A y la secuencia A T ambas a los mismos vectores. Idealmente, tendría una tasa de convergencia del doble, pero en la práctica la convergencia es más irregular que BiCG, que en ocasiones lleva a resultados no confiables. Una ventaja práctica es que el método no requiere la multiplicación de la traspuesta de los coeficientes de la matriz. Gradientes Biconjugados Estabilizados (BiCGSTAB) Este método es una variante de BiCG, pero utiliza diferentes actualizaciones para la secuencia A T para obtener una convergencia más suavizada que CGS. Cuasi Mínimos Residuos con Libre Transpuesta (TFQMR) Este método es aplicable a matrices no hermíticas, el cual hace uso de CGS para generar el espacio de Krylov. El método produce una suave y casi monótona convergencia con respecto a la norma del residuo. A diferencia de CG, TFQMR minimiza con respecto a la norma 1. El método no involucra la multiplicación de matrices vector con el coeficiente de la matriz traspuesta. Ha mostrado ser buen método para sistemas muy grandes porque la norma del residuo del vector está disponible durante el cálculo. Iteración de Chebyshev La iteración de Chebyshev determina coeficientes de interpolación de una función polinómica en base al espectro de autovalores para minimizar la norma del residuo. Este método tiene la ventaja de no requerir productos internos. Método de Richardson La iteración de Richardson determina recursivamente los coeficiente del vector solución con una matriz de orientación, partiendo de una estimación inicial. El método tiene la ventaja de no almacenar los vectores antiguos y como desventaja es que para su convergencia se requiere que todos los autovalores tengan parte real positiva. 2

21 Precondicionadores de PETSc Los precondicionadores son una aproximación de la inversa de la matriz mejorando su número de condición [13]. Los métodos programados en la biblioteca PETSc se describen a continuación. LU Decomposition Método por el cual se descompone la matriz del problema en una matriz triangular inferior L y una matriz triangular superior U. Este método se aplica generalmente sin un método de Krylov ya su aplicación lleva a la solución exacta, aunque las matrices son en general densas por lo que es muy costoso. Incomplete LU (ILU) Genera las mismas matrices que en el caso LU, pero mantiene la estructura de llenado de la matriz original descartando entradas que no pertenezcan a la estructura original. Es el precondicionador por defecto de PETSc. Jacobi Aproxima la inversa de la matriz por medio de la diagonal del problema. Block Jacobi (BJACOBI) Igual que Jacobi pero tomando por diagonales bloques de matrices. Cholesky Utiliza un resolutor directo basado en la factorización de Cholesky. Incomplete Cholesky (ICC) Igual que Cholesky respetando la estructura de la matriz original descartando entradas que no pertenezcan a la estructura original Determinación del orden de convergencia Para determinar el orden de convergencia de cada método se planteado un problema lineal que consiste en resolver la matriz generada por diferencias finitas sobre un rectángulo utilizando coordenadas rectangulares. La matriz resultante del problema sera simétrica por lo que es aplicable el método de los gradientes conjugados, si está definida positivamente. La matriz resultante tendrá 5 no ceros por fila relacionando el punto central con los puntos verticales y horizontales. El programa se desarrolló para tener la capacidad de variar la cantidad de incógnitas en los ejes en forma independiente. Las rutinas de PETSC cuentas con los resolutores antes mencionados por los que se trataron los cada uno de los problemas de estos y Se obtuvieron los tiempos de resolución de los mismos, variando el numero de incógnitas de 150 a 1000 con incrementos de 50. Los programas fueron ejecutados en procesadores de 1GHz en forma independiente A continuación se muestran los resultados obtenidos para cada método graficando en el eje de las ordenadas el número de incógnitas del problema y en el eje de las abscisas el tiempo en segundos utilizando escala doble logarítmica. El método que logró resolver el sistema en menor tiempo es CG que se muestra en la figura 1.3. Este aunque es muy potente es raramente aplicable en casos más generales ya que la matriz debe tener propiedades especiales. El orden del método es de 1.16, el cual es el menor de todos. En la figura 1.2 se muestran los tiempos de resolución para los métodos TFQMR, CGS y CR. Estos métodos han mostrado un buen comportamiento cuando la matriz no es muy grande, TFQMR posiblemente al incorporar el cálculo con la norma 1 requiere de un número menor de cálculos por iteración, mientras que el CGS no requiere la multiplicación por la traspuesta de la matriz. Estos métodos muestran un comportamiento potencial orden 1.5 lo que los convierte en buenos candidatos para matrices dispersas no simétricas. El método CR es otro que ha mostrado un excelente comportamiento para matrices pequeñas y un orden 1.45 lo cual lo pone sobre los dos anteriores. Los métodos de Richardson y Chebyshev muestran un comportamiento no potencial. Estarían descartados inmediatamente por los altísimos tiempo involucrados y su pobre convergencia. El método de Richardson no logra converger para matrices mayores a 750x750, ya que para asegurar la convergencia el espectro de autovalores debe ser positivo, pero este método se ve afectado por la diferencia entre el máximo y el mínimo autovalor. La figura 1.4 muestra los tiempos de resolución para los métodos GMRES, BCGS y BCGSL. Los métodos BCGS, BCGSL y GMRES, muestran un comportamiento similar. Han mostrado ser buenos métodos para este problema, siendo ambos ordenes

22 10 tiempo(s) número de incógnitas Figura 1.1: Gradientes Conjugados tfqmr cr cgs time (s) número de incógnitas Figura 1.2: Métodos TFQMR, CGS, CR 4

23 chebychev richardson time (s) número de incógnitas Figura 1.3: Métodos Chebychev, Richardson time (s) número de incognitas Figura 1.4: Métodos GMRES, BCGS y BCGSL

24 1.4. Efecto del ensanchamiento Cuando la malla es cuadrada, los elementos de matriz del problema resultan ser del mismo orden, dado que el sistema no prefiere ninguna dirección en particular. Al incrementar el paso en una dirección, por ejemplo el eje y, notamos que la definición de la malla se ve afectada en resolución, pero éste no es el único efecto que aparece. Debido a que los elementos dependen del cuadrado del paso y estos son diferentes en ambas direcciones, tenemos que los elementos de matriz diferirían en varios ordenes de magnitud entre ellos, por lo que el problema estará mal condicionado. Esto se refleja al obtener el espectro de autovalores de la matriz sin precondicionar. Figura 1.5: Autovalores de la matriz en función del número de incógnitas Este es un diagrama doble logarítmico en el cual la variable del paso se encuentra en la abscisa y en la ordenada se encuentra el autovalor máximo. Se puede demostrar que si todos los autovalores tienen norma menor o igual 1 todos los métodos son estables. Al aplicar los precondicionadores, llegamos al resultado que el sistema se comporta como si no estuviera con el espaciamiento preferencial en alguna dirección, y todos los autovalores están dentro de del circulo unitario del plano complejo independientemente de h (linea inferior en el gráfico). Aquí se probaron los precondicionadores ILU, JACOBI y BJACOBI. 6

25 Capítulo 2 Descomposición de Dominios y el Complemento de Schur En este capítulo se discute la teoría general de la descomposición de dominios, su aplicación a problemas en derivadas parciales y el complemento de Schur 2.1. Descomposición de Dominios para resolver Ecuaciones en Derivadas Parciales Los métodos de descomposición de dominios consiste en la división espacial del dominio de cálculo y la resolución de subproblemas diferenciales en cada subdominio. Estos subproblemas diferenciales pueden resolverse en forma independientemente en paralelo, siendo necesario un método iterativo para ajustar las condiciones de contorno en las fronteras interiores. Supongamos que numeramos las incógnitas del subdominio Ω 1, luego las internas a Ω 2 y finalmente las del borde. Dado el carácter local de las funciones base, las incógnitas internas de cada subdominio no se relacionan con las incógnitas internas de los demás, y la matriz tiene la forma mostrada en la ecuación 2.1. Figura 2.1: Representación de un malla de un Dominio Rectangular descompuesta en Subdominios 7

26 A 1 0 A 1Γ 0 A 2 A 2Γ A Γ1 A Γ2 A Γ X 1 X 2 X Γ = B 1 B 2 B Γ (2.1) Siendo A 1 y A 2 las matrices rectangulares que relacionan los vértices internos de su dominio correspondiente. Estos son las ecuaciones correspondientes a la descomposición en dos dominios, que se generalizan a un sistema de n dominios arbitrarios como se muestra en la ecuación 2.2. A A 1Γ 0 A 2... A 2Γ A Γ1 A Γ2... A Γ X 1 X 2. X Γ = La gran ventaja de descomponer en dominios es la de trabajar matrices de tamaños menores, así como poder procesar los problemas de cada dominio en paralelo. En contra parte, se obtiene en la última fila de la matriz de la ecuación 2.2 un conjunto de ecuaciones que relacionan a las incógnitas de borde X Γ con todo el resto. En un algorítmo iterativo de resolución del sistema en paralelo, esta situación obliga a los que los procesadores se comuniquen entre sí en cada iteración. B 1 B 2. B Γ (2.2) 2.2. Complemento de Schur Dado un sistema de ecuaciones dividido en bloques: ( ) ( ) ( ) A11 A 12 x1 b1 = A 21 A 22 x 2 b 2 y suponiendo que A 11 es no singular, se lo puede resolver mediante eliminación por bloques de la siguiente manera (2.3) x 1 = A 1 11 (b 1 A 12 x 2 ) (2.4) x 2 = (A 22 A 21 A 1 11 A 12) 1 (b 2 A 21 A 1 11 b 1) (2.5) S = (A 22 A 21 A 1 11 A 12) (2.6) La matriz S recibe el nombre de Complemento de Schur y se puede interpretar como la resolución, en primer término, de las incógnitas x 2, y luego el cálculo de x 1 en función de x 2. Comparando la ecuación 2.2 con la 2.3 se observa que si tomamos como x 1 = n i=1 X i y x 2 = X Γ, el cálculo de las X i puede realizarse en forma independiente. Además, el número de incógnitas X Γ es mucho menor que el número de incógnitas total, de manera que puede plantearse la resolución del problema utilizando la siguiente metodología: Se determina un conjunto de incógnitas X Γ tal que dividan el problema como en las ecuaciones 2.2. Se calcula la matriz S y el segundo miembro G. Se resuelve el sistema SX Γ = G Se resuelven los sistemas A 1 i (b i A iγ x Γ ) Para el caso general, el complemento de Schur y su segundo miembro se definen en las ecuaciones 2.7 y 2.8 respectivamente. 8

27 i<n S = A Γ A Γi A 1 i A iγ (2.7) i=0 i<n G = B Γ A Γi A 1 i B i (2.8) i=0 Con este algoritmo la última etapa se puede realizar en paralelo. En el cálculo de la matriz S también pueden procesarse en paralelo cada uno de los términos A Γi A 1 i A iγ 2.3. Matriz General Cuando se tiene una matriz a resolver, proveniente por ejemplo de discretizar un problema por el método de los elementos finitos usando mallas no estructuradas, no resulta obvia la renumeración de incógnitas que produzcan un matriz con la estructura de la ecuación 2.2. Sin embargo, existen algoritmos bien conocidos de la teoría de grafos que nos permiten resolver el problema. Supongamos que tenemos una matriz como la siguiente A = Definimos un grafo asociado a una matriz cuadrada como aquel que cuenta con tantos nodos como filas de la matriz y tantas aristas como no-ceros tiene la misma. Cada arista tiene como nodos extremos a los índices de fila y columna de un no-cero de la matriz. En la figura 2.2 se muestra el grafo asociado a la matriz 2.9. El problema de renumeración del grafo se reduce al encontrar un separador del grafo, esto es, un conjunto de nodos del mismo, tal que, al eliminarlos, el grupo queda con varias componentes conexas, no conectadas entre sí. Por ejemplo en la figura 2.3 se expone un posible separador del grafo. En nuestro caso utilizamos la biblioteca Metis [4] para separar en dominios minimizando las conexiones, y un procesamiento posterior para hallar el separador. (2.9) 9

28 Figura 2.2: Grafo de la Matriz A Figura 2.3: Grafo de la Matriz A indicando las incógnitas de borde 10

29 Capítulo 3 Implementación del Complemento de Schur Secuencial En este capítulo se detalla la implementación realizada para el sistema secuencial, el cual no aprovecha las ventajas del cálculo distribuido pero da una base sólida de desarrollo para el caso paralelo 3.1. Breve descripción del Código La implementación del código fue realizada en el lenguaje ANSI C, en particular utilizando el compilador gcc del sistema operativo tipo GNU/LINUX También se inplementaron funciones de interface para poder enlazar códigos escritos en Fortran 77, compilados con g77 compatible con gcc. Para su implementación se utilizaron las bibliotecas de PETSc 1 versión En las mismas se encuentran programados sistemas de almacenamiento de matrices ralas, sistemas de resolución de sistemas lineales por métodos directos e iterativos, etc, para sistemas secuenciales y paralelos. En cada paso del proceso de resolución mostrado en la figura 3.1, se va procesando información disponible del problema suministrado, procurando no alterar la información original. Para realizar operaciones con las matrices de los dominios llegamos a dos planteos posibles: 1. Ensamblado Explícito: Se generan un conjunto de matrices secuenciales nuevas, copiando los valores correspondientes de cada dominio. Esto lleva a una duplicación de la cantidad de memoria utilizada por el sistema lineal. 2. Ensamblado Implícito: Se generan matrices que no contienen valores numéricos, llamadas en PETSC MatShell, sino que se de definen funciones a operaciones necesarias para la resolución del sistema lineal, incrementando levemente la memoria adicional utilizada. Cada uno de estos enfoques tiene sus ventajas y desventajas. Si bien utilizar Ensamblaje Explícito se duplica el tamaño de la memoria utilizada, se espera que las operaciones queden totalmente definidas por las funciones estándar de PETSC y que el tiempo empleado en su resolución este optimizado. Por otro lado el Ensamblado Implícito utiliza un mínimo adicional de memoria pero se deben definir un conjunto de funciones específicas para cada tipo de implementación y como es de esperar no puede optimizarse como en el caso del ensamblaje explícito. En la Implementación actual el usuario puede seleccionar alguno de los dos tipos ensamblajes antes mencionados dependiendo de sus capacidades de almacenamiento, finalidad, etc. 1 más información sobre esta biblioteca puede encontrarse en 11

30 Figura 3.1: Esquema de Resolución Secuencial 3.2. Descripción de las funciones En esta sección se detalla el funcionamiento de los algoritmos internos de resolución del sistema lineal. schurmalloc: función general para reservar memoria básica de uso en el problema, y parámetros de resolución necesarios para todo el desarrollo posterior. generagrafo: Construye el grafo asociado a una matriz secuencial de PETSC. particionagrafo: Particiona el grafo utilizando la biblioteca Metis[4]. separadominios: Calcula un separador del grafo. destruyegrafo: Libera parcialmente la memoria utilizada para construir el grafo suponiendo que ésta no es necesaria para los cálculos posteriores. schursolve: Teniendo la información de la distribución de la información de los dominios y el separador, resuelve por el método de Schur el problema en planteado. schurdestroy: Libera la información almacenada en el elemento tipo Schur. Cada una de estas funciones es única para la resolución del problema lineal. Sin embargo existe la posibilidad que el usuario final utilice implementaciones propias. Se requirió la construcción de dos estructuras para almacenar los valores de necesarios para el cálculo, Schur info: Es una estructura que guarda información general de todo el proceso, número de incógnitas en cada dominio, grafos, MatShells, Vectores, precondicionadores, punteros a matrices, etc. SubA: Guarda información especial de cada matriz interviniente, requiriendo una de estas estructuras para cada MatShell creada. Debido a que cada iteración para determinar los valores de las incógnitas de borde requiere el cálculo de las inversas las matrices diagonales de cada dominio, se realizó la implementación estática de los vectores y solver de modo de disminuir el tiempo entre reserva y liberación de memoria para estos cálculos. 12

31 schurmalloc int schurmalloc(info **params,mat A,int numero_dominios) En esta función se realizan las operaciones de iniciación necesarias para el cálculo posterior. Se reserva memoria para la estructura Schur info, que va a contener toda la información necesaria para los cálculos posteriores. Esto se realiza por medio del paso de la dirección de memoria donde se va a almacenar la estructura. Además se almacena la cantidad total de incógnitas que se obtiene de la matriz A que es el segundo argumento de la función, que es igual al número de columnas y el número de filas de la misma, así como la dirección de memoria de la matriz A. Cabe la aclaración que las matrices de PETSC son punteros a estructuras por lo que la copia del valor de A, es igual a almacenar su dirección de memoria. El usuario pasa como tercer argumento el número de dominios, que es almacenado en la variable params- numero dominios. Se reserva memoria necesaria para vincular las incógnitas con los dominios, que son almacenados en las variables params->numero incognitas dominio y params->dominio a incognita. Estos vectores darán, una vez llenados, el número de incógnitas que posee cada dominio y las variables que se encuentran en cada dominio. almacena la dirección de memoria de la matriz del problema. Por último se devuelve una señal de error en caso de tener algún problema de almacenamiento o el puntero dado por el usuario no corresponda a una matriz secuencial AIJ, que es el tipo de matrices ralas más comunes utilizadas para cálculos en problemas de en derivadas parciales. En la figura 3.2 es un esquema de funcionamiento de esta función. Figura 3.2: Esquema de funcionamiento de la función schurmalloc 13

32 generagrafo int generagrafo(info *params) Para poder separar los dominios es primero necesario generar el grafo asociado a la matriz. Como ya se mencionó en el capítulo 2, este grafo representa las relaciones entre las incógnitas del sistema lineal. En nuestro caso trabajaremos con grafos no orientados, asociados a matrices de estructura no simétricas, ya que es el caso más común (un operador diferencial de segundo orden hace que la solución en un punto depende de la solución en sus vecinos inmediatos, mientras que los valores numéricos de la matriz por lo general pierden la simetría por la presencia de un operador de primer orden). El grafo es construido en base a la matriz del problema, que está almacenada en el formato CRS (compressed row storage)[17]. Es de aclarar que en este código únicamente es soportado las matrices tipo MatSeqAIJ que respetan el formato antes mencionado. Además existe en PETSC la función MatConvert que da la posibilidad de transformar una matriz de un formato a otro. El mismo sigue la siguiente estructura de almacenamiento 1. El vector de números enteros ((Mat SeqAIJ *)A->data)->i de longitud número filas + 1, almacena en que posición comienza cada fila en el vector de columna. El vector es iniciado con el valor cero, y la diferencia entre dos valores sucesivos da la cantidad de columnas que contiene esa fila. 2. El vector de números enteros ((Mat SeqAIJ *)A->data)->j) es un vector de longitud igual a ((Mat SeqAIJ *)A->data)->i[número de filas], y almacena a que columna corresponde cada entrada. 3. El vector de número de doble presición ((Mat SeqAIJ *)A->data)->a) con longitud igual a la anterior, almacena las entradas propiamente dichas de la matriz. Primero se determina la memoria necesaria para almacenar la estructura del grafo y luego se construye el grafo en sí mismo. Estos dos cálculos son similares en contexto. La estructura del grafo es similar a la estructura CRS y cuenta con dos vectores *xadj y *adjncy que se describen a continuación: 1. El vector de números enteros xadj de longitud número de filas + 1, sigue la misma estructura que el vector ((Mat SeqAIJ *)A->data)->i mencionado anteriormente que contiene el rango de valores de adjncy donde están las conexiones que posee esa incógnita. 2. El vector de números enteros adjncy se almacenan las conexiones con otras incógnitas. Es importante destacar que no debe incluirse a la incógnita en sí misma. El funcionamiento básico de esta función se muestra en la figura 3.3. Por último se guardan los vectores resultantes xadj y adjncy en la estructura Schur info y se devuelve un entero en ierr distinto de cero en caso de ocurrir algún error, imposibilidad de reservar memoria, estructura defectuosa de la matriz, etc. 14

33 Figura 3.3: Esquema de funcionamiento de la función generagrafo particionagrafo int particionagrafo(info *); En esta función se realiza la separación de los dominios por medio de la biblioteca Metis[4]. Esta biblioteca permite generar una clasificación en grupos de nodos del grafo de tal manera que se minimizan las conexiones entre los nodos de distintos grupos. Se generan las funciones de peso de que dan las distribuciones relativas de incógnitas que serán repartidas en cada dominio. Esta función debe ser normalizada, y en esta implementación se realizó una distribución uniforme. La salida de Metis es un vector de longitud igual al número total de nodos que almacena enteros con el número de dominio asignada a cada nodo y es almacenado en la el params->parts. 15

34 Figura 3.4: Esquema de funcionamiento de la función particionagrafo separadominios int separadominios(info *); En esta función se genera el separador del grafo. Utilizando el grafo particionado, se identifican los nodos de cada dominio que se conectan con nodos de otros dominios. En principio sería suficiente tomar a todos estos nodos como integrantes del separador, pero es posible reducir el tamaño del mismo utilizando un proceso no mucho más complicado. Nótese que cuando dos dominios A y B tienen nodos conectados entre sí, es suficiente incorporar al separador los nodos de A conectados con los nodos de B, o los nodos de B conectados con nodos de A, pero no ambos grupos simultáneamente. Cuando el número de dominios es mayor que 2 se determina una secuencia de incorporación de nodos del separador de la siguiente manera: en cada paso se elige el dominio que al eliminar todos los nodos conectados con otros dominios, quede con el máximo número de nodos internos los cuales quedan ya separados del resto del grafo. En la figura 3.5 se ilustra el procedimiento en un caso simple de un grafo particionado en 4 grupos. Los distintos símbolos de los nodos indican el grupo al que pertenecen. Los nodos sobre la linea sólida constituyen el separador. 16

35 D ED GFE C < =< = #" ; 5 ) ) + / 3 Este proceso asegura la minimización del separador, dentro del esquema no acoplado 2 de selección de separador también con el requisito de homogeneizar los tamaños de los dominios. 2 B B B BC $ % $ % >? >? & & & & ' ' ' ' ( ( ( ( * * * *+,,-!!..../ : : : :; Figura 3.5: Ejemplo de separador 2 referido a retirar el separador completamente de cada dominio en forma secuencial. Puede plantearse un algorítmo para determinar la mínima cantidad de incógnitas pero no se ha implementado aún. 17

36 Figura 3.6: Esquema de funcionamiento de la función separadominios schursolve int schursolve(info *params,vec b,vec u) Esta es la función principal del programa debido a que en la misma se resuelve el sistema lineal. La función toma como argumentos un puntero a la estructura schur info que contiene la información de la partición, dos vectores de PETSC, b y u, el término independiente y la incógnita global del problema correspondientemente. El algoritmo comienza reservando memoria para almacenar las submatrices de cada dominio, en la variable params->aij. Se requiere reservar 3*número de dominios + 1 matrices de PETSC, que como ya se mencionó, son punteros a estructuras. Este número surge de que cada dominio requiere 3 matrices, 1 con las conexiones internas, 1 con las conexiones del dominio al separador y otra del sepa- 18

37 rador al dominio, que salvo para el caso simétrico son diferentes 3. En la variable params->ensamblar tipo PetscTruth 4, se define si se realiza un ensamblaje explícito o implícito como se explicó en la sección 3.1. El usuario puede manipular este valor ingresando por línea de comando al lanzar el programa la opcion -ensamblar 1 para el caso de un ensamblaje explícito o cero en caso impícito, aunque ésta es la opción por defecto. Para realizar el ensamblaje explícito se utiliza la función MatGetSubMatrix de PETSC, que obtiene una submatriz con los indices de filas y columnas seleccionados y ensambla una nueva matriz del mismo tipo que la original. Para el caso de ensamblaje explícito se crean matrices tipo MatShell que guardan la información de la matriz original, y de los índices de las filas y columnas correspondientes a la submatriz. También se debe especificar la función para multiplicar una matriz de este tipo por un vector. Dicha función consiste simplemente en multiplicar el rango de índices correspondientes a la submatriz por los elementos del vector. Nótese que esta función es suficiente para las operaciones en que intervienen las matrices A i, A Γi y A iγ. Cuando es necesario resolver sistemas x = A 1 i b se utilizan métodos iterativos (en particular GMRES), que sólo utilizan la matriz para multiplicarla por un vector. La matriz de Schur S (ecuación 2.6) no se calcula explícitamente. Se resuelve utilizando también un método iterativo donde sólo hace falta la matriz para multiplicarla por un vector, por tanto usamos una matriz virtual (o MatShell) donde el producto de S se calcula como en la ecuación 3.1 S n 1 X = A ΓX A Γi A 1 i A iγx (3.1) Para cada dominio hay que realizar dos productos matriz vector y una inversión de matriz. i=0 A Γi A 1 i A iγ Xi = Y i (3.2) se realiza el producto explícito y se guarda el resultado en el vector X 1 i según se muestra en la ecuación 3.3 A iγ Xi = X 1 i (3.3) El producto mostrado en la ecuación 3.4 no puede realizarse directamente porque no se conoce la inversa explícita de A i por lo que se aplica un método de resolución para el sistema equivalente que se muestra en la ecuación 3.5 A 1 i Xi 1 = Xi 2 (3.4) A i X 2 i = X 1 i (3.5) Este es almacenado en otro vector X 2 i, el producto mostrado en la ecuación 3.6 da el resultado buscado. A Γi X 2 i = Y i (3.6) El usuario puede optar por distintos métodos de resolución y precondicionamiento para resolver las matrices de cada subdominio, aunque la totalidad de los métodos disponibles en la biblioteca PETSc sólo pueden utilizarse cuando las matrices son ensambladas en forma explícita. Se generan un conjunto de precondicionares y espacios de Krylov para cada uno de los subdominios que no son destruidos hasta el final del algoritmo para su reutilización, los cuales se encuentran almacenados en la estructura Schur info *params->ksp y *params->pc. También se encuentran en la misma estructura los 3 vectores mostrados en las ecuaciones 3.2, 3.3, 3.4, 3.5 y 3.6. Así en orden de resolver, se determina el vector independiente de la ecuación 2.8 y es almacenado en el vector secuencial de PETSC sx que está definido dentro de esta función, luego la matriz de Schur S y por último los sistemas de cada dominio. Las opciones de resolución del método KSP se pueden dar por lineal de comando -ksp type. 3 En el caso de contar con una matriz simétrica A 1C = A T C1 4 PetscTruth es una lista enumerada definida en el archivo de cabecera petsc.h con valores PETSC FALSE y PETSC TRUE. 19

38 Figura 3.7: Esquema de funcionamiento de la función schursolve 20

39 Capítulo 4 Resultados del Complemento de Schur Secuencial En este capítulo se muestran los resultados obtenidos al aplicar el método del complemento de Schur a problemas en derivadas parciales aplicando métodos de elementos finitos y diferencias finitas Método de Diferencias Finitas aplicado a la Ecuación de Poisson El problema que aquí se plantea es resolver la ecuación de Poisson unidimensional con condiciones de Dirichlet y término fuente f unitaria, como se muestran en la ecuación 4.1. { u = f uɛω u = 1 uɛγ (4.1) Planteando un esquema de diferencias finitas se llega a una matriz de rigidez[11] tridiagonal definida positiva. El problema tiene solución exacta, por lo que resulta sencillo el control de errores del algoritmo Partición en dominios y detección de borde En esta sección se muestran los análisis del funcionamiento de los algoritmos de particionamiento de sistema lineal, utilizando la biblioteca Metis como se explicó en la sección Distribución de incógnitas en dominios Para ilustrar los resultados obtenidos mostramos un caso de separación con 20 nodos. En la figura 4.1 se muestran los resultados de la descomposición en dominios del sistema en cuestión. Puede observarse para la misma que el sistema cumple con las exigencias impuestas en la sección o sea se consigue una minimización del tamaño del separador y uniformidad en el tamaño de los dominios. tiempo de resolución A fin de poner a prueba el tiempo demandado por el algoritmo de separación, se realizaron mediciones de tiempo en función del número de incógnitas del problema y el número de dominios. Es importante que este tiempo no sea demasiado elevado debido a que podemos perder toda la eficiencia del resolutor en particionar el dominio. En la figura 4.2 se muestran los resultados estos tiempos para 21

40 numero dominios Figura 4.1: número de incógnitas en función del número de dominios un rango de a de incógnitas y particiones en 2, 3, 5 y 7 dominios. El problema fue resuelto en un procesador Pentium IV de 3GHz dominios 3 dominios 5 dominios 7 dominios tiempo (s) e+06 número incógnitas Figura 4.2: tiempos necesarios para separar dominios en función del número de incógnitas Concluímos de la figura 4.2 que los tiempos empleados para particionar son despreciables frente a cualquier tiempo de resolución de un sistema lineal de tamaños similares Resolución del Sistema Lineal En esta sección analizaremos la convergencia del método iterativo usando el complemento de Schur, en función del número de dominios y de los precondicionadores. En cada caso se mide el tiempo demandado y el residuo obtenido para un tamaño fijo de incógnitas 1e5. En todos los resultados de esta subsección no se utilizarán precondicionamiento para la matriz S. La notación a utilizar en los títulos siguientes corresponden a Resolutor para S/Resolutor para dominios/precondicionador para dominios. El caso NONE corresponde a no aplicar método. GMRES/GMRES/NONE En la tabla 4.1 se muestran los resultados para el caso gmres sin precondicionar. Para el caso de 1 dominio se utilizó el gmres sin descomposición. Podemos ver de los resultados que no es conveniente aplicar un resolutor sin precondicionar debido elevado residuo que se obtiene. Así que para llegar a soluciones aceptables es necesario iterar un 22

41 número dominios tiempo(s) residuo E E E E E E E E+07 Cuadro 4.1: tiempos de resolución en función del número de dominios utilizando gmres sin precondicionar para el caso secuencial número muy elevado de veces. Además que el complemento de Schur no puede superar en tiempo un método sin que se utilice en paralelo. GMRES/GMRES/PCILU Para este caso se resolvió el problema con 1e6 debido a que con 1e5 los tiempos de resolución eran despreciables. En la tabla 4.2 se muestran los resultados para el caso gmres con precondicionar ILU (Incomplete LU decomposition). El precondicionador ILU está dado con las opciones por defecto por lo que no tiene nivel de llenado. número dominios tiempo(s) residuo E E E E E E E E E E E E+02 Cuadro 4.2: tiempos de resolución en función del número de dominios utilizando gmres con precondicionar ILU para el caso secuencial GMRES/NONE/LU En esta parte se utilizó el precondicionar LU que debido es en si un método directo de resolución. Aun así puede aplicarse un método iterativo ya que para matrices grandes el error de redondeo es importante y puede llegar a alejarse demasiado de la solución exacta. Este método mostró ser muy eficiente aunque en gran parte es debido a que la estructura de la matriz es muy sencilla. GMRES/GMRES/JACOBI El precondicionador Jacobi toma como matriz de precondicionamiento la diagonal de la matriz original. En sí su inversa es sencilla de calcular sólo hay que invertir los elementos de la diagonal. En la tabla 4.4 se muestran los resultados obtenidos para este caso. 23

42 número dominios tiempo(s) residuo E E E E E E E E E E E E+00 Cuadro 4.3: tiempos de resolución en función del número de dominios utilizando LU caso secuencial número dominios tiempo(s) residuo E E E E E E E E E E E E+07 Cuadro 4.4: tiempos de resolución en función del número de dominios utilizando gmres y precondicionar jacobi caso secuencial Concluímos por los resultados obtenidos que no es conveniente esta clase de precondicionador para los dominios debido a que no proporciona una solución aproximada en pocas iteraciones Método de los elementos finitos aplicado a un tubo con condiciones periódicas En esta sección mostramos un ejemplo de resolución de un sistema lineal proveniente de la discretización por el método de los elementos finitos de un problema de fluido dinámica. Para la resolución de las ecuaciones de Navier-Stokes se utilizó el programa GPFEP [15], en dominio y la malla se muestra en la figura 4.3, el cual posee nodos y elementos del tipo tetrahedros. El modelo computacional lleva a resolver un sistema lineal de incógnitas en cada paso temporal, correspondientes a una componente de presión y 3 de velocidades por cada nodo de la malla. 24

43 (a) vista 1 (b) vista 2 (c) vista 3 Figura 4.3: Malla del problema del tubo en difentes vistas y cortes. Mallas utilizada por Gabriel Campos en su tesis de Ingenieria [14]. 25

44 Partición en dominios y detección de borde En esta sección se muestran los resultados de la distribución de los nodos en función de la cantidad de dominios. (a) 2 dominios (b) 3 dominios (c) 4 dominios (d) 5 dominios Figura 4.4: descomposición de la malla del tubo en función de la cantidad de dominios Se puede observar de la figura 4.4 los dominios en diferentes colores y el separador en amarillo. Es importante destacar que la base también es parte del separador debido a que la malla es periódica y por tanto esta zona se conecta con la tapa resolución del sistema lineal En las siguientes subsectiones mostramos los tiempos y los residuos involucrados en la resolución. Buscaremos el mejor método de resolución, tanto en tiempo como en el residuo del problema. GMRES/GMRES/PCILU En esta sección probamos los tiempos de resolución en función del número de incógnitas similar al caso del laplaciano en la sección Estos resultados muestran que el método no es más rápido que un método directo ni conduce a resultados mejores. La gran parte del problema se debe a que el la matriz de schur S al no ser ensamblada explícitamente no es precondicionada y el número de iteraciones es elevado. 26

Tópicos de implementación en paralelo

Tópicos de implementación en paralelo Apéndice C Esquema PGP. Implementación en un entorno paralelo. Para poder abordar eficazmente la simulación computacional de grandes problemas estructurales, es necesario utilizar estrategias numéricas

Más detalles

Descomposición de dominios con el método alternante de Schwarz

Descomposición de dominios con el método alternante de Schwarz Descomposición de dominios con el método alternante de Schwarz MSc Miguel Vargas-Félix miguelvargas@cimat.mx http://www.cimat.mx/~miguelvargas 14/10/ 1/44 Contenido Contenido Solución de ecuaciones diferenciales

Más detalles

Descomposición de dominios

Descomposición de dominios Descomposición de dominios Miguel Vargas 27/10/10 1/29 Contenido Contenido Solución de ecuaciones diferenciales con descomposición de dominios Dominios sin traslape, complemento de Schur Método alternante

Más detalles

Gradiente conjugado. MSc. Miguel Vargas-Félix miguelvargas@cimat.mx http://www.cimat.mx/~miguelvargas 07/09/11 1/23

Gradiente conjugado. MSc. Miguel Vargas-Félix miguelvargas@cimat.mx http://www.cimat.mx/~miguelvargas 07/09/11 1/23 Gradiente conjugado MSc. Miguel Vargas-Félix miguelvargas@cimat.mx http://www.cimat.mx/~miguelvargas 07/09/11 1/23 Contenido Contenido Estructura de una matriz rala a partir de conectividades Compressed

Más detalles

Computación Científica en Paralelo

Computación Científica en Paralelo Computación Científica en Paralelo Métodos de Descomposición de Dominio Luis Miguel de la Cruz luiggix@gmail.com www.dci.dgsca.unam.mx/lmcs Unidad de Investigación en Cómputo Aplicado DGSCA-UNAM. Posgrado

Más detalles

I.- CONCEPTOS BÁSICOS DEL MÉTODO DE LOS ELEMENTOS FINITOS

I.- CONCEPTOS BÁSICOS DEL MÉTODO DE LOS ELEMENTOS FINITOS I.- CONCEPTOS BÁSICOS DEL MÉTODO DE LOS ELEMENTOS FINITOS 1.1.- Introducción Muchos problemas de importancia práctica que frecuentemente aparecen en ingeniería, resultan de una complejidad matemática tal

Más detalles

O.C. Zienkiewicz, R.L. Taylor. El Método de los Elementos Finitos. Vols 1 y 2. CIMNE-Mc Graw Hill, 1994.

O.C. Zienkiewicz, R.L. Taylor. El Método de los Elementos Finitos. Vols 1 y 2. CIMNE-Mc Graw Hill, 1994. Índice de la teoría 1. Presentación. Estas lecciones sólo pretenden ser una introducción que sirva para orientar sobre los conceptos, para un estudio más amplio se recomienda leer alguna publicación especializada,

Más detalles

CONTENIDOS MÍNIMOS BACHILLERATO

CONTENIDOS MÍNIMOS BACHILLERATO CONTENIDOS MÍNIMOS BACHILLERATO I.E.S. Vasco de la zarza Dpto. de Matemáticas CURSO 2013-14 ÍNDICE Primero de Bachillerato de Humanidades y CCSS...2 Primero de Bachillerato de Ciencias y Tecnología...5

Más detalles

6 CONCLUSIONES Y LÍNEAS FUTURAS DE TRABAJO

6 CONCLUSIONES Y LÍNEAS FUTURAS DE TRABAJO 6 CONCLUSIONES Y LÍNEAS FUTURAS DE TRABAJO Sirva este capítulo como resumen de las conclusiones que han ido apareciendo durante el desarrollo de este trabajo. Si bien a lo largo de los distintos capítulos

Más detalles

CONTENIDO. 1. Introducción. 2. Reseña histórica del computador. 3. Definición de computador.

CONTENIDO. 1. Introducción. 2. Reseña histórica del computador. 3. Definición de computador. CONTENIDO 1. Introducción. 2. Reseña histórica del computador. 3. Definición de computador. 4. Sistemas numéricos. 4.1 Generalidades. 42 Sistema binario. 4.3 Sistema octal,. 4.4 Sistema decimal. 4.5 Sistema

Más detalles

CLUSTER FING: PARALELISMO de MEMORIA DISTRIBUIDA

CLUSTER FING: PARALELISMO de MEMORIA DISTRIBUIDA CLUSTER FING: PARALELISMO de MEMORIA DISTRIBUIDA SERGIO NESMACHNOW Centro de Cálculo, Instituto de Computación FACULTAD DE INGENIERÍA, UNIVERSIDAD DE LA REPÚBLICA, URUGUAY CONTENIDO Introducción: arquitecturas

Más detalles

Nombre de la asignatura: METODOS NUMERICOS. Carrera : Ingeniería Mecánica. Clave de la asignatura: ACB- 9311 Clave local:

Nombre de la asignatura: METODOS NUMERICOS. Carrera : Ingeniería Mecánica. Clave de la asignatura: ACB- 9311 Clave local: Nombre de la asignatura: METODOS NUMERICOS Carrera : Ingeniería Mecánica Clave de la asignatura: ACB- 9 Clave local: Horas teoría horas practicas créditos: -0-8.- UBICACIÓN DE LA ASIGNATURA A) RELACIÓN

Más detalles

ALGEBRA LINEAL. Héctor Jairo Martínez R. Ana María Sanabria R.

ALGEBRA LINEAL. Héctor Jairo Martínez R. Ana María Sanabria R. ALGEBRA LINEAL Héctor Jairo Martínez R. Ana María Sanabria R. SEGUNDO SEMESTRE 8 Índice general. SISTEMAS DE ECUACIONES LINEALES.. Introducción................................................ Conceptos

Más detalles

CURSO CERO. Departamento de Matemáticas. Profesor: Raúl Martín Martín Sesiones 18 y 19 de Septiembre

CURSO CERO. Departamento de Matemáticas. Profesor: Raúl Martín Martín Sesiones 18 y 19 de Septiembre CURSO CERO Departamento de Matemáticas Profesor: Raúl Martín Martín Sesiones 18 y 19 de Septiembre Capítulo 1 La demostración matemática Demostración por inducción El razonamiento por inducción es una

Más detalles

Computación 1-2011 - Matrices dispersas

Computación 1-2011 - Matrices dispersas Computación 1-2011 - Matrices dispersas Situación: Matrices muy grandes Previsible gran porcentaje de valores = 0 Se busca una forma de representar esas matrices que cueste menos memoria y permita acelerar

Más detalles

Repaso de matrices, determinantes y sistemas de ecuaciones lineales

Repaso de matrices, determinantes y sistemas de ecuaciones lineales Tema 1 Repaso de matrices, determinantes y sistemas de ecuaciones lineales Comenzamos este primer tema con un problema de motivación. Problema: El aire puro está compuesto esencialmente por un 78 por ciento

Más detalles

Capítulo 12: Indexación y asociación

Capítulo 12: Indexación y asociación Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación

Más detalles

MÉTODOS DIRECTOS PARA LA RESOLUCIÓN DE ECUACIONES ALGEBRAICAS LINEALES

MÉTODOS DIRECTOS PARA LA RESOLUCIÓN DE ECUACIONES ALGEBRAICAS LINEALES CAPÍTULO 4 EJERCICIOS RESUELTOS: MÉTODOS DIRECTOS PARA LA RESOLUCIÓN DE ECUACIONES ALGEBRAICAS LINEALES Ejercicios resueltos 1 1. Determine el número de operaciones aritméticas necesarias para calcular

Más detalles

Máster Universitario en Ingeniería de Caminos, Canales y Puertos Introducción al Análisis Numérico

Máster Universitario en Ingeniería de Caminos, Canales y Puertos Introducción al Análisis Numérico Máster Universitario en Ingeniería de Caminos, Canales y Puertos Introducción al Análisis Numérico Departamento de Matemática Aplicada Universidad Granada Introducción El Cálculo o Análisis Numérico es

Más detalles

CAPÍTULO V MÉTODO DE ANÁLISIS POR ELEMENTOS FINITOS Y DESCRIPCIÓN DEL SOFTWARE ALGOR.

CAPÍTULO V MÉTODO DE ANÁLISIS POR ELEMENTOS FINITOS Y DESCRIPCIÓN DEL SOFTWARE ALGOR. CAPÍTULO V MÉTODO DE ANÁLISIS POR ELEMENTOS FINITOS Y DESCRIPCIÓN DEL SOFTWARE ALGOR. 5.1 Historia del Método de Elementos Finitos. El Método de Elemento Finito o Finite Element Analysis (FEA), es un método

Más detalles

SISTEMAS DE ECUACIONES LINEALES

SISTEMAS DE ECUACIONES LINEALES SISTEMAS DE ECUACIONES LINEALES INTRODUCCIÓN En el presente documento se explican detalladamente dos importantes temas: 1. Descomposición LU. 2. Método de Gauss-Seidel. Se trata de dos importantes herramientas

Más detalles

1. Examen 21/Junio/1994. Para la inversión de una matriz cuadrada A de orden n n, cuya inversa existe, se ha definido la siguiente iteración

1. Examen 21/Junio/1994. Para la inversión de una matriz cuadrada A de orden n n, cuya inversa existe, se ha definido la siguiente iteración CAPÍTULO 5 EJERCICIOS RESUELTOS: MÉTODOS ITERATIVOS PARA ECUACIONES LINEALES Ejercicios resueltos 1 1. Examen 21/Junio/1994. Para la inversión de una matriz cuadrada A de orden n n cuya inversa existe

Más detalles

CAPÍTULO 4: ENSAYOS DE VALIDACIÓN MECÁNICA (CAE)

CAPÍTULO 4: ENSAYOS DE VALIDACIÓN MECÁNICA (CAE) CAPÍTULO 4: ENSAYOS DE VALIDACIÓN MECÁNICA (CAE) Diseño, validación y fabricación de un aro protector para envases metálicos mediante el empleo de las tecnologías CAD/CAM/CAE y Rapid Prototyping. 4.1.

Más detalles

3.1 DEFINICIÓN. Figura Nº 1. Vector

3.1 DEFINICIÓN. Figura Nº 1. Vector 3.1 DEFINICIÓN Un vector (A) una magnitud física caracterizable mediante un módulo y una dirección (u orientación) en el espacio. Todo vector debe tener un origen marcado (M) con un punto y un final marcado

Más detalles

Capitán de fragata ingeniero AGUSTÍN E. GONZÁLEZ MORALES ÁLGEBRA PARA INGENIEROS

Capitán de fragata ingeniero AGUSTÍN E. GONZÁLEZ MORALES ÁLGEBRA PARA INGENIEROS Capitán de fragata ingeniero AGUSTÍN E. GONZÁLEZ MORALES ÁLGEBRA PARA INGENIEROS 2 Í N D I C E CAPÍTULO MATRICES, DETERMINANTES Y SISTEMAS DE ECUACIONES LINEALES MATRICES. MATRIZ. DEFINICIÓN 2. ALGUNOS

Más detalles

IES CANARIAS CABRERA PINTO DEPARTAMENTO DE MATEMÁTICAS CONTENIDOS MÍNIMOS 1º ESO SEPTIEMBRE 2015

IES CANARIAS CABRERA PINTO DEPARTAMENTO DE MATEMÁTICAS CONTENIDOS MÍNIMOS 1º ESO SEPTIEMBRE 2015 CONTENIDOS MÍNIMOS 1º ESO SEPTIEMBRE 2015 UNIDAD 1: LOS NÚMEROS NATURALES. OPERACIONES Y RELACIONES El sistema de numeración decimal Estimación y redondeo de un número natural Las operaciones con números

Más detalles

Bachillerato. Matemáticas. Ciencias y tecnología

Bachillerato. Matemáticas. Ciencias y tecnología Bachillerato º Matemáticas Ciencias y tecnología Índice Unidad 0 Números reales........................................... 7. Evolución histórica................................... 8. Números reales......................................

Más detalles

Universidad de Costa Rica Escuela de Matemática ALGEBRA LINEAL. x x1 n. θ y. 1 n x1 n ȳ1 n. Carlos Arce S. William Castillo E. Jorge González V.

Universidad de Costa Rica Escuela de Matemática ALGEBRA LINEAL. x x1 n. θ y. 1 n x1 n ȳ1 n. Carlos Arce S. William Castillo E. Jorge González V. Universidad de Costa Rica Escuela de Matemática ALGEBRA LINEAL x x x1 n θ y y ȳ1 n 1 n x1 n ȳ1 n Carlos Arce S. William Castillo E. Jorge González V. 2003 Algebra Lineal Carlos Arce S., William Castillo

Más detalles

Capítulo 5: Comparación con ScaLAPACK

Capítulo 5: Comparación con ScaLAPACK Capítulo 5: Comparación con ScaLAPACK En este capítulo se presentan dos aspectos importantes en cuanto a la validez y utilización de los aportes de esta tesis: 1) Aplicación de los principios de paralelización

Más detalles

Simulación numérica con elementos finitos de un micro-relé

Simulación numérica con elementos finitos de un micro-relé Simulación numérica con elementos finitos de un micro-relé Titulación: Alumno: Directores: Ingeniería Industrial César Alfaro Sánchez Juan Álvaro Fuentes Moreno y Francisco Periago Esparza Cartagena, 7

Más detalles

Fundamentos del diseño 3ª edición (2002)

Fundamentos del diseño 3ª edición (2002) Unidades temáticas de Ingeniería del Software Fundamentos del diseño 3ª edición (2002) Facultad de Informática necesidad del diseño Las actividades de diseño afectan al éxito de la realización del software

Más detalles

Universidad Politécnica de Madrid

Universidad Politécnica de Madrid Universidad Politécnica de Madrid Escuela Técnica Superior de Ingenieros de Minas Departamento de Matemática Aplicada y Métodos Informáticos x r 1 x 1 x 2 = x * d 1 * d 1 f(x)=cte. r Resolución de sistemas

Más detalles

TEMA 4: CALCULO NUMERICO DE AUTOVALORES

TEMA 4: CALCULO NUMERICO DE AUTOVALORES Lino Alvarez - Aurea Martinez METODOS NUMERICOS TEMA 4: CALCULO NUMERICO DE AUTOVALORES 1 INTRODUCCION La determinación de autovalores y autovectores de una matriz cuadrada A de orden n es un problema

Más detalles

Grupos. 2.1 Introducción. Capítulo

Grupos. 2.1 Introducción. Capítulo Capítulo 2 Grupos 2.1 Introducción La estructura de grupo es una de las más comunes en toda la matemática pues aparece en forma natural en muchas situaciones, donde se puede definir una operación sobre

Más detalles

Matemáticas. Si un error simple ha llevado a un problema más sencillo se disminuirá la puntuación.

Matemáticas. Si un error simple ha llevado a un problema más sencillo se disminuirá la puntuación. UNIVERSIDAD POLITÉCNICA DE CARTAGENA PRUEBAS DE ACCESO A LA UNIVERSIDAD DE LOS MAYORES DE 25 AÑOS CONVOCATORIA 2014 CRITERIOS DE EVALUACIÓN Matemáticas GENERALES: El examen constará de dos opciones (dos

Más detalles

TRANSFORMADA DE FOURIER. Transformada de Fourier (Parte 1) Página 1 INTRODUCCION

TRANSFORMADA DE FOURIER. Transformada de Fourier (Parte 1) Página 1 INTRODUCCION Transformada de Fourier (Parte 1) Página 1 INTRODUCCION En una primera aproximación, podemos decir que todos los dominios transformados, que se utilizan dentro del tratamiento digital de imagen, tienen

Más detalles

Estructura de Datos. Unidad I Tipos de Datos

Estructura de Datos. Unidad I Tipos de Datos Estructura de Datos Unidad I Tipos de Datos Conceptos Básicos Algoritmo: es una secuencia finita de pasos o instrucciones ordenadas crono-lógicamente que describen un método para resolver un problema específico.

Más detalles

Paralelización de la factorización LDL T usando el lenguaje de programación paralela ZPL

Paralelización de la factorización LDL T usando el lenguaje de programación paralela ZPL REVISTA INGENIERÍA UC. Vol. 15, N o 2, 72-80, 2008 Paralelización de la factorización LDL T usando el lenguaje de programación paralela ZPL Edwin Vargas, Enrique Flores, Demetrio Rey Lago Instituto de

Más detalles

Ortogonalidad y Series de Fourier

Ortogonalidad y Series de Fourier Capítulo 4 Ortogonalidad y Series de Fourier El adjetivo ortogonal proviene del griego orthos (recto) y gonia (ángulo). Este denota entonces la perpendicularidad entre dos elementos: dos calles que se

Más detalles

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2015 /2016

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2015 /2016 RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2015 /2016 DEPARTAMENTO: MATEMÁTICAS MATERIA: MATEMÁTICAS ACADÉMICAS CURSO: 3º ESO OBJETIVOS DEL ÁREA DE MATEMÁTICAS A LAS ENSEÑANZAS ACADÉMICAS 3º ESO

Más detalles

CÁLCULO DE PLACAS A TRAVÉS DE DISTINTAS METODOLOGÍAS

CÁLCULO DE PLACAS A TRAVÉS DE DISTINTAS METODOLOGÍAS UNIVERSIDAD CARLOS III DE MADRID ESCUELA POLITÉCNICA SUPERIOR Departamento de Mecánica de Medios Continuos y Teoría de Estructuras Ingeniería Técnica Industrial Mecánica Proyecto Fin de Carrera CÁLCULO

Más detalles

Introducción al Análisis Complejo

Introducción al Análisis Complejo Introducción al Análisis Complejo Aplicado al cálculo de integrales impropias Complementos de Análisis, I.P.A Prof.: Federico De Olivera Leandro Villar 13 de diciembre de 2010 Introducción Este trabajo

Más detalles

1 v 1 v 2. = u 1v 1 + u 2 v 2 +... u n v n. v n. y v = u u = u 2 1 + u2 2 + + u2 n.

1 v 1 v 2. = u 1v 1 + u 2 v 2 +... u n v n. v n. y v = u u = u 2 1 + u2 2 + + u2 n. Ortogonalidad Producto interior Longitud y ortogonalidad Definición Sean u y v vectores de R n Se define el producto escalar o producto interior) de u y v como u v = u T v = u, u,, u n ) Ejemplo Calcular

Más detalles

11. ANEXO # 1 DEFINICIONES

11. ANEXO # 1 DEFINICIONES 11. ANEXO # 1 DEFINICIONES 11.1 Sprite Un sprite es un gráfico de mapa de bits que está diseñado para ser parte de una escena mayor. Puede ser una imagen estática o un gráfico animado. Ejemplos de sprites

Más detalles

4. Se considera la función f(x) =. Se pide:

4. Se considera la función f(x) =. Se pide: Propuesta A 1. Queremos realizar una inversión en dos tipos de acciones con las siguientes condiciones: Lo invertido en las acciones de tipo A no puede superar los 10000 euros. Lo invertido en las acciones

Más detalles

Generalidades Computacionales

Generalidades Computacionales Capítulo 2 Generalidades Computacionales 2.1. Introducción a los Computadores Definición: Un computador es un dispositivo electrónico que puede transmitir, almacenar, recuperar y procesar información (datos).

Más detalles

Procesadores Superescalares: Paralelismo Explícito a Nivel de Instrucción

Procesadores Superescalares: Paralelismo Explícito a Nivel de Instrucción Tema 8 Procesadores Superescalares: Paralelismo Explícito a Nivel de Instrucción IA-64 es una arquitectura de 64 bits desarrollada conjuntamente por Intel y HP (Hewlett- Packard). Está basado en una tecnología

Más detalles

MATEMÁTICAS II. 2º BACHILLERATO (Modalidad: Ciencias y Tecnología) Desarrollado en DECRETO 67/2008, de 19 de junio. B.O.C.M.: 27 de junio de 2008.

MATEMÁTICAS II. 2º BACHILLERATO (Modalidad: Ciencias y Tecnología) Desarrollado en DECRETO 67/2008, de 19 de junio. B.O.C.M.: 27 de junio de 2008. MATEMÁTICAS II 2º BACHILLERATO (Modalidad: Ciencias y Tecnología) Desarrollado en DECRETO 67/2008, de 19 de junio. B.O.C.M.: 27 de junio de 2008. PROGRAMACIÓN DIDÁCTICA I.E.S. JOSÉ HIERRO (GETAFE) CURSO:

Más detalles

Ecuaciones y sistemas lineales

Ecuaciones y sistemas lineales UNIDAD Ecuaciones y sistemas lineales D e sobra son conocidas las ecuaciones. Refrescamos y profundizamos en su estudio: ecuaciones de primer y segundo grado, así como otras polinómicas de grados superiores,

Más detalles

Producto Interno y Ortogonalidad

Producto Interno y Ortogonalidad Producto Interno y Ortogonalidad Departamento de Matemáticas, CSI/ITESM 15 de octubre de 2009 Índice 8.1. Contexto................................................ 1 8.2. Introducción...............................................

Más detalles

LAB2. Jerarquía de Memoria. Laboratorio de Arquitectura e Ingeniería de Computadores. Valentin Puente. Revisión 1.1: 02-Marzo-2010

LAB2. Jerarquía de Memoria. Laboratorio de Arquitectura e Ingeniería de Computadores. Valentin Puente. Revisión 1.1: 02-Marzo-2010 Jerarquía de Memoria Laboratorio de Arquitectura e Ingeniería de Computadores Valentin Puente 10 Revisión 1.1: 02-Marzo-2010 1 INTRODUCCIÓN Y OBJETIVOS El objetivo fundamental de esta práctica es poner

Más detalles

+ 7 es una ecuación de segundo grado. es una ecuación de tercer grado.

+ 7 es una ecuación de segundo grado. es una ecuación de tercer grado. ECUACIONES Y DESIGUALDADES UNIDAD VII VII. CONCEPTO DE ECUACIÓN Una igualdad es una relación de equivalencia entre dos epresiones, numéricas o literales, que se cumple para algún, algunos o todos los valores

Más detalles

Panorama del curso Métodos Numéricos I

Panorama del curso Métodos Numéricos I Panorama del curso Métodos Numéricos I Egor Maximenko ESFM del IPN 2014 Egor Maximenko (ESFM del IPN) Métodos Numéricos I 2014 1 / 35 Contenido 1 Propósito y programa del curso, software y literatura 2

Más detalles

CAPITULO 4 JUSTIFICACION DEL ESTUDIO. En este capítulo se presenta la justificación del estudio, supuestos y limitaciones de

CAPITULO 4 JUSTIFICACION DEL ESTUDIO. En este capítulo se presenta la justificación del estudio, supuestos y limitaciones de CAPITULO 4 JUSTIFICACION DEL ESTUDIO En este capítulo se presenta la justificación del estudio, supuestos y limitaciones de estudios previos y los alcances que justifican el presente estudio. 4.1. Justificación.

Más detalles

ESPACIO VECTORIAL ESPACIO VECTORIAL SUBESPACIO VECTORIAL BASE Y DIMENSIÓN N DE UN

ESPACIO VECTORIAL ESPACIO VECTORIAL SUBESPACIO VECTORIAL BASE Y DIMENSIÓN N DE UN Tema 5.- ESPACIOS VECTORIALES ESPACIO VECTORIAL SUBESPACIO VECTORIAL BASE Y DIMENSIÓN N DE UN ESPACIO VECTORIAL Fundamentos Matemáticosde la Ingeniería 1 Aunque históricamente el primer trabajo de Álgebra

Más detalles

INTRODUCCION A LAS COMPUTADORAS

INTRODUCCION A LAS COMPUTADORAS Universidad de Puerto Rico Recinto Universitario de Mayagüez Decanato de Asuntos Académicos Centro de Cómputos INTRODUCCION A LAS COMPUTADORAS Por: Lilliam I. Lugo Ramírez Unidad de Servicios al Usuario

Más detalles

Las matrices tienen un número cada vez mas creciente de aplicaciones en la solución de problemas en Ciencia y Tecnología.

Las matrices tienen un número cada vez mas creciente de aplicaciones en la solución de problemas en Ciencia y Tecnología. Aplicaciones de las Matrices a la Solución de Problemas de Redes Eléctricas Resumen Se muestra como obtener, sistemas de ecuaciones lineales que permitan calcular intensidades de corrientes en los ramales

Más detalles

Matemáticas Grado 4 Curso escolar completo (ejemplo)

Matemáticas Grado 4 Curso escolar completo (ejemplo) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Múltiplos y factores Multiplicación y división de números mayores Creación de Fracciones para suma y resta Aplicación de Valor de Posición Equivalencia y Comparación de

Más detalles

Álgebra y Trigonometría CNM-108

Álgebra y Trigonometría CNM-108 Álgebra y Trigonometría CNM-108 Clase 2 Ecuaciones, desigualdades y funciones Departamento de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia Copyleft c 2008. Reproducción

Más detalles

2FUNCIONES CUADRÁTICAS

2FUNCIONES CUADRÁTICAS CONTENIDOS El modelo cuadrático La función cuadrática Desplazamientos de la gráfica Máximos, mínimos, ceros, crecimiento y decrecimiento Ecuaciones cuadráticas Sistemas mixtos En este capítulo se analizan

Más detalles

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true I. FUNDAMENTOS 3. Representación de la información Introducción a la Informática Curso de Acceso a la Universidad

Más detalles

Guías Excel 2007 Matrices Guía 77

Guías Excel 2007 Matrices Guía 77 MATRICES Las hojas de cálculo poseen prestaciones interesantes la gestión de matrices de tipo matemático. Unas consisten en facilitar los cálculos matriciales y otras están orientadas a cálculos estadísticos.

Más detalles

APLICACIONES CON SOLVER OPCIONES DE SOLVER

APLICACIONES CON SOLVER OPCIONES DE SOLVER APLICACIONES CON SOLVER Una de las herramientas con que cuenta el Excel es el solver, que sirve para crear modelos al poderse, diseñar, construir y resolver problemas de optimización. Es una poderosa herramienta

Más detalles

MÉTODOS DE ORGANIZACIÓN Y ACCESO A DATOS INTRODUCCIÓN. NO : ESTRUCTURA. OPERACIONES. MANTENIMIENTO. : ESTRUCTURA. OPERACIONES. MANTENIMIENTO. MÉTODOS DE ORGANIZACIÓN Y ACCESO A DATOS : ESTRUCTURA. OPERACIONES.

Más detalles

Dependencia lineal de vectores y sus aplicaciones a la resolución de sistemas de ecuaciones lineales y de problemas geométricos.

Dependencia lineal de vectores y sus aplicaciones a la resolución de sistemas de ecuaciones lineales y de problemas geométricos. Dependencia lineal de vectores y sus aplicaciones a la resolución de sistemas de ecuaciones lineales y de problemas geométricos. Prof. D. Miguel Ángel García Hoyo. Septiembre de 2011 Dependencia lineal

Más detalles

Capítulo 6 Filtrado en el Dominio de la Frecuencia

Capítulo 6 Filtrado en el Dominio de la Frecuencia Capítulo 6 Filtrado en el Dominio de la Frecuencia...39 6. Método en el Dominio de la Frecuencia...39 6. Filtros Espaciales en la frecuencia...40 6.. Convolución Lineal y la Transformada Discreta de Fourier...45

Más detalles

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado 1. Introducción Unified Modeling Languaje Fuente: Booch- Jacobson-Rumbauch y diversos sitios Internet, entre otros:

Más detalles

ASIGNATURA: MATEMÁTICAS APL.CIENC.SOCIALES 1º BACHILLERATO. Unidad 1 Números Reales

ASIGNATURA: MATEMÁTICAS APL.CIENC.SOCIALES 1º BACHILLERATO. Unidad 1 Números Reales ASIGNATURA: MATEMÁTICAS APL.CIENC.SOCIALES 1º BACHILLERATO Unidad 1 Números Reales Utilizar los números enteros, racionales e irracionales para cuantificar situaciones de la vida cotidiana. Aplicar adecuadamente

Más detalles

CÁLCULO PARA LA INGENIERÍA 1

CÁLCULO PARA LA INGENIERÍA 1 CÁLCULO PARA LA INGENIERÍA 1 PROBLEMAS RESUELTOS Tema 3 Derivación de funciones de varias variables 3.1 Derivadas y diferenciales de funciones de varias variables! 1. Derivadas parciales de primer orden.!

Más detalles

Memoria de Acceso Aleatorio. Dispositivos de Almacenamiento Masivo

Memoria de Acceso Aleatorio. Dispositivos de Almacenamiento Masivo Memoria. Definiciones Componente de una computadora que retiene datos informáticos durante algún intervalo de tiempo. Consiste en la capacidad de registrar datos y volver a incorporarlos en determinado

Más detalles

PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ FACULTAD DE CIENCIAS E INGENIERÍA

PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ FACULTAD DE CIENCIAS E INGENIERÍA 0 PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ FACULTAD DE CIENCIAS E INGENIERÍA ESTUDIO DEL FLUJO EN UN TANQUE AGITADOR VERTICAL DE IMPULSOR PTB CON SUPERFICIE LIBRE MEDIANTE EL PROGRAMA ANSYS CFX V.14.0

Más detalles

Indicadores para la Evaluación Proceso 2014 D.S- 211/ Matemática / Primer Ciclo Educación Media

Indicadores para la Evaluación Proceso 2014 D.S- 211/ Matemática / Primer Ciclo Educación Media Indicadores para la Evaluación Proceso 2014 D.S- 211/ Matemática / Primer Ciclo Educación Media Este instrumento presenta los indicadores de evaluación del proceso 2014 de la Modalidad Flexible de Estudios;

Más detalles

SUMILLAS DE ASIGNATURAS DE ESPECIALIDAD INFORMÁTICA I

SUMILLAS DE ASIGNATURAS DE ESPECIALIDAD INFORMÁTICA I SUMILLAS DE ASIGNATURAS DE ESPECIALIDAD INFORMÁTICA (Reestructurado a partir del 2006) PRIMER CICLO INFORMÁTICA I Esta asignatura tiene por objeto en conocer los elementos básicos de la informática. Unidades

Más detalles

Universidad Nacional de Quilmes Ing. en Automatización y Control Industrial Cátedra: Visión Artificial Septiembre de 2005

Universidad Nacional de Quilmes Ing. en Automatización y Control Industrial Cátedra: Visión Artificial Septiembre de 2005 Filtrado Espacial Introducción El filtrado espacial es la operación que se aplica a una imagen para resaltar o atenuar detalles espaciales con el fin de mejorar la interpretación visual o facilitar un

Más detalles

Modelo de aplicaciones CUDA

Modelo de aplicaciones CUDA Modelo de aplicaciones CUDA Utilización de GPGPUs: las placas gráficas se utilizan en el contexto de una CPU: host (CPU) + uno o varios device o GPUs Procesadores masivamente paralelos equipados con muchas

Más detalles

Interpolación. f(x) = 0,3x 2 + 1 π ln [ (π x) 2] + 1 (4.1)

Interpolación. f(x) = 0,3x 2 + 1 π ln [ (π x) 2] + 1 (4.1) Capítulo 4 Interpolación En ciertos casos el usuario conoce el valor de una función f(x) en una serie de puntos x 1, x 2,, x N, pero no se conoce una expresión analítica de f(x) que permita calcular el

Más detalles

La electrificación de un yacimiento Modelado de redes eléctricas como soporte al desarrollo de yacimientos maduros

La electrificación de un yacimiento Modelado de redes eléctricas como soporte al desarrollo de yacimientos maduros Tema de tapa La electrificación de un yacimiento Modelado de redes eléctricas como soporte al desarrollo de yacimientos maduros Por Nicolás Spensieri Los campos maduros tienen en general un alto consumo

Más detalles

Estructuras algebraicas

Estructuras algebraicas Tema 2 Estructuras algebraicas básicas 2.1. Operación interna Definición 29. Dados tres conjuntos A, B y C, se llama ley de composición en los conjuntos A y B y resultado en el conjunto C, y se denota

Más detalles

PROGRAMACIÓN LINEAL. 8.1. Introducción. 8.2. Inecuaciones lineales con 2 variables

PROGRAMACIÓN LINEAL. 8.1. Introducción. 8.2. Inecuaciones lineales con 2 variables Capítulo 8 PROGRAMACIÓN LINEAL 8.1. Introducción La programación lineal es una técnica matemática relativamente reciente (siglo XX), que consiste en una serie de métodos y procedimientos que permiten resolver

Más detalles

1 LA INFORMACION Y SU REPRESENTACION

1 LA INFORMACION Y SU REPRESENTACION 1 LA INFORMACION Y SU REPRESENTACION 1.1 Sistemas de numeración Para empezar a comprender cómo una computadora procesa información, debemos primero entender cómo representar las cantidades. Para poder

Más detalles

Nota 1. Los determinantes de orden superior a 3 se calculan aplicando las siguientes propiedades:

Nota 1. Los determinantes de orden superior a 3 se calculan aplicando las siguientes propiedades: Capítulo 1 DETERMINANTES Definición 1 (Matriz traspuesta) Llamaremos matriz traspuesta de A = (a ij ) a la matriz A t = (a ji ); es decir la matriz que consiste en poner las filas de A como columnas Definición

Más detalles

FACULTAD DE INGENIERÍA FORESTAL EXCELENCIA ACADÉMICA QUE CONTRIBUYE AL DESARROLLO DE LAS CIENCIAS FORESTALES

FACULTAD DE INGENIERÍA FORESTAL EXCELENCIA ACADÉMICA QUE CONTRIBUYE AL DESARROLLO DE LAS CIENCIAS FORESTALES IDENTIFICACIÓN DE LA ASIGNATURA Nombre: Matemáticas Fundamentales Código: 0701479 Área Específica: Ciencias Básicas Semestre de Carrera: Primero JUSTIFICACIÓN El estudio de las matemáticas es parte insustituible

Más detalles

Inicio de MO Inicio de MD Inicio de MF. Documento de Análisis. Base de datos de las especificaciones OMT. MO, MD, MF Detallados. Librería de Clases

Inicio de MO Inicio de MD Inicio de MF. Documento de Análisis. Base de datos de las especificaciones OMT. MO, MD, MF Detallados. Librería de Clases 3.2 TÉCNICA DE MODELADO DE OBJETOS (OMT) (JAMES RUMBAUGH). 3.2.1 Introducción. En este documento se trata tanto el OMT-1 como el OMT-2, el primero contenido en el Libro Modelado y Diseño Orientado (Metodología

Más detalles

Las Matemáticas En Ingeniería

Las Matemáticas En Ingeniería Las Matemáticas En Ingeniería 1.1. Referentes Nacionales A nivel nacional se considera que el conocimiento matemático y de ciencias naturales, sus conceptos y estructuras, constituyen una herramienta para

Más detalles

Desarrollo de un cluster computacional para la compilación de. algoritmos en paralelo en el Observatorio Astronómico.

Desarrollo de un cluster computacional para la compilación de. algoritmos en paralelo en el Observatorio Astronómico. Desarrollo de un cluster computacional para la compilación de algoritmos en paralelo en el Observatorio Astronómico. John Jairo Parra Pérez Resumen Este artículo muestra cómo funciona la supercomputación

Más detalles

Sección 4.5: Transformaciones del plano y del espacio. Sección 4.6: Problema de mínimos cuadrados y aplicaciones.

Sección 4.5: Transformaciones del plano y del espacio. Sección 4.6: Problema de mínimos cuadrados y aplicaciones. Tema 4 Producto escalar En bachiller habéis visto los conceptos de producto escalar, longitud, distancia y perpendicularidad en R y R 3 En este tema del curso se generalizan estos conceptos a R n, junto

Más detalles

Representaciones de matrices

Representaciones de matrices LECCIÓN CONDENSADA 6. Representaciones de matrices En esta lección Representarás unos sistemas cerrados con unos diagramas de transición unas matrices de transición Usarás las matrices para organizar información

Más detalles

Motores de Búsqueda Web Tarea Tema 2

Motores de Búsqueda Web Tarea Tema 2 Motores de Búsqueda Web Tarea Tema 2 71454586A Motores de Búsqueda Web Máster en Lenguajes y Sistemas Informáticos - Tecnologías del Lenguaje en la Web UNED 30/01/2011 Tarea Tema 2 Enunciado del ejercicio

Más detalles

Guía para resolver la prueba Graduandos 2015

Guía para resolver la prueba Graduandos 2015 1 Prueba de Matemáticas 1. Objetivo del documento El objetivo principal de este documento es dar a conocer los temas de Matemáticas que se incluyen en la Evaluación Nacional de. 2. La importancia de evaluar

Más detalles

Tema 4:Segmentación de imágenes

Tema 4:Segmentación de imágenes Tema 4:Segmentación de imágenes La segmentación de imágenes divide la imagen en sus partes constituyentes hasta un nivel de subdivisión en el que se aíslen las regiones u objetos de interés. Los algoritmos

Más detalles

Física P.A.U. ELECTROMAGNETISMO 1 ELECTROMAGNETISMO. F = m a

Física P.A.U. ELECTROMAGNETISMO 1 ELECTROMAGNETISMO. F = m a Física P.A.U. ELECTOMAGNETISMO 1 ELECTOMAGNETISMO INTODUCCIÓN MÉTODO 1. En general: Se dibujan las fuerzas que actúan sobre el sistema. Se calcula la resultante por el principio de superposición. Se aplica

Más detalles

Introducción: Visualización, Discretización,

Introducción: Visualización, Discretización, Introducción: Visualización, Discretización, Hardware y Métodos Numéricos Prof. M.C. Rivara 2011 M.C.Rivara 2011 1 Contenido Visualización Científica versus Visualización Realista Modelación de objetos

Más detalles

Primeras Nueve Semanas Extienda el dominio de funciones trigonométricas usando la unidad circulo F-TF.3 F-TF.4

Primeras Nueve Semanas Extienda el dominio de funciones trigonométricas usando la unidad circulo F-TF.3 F-TF.4 Primeras Nueve Semanas Extienda el dominio de funciones trigonométricas usando la unidad circulo F-TF.3 (+) Use triángulos especiales para determinar geométricamente los valores de seno, coseno, tangente

Más detalles

PROBLEMA 1. 1. [1.5 puntos] Obtener la ecuación de la recta tangente en el punto ( 2, 1) a la curva dada implícitamente por y 3 +3y 2 = x 4 3x 2.

PROBLEMA 1. 1. [1.5 puntos] Obtener la ecuación de la recta tangente en el punto ( 2, 1) a la curva dada implícitamente por y 3 +3y 2 = x 4 3x 2. PROBLEMA. ESCUELA UNIVERSITARIA POLITÉCNICA DE SEVILLA Ingeniería Técnica en Diseño Industrial Fundamentos Matemáticos de la Ingeniería Soluciones correspondientes a los problemas del Primer Parcial 7/8.

Más detalles

MATEMÁTICA TICA SUPERIOR APLICADA. para Ecuaciones Diferenciales Ordinarias. Universidad Tecnológica Nacional Facultad Regional Rosario

MATEMÁTICA TICA SUPERIOR APLICADA. para Ecuaciones Diferenciales Ordinarias. Universidad Tecnológica Nacional Facultad Regional Rosario MATEMÁTICA TICA SUPERIOR APLICADA Utilización n de Resolvedores de MATLAB para Ecuaciones Diferenciales Ordinarias Universidad Tecnológica Nacional Facultad Regional Rosario Dr. Alejandro S. M. Santa Cruz

Más detalles

INDICE 1. Introducción 1.2. Qué es Realimentación y Cuáles son sus Efectos? 1.3. Tipos de Sistemas de Control Realimentado

INDICE 1. Introducción 1.2. Qué es Realimentación y Cuáles son sus Efectos? 1.3. Tipos de Sistemas de Control Realimentado INDICE Prefacio XIX Prefacio al Software de Computadora para Sistemas de Control XXII 1. Introducción 1 1.1. Introducción 1 1.1.1. Componentes básicos de un sistema de control 2 1.1.2. Ejemplos de aplicaciones

Más detalles

BLOQUE IV. Funciones. 10. Funciones. Rectas y parábolas 11. Funciones racionales, irracionales, exponenciales y logarítmicas 12. Límites y derivadas

BLOQUE IV. Funciones. 10. Funciones. Rectas y parábolas 11. Funciones racionales, irracionales, exponenciales y logarítmicas 12. Límites y derivadas BLOQUE IV Funciones 0. Funciones. Rectas y parábolas. Funciones racionales, irracionales, exponenciales y logarítmicas. Límites y derivadas 0 Funciones. Rectas y parábolas. Funciones Dado el rectángulo

Más detalles

Tema 2. Espacios Vectoriales. 2.1. Introducción

Tema 2. Espacios Vectoriales. 2.1. Introducción Tema 2 Espacios Vectoriales 2.1. Introducción Estamos habituados en diferentes cursos a trabajar con el concepto de vector. Concretamente sabemos que un vector es un segmento orientado caracterizado por

Más detalles

Resolución de problemas en paralelo

Resolución de problemas en paralelo Resolución de problemas en paralelo Algoritmos Paralelos Tema 1. Introducción a la computación paralela (segunda parte) Vicente Cerverón Universitat de València Resolución de problemas en paralelo Descomposición

Más detalles

Representación de Datos. Una Introducción a los Sistemas Numéricos

Representación de Datos. Una Introducción a los Sistemas Numéricos Representación de Datos Una Introducción a los Sistemas Numéricos Tipos de Datos Datos Texto Número Imagen Audio Video Multimedia: Información que contiene números, texto, imágenes, audio y video. Como

Más detalles