Cuenta regresiva en el LHC

Agosto 26, 2008

por Enrique

Cuando era estudiante de física en la San Carlos, siempre me maravillaba cuando leía sobre los experimentos de física de partículas. Sobre todo aquellos primeros que ocurrieron en los años 60’s y 70’s. Éstos aportaron la información necesaria para guiar la investigación teórica, culminando con el modelo standard de partículas elementales. Siempre me imaginé que en esos tiempos, la comunidad científica estaba a la expectativa de los resultados provenientes de los aceleradores de partículas. Físicos pendientes de información que pudiera expandir la frontera del conocimiento. Datos experimentales para confirmar o refutar modelos teóricos sobre los ladrillos fundamentales del universo. Sin duda, esa fue una época emocionante para la gente involucrada.

Ahora nos tocó a nosotros vivir la misma emoción, gracias a la creación del Large Hadron Collider (LHC). El LHC es el acelerador de partículas más grande que se haya construido, el instrumento científico más complejo creado hasta ahora. El LHC es un anillo de 27 Km de longitud por el cual circularán protones a una velocidad de 99.99% la velocidad de la luz. Los protones son acelerados y guiados por imanes superconductores, enfriados por un sistema criogénico de helio líquido a una temperatura 1.9 Kelvin (-271.3ºC). El canal por el que viajan los protones es tan vacío e incluso más frío que el espacio interplanetario. Los detectores serán capaces de observar 600 millones de colisiones por segundo, información suficiente para llenar más de 100 000 DVDs en un año, aproximadamente 15 millones de gigabytes. Los datos se analizarán y guardarán en diferentes centros de computación de alto rendimiento alrededor del mundo. Más detalles aquí.

Entre las cosas que el LHC puede encontrar, la más esperada es la detección del bosón de Higgs. Esta partícula es una predicción del modelo standard y es la responsable de darle masa a las partículas elementales. Si no se observase el bosón de Higgs en el LHC habría que repensar nuestras actuales teorías. ¡Vivimos tiempos emocionantes de nuevo!

Después de 20 años de construcción y preparación, el LHC está listo para hacer circular el primer haz de partículas para el 10 de septiembre. La cuenta regresiva y últimos preparativos están aquí.


No habría Shrek sin matemática, parte III

Julio 31, 2008

Por Enrique

En dos posts anteriores hablamos un poco de la matemática que se esconde detrás del proceso de modelado y el texturizado de un proyecto de animación por computadora. La parte final del proyecto es la animación misma. Esta es mi parte favorita, junto con el modelado. En la animación uno trata de imitar el movimiento de los objetos en el mundo real (aunque no siempre). Puede ser tan sencillo como el movimiento de traslación de una partícula hasta los complicados gestos de un personaje.

La forma más sencilla y directa de animar un objeto es mediante key frames. Un key frame no es mas que la posición que el objeto tiene en un instante dado. Si queremos animar una manzana cayendo de un árbol, lo que hacemos es empezar en un tiempo t=0 y crear un key frame cuando la manzana se encuentra en el árbol. Luego seleccionamos otro instante de tiempo y movemos la manzana a una nueva posición para crear otro key frame. Repetimos el procedimiento de especificar la posición y el tiempo hasta que cubrimos varios puntos de la trayectoria. Una vez que tenemos nuestros key frames la computadora hace el resto: dados distintos puntos de la trayectoria, el programa interpola la posición del objeto para cualquier instante de tiempo. Y entonces lo que tenemos es una fórmula que describe la posición de la manzana en forma continua. Si queremos movimientos realistas, es aquí donde la física ocupa su lugar.

Para un objeto en caída libre empezando desde el reposo — como la manzana de nuestro ejemplo — sabemos que su posición vertical está data por y=\frac{1}{2} g t^2. Entonces podríamos crear key frames con valores dados por esa fórmula.

