Encabezado Facultad de Ciencias
Presentación

Física (plan 2002) 2023-2

Optativas, Temas Selectos de Termodinámica y Física Estadística I

Grupo 8418, 20 lugares. 13 alumnos.
Simulaciones en física estadística
Profesor Ricardo Atahualpa Solórzano Kraemer
Ayudante Juan Antonio Rivera Zavala
 

Primera reunión del curso: Martes 2pm, Laboratorio Libre 3 del departamento de física.

Qué van a aprender

Probablemente en sus cursos de termodinámica y física estadística aprendieron de un montón de fenómenos interesantes, como la transición ferromagnética, diamagnética, el condensado de bose, la nucleación, etc. Muchos de esos fenómenos son difíciles de ver en el día a día, porque se requieren laboratorios súper equipados para poderlos generar e incluso cuando se logra hacer, es difícil ver el fenómeno en todo su explendor. No vemos cómo se va propagando la creación de enlaces en las moléculas, o el ordenamiento de los espines en un imán. Incluso en el condensado de Bose, todo sucede en medio centímetro cúbico, así que a simple vista sólo se ve un puntito luminoso. La idea de este curso es poder estudiar (y ver) estos fenómenos controlando TODO y de forma "fácil" (una vez que el código está hecho), de forma que podamos ver (como filmado por una cámara de súper álta velocidad) la formación de los enlaces, el ordenamiento de los espines, la contracción del volumen en el condensado, etc.


En este curso les daré las herramientas para hacer simulaciones eficientes de diversos sistemas termodinámicos (no restringido sólo al ensamble NVT como se ve en física computacional (si es que llevaron a verlo)). Con esto harán simulaciones de esos fenómenos raros que estudiaron en termodinámica y en física estadística y de paso harán simulaciones de sistemas más "simples"... Lo interesante es que uno descubre en esos sistemas "simples", que hay un montonal de cosas que no entendíamos y que son interesantes (y muy bonitas de ver). Estudiaremos como ejemplo de los diversos métodos, algunas propiedades de materiales, pero también revisaremos algunos sistemas complejos (económicos, sociales, biológicos, etc...).


Si disfrutaron su curso de física computacional, este curso les va a encantar. Habrá la emoción de experimentar con la computadora, pero sin tanta presión por lo pesado del curso (sólo habrá 3 tareas (largas) y calificaré sólo con 2).


El curso estará dividido en 3 secciones. El temario (que puede ir modificándose un poco a lo largo del curso) será más o menos el siguiente:

I Métodos de Monte-Carlo

Los métodos de Monte-Carlo usan el hecho de que la información que tenemos sobre las partículas en un sistema termodinámico es estocástica y no determinista, de forma que se sustituye el movimiento de las partículas por una variable aleatoria. Son particularmente útiles si lo que nos interesa son propiedades estáticas de un sistema y cuando el sistema se estudia dentro de una red (como el modelo de Ising, XY, etc.)


  1. Repaso-Introducción a Julia
  2. Metrópolis y ensamble NVT
  3. Ensamble NPT
  4. Anniling
  5. Wang-Landau
  6. Introducción (computacional) a los sistemas fuera de equilibro


II Dinámica Molecular

Se trata de usar las leyes de la mecánica (o mecánica cuántica) para simular el movimiento de muchas partículas. Es decir, en cierto sentido resolvemos sistemas gigantes de ecuaciones diferenciales para después obtener propiedades promedio de estos sistemas. A partir de las propiedades microscópicas obtenemos las macroscópicas. Los métodos de dinámica molecular son especialmente útiles para estudiar propiedades dinámicas, como los coeficientes de transporte. También son muy útiles para estudiar fenómenos fuera de equilibrio (como la transición vítrea).


  1. Potenciales duros
  2. Potenciales suaves
  3. Mediciones de cantidades termodinámicas en equilibrio (Temperatura, Presión, etc...)
  4. Cantidades dinámicas (coeficientes de transporte, viscosidad, funciones de correlación, etc...)
  5. Sistemas fuera de equilibrio

III Dinámica Browniana

