Métodos de Integración Numérica en Simulación
En esta práctica se han simulado fenómenos físicos derivando sus ecuaciones y aplicando integración numérica. En concreto se ha estudiado el comportamiento de la simulación para dos casos:
Se considera una partícula de masa 𝑚, colgada de un punto fijo 𝐶⃗, de modo que entre la partícula y el punto 𝐶⃗ exista un muelle cuya constante elástica sea 𝐾𝑒 y su elongación de reposo sea 𝑙0. Cuando la elongación del muelle sea menor que 𝑙0, el muelle se expandirá por acción de la fuerza elástica; cuando sea mayor, el muelle se comprimirá. La partícula estará inicialmente situada en la posición 𝑠0⃗, y debido a la fuerza elástica 𝐹𝑒⃗ y/o a la fuerza peso (𝐹𝑤⃗) causada por la gravedad (𝑔⃗) comenzará a acelerar con aceleración 𝑎⃗ y a moverse con velocidad 𝑣⃗, modificando su posición 𝑠⃗.
Además, la partícula se frenará por rozamiento con el medio, lo que provocará que vaya perdiendo energía. Supondremos que la fuerza de fricción 𝐹𝑑⃗ será proporcional al cuadrado de la velocidad (aunque lógicamente en dirección opuesta) con un factor de proporcionalidad que llamaremos 𝐾𝑑.
Se considera una partícula de masa 𝑚, que se lanza como un proyectil desde una posición fija. El proyectil se dispara con velocidad 𝑣0 y con un ángulo 𝛼 respecto de la horizontal. Además de la gravedad 𝑔⃗, existirá una fricción con el aire que supondremos que es linealmente proporcional a la velocidad (aunque esto es una simplificación de lo que sucede en la realidad), con un factor de proporcionalidad que llamaremos 𝐾𝑑.
La partícula estará inicialmente situada en la posición 𝑠0⃗. Debido a su velocidad (𝑣⃗) y a la gravedad, comenzará a moverse. La posición inicial 𝑠0⃗ vendrá fijada por la altura del punto de lanzamiento sobre el suelo, que llamaremos ℎ0. Supondremos que el suelo estará situado a una altura ℎ𝑔, tal que ℎ0 ≥ ℎ𝑔 , y también que el proyectil se sitúa inicialmente sobre el eje Y. Por tanto:
Para simular las físicas del tiro parabólico necesitamos tener en cuenta de nuevo la Ley de Newton:
Sumatorio Fuerzas = masa de la bola * aceleración;
Donde la aceleración es calculada aplicando las fuerzas que intervienen en nuestro caso:
Fuerza peso:
Fuerza de fricción del aire:
Para calcular el siguiente punto de la trayectoria del objeto, hemos de calcular primero la pendiente en el propio punto en el que se encuentra.
Una vez calculada le aplicaremos el paso (dt o h) y se la sumaremos al punto actual.
La diferencia con el Euler-Explícito está en dónde se calcula la pendiente. En este caso ya no es en el propio punto, sino en el siguiente.
Una vez calculada la pendiente en el punto siguiente calcularemos la posición aplicando el paso a dicha pendiente y sumarle la posición actual.
Yi+1 = Yi + f(Xi+1, Yi+1)h
Este método es una mezcla entre los dos Euler que acabamos de mencionar. Se trata de una media entre los resultados obtenidos por estos dos métodos. Por tanto, el punto siguiente se encontrará entre el punto calculado por Euler-Explícito y el de Euler-Semi.
Este método introduce el cálculo de la pendiente en un punto intermedio del paso. De esta manera, para calcular las coordenadas del punto siguiente necesitaremos calcular dos pendientes, una para k1 y otra para k2.
En el caso de rk4 calculamos cuatro pendientes. Una en el punto actual, dos en el paso intermedio y una cuarta en el punto siguiente. De esta manera la ecuación ahora nos queda de la siguiente manera:
Comparando las formas de implementación de Euler-semi y Runge-Kutta 2, podemos ver la diferencia de puntos evaluados en uno y en otro método:
El método de interpolación de RK2 nos dará una simulación con menor error, sin embargo con un coste mucho mayor que el método de Euler.