Object-Oriented Finite Elements and Domain Decomposition



Documentos relacionados
ÍNDICE 1. Introducción a las computadores 2. Programación y diagramas de flujo 3. Solución numérica de ecuaciones

Descomposición de dominios

Computación Científica en Paralelo

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Programación Orientada a Objetos

Universidad de Cantabria

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

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso Cuatrimestre de otoño. 17 de Enero de 2011

Aplicación del Procesamiento en Paralelo en Modelación Computacional. Robert A. Yates Instituto de Geofísica

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


Programación Orientada a Objetos en Java

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

Transformaciones Lineales. Definiciones básicas de Transformaciones Lineales. José de Jesús Angel Angel.

Tópicos de implementación en paralelo

TEMA 4: CALCULO NUMERICO DE AUTOVALORES


Java Inicial (20 horas)

NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

Tema 3: Genericidad en Java. Tema 3: Genericidad en Java. Objetivos y Bibliografía. Modelos de Datos Genéricos

Métodos en diferencias para problemas de contorno

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

Pontificia Universidad Católica del Ecuador

class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida }

Relaciones entre clases: Diagramas de clases UML

Ejercicios de Programación Orientada a Objetos

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

SISTEMAS DE ECUACIONES LINEALES

Introducción al lenguaje de programación java

Pruebas unitarias en profundidad

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

POLIMORFISMO "una interfaz, múltiples métodos".

Tema 3 Resolución de Sistemas de Ecuaciones Lineales

Conceptos fundamentales de la POO. Fundamentos de la Programación Orientada a Objetos Objetos y Clases

3. Aplicar adición y sustracción en números del 0 al Adición, sustracción y resolución de problemas. 4. Reconocer, escribir y aplicar números

Introducción a la resolución numérica de problemas para ecuaciones en derivadas parciales (I)

Taller de Programación I. Tema 04: Arreglos y Matrices en Java

Programación Orientada a Objetos en Java

1. Manejo de memoria estática 2. Manejo de memoria dinámica

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS

Introducción al método de los Elementos Finitos en 2D

UNIVERSIDAD DE SANTIAGO DE CHILE FACULTAD DE CIENCIA PROGRAMAS MODULO IV MATEMÁTICA

DIPLOMADO DINÁMICA DE FLUIDOS COMPUTACIONAL CFD

Introducción. Herencia y Polimorfismo. Ejemplos (I) Ejemplos (II) Control de Acceso. Herencia

Tecnólogo Informático- Estructuras de Datos y Algoritmos- 2009

Implementación Numérica

Nombre de la asignatura: Amplificadores Operacionales. Créditos: Aportación al perfil:

Programación Orientada a Objetos: Arreglos en Java

1. Resolver el sistema de dos ecuaciones con dos incógnitas AX = B, donde 1 0,999 1,999 A = 1, , ,999 A = . 0, AX = αo 1 + βo 2.

Primera Escuela de la Red Temática SVO. Madrid, Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta.

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

Splines. Spline Cúbicos. Hermes Pantoja Carhuavilca. Facultad de Ingeniería Mecánica Universidad Nacional de Ingenieria

La clase estándar Scanner

TRANSFORMACIONES LINEALES. Transformaciones. TRANSFORMACIONES LINEALES Ejemplo. TRANSFORMACIONES LINEALES Ejemplo

11. Algunas clases estándar de Java (II)

Clases y Objetos. Informática II Ingeniería Electrónica

Examen de Prácticas de Programación Ingeniería Informática

PRACTICA 2: MECANISMOS

Álgebra lineal y matricial

Resumen obtenido de: Roger S. Pressman, Ingeniería de Software. Un enfoque práctico, quinta edición, Introducción al Diseño de Software

CARRERA: LICENCIATURA EN INFORMATICA

Tema 2. Técnicas básicas de POO. Técnicas de Programación - Curso 2007/08

Programación orientada a objetos

Conceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos

guía para LOS PADRES APOYANDO A SU HIJO EN LA PREPARATORIA (HIGH SCHOOL) MATEMÁTICAS

RMI [Remote Method Invocation]

Patrones para persistencia (I) Ingeniería del Software II

ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO ESCUELA DE INGENIERIA EN SISTEMAS

Programación en Java. Programación en OO