Esta técnica de simulación es una especie de combinación entre las dos anteriores. Se resuelve un sistema de ecuaciones diferenciales, pero donde algunas variables son variables aleatorias, es decir, en realidad se resuelve un sistema estocastico-diferencial. Suena muy pomposo, pero al final la idea es que se resuelve el movimiento que se obtendría con dinámica molecular y a este se le agrega un ruido para simular el medio. Este método es particularmente útil para estudiar coloides, donde un conjunto de partículas "grandes" está inmerso en un líquido formado por partículas diminutas, por ejemplo, son excelentes para simular partículas atrapadas por pinzas ópticas.


  1. Movimiento Browniano y ecuación de Langevin con potencial externo
  2. Potenciales de interacción entre partículas
  3. Fuerzas hidrodinámicas (esto es talachido, así que aunque el temario sea más corto en esta parte, quizá la tarea no será más fácil).

Evaluación

Cada una de estas secciones conllevará una tarea larga. Se calificará con las 2 tareas con mayor puntaje que el alumno presente.

Proyecto Final

Además habrá un proyecto final que no valdrá calificación, pero después de todo el esfuerzo que harán para aprender al menos 2 de los temas bien, sería absurdo que no hicieran un proyecto final interesante. Les daré varias posibilidades, aunque si ya están haciendo una tesis en algo de Física Estadística, pueden usar esto para hacer su proyecto final. La idea es que aprovechen mi asesoría en la parte computacional-estadística y el conocimiento que adquirirán en el curso para hacer sus experimentos numéricos.

Requicitos

Es requicito haber llevado Física computacional y es muy recomendable ya haber llevado física estadística. Es recomendable que sepan programar en Julia o Python, aunque habrá un repaso sobre lo básico en Julia, así que la desventaja de no saber Julia será sólo las primeras semanas. Si saben C, C++, Java o Fortran, ya saben un lenguaje muchas veces más complicado (talachudo-horrible), así que no creo que tengan dificultad en aprender Julia rápido.

Igual les recomiendo darle una revisada a mi curso de física computacional: https://www.youtube.com/watch?v=ehYsXD6WR7U&list=PLZpEJS5S40rJ1n4aJXBgHXDixSYxkerXG

Otro requicito indispensable es que tengan instalado Julia en su computadora y las paqueterías IJulia y Plots. Muy importante, mientras se estén instalando las paqueterías, no vayan a apagar o desconectar de internet sus computadoras. Si tienen algún problema que no puedan resolver instalando IJulia, les recomiendo no inscribirse. Les dejo aquí unos videos de un alumno para instalar Julia:

  1. https://www.youtube.com/watch?v=dLaLQF74fTM&t=575s
  2. https://www.youtube.com/watch?v=epsBT1dhN-M
  3. https://www.youtube.com/watch?v=Xtb3HP0txss

Sólo, en vez de usar la función jupyterlab(), les recomiendo usar notebook().

Sobre la asistencia

A mi no me importa en absoluto si van a la clase o no. Si van, en ese horario les ayudo a revisar sus códigos. Sobre los algoritmos que veamos, trataré de subirlos en video o al menos subiré los notebooks de lo que veamos en clase, así que muy probablemente no necesitarán ir a la clase para aprender los diferentes algoritmos. Es decir, si son autodidactas y muy duchos en la computadora, mi clase es opcional. Sin embargo, la idea del horario de clase (que será probablemente Martes y Jueves de 2 a 3:30pm o algo similar), es que puedan ir a debuggear su código y yo (o el ayudante) les echemos la mano revisando por qué no funciona. Así que en conclusión, si no requieren de apoyo para debuggear, no importa tanto si no van a clases! La única regla es que si no van a clases, no me pueden pedir ayuda.

 


Hecho en México, todos los derechos reservados 2011-2016. Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente completa y su dirección electrónica. De otra forma requiere permiso previo por escrito de la Institución.
Sitio web administrado por la Coordinación de los Servicios de Cómputo de la Facultad de Ciencias. ¿Dudas?, ¿comentarios?. Escribenos. Aviso de privacidad.