El algoritmo de interpolación es muy flexible. En realidad, la mayoría de veces la trayectoria resultante después de crear los key frames necesita ser editada para lograr el movimiento que teníamos en mente. La edición no es otra cosa más que una reminiscencia de lo que se aprende en los cursos introductorios de física. El editor es una ventana que muestra un gráfico interactivo de posición contra tiempo. Allí uno manipula la forma de curva hasta obtener la trayectoria deseada. Si queremos añadir rotación, el procedimiento es el mismo, pero en lugar de coordinadas x, y, z tenemos ángulos de rotación alrededor de estos tres ejes.

Los movimientos se pueden hacer relativos. En una escena con el Sol, la Tierra y la Luna, uno puede hacer que la Luna gire alrededor de la Tierra y a su vez que la Tierra gire alrededor del Sol. El resultado final de la trayectoria de la Luna será la superposición de ambos movimientos, tal y como es estudiado en física al introducir diferentes marcos de referencia.

Dejando por un lado objetos individuales, otra forma de lograr efectos como fuego, viento o agua consiste en animar todo un sistema de partículas. Esto no es otra cosa más que física puesta en acción. Aquí uno hace que cierto objeto sea un emisor de partículas. Un plano, por ejemplo, puede ser seleccionado para que emita partículas desde sus vértices. Se especifíca la dirección inicial, velocidad inicial, número de partículas emitidas por unidad de tiempo y vida media de cada partícula. Para crear una fogata, uno puede hacer que las partículas sean emitidas en la dirección vertical positiva. Se agrega una variación aleatoria a la velocidad, lo que le da a las llamas ese aspecto de constante movimiento y también agregamos un campo de fuerza que acelere a las partículas en la dirección vectical positiva. La fuerza hace que las particulas se acumulen más en la parte de abajo de la fogata y se dispersen a medida que suben. Si quisieramos simular una fuente, la idea es similar, pero utilizamos un campo de fuerza en la dirección vertical negativa. La diferencia visual entre fuego y agua es la textura de cada partícula.

Programas de animación como Maya permiten que el usuario escriba fórmulas para especificar el movimiento de algún objeto. Incluso, Maya tiene un modo de animación en donde los objetos se rigen por las leyes de la física e interaccionan entre ellos teniendo en cuenta su forma. Con esa maquinaria se pueden crear de forma automática colisiones realistas donde los objetos no sólo se trasladan sino que giran y rebotan.

La animación es un mundo donde la imaginación es el límite. Cuando empecé a aprender, no me imaginé que iba a encontrar tanta física y matemática a nivel palpable. Si bien uno nunca escribe ni resuelve una sola ecuación, estas dos ciencias le dan a uno una percepción diferente y más profunda de este arte cuyo substrato es la ciencia y la tecnología misma.


Física, computadoras y linux

Junio 20, 2008

Por Enrique

Como toda ocupación, la física computacional tiene sus herramientas. Comúnmente se dice que hacer investigación en física teórica no requiere de un gran presupuesto, pues lo que se necesita son lápices (o lapiceros) y varios cientos de hojas de papel. Bueno, en realidad también se necesita acceso a libros, revistas científicas y — en estos tiempos — los largos y engorrosos cálculos de álgebra se hacen en la computadora.

Para mí, ha sido muy entretenido trabajar en física computacional. Es una subarea de la física teórica. No se hace ningún tipo de trabajo experimental en el laboratorio. Sin embargo se hacen “experimentos numéricos” en la computadora, se exploran diferentes situaciones que en muchos casos son imposibles de reproducir en un laboratorio (como la evolución de estructuras galácticas, por ejemplo). El tipo de problemas que se estudian involucran ecuaciones diferenciales muy complicadas, para las cuales no se conoce una solución general. Los problemas que se estudian van desde las ecuaciones de la mecánica cuántica para explorar estructuras moleculares, simulaciones de desdoblamiento de proteínas, dinámica de fluidos, clima global hasta la formación de galaxias y muchos otros.