POR UNA CULTURA HUMANISTA Y TRASCENDENTE R FORMATO DE PLANEACIÓN DE CURSO HRS. DEL CURSO: 52 CLAVE: 845 HRS. POR SEMANA: 4

Definición de clases: Herencia, polimorfismo, ligadura dinámica

ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES

Métodos Interpolación con MatLab. El comando interp1 El comando interp1 se emplea para interpolar una serie de datos. El formato de este comando es:

EXPERTO EN DISEÑO DE PROCESOS Y PRODUCTOS EN MATERIALES POLIMÉRICOS

Tutorial de UML. Introducción: Objetivos: Audiencia: Contenidos:

Generación de código a partir de UML

Métricas de complejidad para la transformación del problema de detección de cáncer basado en

Procesadores de lenguaje Tema 5 Comprobación de tipos

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

Metodología y Tecnología de la Programación Tipo Obligatoria Impartición Anual Créditos ECTS 12,5 Curso 1º Código 42506

Metodología y Tecnología de la Programación

Lo básico de Javascript. ISIS2603 Departamento de Sistemas y Computación Universidad de los Andes

Patrón Fábrica Abstracta. Julio Ariel Hurtado Alegría Ingeniería de Software II 2015

PROGRAMACION ORIENTADA A OBJETOS CON PHP

Inicio con CATIA. Capítulo 1

Pontificia Universidad Católica del Ecuador

Prueba de conectividad y soluciones de integración para sistemas de salud

IT 4148: Gestión de Sistemas en. Práctica I Departamento de Ingeniería Informática

Tema 7: Valores y vectores propios

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

DISEÑO DE FUNCIONES (TRATAMIENTOS)

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

Integración de Laboratorios Remotos en emersion

Temario detallado. Conceptos generales de lenguajes y compiladores. Proceso de compilación de un programa en C++ bajo Code::Blocks

Compilador del lenguaje MOOL que genera código Objective Caml

Analizar, diseñar, desarrollar e implementar soluciones orientadas a objetos utilizando encapsulamiento, herencia, polimorfismo y archivos.

Java nos ofrece la clase Thread y la interfaz Runable que permiten que varios procesos estén funcionando de forma concurrente.

JAVA. 40 horas 60 días

Transcripción:

Object-Oriented Finite Elements and Domain Decomposition

Método del Element Finito Lu = f x Ω u = 0 en Ω Lu = a u+ ( bu) + cu Ω ( ) ua w ub w+ cuwdx= fwdx Ω

Ω Método del Element Finito wa u ub w+ cwudx= fwdx ( ) 1 Awu (, ) = f( w) Base ϕ,..., ϕ, ux ( ) = uϕ ( x) N Ω N j j j= 1 N j= 1 Au = f A = A( ϕ, ϕ ) f = f( ϕ ) ij j i ij i j i i Au = f

Discretización del Dominio malla β Ω α α R Hipercubo α Ω Rectángulo

Variantes Forma Bilinear y su cálculo Condiciones de Frontera Geometría Tipo de Elemento (Triángulo, Rectángulo, etc.) Espacio de Funciones en el Elemento Procedimiento de Solución

Forma Bilinear Geometría Código Ideal Condiciones de Frontera PROGRAMA de CÁLCULO Elemento Finito Solución Matricial

Código Usual ElementoFinito Condiciones Forma de Frontera Bilinear Geometría Solución Matricial Programa de Cálculo

OBJETIVO Desarrollar Sistema de Cómputo para Elemento Finito con Módulos Intercambiables

Programación Orientada a Objetos OOP Simula -67 OSLO Dahl y Nygaard Smalltalk (1970s) Xerox Park Alan Kay C++ (1980s) Stroustrup Eiffel / Clos / Self / Beta Java 1990s SUN C# Microsoft

VCR como Objeto Play Rewind Fast Forward On/Off Eject Stop/Pause

Clases y Objetos Datos Metodos class Vcr { String model; String type; boolean on; boolean tape; float dist; void insert(tape c); void eject(); void play(); void rewind(float t);\ void fastforward(float t); void stop(); void onoff(); void volume(float v); } Vcr vcr = new Vcr( Sony, vhs ); Tape tape = new Tape(); vcr.onoff(); vcr.insert(tape); vcr.play(); vcr.stop(); vcr.eject(); If (vcr.on && vcr.tape()) { vcr.eject(); vcr.onoff(); }

Herencia y SubClases Class Coche Class VW Class Jaguar Class Cirrus

Caracteristicas Sobresalientes de OOP Constructor: Type t = new T( ); Invocación: x = t.method( ); Herencia: Class A { } Class A1 extends A { } Código Reutilizable

Clases para Elemento Finito Node, Elem FiniteElement (RectLinFem, TriQuadFem, ) Geometry CalcFem -> LocalCalc LinearOp -> BilinearForm GlobalCalc LinearSolve (SolveLU, SolveCGM,..) EllipProblem

Colaboración entre Clases Geometry geom = Geometry.factory(2, ); FiniteElement finelem = FiniteElement.factory(2, ); EllipProblem prob = new EllipProblem(numProb); LinearSolve linsolve = LinearSolve.solveLU(); LocalCalc = new LocalCalc(geom, finelem); GlobalCalc calcfem = new GlobalCalc(2, fem, geom); Solver sol = new Solver(geom, finelem, prob, calcfem, localcalc, linsolve); Solver.solve();

Geometría Lista de Elementos (nodos/vértices) Lista de Nodos (coordinadas) Lista de Elementos/Nodo Elementos/Caras de frontera Objeto de localización: (x1,,xn)->elemento

Elemento Finito (general) Forma estandard (rectangulo, simplejo) Número y llamadas a sus funciones y derivadas // mapeo a la forma estandard // Caras y normales Integración numerica Interpolación

λ 2 (0,1) (0,0) (1,0) λ 1 Elemento Finito Transformación Afina T ( x0, y0) ( x2, y2) (, xy) x λ1 x0 λ1 = T = + M y λ2 y0 λ2 λ x x x 1 1 1 0 = T = M λ2 y y y0 (, xy 1 1)

Elemento Finito (Específico) Definición de polinomios y derivadas en el espacio estandard Elemento Finito General Rectangulo Lineales Triangulo Lineales Triangulo Cúbicos

Cálculo Local Evalúa Forma Bilineal/Elemento i, j = 1,..., ne ( ) A ( φφ, ) = φ a φ φb φ+ cφφ dx e i j i j j i i j = Ω Ω F() φ fφdx e i i e e i global( i)

fem.initelem(elem); nf=fem.numfunciones(); ng=fem.numgauss(); for i=1,,nf for j=1,,nf for g=1,,ng x=fem.getgausscoord(g); wi=fem.eval(i, 0, x); wj=fem.eval(j, 0, x); w1i=fem.eval(i, 1, x); w1j=fem.eval(j, 1, x); aij[g] = forma.eval(x, wi, w1i, wj, w1j) end g; ar[i][j]=fem.integrate(aij); end j; end i;

Cálculo Global Numeración de Funciones Crear mapeo local --> LocalCalc Asignación de Incógnitas Valores o Vector de Frontera Formación del Lado Derecho Invocación Cálculo Local

Cálculo Global Numeración 12 13 14 15 8 9 10 11 2 3 0 1 4 5 6 7 2 0 1 0 1 2 3 3

Método de Solución Resuelve Ax = b Métodos Directos Factorización LU Métodos Krylov Gradiente Conjugado Descomposición de Dominio Schwarz/Schur/FETI

y = a x i ij j j = 1 for i = 1,..., n y 0 for e = 1,..., ne for p = 1,..., nf i elem ( e). eqm ap( p) if ( i < 0) continue for q = 1,..., nf j elem ( e). eqm ap( q) if ( j < 0) continue n i y = y + elem ( e). ar( p, q) * x i j j

Descomposición de Dominio Σ Ω Ω j i Ω i

Descomposición de Dominio Partition Define partición como {pe1,, pem} Solución Global en términos de soluciones de problemas intermedios de manera iterativa PartitionElement (pei) Solución Local en una región intermedia

Fábricas Geometry geom = PDEGeomFactory.newPDEGeom( ); FiniteElement fem = FiniteElementFactory.newFiniteElement( ); EllipProblem = EllipFactory.newEllipProblem( ); LinearSolve = SolveFactory.newLinSolve( );

Conclusiones Metodología Exitosa Alta Eficiencia en Desarrollo Recomendaciones Entender el Modelo Establecer Proyecto en Geofísica y/o Ingenieria para Uso Común