Profesor | Roberto Velasco Segura | vi | 15 a 18 | Aula 2 de Computación en Física |
Ayudante | José Samuel Rodríguez Olguín |
Primera reunión (virtual): Viernes 11 de Agosto 3:00pm a 4:00pm
https://meet.google.com/zki-wkjt-qti
Primera clase (presencial): Viernes 18 de Agosto 3:00pm a 6:00pm
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
MÉTODOS NUMÉRICOS APLICADOS A FLUJO Y CAMPOS
ONDULATORIOS.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Lugar: Laboratorio de cómputo 2
Horario: viernes de 4 pm a 7 pm
-------------------------------------------------------------------------
La idea principal del curso es exhibir que para modelar numéricamente un
campo hay enfoques numéricos que tienen fundamentos diferentes, en
particular: diferencias finitas, volumen finito, elemento
finito. Entonces, se describirán las versiones más sencillas de estos
tres enfoques buscando mostrar sus diferencias.
Se requiere que los alumnos tengan un manejo básico del lenguaje
python. En particular:
• importado de scripts propios
• nociones de estructuras de datos básicas: listas, tuples,
diccionarios.
• estructuras iterativas: for, while
• notación de “List comprehension”
• funciones, argumentos (requeridos, y opcionales) y valores devueltos.
• escritura y lectura de archivos de datos, lo básico
• uso de matplotlib para generar figuras en formato png
• manejo de la terminal “ipython”
• idea básica de objetos y operadores
---------------------------------------------------------------------------------
--------------------------------------------------------------------------------
A continuación se enlistan los temas a desarrollar en el curso:
1 Línea de comandos
═══════════════════
• Ejecución de scripts de python3 en línea de comandos de un ambiente
jupyter
• Comandos básicos de bash para manejo de archivos: ls, cp, mv, mkdir,
tree, rm
• Uso de argumentos tipo `sys.argv' en un script de python.
• estructura `if __name__ == "__main__" :'
2 Diferencias finitas
═════════════════════
• Aproximación de derivadas mediante serie de Taylor
• Obtención de coeficientes mediante expresiones matriciales
• Error de truncamiento local
• Error total
• condición CFL
• Comparación método de Runge-Kutta con método de Euler de orden alto
• Métodos explícitos-implícitos
• Propagación por componentes independientes
• Criterio de Von-Neumann
• Consistencia, convergencia y estabilidad
• Orden de convergencia
• Ejemplos:
---• ecuación de advección
---• ecuación de onda
---• ecuación de Burgers
3 Volumen finito
════════════════
• Ecuaciones de conservación
• Método upwind
• Método de Lax-Wendroff
• Problema de Riemann
• Método de características
• Regla de áreas iguales de Whitham
• Condición de discontinuidad Rankine-Hugoniot
• Variables características
• Limitadores de flujo
• Método REA
• Ejemplos en Clawpack:
---• ecuación de advección
---• ecuación de onda
---• ecuación de Burgers
---• ecuaciones de aguas someras
4 Elemento finito
═════════════════
• Método de Galerkin
• Forma débil de la ecuación diferencial
• Familias de funciones ortogonales
• Mallas no estructuradas
• Formulación dependiente del tiempo a partir de términos fuente
• Visualización de archivos tipo VTK con paraview
• Ejemplos con FEniCS:
---• ecuación de Poisson
---• ecuación de onda
5 Bibliografía
══════════════
LeVeque, Randall J. Finite difference methods for ordinary and partial
differential equations: steady-state and time-dependent
problems. Society for Industrial and Applied Mathematics, 2007.
LeVeque, Randall J. Finite volume methods for hyperbolic
problems. Vol. 31. Cambridge university press, 2002.
Toro, Eleuterio F. Riemann solvers and numerical methods for fluid
dynamics: a practical introduction. Springer Science & Business Media,
2013.
Larson, Mats G., and Fredrik Bengzon. The finite element method:
theory, implementation, and applications. Vol. 10. Springer Science &
Business Media, 2013.