Mi campo particular de acción es la relatividad numérica. Desde patojo me apasionó la teoría de la relatividad y andar escribiendo programas en la computadora, así que esta área de la ciencia fue la combinación perfecta. Lo que se hace en relatividad numérica es resolver las ecuaciones de la relatividad general de Einstein para averiguar el comportamiento de los extremadamente fuertes campos gravitacionales producidos en la colisión de objetos estelares, tales como agujeros negros y estrellas de neutrones. La relatividad general predice que en tales eventos, grandes cantidades de energía son irradiadas al espacio en forma de ondas gravitacionales. Estas simulaciones numéricas han sido un gran desafío en la física computacional en los últimos 40 años. Fue hasta el 2005 que se logró calcular una simulación completa la colisión de dos agujeros negros orbitando.

En este post quiero mencionar brevemente las herramientas del lado computacional. Las aplicaciones que son usadas alrededor del mundo para hacer investigación científica de punta. La lista no pretende ser exhaustiva sino mas bien esencial y comienza con algo sencillo: las aplicaciones y programas que vienen con cualquier distribución de Linux. Sí, usuarios de Linux, un su computadora tienen las mismas herramientas básicas que posee cualquier otro científico computacional.

Basado en mi propia experiencia, he creado una lista de aplicaciones que uso constantemente. Todas vienen por default en su distribución favorita de Linux [1] y si no vienen, se bajan gratis de internet. Así que empecemos:

  • La terminal de Linux Una pequeña ventana en donde se escribe todo tipo de comandos. Algunos que uso todo el tiempo son:
  • ssh Permite conectarse a una computadora remota y trabajar como si uno estuviera físicamente enfrente de ella. Este es el método de conexión para utilizar una supercomputadora.
  • rsync Una buena manera de copiar grandes cantidades de datos entre dos computadoras. Encripta los datos y copia solo los archivos modificados. Ideal para hacer backups periódicamente.
  • cvs, svn, darcs, git Estos son sistemas de revisión de versiones. Cuando uno desarrolla sus propios programas, ya sea sólo o en equipo, estos sistemas llevan la cuenta de todos los cambios hechos y crea diferentes versiones de cada archivo. Esto hace posible poder regresar a cualquier versión previa en caso de que nuestros cambios arruinen el programa (sucede).
  • latex El mejor sistema para preparar documentos y presentaciones. Es posible escribir ecuaciones y tablas sin tocar el mouse. Enumera capítulos, secciones, subsecciones, figuras, tablas y ecuaciones automáticamente. Si hay que insertar una tabla o figura, LaTeX reordena la secuencia de numeración y las referencias a ellas también. Maneja la bibliografía de la misma similar y genera el índice automáticamente. ¡Qué más se puede pedir!
  • gnuplot Excelente para hacer gráficas en dos y tres dimensiones así como para ajustar funciones a datos numéricos, tanto lineales como no lineales. Todo se hace a través de comandos y también se pueden hacer scripts, automatizando la generación de los gráficos cuando se cambian los datos. Esto substituye las gráficas generadas en hojas electrónicas.
  • DV, ParaView, OpenDX, VisIt Son programas para visualización científica. Es fácil pasarse horas generando gráficas en 3D y animaciones impresionantes.

También son necesarias las herramientas para programar:

  • Editor de texto Los más usados son emacs y vi. Personalmente, prefiero emacs.
  • Compilador de GNU Todos nuestros programas en C, C++ y fortran dependen de él. También es posible bajar el compilador de Intel, en muchos casos optimiza mejor el código haciendo que corra más rápido.
  • Librerías científicas (scientific libraries) [2] No todo hay que programarlo de cero. Existen varias librerías optimizadas para algunas tareas. Entre ellas está LAPACK (Linear Algrebra PACKage) con rutinas para hacer todo tipo de operaciones con matrices. PETSc (Portable, Extensible Toolkit for Scientific Computation), una suite de rutinas usadas en la solución de ecuaciones diferenciales parciales. MPI (Message Passing Interface) provee comunicación entre procesadores, permitiendo computación en paralelo. Es la base de la computación de alto rendimiento. HDF5 permite manejar extremadamente grandes y complejos archivos de datos. Se usa para hacer output de cantidades que dependen de las tres dimensiones (x,y,z). La información se almacena en formato binario, de lo contrario los archivos ocuparían hasta varios tera bytes en formato ascii.
  • Perl, Shell Scripting Otros lenguajes útiles para hacer operaciones repetitivas que regularmente involucran varios archivos. Por ejemplo, si tenemos 100 archivos con 10 columnas de datos y queremos extraer las primeras 5 de ellas y mandarlas a un sólo archivo. Abrir cada archivo en un editor de texto… no es la mejor manera de hacerlo.

Me parece que esto cubre la mayor parte, agreguen o quiten dependiendo del problema específico y de gente específica [3]. :)

También podría agregar la aplicación de chat. Es útil para hacer hacer preguntas cortas. Uno siempre puede ir a los chat logs si se le olvida algún detalle.

Resumiendo, cualquier persona con inclinación a la ciencia o la ingeniería tiene todas las herramientas para transformar su computadora de una máquina de escribir electrónica a toda una estación de trabajo científico.

________________

[1] Algunas personal también usan Macs.
[2] ¿Por qué traducimos “libraries” como “librerías”?…
[3] Los paquetes como Mathematica y Matlab son muy útiles también. Sin embargo no son gratis.


El misterioso caso del plato que se movió solo

Junio 14, 2008

Por Enrique

Una cierta noche, estaba preparando unos huevos revueltos para cenar. Cuando estuvieron listos, me dí cuenta que no tenía un plato limpio. De inmediato lavé uno y le pasé una servilleta en parte donde se coloca la comida, para remover un poco del agua de la lavada. Todavía goteando, puse el plato en la mesa sin mantel. Tomé el sartén y serví la comida caliente en el plato. Cuando ya estaba sentado con el tenedor en la mano para probar el primer bocado, ¡el plato se desliza sobre la mesa! Con un movimiento suave y sutil, el plato con todo y comida se aleja de mí. Fue una distancia de un centímetro, más o menos. Incrédulo y dudando lo que creí ver, el plato se movió otro poquito más en la misma dirección. Tanta sincronía tuvo el plato que hasta me dio la impresión de que huía del tenedor en mi mano. Confieso que por un momento me asusté. Se supone que los platos no se mueven solos sobre la mesa. Después del sustito inicial y de adoptar la postura racional que desecha las explicaciones que involucran fantasmas, espíritus y poderes ocultos de la mente, no fue difícil averiguar lo que había sucedido.

Pues bien, la explicación es sencilla. El plato aun estaba mojado en la parte inferior cuando lo puse sobre la mesa. Al poner la comida caliente en el plato, el calor elevó la temperatura del aire que quedó atrapado entre la mesa y el plato, pues éste tiene una protuberancia circular que es la que toca la mesa. Al elevar la temperatura del aire atrapado, la presión aumentó al punto que pudo mover el plato deslizándolo sobre la mesa. A esa presión habría que agregar también la contribución de un poco de agua evaporada de la superficie inferior, por la misma acción del calor de la comida.

Para darle más validez a una explicación de este tipo, podemos hacer un cálculo aproximado, una back-of-the-envelop calculation. La idea es que la energía transferida al aire atrapadado debajo del plato sea mayor que el trabajo necesario para deslizar el plato sobre la mesa. El trabajo lo calculamos como el producto de la fuerza de fricción y la distancia recorrida. Asumiendo un coeficiente de fricción de 0.5, que la masa del plato con comida sea 0.5 Kg y la distancia que se desliza sea 1 cm, el trabajo necesario es aproximadamente 0.024 Joules. Ahora calculamos el aumento en energía interna del aire atrapado debajo del plato debido al calor recibido por la comida. El aumento de energía es igual al producto entre la capacidad calorífica del aire a volumen constante (1297 J/m^3 K) por el volumen de aire (suponiendo que la cavidad sea un cilindro de 5 cm de radio y 0.25 cm de altura) por el cambio de temperatura (si la temperatura ambiente es 25 Celcius y que la comida haya estado a unos 50 Celcius) que sería unos 25 Celcius. Todo esto nos dice que la energía transferida es aproximadamente 6.4 Joules. Esta energía es mas de 100 veces mayor de lo que se necesita para deslizar el plato sobre la mesa. Así que en principio, la explicación del problema es plausible.

