Programa de Elementos de Contorno Académico para POTencial en 2 Dimensiones PECAPOT2D Esther Puertas Rafael Gallego Universidad de Granada Curso 2023-2024 PECAPOT2D: INTRODUCCIÓN Características del programa Problema de potencial de Laplace La interpolación, aproximación y colocación se hace con Elementos cuadráticos isoparamétricos. PECAPOT2D: INTRODUCCIÓN Características del programa PECAPOT2D: INTRODUCCIÓN Características del programa Problema con 4 (sub) CONTORNOS Problema con 1 (sub) CONTORNO PECAPOT2D: INTRODUCCIÓN Limitaciones Pueden alterarse editando el fichero f95 y recompilándolo con las librerias auxiliares. PECAPOT2D: INTRODUCCIÓN Ejecución EN LINUX: Ejecutamos ./PECAPOT2D en una ventana de comandos El nombre del fichero puede ponerse en la línea de comandos Si la extensión del fichero es “DAT” o “txt” no hace falta ponerla EN WINDOWS: Basta pulsar el icono del programa PECAPOT2D.exe y se abrirá una ventana solicitando el nombre del fichero. PECAPOT2D: ENTRADA DE DATOS Fichero de datos El Fichero de DATOS es un fichero de “texto simple” sin formatos: debe hacerse con un editor de texto tipo “Editos de Texto” (NotePad). Puede tener cualquier nombre y extensión, pero mejor no usar espacios en blanco para el nombre. Debe contener los datos en el siguiente orden ESTRICTO: 1) TÍTULO PARA EL TRABAJO (una línea de texto) 2) PROPIEDAD DEL MATERIAL (una línea con un número real) 3) CONTORNOS en los que se divide el contorno Γ (2 líneas/contorno) 4) PUNTOS INTERNOS donde calcular potencial y gradiente (varias líneas) PECAPOT2D: ENTRADA DE DATOS Fichero de datos TÍTULO (< 132 caracteres) Se muestra en color rojo los comentarios. El fichero de datos puede tener comentarios y líneas en blanco para documentar el problema a resolver, y para facilitar la legibilidad. Todo lo que vaya detrás del carácter ! es un comentario. Los datos se muestran en color azul o morado (si es texto), o en color negro, si son números. PECAPOT2D: ENTRADA DE DATOS Fichero de datos TÍTULO (< 132 caracteres) Propiedad del MATERIAL (un núm. real) PECAPOT2D: ENTRADA DE DATOS Fichero de datos CONTORNOS Para cada sub-contorno o porción del contorno total tenemos que leer dos líneas, y en cada una de ellas van varios datos: 1)Tipo de geometría del contorno (lineal, circular, elíptico, etc), el número de elementos de ese contorno, el tipo de CCdC y valor de la CCdC. 2)En la segunda, los parámetros que definen la geometría concreta de ese contorno, según como sea el tipo de geometría (p.e. para una recta: puntos inicial y final) En el programa PECAPOT2D no se introducen uno a uno los nodos del contorno con sus CCdC específicas, sino que se dan unas instrucciones para que el programa genere los nodos en la posición deseada y el valor de la CCdeC en cada uno de esos nodos generados. PECAPOT2D: ENTRADA DE DATOS Fichero de datos CONTORNOS La primera línea que define un contorno contendrá los siguientes datos en este orden, separados por espacios en blanco o comas: Geometría del sub-contorno: cadena de tres caracteres que indica el tipo de geometría del contorno (veremos). Número de elementos del contorno (un núm. entero) Tipo de CdC: una cadena con un solo carácter ‘U’ si es esencial (potencial conocido), ‘Q’ si es natural (flujo conocido), ‘R’ si es de Robin (conocida relación lineal entre potencial y flujo), Variación de la CdC (p.e. constante, lineal, cuadrática, etc) PECAPOT2D: ENTRADA DE DATOS Fichero de datos CONTORNOS: GEOMETRÍA PECAPOT2D: ENTRADA DE DATOS Fichero de datos CONTORNOS: GEOMETRÍA PECAPOT2D: ENTRADA DE DATOS Fichero de datos CONTORNOS: CONDICIONES DE CONTORNO Las variaciones simples de las CCdC en función de la longitud del arco s se introducen de la siguiente forma: Constante: ‘C, v’. v un número. Por ejemplo ‘C 10.5’, significa que el valor conocido es el mismo en todos los nodos del contorno y vale 10,5. (‘C’ de Constante) Lineal: ‘L, v1, v2’. v1 es el valor en el nodo inicial, y v2 el valor en el nodo final. Por ejemplo ‘L 1 8’, significa que el valor conocido vale 1 en el nodo inicial, 8 en el final. (‘L’ de lineal) Cuadrática: ‘Q, v1, v2, v3 [, xc]’. v1 el valor en el nodo inicial, v2 el valor en el nodo central y v3 el valor en el nodo final. El cuarto número xc es opcional, y se introducirá para indicar que el nodo intermedio no está en el centro del arco sino en s = x L . (‘Q’ de Quadratic) c c Cúbica: ‘T, v1, v2, v3, v4’. El valor v1 es de la CCdC en el nodo inicial, v2 el valor en el nodo que se encuentra en s = L/3 , v3 el valor en el nodo que se encuentra en s = 2 L/3 , y v4 el valor en el nodo final. (‘T’ de grado Tres) PECAPOT2D: ENTRADA DE DATOS Fichero de datos CONTORNOS: CONDICIONES DE CONTORNO Para variaciones más complicadas, que dependan de otras variables del nodo, no únicamente de su posición en el arco del contorno, existe la posibilidad de introducirlas con una función, dando la CCdC de la forma ‘F, fun(vars)’ donde la F indica que la variación es con una Función cualquiera introducida por el usuario, y fun(vars) es una cadena de caracteres que representa la función de las variables vars, (pero escrita en Notación Polaca Inversa 😕) Notación Polaca Inversa: Página 19 y ss. del manual PECAPOT2D: ENTRADA DE DATOS Fichero de datos CONTORNOS: CONDICIONES DE CONTORNO PECAPOT2D: ENTRADA DE DATOS Fichero de datos PUNTOS INTERNOS PECAPOT2D: SALIDA DE RESULTADOS Fichero de salida en texto PECAPOT2D: SALIDA DE RESULTADOS Fichero de salida en HTML PECAPOT2D: EJEMPLOS Ejemplo 1 • Comprobar la entrada de datos del ejemplo del manual • Ejecutar el programa • Comprobar los resultados PECAPOT2D: EJEMPLOS Ejemplo 2. Problema de potencial de Laplace (k=1). Puntos internos Solución exacta ¿Cuántos elementos son necesarios para obtener la solución exacta? Figura: Katsikadelis, J.T.. The Boundary Element Method fonr Engineers and Scientist. 2016. PECAPOT2D: EJEMPLOS Ejemplo 3. Torsión de Saint-Venant. Figura: Katsikadelis, J.T.. The Boundary Element Method fonr Engineers and Scientist. 2016. PECAPOT2D: EJEMPLOS Ejemplo 3. Torsión de Saint-Venant. Punto u 1 -0.44409E-15 3 -0.73517E+00 13 -0.88818E-15 Puntos internos Solución exacta ¿Cuántos elementos son necesarios para obtener la solución exacta? Figura: Katsikadelis, J.T.. The Boundary Element Method fonr Engineers and Scientist. 2016. PECAPOT2D: EJEMPLOS Ejemplo 4. Problema de Neumann. Punto u 1 6.2500 3 -0.1250 13 0.0000 Puntos internos Solución exacta ¿Cuántos elementos son necesarios para obtener la solución exacta? Figura: Katsikadelis, J.T.. The Boundary Element Method fonr Engineers and Scientist. 2016. PECAPOT2D: ANEJO: sobre la Notación Polaca Inversa En la N.P.I. los operandos (números o variables) van acumulándose en una pila (LIFO). Los operadores se ejecutan inmediatamente sobre la pila y el resultado de la operación se coloca de nuevo en la pila. https://en.wikipedia.org/wiki/Reverse_Polish_notation PECAPOT2D: ANEJO: sobre la Notación Polaca Inversa El programa PECAPOT2D utiliza unas rutinas AVANZADAS de NPI que permiten representar expresiones muy complejas en esta notación, además de las operaciones aritméticas simples. https://en.wikipedia.org/wiki/Reverse_Polish_notation PECAPOT2D: ANEJO: sobre la Notación Polaca Inversa Sub-expresiones: pueden definirse variables intermedias para facilitar la escritura de expresiones complejas https://en.wikipedia.org/wiki/Reverse_Polish_notation PECAPOT2D: ANEJO: sobre la Notación Polaca Inversa Además de los operadores estándar (+, -, *, /, ** y ?), y las funciones habituales (SQRT, SIN, COS, TAN, ASIN, ACOS, ….), también pueden evaluarse derivadas ordinarias y parciales. https://en.wikipedia.org/wiki/Reverse_Polish_notation PECAPOT2D: ANEJO: sobre la Notación Polaca Inversa Cuando se introducen las CCdC mediante una función, pueden manejarse directamente, sin tener que definirlas ni calcularlas, las siguientes variables