Conecta con nosotros

Hola, ¿qué estás buscando?

Actualidad

EJS y Open Source Physics: física por doquier

tux

El tema de hoy es un tanto distinto. No es ni una novedad ni está ligado únicamente al mundo GNU/Linux aunque sí al Open Source. Antes de ir directo al grano, prefiero entrar en tema con una breve introducción. Sabemos que son enormes las ventajas de tener ordenadores en nuestras casas y que, además, éstos tienen la capacidad de realizar cálculos mucho más rápidos que nosotros, los seres humanos. Un ejemplo de esto son los videojuegos modernos. Podéis ver cómo se modela todo el entorno en tiempo real para poder sentirlo con fluidez y no sólo eso sino que también tiene que hacer que tanto nuestro personaje como todos los objetos de nuestro alrededor respeten las leyes de la física que están impuestas en ese espacio imaginario. Todo eso lleva hacer cuentas para saber qué pasa con cada cosa que esté allí a cada instante.

tuxLo siento, no pude evitar esta imagen

Teniendo en cuenta que tenemos semejante capacidad en nuestras manos invertida para el ocio de la gente, vamos a movernos a un plano, ahora, académico. ¿Qué es la física? A grandes rasgos y adecuándose mejor al objetivo de este artículo, podemos definirla como una disciplina que explica lo que sucede en la naturaleza a partir del lenguaje matemático. Es decir que podemos tomarla como un conjunto de ecuaciones de las cuales podemos obtener números y que, éstos, se puedan ver manifestados en la realidad. Como dijimos, los ordenadores tienen una gran capacidad para sacar esos números, procesarlos y mostrarlos en imágenes. Por lo tanto, podemos concluir que estamos en frente de un simulador de leyes físicas que, en el fondo, es lo que son los videojuegos pero cumpliendo sus propias reglas, no necesariamente las de la realidad.

A todo esto, quería comentaros de un sitio que me encontré a partir de un artículo de hace unos meses en Linux Journal que se llama Open Source Physics y justamente lo que tiene, como veníamos hablando, es un conjunto de aplicaciones Java para los distintos campos de la física y, por supuesto, con el código disponible. Además, ni siquiera hay que ser experto en programación para realizar una de estas simulaciones. Se provee, también, una aplicación Java (código disponible, por supuesto) capaz de simplificar la tarea de pasar el problema físico a lenguaje de programación. Eso no significa que igualmente sea soplar y hacer botellas.

Primero lo primero, las simulaciones disponibles abarcan varios campos y problemas de la física. Desde la mecánica clásica bien general, que posiblemente habéis estudiado en el secundario, hasta relatividad, mecánica cuántica y más. Para comenzar por un ejemplo, podemos tomar uno de los casos más sencillos: movimiento rectilíneo uniformemente variado (es decir, aceleración constante). Cuando digo sencillo me refiero a que, una vez planteado y resuelto el problema físico, el modelo matemático resultante no es del todo complicado de entender o imaginar. Si en este caso observamos la posición de un móvil, resulta ser una ecuación que va aumentando en valor a medida que aumenta la velocidad; mientras que la velocidad aumenta a medida que pasa el tiempo. Por lo tanto terminamos teniendo un objeto que se mueve cada vez más y más rápido.

Un ejemplo podría ser una carrera entre dos vehículos. Si habéis ejecutado la simulación, podréis ver que, en este caso, no hay parámetros para modificar. Por lo general los hay, pero quería usar el ejemplo más sencillo. En sí, consiste en adivinar cuál de los dos móviles llegará primero a la meta teniendo en cuenta que uno arranca en ventaja y se mueve a velocidad constante y, el otro, arranca quieto pero tiene aceleración constante.

ej1

Sin embargo, eso no es muy divertido que digamos. El asunto se va poniendo más interesante a medida que vamos buscando problemas más complejos porque, como ya vimos, no hace falta conocer la matemática que hay detrás. Probemos algo un poco más avanzado: el slinky. Resulta muy interesante las cosas que puede hacer este juguete, por así llamarlo. Hay una simulación disponible que permite estirarlo a gusto, sostenerlo o soltarlo. Un experimento curioso es dejarlo estirado y destildar la casilla hold (sostener). Notad que la parte inferior permanece quieta mientras la parte superior cae. Lamentablemente no tengo uno para probarlo pero es un fenómeno reproducible en la realidad.

ej2

Aún así, eso lo podemos ver. El problema comienza cuando el modelo matemático se vuelve muy complicado y, por lo tanto, más difícil de ver. Un ejemplo puede ser la ecuación de Schrödinger que, incluso en su versión simplificada, puede complicarse al principio. No va al caso entrar en detalle pero vale la pena mencionarlo ya que uno puede manipular los parámetros que afectan las gráficas sin necesidad de conocer perfectamente el modelo aunque, ya en este caso, hay que tener una noción de lo que está sucediendo (en este caso, una onda entrando a una zona con mayor potencial).

ej3

La frutilla del postre es, como mencioné anteriormente, la posibilidad de diseñar una simulación sin necesidad de ser un experto en programación. Esa aplicación esta escrita en Java y se llama EJS (Easy Java Simulations). No estuve probándola a fondo pero con los ejemplos que dan, se puede ver cómo parece funcionar. En primer lugar, hay unos documentos en PDF que explican cómo llegar a los archivos de ejemplo (que se encuentran en workspace/source/ModelingScience) y una idea básica para lograr hacer funcionar un programa. Realizar una de estas simulaciones lleva una serie de pasos.

Primero, diseñar el modelo con sus variables, cómo varían entre ellas (o más técnicamente, los valores de sus derivadas), cómo están relacionadas y un par de opciones más. Luego, hay que organizar una interfaz para que la simulación sea usable. Fácilmente, es arrastrar a la ventana los elementos para hacer variar los parámetros y permitir al usuario activar opciones. Digamos que lo que lleva para lograr la simulación es conocer bien el modelo y entender cómo funciona la aplicación. A pesar de que, a primera vista, parezca un tanto complicado con tantas opciones, es mucho más sencillo que programar de cero y, por supuesto, mucho más rápido.

Advertencia, desplázate para continuar leyendo

En conclusión, si estáis interesados en la física o la estudiáis, este sitio puede ser una gran herramienta para ver más allá de las ecuaciones y entender mejor qué es lo que dicen. El no tener que trabajar directamente resolviendo la o las ecuaciones, puede dar lugar a que gente no tan interiorizada en el tema pueda satisfacer su curiosidad e ir más allá de lo que sepa o pueda hacer sin que la matemática sea una traba. Por último, para quien quiera ir más allá, como divertimento, puede usar EJS para simular algún problema de la secundaria o la universidad. Aunque es probable que, si sabéis programar, ya lo habréis hecho ;).

31 Comentarios
Advertencia
Advertencia

Te recomendamos

Actualidad

Gentoo se ha convertido en un proyecto más bajo el ala de la Software in the Public Interest (SPI), organización sin ánimo de lucro...

Actualidad

El estado alemán de Schleswig-Holstein, al igual que hiciera Múnich en su día, ha tomado la decisión de cambiar las soluciones de Microsoft y...

Actualidad

Si hace poco más de un año que Elon Musk prometía liberar el algoritmo de Twitter «en una semana» y tardaba algo más en...

Actualidad

La Escuela de Negocios de Harvard ha publicado un informe con el que ha intentado determinar cuál es el valor del código abierto. En...