Después de este episodio me quedé pensando un poco. Me pregunto ¿cuántas historias de cosas anormales han surgido por fenómenos naturales cuya explicación no es obvia y si es obvia no se tiene el conocimiento para atar los cabos sueltos? Muchas veces resulta más fácil creer en lo desconocido (lo que sea que eso signifique) en lugar de aceptar nuestra ignorancia. Esto me recordó lo que Feynman dijo una vez en una entrevista y en lo cuál estoy de acuerdo: “…es mucho más interesante vivir sin saber que vivir con respuestas que pueden estar equivocadas”. Aquí les dejo el pensamiento completo:


Paper póstumo

Mayo 29, 2008

Por Enrique

¡Saludos desde Rumania! en donde mis vacaciones están a punto de terminar. Hace unos días apareció en el arXiv un artículo de Bryce DeWitt titulado “Quantum Gravity, Yesterday and Today”. Me llamó mucho la atención especialmente porque DeWitt falleció en el 2004. Sin embargo el manuscrito fue encontrado en sus archivos, sin referencias y sin indicación de su propósito, según la nota al pie de página en el mismo paper. El artículo es mas bien una narración histórica, la lectura es bastante interesante (y un poco graciosa). En una parte menciona que en 1955, una compañía aérea estaba dispuesta a financiar la investigación de un dispositivo antigravedad:

They were looking for a physicist who could build an antigravity device, and turned to me because I had won first price in a Gravity Research Fundation essay contest. In those days, only a decade from Hiroshima and Nagasaki and only two and a half years from the hydrogen bomb, physicist were viewed as gods who could do anything.

DeWitt fue profesor en la Universidad de Texas en Austin e hizo contribuciones en el campo de la gravedad cuántica. Entre ellas la ecuación que lleva su nombre y el de John Wheeler [1].

________________

[1] Como dato histórico, John Wheeler murió el pasado 13 de abril del 2008 a los 96 años. Fue estudiante de Niels Bohr y uno de los pioneros en relatividad general. Es coautor del enciclopédico libro “Gravitation”, junto con Charles Misner y Kip Thorne. Este último fue estudiante de Wheeler así como también lo fue Richard Feynman.


Charlas sobre gravedad

Mayo 15, 2008

Por Enrique

Como había mencionado antes, el pasado lunes y martes fue la conferencia del Este sobre gravedad en Penn State. Fueron unas 60 charlas cortas. El primer día los temas a tratar fueron: análisis de datos para LIGO [1], teorías modificadas de gravedad, gravedad cuántica y cosmología. El segundo día fue sobre relatividad numérica. Empezó con condiciones iniciales para las ecuaciones de Einstein, métodos numéricos de solución de las mismas ecuaciones para el problema de los dos cuerpos, escenarios astrofísicos donde la relatividad numérica es relevante y comparación entre soluciones numéricas y aproximaciones post-newtonianas [2].

Es difícil tratar de resumir un evento de estos, especialmente en temas tan especializados como gravedad cuántica. No obstante, se puede mencionar algunos puntos salientes:

Hay una tendencia en producir condiciones iniciales para las ecuaciones de Einstein que representen agujeros negros con alta rotación. Esto se debe a que en los escenarios más realistas, los agujeros negros formados por colapso gravitacional de una estrella tienen una alta velocidad angular.

Es evidente que ya se ha alcanzado la meta de solucionar numéricamente el problema de dos agujeros negros orbitando, pasando por la fase espiral, colisión y oscilación amortiguada del agujero resultante que permanece después del choque. En realidad esto no es tan nuevo, fue en el 2005 que tales simulaciones produjeron tales resultados.

Las soluciones numéricas aún requieren altos recursos computacionales. Una simulación típica puede durar desde días hasta semanas corriendo en una supercomputadora. Esto hace difícil el empezar una simulación en donde los agujeros negros tienen una separación grande (más separación implica un dominio computacional más grande que a su vez implica más poder computacional). Esta situación física es necesaria para poder calcular varios ciclos de la onda gravitacional emitida antes de que los agujeros negros colisionen. Aquí es donde entran las aproximaciones post-newtonianas que son válidas cuando los agujeros están separados por una distancia grande. El problema es tratar de unir la parte de la onda calculada post-newtonianamente con la onda calculada vía relatividad numérica. Por ejemplo, no es trivial comparar el tiempo post-newtoniano con el parámetro temporal de la simulación numérica.

Fue muy interesante observar que la relatividad numérica ha ido progresando al punto que ya se empiezan a hacer predicciones astrofísicas. Una de ellas es lo que sucede cuando los agujeros negros que colisionan tienen distintas masas o distinta rotación. En estos casos se puede ver que después de la colisión, el agujero negro resultante adquiere una componente de velocidad para compensar la pérdida del momentum lineal irradiado como onda gravitacional. Esto implica que puede ser posible observar agujeros negros escapando a altas velocidades. Qué tan alta es la velocidad es aún tema de investigación. Aunque hay algunos cálculos que predicen velocidades que van desde 200 Km/h hasta 4000 Km/h.

En resumen, ha habido mucho avance en la infraestructura para hacer relatividad general numérica. Se puede ver que habrá colaboración más cercana entre la comunidad astrofísica y relativista en el futuro.

_________________

[1] Laser Interferometer Gravitational-Wave Observatory

[2] Una expansión post-newtoniana es una solución aproximada a las ecuaciones de Einstein. La expansión se hace en términos de un parámetro que es la velocidad de los objetos materiales.


Un plot

Mayo 11, 2008

Por Enrique

El próximo lunes 12 y martes 13 se realizará la 11a. Conferencia del Este sobre Gravedad (11th Eastern Gravity Meeting) en Pennsylvania State University. El formato consiste en presentaciones de 10 minutos + 2 minutos para preguntas. Lo reducido del tiempo se debe a la gran cantidad de participantes. Este tipo de charlas cortas son muy buenas para enterarse — a manera muy general — en qué anda trabajando la gente. La otra semana trataré de resumir que tal estuvo la reunión.

Mientras tanto voy a terminar de preparar mi presentación. Ayer y hoy me la he pasado procesando gigabytes de output de simulaciones numéricas para crear gráficas y animaciones bonitas. La figura de abajo es uno de mis primeros intentos.


funcion lapse

El sistema físico que se analiza consiste en dos agujeros negros orbitando. Según las ecuaciones de Einstein, el sistema pierde energía por emisión de ondas gravitacionales y los agujeros negros colisionan eventualmente, formando un único agujero negro. Esta gráfica representa el valor de la función lapse en un corte a través del plano xy para uno de los agujeros negros en cuestión. En Relatividad General, y especialmente en Relatividad Numérica esta es una función muy útil. Usualmente, el lapse tiene un valor igual a 1 en todo el espacio excepto cerca del agujero negro, en donde su valor es cercano a cero. Con esto uno puede localizar un agujero negro en la región donde el lapse se hace pequeño, tal como se ve en la figura de arriba. En el caso de un agujero negro de Schwarzchild, la componente g_{00} de la métrica es igual a menos el lapse al cuadrado. El gradiente del logaritmo natural de esta función es la acelación que experimenta un observador estacionario. Las franjas blancas en el mapa de colores no son errores de la gráfica. Están a propósito para indicar el trozo de volumen en que cada procesador hacía los cálculos. Ocho procesadores en este caso (una simulación pequeña).

En cuanto la tenga lista, mostraré la animación completa de esta simulación.