Material de Métodos Numéricos (GETI)
- Advertencia:
La última vez que impartí esta asignatura fue el segundo
cuatrimestre del curso 2024-25,
luego parte de la información aquí contenida puede
estar desfasada.
- MatLab Reference Card:
PDF.
Es una chuleta oficial de 4 páginas con una lista de las instrucciones
más comúnes.
- Google Calendar:
Enlace para activar el Google Calendar referente a las clases.
-
Solo permite el acceso directo a los miembros de la UPC.
Es decir, es necesario haberse conectado previante a la cuenta oficial de
Google-UPC para poder acceder al contenido.
-
Recoge la programación de las clases realizadas durante
el segundo cuatrimestre de los cursos 2020-21 y 2023-24.
Por tanto, es necesario remontarse a esas fechas para ver los eventos.
-
Contiene enlaces a vídeos de algunas de mis clases de prácticas.
Sin embargo, el contrato de la UPC con Google limita a 40 Gb el espacio
del que dispongo para colgar todo mi material docente, vídeos incluidos,
luego me he visto obligado a borrar algunos.
-
Puede ayudar a marcar un ritmo de trabajo adecuado a todo aquel que decida
estudiar por su cuenta.
También contiene enlaces a parte del material aquí publicado.
-
Versiones en formato PDF creadas por un algoritmo de Google,
sin enlaces a material o vídeos y sin respetar la estructura del
texto original, pero de acceso universal:
- Comentarios sobre mis códigos:
-
Cada script y cada función contienen al principio una explicación
que se puede ver sin editar el fichero. Basta teclear en la ventana de comandos de
MATLAB la instrucción 'help nombre_script' o 'help nombre_funcion'.
-
Muchos de los programas que hay a continuación realizan llamadas a
algunas funciones para dibujar y/o cargan algunos ficheros con mallados.
Debéis descargar esas funciones (respectivamente, esos mallados)
del apartado Plot (respectivamente, Mesh) que hay en la esquina inferior
izquierda de las páginas de la asignatura en el blog Numerical Factory.
Para que las funciones y los scripts que hay a continuación funcionen
es necesario implementar la siguiente estructura de directorios (carpetas):
-
Escoger un nombre para la carpeta general donde guardaréis
todas las prácticas del curso;
-
Una vez descargado el fichero additionalFiles.zip (respectivamente,
meshFilesAll.rar), debéis desempaquetarlo y guardar todo
su contenido en una subcarpeta que se llame additionalFiles
(respectivamente, meshFilesAll) y que cuelgue de la anterior
carpeta general.
-
Antes de cada práctica, crear usa subcarpeta que cuelgue de
la carpeta general donde guardar los ficheros de esa práctica.
Yo, por ejemplo, llamo 1-3 a la carpeta específica de la
práctica 1.3.
-
De esta manera, no hace falta copiar antes de cada práctica las
funciones para dibujar y los mallados que necesitamos en la carpeta
de la práctica en cuestión.
Basta añadir la línea
addpath ../additionalFiles/ ../meshFilesAll/
al principio de cada script o escribirla en la ventana de comandos
antes de invocar a una función.
Esta línea le dice a MatLab que también busque
ficheros en esas carpetas. Es decir, añade esas carpetas
al cámino (path) de búsqueda.
- Transparencias completas:
Este documento
está formado por todas las transparencias
que he preparado para las prácticas del segundo cuatrimestre
del curso 2023-2024.
Son 8 secciones que abarcan 677 páginas y
contienen 120 cuestiones para que practiquéis por vuestra cuenta.
Ocupa más de 20 MB.
Las secciones también están disponibles por separado.
- Sección: Interpolación 1D
-
Transparencias
-
Prácticas:
-
Scripts:
-
myPolyFit.m calcula y dibuja el polinomio
de grado dado que mejor aproxima (en el sentido de mínimos cuadrados)
una función dada en una partición uniforme dada y calcula
el máximo del valor absoluto del error en otra partición
uniforme con más puntos.
-
myPolygonal.m calcula y dibuja la línea
poligonal que interpola una función dada en una partición
uniforme dada y calcula el promedio del valor absoluto del error en otra partición uniforme con más puntos.
-
mySpline.m calcula y dibuja el spline
cúbico que interpola una función dada en una partición
uniforme dada y calcula la norma-2 del error en otra partición
uniforme con más puntos.
-
Nota: Si la segunda partición solo contiene un punto,
entonces los tres scripts anteriores calculan el valor absoluto del error en
ese punto pero los dibujos quedan horribles.
-
p11_myFigureSettings.m
-
p11_Question9.m
responde la cuestión 9 de las transparencias.
-
p11_Question10.m
responde la cuestión 10 de las transparencias.
-
p11_Question11a.m
responde el apartado a) de la cuestión 11
de las transparencias.
-
p11_Question11b.m
responde el apartado b) de la cuestión 11
de las transparencias.
-
p11_Question12.m
responde la cuestión 12 de las transparencias.
-
p11_Question13.m
responde la cuestión 13 de las transparencias.
- Sección: Elementos triangulares
-
Transparencias
-
Prácticas:
-
Funciones:
-
baryCoord.m calcula las coordenadas
baricéntricas de un punto dado en un triángulo dado.
Nota:
Incluyo esta versión por motivos pedagógicos,
pero debéis usar la versión publicada en el repositorio oficial.
-
baryCoordWrong.m, una versión
incorrecta de la anterior.
-
baryRGBColor.m calcula las coordenadas
baricéntricas de un punto dado en un triángulo dado y
las representa gráficamente mediante los canales de color RGB.
-
baryRGBColorMouse.m,
una versión de la anterior en la que el punto se introduce
con el ratón.
-
triangle2Reference.m calcula
la correspondencia entre un triángulo general y el triángulo
de referencia y hace un dibujo.
-
triangle2ReferenceMouse.m,
una versión de la anterior en la que el punto se introduce
con el ratón.
-
Scripts:
- Sección: Elementos cuadrangulares
-
Transparencias
-
Prácticas:
-
Funciones:
-
quad2Reference.m calcula la
correspondencia isoparamétrica entre un cuadrilátero general
y el cuadrilátero de referencia y hace un dibujo.
-
quad2ReferenceMouse.m,
una versión de la anterior en la que el punto se introduce
con el ratón.
-
Scripts:
-
p13_myFigureSettings.m
-
p13_Question3b.m
responde la cuestión 3b de las transparencias.
-
whatQuad.m
detecta en qué cuadrilátero de un mallado cuadrangular
está contenido un punto.
-
areasPerimetersQuad.m
determina los cuadriláteros de áreas y perímetros
máximos/mínimos de un mallado cuadrangular.
También calcula el área promedio y el perímetro promedio.
-
interpolQuadMesh.m interpola
en un punto dado unos valores dados en un mallado cuadrangular.
- Sección: Fronteras de mallados
-
Transparencias
-
Prácticas:
-
Funciones:
-
plotBoundary.m dibuja mallados triangulares
o cuadrangulares y resalta los nodos, lados y elementos de la frontera.
-
Scripts:
- Sección: MEF 1D
-
Transparencias
-
Prácticas:
-
Funciones:
-
mesh1D.m malla un intervalo con elementos
(lineales o cuadráticos) de igual longitud.
-
baryCoord1D.m es la versión 1D
de la función baryCoord.m.
-
interpolLinear1D.m
es una versión propia de la función interna de Matlab interp1.
-
Scripts:
- Sección: Barras 2D y 3D
-
Transparencias
-
Prácticas:
-
Funciones:
-
postTruss.m calcula desplazamientos
y fuerzas de reacción en los nodos;
longitudes, elongaciones, deformaciones, tensiones y fuerzas en las barras.
-
Scripts:
- Sección: MEF 2D
-
Transparencias
-
Prácticas:
-
Funciones:
-
linearTriangElement.m
calcula la matriz de rigidez local y el vector de fuerzas internas local
de un elemento concreto de un mallado triangular suponiendo que los
coeficientes de la ecuación modelo son constantes.
Nota: El código de esta función se ha compactificado
respecto al código publicado en Numerical Factory.
-
bilinearQuadElement.m
calcula la matriz de rigidez local y el vector de fuerzas internas local
de un elemento concreto de un mallado cuadrangular suponiendo que los
coeficientes de la ecuación modelo son constantes.
-
structuredMeshQuad.m
crea un mallado estructurado, que puede ser tanto triangular como
cuadrangular, dentro de un dominio cuadrangular arbitrario usando
las transformaciones isoparamétricas que lo asocian al
cuadrilátero de referencia [0,1]2.
-
tricont.m y
tricontf.m
dibujan las curvas de nivel de una función cuyos valores
en un mallado triangular son conocidos.
-
Scripts:
-
Mallados:
- Sección: Elasticidad 2D
-
Transparencias
-
Prácticas:
-
Funciones:
-
planeElasticityMatrix.m
calcula la matriz de elasticidad 3x3.
-
planeElastTriangStiffMatrix.m
calcula la matriz de rigidez local en mallados triangulares.
-
computeTriangStrainStressVM.m
calcula la deformación, la tensión y la tensión de Von Mises
en mallados triangulares.
-
plotPlaneElasticity.m
hace seis dibujos
(comprobación de la geometría,
comprobación de cargas y nodos fijos,
comparación antes-después normalizada,
mapa de color de la tensión de Von Mises y
los dos mapas de color de los deplazamientos horizontales y verticales)
y los presenta en una formación 3x2 o 2x3.
También puede hacer dibujos individuales.
-
Scripts: