Download Icarus Physics Engine - Manual - Español

Document related concepts

Caída libre wikipedia , lookup

Órbita wikipedia , lookup

Movimiento parabólico wikipedia , lookup

Intensidad del campo gravitatorio wikipedia , lookup

Energía gravitatoria wikipedia , lookup

Transcript
Icarus Physics Engine
Manual
Versión 1.1
Historial de Revisiones
Fecha
Versión
Descripción
Autor
07/06/2010
1.0
Versión inicial
Sergio Miguel Martin
20/10/2010
1.1
Cambio de Formato
Sergio Miguel Martin
Tabla de Contenidos
1.
Introducción
1.1
1.2
1.3
1.4
2.
Propósito
Alcance
Definiciones, Acrónimos, y Abreviaciones
Referencias
Método de diferenciales finitos para resolución de problemas complejos
2.1
2.2
2.3
3.
Introducción a los problemas complejos
Limitaciones de los métodos con integrales
Método de diferenciales finitos.
¿Cómo trabaja Icarus Physics Engine?
3.1
3.2
4.
4.1
4.2
4.3
4.4
5.
Operación básica de IPE
Impacto del error acumulado en la simulación
3
3
3
3
4
4
7
11
17
17
18
Fuerzas gravitatorias, eléctricas, y magnéticas
21
Fuerzas Gravitatorias
Fuerzas Eléctricas
Fuerzas Magnéticas
Operación de aplicar el diferencial de tiempo
21
22
23
23
Métodos de Optimización
5.1
5.2
5.3
3
Modo No-Optimizado
Método de Euler de n-Pasos
Método de Runge-Kutta
24
24
24
26
Icarus
IPE - Manual
Version:
1.0
Fecha: 03/06/2010
Manual 1 - Funcionamiento Básico
1.
1.1
Introducción
Propósito
El propósito de este documento es introducir al lector a la complejidad de los
problemas de resolución continua, a la solución con diferenciales finitos, definir los
algoritmos diferenciales básicos, y los procedimientos utilizados en Icarus Physics
Engine, y su implementación de métodos de optimización numéricas.
1.2
Alcance
Este documento describe la primera aproximación matemática al campo de
resolución de problemas físicos y da un panorama de la operación y algoritmos
utilizados por Icarus Physics Engine al simular esquemas orientados a objetos bajo
campos gravitatorios y electromagnéticos.
1.3
Definiciones, Acrónimos, y Abreviaciones
IPE – Icarus Physics Engine
1.4
Referencias
N/A
Universidad Nacional de La Matanza
2010
Página 3 de 27
Icarus
IPE - Manual
2.
Version:
1.0
Fecha: 03/06/2010
Método de diferenciales finitos para resolución de problemas complejos
En Icarus Physics Engine se simularán escenarios de gravitación donde una ncantidad de objetos interactuarán en tiempo real. En tanto sus posiciones varíen,
también lo hará el campo gravitatorio y su influencia entre ellos. Entonces, ¿hay una
'formula mágica' que determine el estado de todo el sistema en un cierto momento
en el futuro? Bueno, la física y matemáticas modernas cuentan con un vastísimo
conocimiento práctico en solucionar problemas en cualquier tipo de sistemas. Pero la
en su gran mayoría, se componen de herramientas específicas que están pensadas
solo para versiones simplificadas de esos sistemas. Sistemas más complejos (como
aquellos a ser simulados en Icarus) requerirán ser divididos en una discreta cantidad
de sistemas mas simples que puedan ser resueltos con aquellas herramientas.
2.1
Introducción a los problemas complejos
Generalmente, cuando a un estudiante se le enseña sobre la fuerza de gravedad, se
utilizan ejercicios simples descartan otros factores que no sean únicamente la
aceleración constante de la gravedad por considerar que su influencia en el ejercicio
es despreciable (y lo son: resistencia del aire, variación de la gravedad respecto a
la altura). De esta manera, un sistema complejo real se convierte en un único
sistema simple capaz de ser calculado usando formulas simples.
Esta metodología es muy útil para enseñar y aprender este fenómeno, pero a
menudo se queda corto en frente de sistemas más complejos que
(desafortunadamente) no pueden ser resueltos con la aplicación de un puñado de
fórmulas.
Figura 1: Ejemplo simple de caída libre
Universidad Nacional de La Matanza
2010
Página 4 de 27
Icarus
IPE - Manual
Version:
1.0
Fecha: 03/06/2010
En el Diagrama 1 se muestra un ejercicio simple de caída libre. Mientras que una
fuerza gravitatoria (mostrada en negro) 'tira hacia abajo' el objeto hacia el suelo,
otros factores (mostrados en rojo) como la resistencia del aire y los mucho menos
obvios efectos de la variación del campo gravitatorio se consideran despreciables.
Ahora, mientras el hecho de que su influencia en el desarrollo final del ejercicio es
prácticamente despreciable es la única razón para descartar a la resistencia del
aire, es tan solo la media verdad cuando se trata de la variación del campo
gravitatorio. El segundo factor para no tener en cuenta la variación del campo
gravitatorio es que la solución analítica es demasiado compleja y, en algunos casos,
no tiene solución en absoluto.
La aceleración de la gravedad sobre cualquier cosa existente en el universo varía en
la inversa del cuadrado de la distancia respecto a la masa atrayente. Así que,
reviendo el Diagrama 1, podemos señalar que a la Altitud 1, la gravitación de la
tierra mayor que en la Altitud 2 tanto como la diferencia entre incremento de
distancia entre ellas lo permite. Esta diferencia de distancia (en el rango de los
metros) tiene tan poco efecto en la aceleración que podría afectar demasiado poco
el resultado de la duración de la caída. Tan poco que puede ser ignorado.
g = 9.8m / s 2
Formula 1: Asumimos a una gravedad constante durante todo el ejercicio
¿Pero esto es así para escalas mas largas de distancia? La respuesta es un rotundo
no.
El modulo de las aceleraciones lineales para diferentes distancias (en orden
creciente) desde la tierra se muestran en la siguiente tabla:
Donde
Distancia al centro de la
Tierra
Aceleración de la Gravedad
Superficie Terrestre (polos):
6356 km
9,8322 m/s2
Superficie Terrestre
(ecuador):
6378 km
9,78 m/s2
Estación Espacial MIR
6656 km
8.18 m/s2
Termosfera
7356 km
7.32 m/s2
Órbita Geoestacionaria
35786 km
0,3113 m/s2
Órbita lunar promedio
384400 km
0,0027 m/s2
Tabla 1: Aceleración de la gravedad según la distancia de la Tierra.
Como se muestra en la Tabla 1. La influencia de la gravedad de la tierra sobre
cuerpos cercanos varía considerablemente en la escala de los kilómetros. Más aún,
a la distancia de diez mil kilómetros, se experimenta la mitad de la aceleración de
la gravedad de la que se experimenta en la superficie terrestre.
Universidad Nacional de La Matanza
2010
Página 5 de 27
Icarus
IPE - Manual
Version:
1.0
Fecha: 03/06/2010
Entonces, imagine ahora una experiencia de caída libre hacia la tierra desde la
distancia de la órbita lunar. Le tomaría muchísimo mas tocar la superficie terrestre
(le recomendamos usar paracaídas, de todas maneras), de lo que podría calcular
usando la simplificación de los ejercicios teóricos donde se deja la gravedad
constante en 9.8m/s. Comenzaría a sentir una lenta aceleración (0.0027 m/s2) el
cual se incrementaría rápidamente mientras pasa cerca de la estación espacial MIR
(8.12 m/s2) y más aún cuando llegue cerca de la superficie (9.8 m/s2).
Al final de esta experiencia, habrá pasado mucho mas tiempo del 'esperado' debido a
que la aceleración comenzó siendo mucho menor que la sufrida en la superficie.
Figura 2: Complejidad de las formulas para ejercicios que toman en cuenta la
variación de la fuerza de la gravedad.
Más allá de eso, no hay nada que criticarle a nuestros profesores de física. Las
fórmulas para caída libre (observar Figura 2) con cálculos que tengan cuenta la
variación de la aceleración gravitatoria son extremadamente complejas.
Universidad Nacional de La Matanza
2010
Página 6 de 27
Icarus
IPE - Manual
Version:
1.0
Fecha: 03/06/2010
Si además agregamos otros factores de complejidad como otra dimensión
(moviéndose hacia un costado como en el Caso 2), o agregando diferentes fuentes
de gravedad (imagine un objeto en el medio entre la luna y la tierra siendo atraído
por ambos como en el caso 3), no hay soluciones analíticas de un solo paso que
puedan calcularlo.
Por suerte, hay una manera para llegar a la solución en un caso de tipo 1, 2,3 o más
complejo, pero primero veremos porque la solución actual no puede hacerlo.
2.2
Limitaciones de los métodos con integrales
Cuando tratamos de resolver un problema de caída libre como el de la Figura 1 para
calcular cuanto tiempo le tomará a un objeto cayendo desde (por ejemplo) 50
metros de altura hasta llegar al suelo, usamos las siguientes formulas bien
conocidas:
Formula 2: Fórmulas para el calculo de caída libre estándar
Donde:
Es la velocidad inicial (m/s).
Es la velocidad en función del tiempo (m/s).
Es la altura inicial (m).
Es la altura en función del tiempo (m).
Es el tiempo transcurrido (s).
Es la aceleración (constante) producida por la gravedad (puesto en 9.81 m/s2).
Dado que la
aceleración es tomada como constante durante todo la duración del
ejercicio, la diferencia de tiempo no tiene efectos en este valor, y por lo tanto la
hace independiente del paso del tiempo.
Universidad Nacional de La Matanza
2010
Página 7 de 27
Icarus
IPE - Manual
Version:
1.0
Fecha: 03/06/2010
Figura 3: La aceleración constante (g) del objeto durante todo el transcurso del
ejercicio
De la primer fórmula, podemos ver que la velocidad final dado una cierta variación
de tiempo (t) depende linealmente de la aceleración de la gravedad. En otras
palabras, podemos definir que la velocidad como una variable que varía según la
integral definida de la aceleración de la gravedad respecto al tiempo
En la Figura 3, podemos definir el módulo de la cantidad de variación de la velocidad
como el área encerrada entre la aceleración y los tiempos de comienzo y fin del
ejercicio.
(1) v =
∫
g∂t = g * ∆t + v 0
( 2 ) ∆ v = g * ∆t
Geométricamente podemos definir esto como el área del rectángulo donde la altura
es la constante de la gravedad y el largo es el tiempo transcurrido. De esto
podemos verificar que la variación de la velocidad obedece a la fórmula 2:
Universidad Nacional de La Matanza
2010
Página 8 de 27
Icarus
IPE - Manual
Version:
1.0
Fecha: 03/06/2010
Esto prueba que, mientras el tiempo fluye de comienzo a fin, la velocidad va a tener
que variar linealmente, frenando la subida del objeto, deteniéndose completamente
en el punto mas alto, y acelerando su caída hacia el piso. Podemos verlo
gráficamente en la Figura 4:
Figura 4: Velocidad del objeto a través de todo el ejercicio
En la Figura 4 podemos definir el módulo de la cantidad de variación de altura como
el área encerrada por la variación lineal de la velocidad y los tiempos de
comienzo/fin. Esto significa que la variación de la altura puede ser definida como la
integral de la velocidad
(3) h = v∂t = v * ∆t + h0
respecto al tiempo.
∫
Formula 3: La variación de la altitud depende linealmente de la velocidad
( 4) h =
(5) h =
∫∫
g∂t ∂t =
∫ (g∆t + v )∂t =
0
g ∆t 2
+ v 0 ∆t + h0
2
Pero como la velocidad no solo no es constante, sino que es linealmente dependiente
del tiempo, podemos componer la cantidad de variación de velocidad de la ecuación
(2) en el valor v de la ecuación (3) como la doble integral de la aceleración de la
gravedad respecto al tiempo.
Universidad Nacional de La Matanza
2010
Página 9 de 27
Icarus
IPE - Manual
Version:
1.0
Fecha: 03/06/2010
Ahora podemos ver la evolución de la altitud en el siguiente gráfico en la Figura 5.
Figura 5: La altitud depende finalmente del cuadrado del tiempo
En este punto, teniendo la gravedad como constante, hemos podido resolver un
simple ejercicio de caída libre usando métodos integrales.
Alguna variable cuyo valor se desconozca y quiera ser calculada debe ser despejada
a algún lado de la ecuación (5) y los cálculos en el otro lado revelarán su valor
exacto.
Pero este método tiene sus limitaciones. A medida que los problemas se hagan mas
y mas complejos (Casos de 1 a 3), las herramientas matemáticas se hacen menos
capaces de determinar una cantidad discreta de fórmulas que puedan resolver el
sistema.
En el caso 1, la aceleración gravitatoria del objeto no es constante, depende de la
inversa del cuadrado de la distancia a la tierra como en la siguiente fórmula (6).
Donde g es la aceleración de la gravedad, G es la constante de gravitación universal,
Me es la masa total de la Tierra, y d es la distancia entre el objeto y la Tierra.
( 6) g = G
Me
d
2
(7) d = xtierra − x objeto
Asumiendo que la masa del objeto es tan pequeña que no afectará
significativamente a la tierra, la posición en X de la tierra puede ser tomada como
constante; de esta manera, la distancia (d) dependerá únicamente de la posición X
del objeto:
Universidad Nacional de La Matanza
2010
Página 10 de 27
Icarus
IPE - Manual
Version:
1.0
Fecha: 03/06/2010
(8) d = f ( xobjeto )
(9) g = f (d )
(10) ⇒ g = f ( xobjeto )
Ahora la gravedad no es mas una constante, depende de la posición del objeto!
(formula 10). Debido a que la posición del objeto será afectado, al mismo tiempo,
por la gravedad en cada punto, la solución ya no resulta tan fácil de obtener. La
fuerza de gravedad sufrida por el objeto debe ser calculada tomando en cuenta la
distancia a los objetos atrayentes, pero no hay manera de saber este valor a priori
usando métodos integrales.
Entonces, la única alternativa para éste y otros casos más complejos es simplificarlos
utilizando una aproximación discreta: el método de diferenciales finitos.
2.3
Método de diferenciales finitos.
En el contexto de un ejemplo unidimensional como el caso 1, examinemos qué le
pasa a la aceleración de la gravedad a medida que el objeto se aproxima a la
Tierra:
Universidad Nacional de La Matanza
2010
Página 11 de 27
Icarus
IPE - Manual
Version:
1.0
Fecha: 03/06/2010
Figura 6: Ejemplo Unidimensional
Ahora que la gravedad es variable y depende de la distancia, podemos determinar el
poder del campo gravitatorio en cualquier punto del espacio basado en la distancia
respecto a la masa atrayente.
Universidad Nacional de La Matanza
2010
Página 12 de 27
Icarus
IPE - Manual
Version:
1.0
Fecha: 03/06/2010
Figura 7: Líneas equipotenciales del campo gravitatorio de la Tierra
En la Figura 7, podemos ver que, en ciertos radios, el valor del campo gravitacional
de la tierra se mantiene igual. En este ejemplo, todos los objetos en el radio R1
sufrirán la misma atracción gravitacional. Al mismo tiempo, cualquier objeto en el
radio R1 sufrirá más atracción gravitacional que cualquier objeto situado sobre el
radio R2. Al mismo tiempo, cualquier objeto localizado en el radio R2 sufrirá más
atracción gravitacional que cualquier objeto en el radio R3.
Entonces, podemos afirmar que:
-
En cualquier posición del espacio hay uno y solo un único valor del campo
gravitatorio, (1)
-
Este valor puede ser determinado usando una cantidad finita de cálculos (2)
Recordando el primer ejemplo donde la aceleración de la gravedad fue tomada como
constante (Figura 1); el razonamiento era que la variación de la distancia (en el
orden de los metros) no era suficientemente significativa como para modificar los
resultados. Entonces, si pudiéramos usar la misma formula 1 para calcular el cambio
de posición de un objeto muchas veces usando un diferencial de tiempo pequeño,
recalculando el valor de la gravedad en cada nueva posición tomándola como
constante, podríamos reducir casos como el 1, 2, 3, o mas complejos en una
cantidad finita de problemas mas simples con un pequeño costo de pérdida de
información.
Para comprender a qué nos referimos con pérdida de información y como se ve
influenciada por el diferencial de tiempo, daremos una aproximación gráfica del
concepto básico de la integración.
Universidad Nacional de La Matanza
2010
Página 13 de 27
Icarus
IPE - Manual
Version:
1.0
Fecha: 03/06/2010
Definamos arbitrariamente una función desconocida y = f(x) que depende de alguna
variable x y encierra un área dada (At) entre su valor y y el eje y = 0, con limites
laterales x = 0 y x = x'. (Recordando figuras 3 y 4 para saber porque determinar el
área debajo de la función es importante para nuestra simulación).
Figura 8: Función arbitraria f(x).
Una primera aproximación para determinar el área encerrada por la función sería dibujar
una serie de rectángulos basados en el calor de y (basado en la afirmación (2)) de la
función en el que nos encontramos como la altura, y usando un diferencial x (∆x) constante
como largo, como se muestra en la siguiente figura:
Universidad Nacional de La Matanza
2010
Página 14 de 27
Icarus
IPE - Manual
Version:
1.0
Fecha: 03/06/2010
Figura 9: Aproximación rectangular del área total usando diferenciales finitos
sobre x.
Como se puede observar en la figura 9, podemos aproximarnos al área total debajo de la
función usando un número finito de rectángulos. Las n-sumas del área de los rectángulos
nos dará un estimado del área total que diferirá solamente en un error indeterminable que
llamamos pérdida de información o error (E(i)).
n
(11) At =∑ f (i∆t ) * ∆t + E (i )
i =0
En la siguiente figura podemos observar que, si reducimos el diferencial de tiempo (∆x), la
cantidad de pasos (n) se incrementará, y la pérdida de información se reducirá.
Universidad Nacional de La Matanza
2010
Página 15 de 27
Icarus
IPE - Manual
Version:
1.0
Fecha: 03/06/2010
Figura 10: La pérdida de información se reduce a la par con el diferencial de
tiempo
Como consecuencia lógica, mientras que el diferencial de tiempo (∆x) se aproxima a cero, la
cantidad de pasos tienden a infinito, y la pérdida de información se aproxima a cero
también. Como podemos ver en la siguiente fórmula, esto resulta en definición de la integral
definida de la función:
(12) At =
x= x'
∫
x =0
n
f ( x)dx = lim ∑ f ( x n ) ∆x
n →∞
i =1
Donde una hipotética pérdida de información (E) tendería a cero.
Pero usar una cantidad infinita de pasos nos lleva a un nuevo callejón sin salida: una infinita
cantidad de pasos requeriría un poder computacional infinito. Estamos de nuevo donde
empezamos y seguimos sin una fórmula exacta para resolver el problema.
Sin embargo, en el primer ejemplo de caída libre que vimos, asumimos que, por algunos
metros, la diferencia de la aceleración de la gravedad era tan pequeña que la pérdida de
información no afectaría al resultado de una manera significativa.
Teniendo eso en mente, podemos resolver un problema complejo en donde nos falta una
función que defina a g (pero podamos obtener su valor fácilmente en cualquier momento
del tiempo), dividiendo toda la duración de toda la experiencia en diferenciales de tiempo
muy pequeños, calculando una g constante para cubrir 'unos pocos metros' cuyo diferencial
cause una pérdida de información tan pequeña que no afectara los resultados
significativamente y re-calculando el valor de la gravedad en cada paso. Y es exactamente
así como Icarus Physics Engine trabaja. Lea el siguiente capítulo para obtener mas detalles
sobre esto.
Universidad Nacional de La Matanza
2010
Página 16 de 27
Icarus
IPE - Manual
3.
3.1
Version:
1.0
Fecha: 03/06/2010
¿Cómo trabaja Icarus Physics Engine?
Operación básica de IPE
Icarus Physics Engine (IPE), tal como cualquier otro motor físico de computadoras, usa el
método de diferenciales finitos para simular el sistema completo en incrementos
discretos de tiempo. IPE le permite al usuario asignar la duración del diferencial de tiempo
para llevarlo a un balance entre márgenes de errores y rendimiento aceptables. La
siguiente figura define cómo el usuario puede usar los diferenciales de tiempo como balance
entre el error (pérdida de información) y el rendimiento (simulación más rápida).
Figura 11: El usuario puede definir el diferencial de tiempo que mejor se ajuste a
sus necesidades
IPE re-evalúa todas las interacciones de las fuerzas sobre un objeto al comienzo de cada
paso y obtiene una fuerza resultando como la suma vectorial de todas las otras fuerzas.
Luego utiliza esta fuerza para calcular la aceleración vectorial y la toma como constante.
Una vez terminado de calcular esta constante en todos los objetos del sistema, aplica la
simple fórmula (5) utilizando la constante obtenida en vez de 'g'. La figura 12 ilustra las
fuerzas resultantes (en rojo) en un estado dado:
Figura 12: Todas las fuerzas son recalculadas al comienzo de un paso
Como resultado de aplicar la formula (5) en cada objeto del sistema utilizando la aceleración
calculada en el paso anterior como constante, el sistema pasa hacia el siguiente estado (con
un tiempo igual al anterior mas una unidad del diferencial de tiempo) donde las posición y
velocidad del objeto se aproximan mucho al caso analítico. (Recordar cuán cercano se
puede aproximar a la función real utilizando una aproximación diferencial revisando la figura
10).
Universidad Nacional de La Matanza
2010
Página 17 de 27
Icarus
IPE - Manual
Version:
1.0
Fecha: 03/06/2010
En la siguiente figura, podemos ver como podemos aproximarnos a una órbita real usando
una serie finita de pasos lineales (los diferenciales de tiempo se han exagerado para
permitir al observador notar la forma línea de los avances de los pasos; todos los casos
incluidos en los escenarios de Icarus tienen diferenciales que no son ni siquiera
perceptibles):
Figura 13: Comparación de movimiento entre una órbita real y una simulada
3.2
Impacto del error acumulado en la simulación
Mientras que el error (o información perdida) en un paso puede ser considerado
despreciable, su efecto permanece para el siguiente paso. Incluso pudiendo considerar que,
en un paso, los efectos de la variación de la gravedad son despreciables, a medida que los
pasos corren, sus efectos se acumulan y, en un momento futuro se terminará teniendo un
error que afectará significativamente el resultado de la simulación.
Revisando el Caso 1 de la Figura 2, tenemos un ejemplo simple de un objeto siendo atraído
por otra masa (la cuál no es afectada por la masa insignificante del objeto, para simplificar
el ejemplo).
Vea la Figura 14:
Universidad Nacional de La Matanza
2010
Página 18 de 27
Icarus
IPE - Manual
Version:
1.0
Fecha: 03/06/2010
Figura 14: El error se acumula a medida que se suceden los pasos en el ejemplo
del Caso 1
La figura 14 muestra como el error debido a dejar la gravedad como constante se acumula
paso a paso. Imagine que el error tolerado para este ejercicio fuera que la distancia entre la
simulación y la medición 'real' no excediera el límite de los 500 kilómetros. Luego del primer
paso, el error fue solo de 50 kilómetros, y era todavía tolerable para esta simulación. Luego
del segundo paso, la combinación entre el error acumulado anterior y el error del paso
actual hicieron que se incremente a 200 kilómetros, un valor todavía tolerable. Pero en el
tercer paso, la acumulación del error produjo un error de posición de 1000 kilómetros y la
simulación puede seguir siendo considerada correcta.
Nuevamente, en este ejemplo visual, el error fue exagerado. La capacidad computacional
moderna permite efectuar simulaciones relativamente rápidas con una tasa de error
extremadamente baja. En algunos casos podría tomar una gran cantidad de pasos hasta
que la acumulación de errores pudiera ser considerada significativa.
Sin embargo, es importante notar que, dado que seguimos utilizando un método de
diferenciales finitos, todas las simulaciones terminarán con un error significativo en alguna
n-cantidad de pasos, independientemente del largo del diferencial de tiempo elegido.
Universidad Nacional de La Matanza
2010
Página 19 de 27
Icarus
IPE - Manual
Version:
1.0
Fecha: 03/06/2010
Hay, de todas maneras, muchas maneras de reducir considerablemente la acumulación de
error utilizando métodos matemáticos como los de Euler y Runge-Kutta que están
implementados en IPE y pueden ser seleccionados por el usuario. Estos métodos se
explicaran luego en este manual.
IPE provee una forma de estimar el valor absoluto del error, y luego estimar si la simulación
ha sufrido una acumulación de error significativa. Debido a que estamos simulando un
sistema cerrado, la energía debería conservarse durante toda la simulación.
Se puede obtener la energía total del sistema como la suma de todas las energías
potenciales y cinéticas al comienzo de la simulación (cuando sabemos que el error E es igual
a cero). Entonces, a cada paso recalculamos la suma de todas esas energías comparándolas
con la inicial. La magnitud de la diferencia nos dará una noción del error acumulado.
Figura 15: El área sombreada indica las posibles desviaciones de energía debido a
la acumulación del error
Como puede ver en la Figura 15, un medida real esperaría mostrar una energía constante
durante toda la experiencia, pero debido a que el error en la simulación tiende a
acumularse, la energía total tiende a divergir. La divergencia de energía es entonces, un
buen indicador de acumulación de error:
E (t ) ≈ T0 − Tt
Donde E(t) es la acumulación de error al momento t, To es la energía total al comienzo de
la simulación, y Tt es la energía total al momento t.
Universidad Nacional de La Matanza
2010
Página 20 de 27
Icarus
IPE - Manual
4.
Version:
1.0
Fecha: 03/06/2010
Fuerzas gravitatorias, eléctricas, y magnéticas
IPE es capaz de simular interacciones gravitatorias, eléctricas, y magnéticas entre los
cuerpos simulados. Puede simular, incluso, un sistema en el que los tres tipos de fuerzas
(En este programa, separamos deliberadamente la fuerza electromagnética en dos, por
razones técnicas), al mismo tiempo si estos cuerpos tienen masa y carga y el usuario
requiere que ambos afecten a la simulación.
Las interacciones entre objetos, campos eléctricos/magnéticos uniformes y campos
magnéticos inducidos por una corriente, pueden ser definidas como una lista de reglas, por
ejemplo:
Objeto
Es afectado por
Objeto 1
Objeto 2
Objeto 1
Objeto 2
Objeto 1
Campo Magnético 1
A través de la siguiente
fuerza
Gravedad
Gravedad
Magnetismo
De esta manera, el usuario puede tener el control total de las interacciones incluidas en la
simulación.
La manera en la que IPE simula cada fuerza es explicada en los siguientes párrafos:
4.1
Fuerzas Gravitatorias
IPE calcula la fuerza producida por la atracción entre cuerpos con masa en el espacio (x, y
,z) usando la Ley de Gravitación Universal de Newton.
Donde:
• F es la magnitud de la fuerza gravitatoria entre dos objetos con masa.
• G es la constante universal de gravitación
• m1 es la masa del primer objeto
• m2 es la masa del segundo objeto
• r es la distancia entre los dos objetos
*El valor por defecto de G es:
Y puede ser editado por el usuario.
Como IPE utiliza vectores para la posición, velocidad, y aceleración, la fuerza de atracción
producida por sus cálculos debe ser obtenida como una fuerza vectorial también, utilizando
la siguiente fórmula:
Universidad Nacional de La Matanza
2010
Página 21 de 27
Icarus
IPE - Manual
4.2
Version:
1.0
Fecha: 03/06/2010
Fuerzas Eléctricas
IPE calcula la fuerza producida por la atracción/repulsión entre dos cuerpos con carga en el
espacio (x, y, z) usando la ley de Coulomb.
Donde:
•
•
•
•
•
•
F es la magnitud de la fuerza de atracción/repulsión entre dos cargas puntuales,
Ke es la constante de Coulomb
q1 es la carga de la primera partícula
q2 i es la carga de la segunda partícula
r es la distancia entre las dos cargas
es el vector unitaria apuntando desde la partícula q1 hacia la partícula q2.
*El valor por defecto de Ke es:
Y puede ser editado por el usuario.
Como IPE utiliza vectores para la posición, velocidad, y aceleración, la fuerza de atracción
producida por sus cálculos debe ser obtenida como una fuerza vectorial también, utilizando
la siguiente fórmula:
Donde
• Eo es la constante eléctrica*
*El valor por defecto de Eo es: 8.854187817...×10−12 A—s/(V—m) = 8.854187817...×10−12
F/m
Universidad Nacional de La Matanza
2010
Página 22 de 27
Icarus
IPE - Manual
4.3
Version:
1.0
Fecha: 03/06/2010
Fuerzas Magnéticas
IPE calcula la fuerza producida por un campo magnético (B) sobre una partícula con carga
(q) en el espacio (x, y, z) usando la ecuación de fuerza de Lorentz.
donde:
•
•
•
B es la intensidad vectorial del campo magnético
v es la velocidad vectorial de la partícula afectada.
q es la carga de la partícula.
Como IPE utiliza vectores para la posición, velocidad y aceleración, la fuerza resultante de
sus cálculos debe ser obtenida como fuerza vectorial también, y la ecuación de Lorentz lo
provee.
Cabe notar que, a diferencia con las otras interacciones donde la dirección del vector
unitario unía la posición de ambos objetos, el campo magnético produce una fuerza sobre la
partícula en movimiento que es perpendicular a ambos la velocidad y la dirección del
campo. Icarus es una forma excelente de aprender sobre este fenómeno debido a que es
fácil de ver la perpendicularidad de la fuerza resultante en 3D.
4.4
Operación de aplicar el diferencial de tiempo
Una vez que todas las reglas de la lista de reglas de IPE fueron calculadas, la fuerza
resultante (Fr) sobre cualquier objeto 'k' es la suma vectorial de todas las fuerzas
gravitatorias/eléctricas/magnéticas individuales de todos los otros objetos/campos que
interactuaron con este objeto 'k':
r
Fk =
r
F
∑ ik
n
i =0
Habiendo obtenido la fuerza resultante sobre el objeto, lo único que queda es obtener la
aceleración vectorial, dividiéndola por la masa del objeto:
r
Fi
r
ai =
mi
Una vez obtenidas todas las aceleraciones vectoriales para todos los objetos en la
simulación, IPE aplica la fórmula 5 (usando 'a' como g) para cada uno de ellos y aplica el
diferencial de tiempo.
Universidad Nacional de La Matanza
2010
Página 23 de 27
Icarus
IPE - Manual
5.
Version:
1.0
Fecha: 03/06/2010
Métodos de Optimización
El IPE permite al usuario elegir entre tres modos de ejecución de la simulación con
diferenciales finitos.
5.1
Modo No-Optimizado
Este es el modo más rápido y toma una sola unidad de procesamiento por cada diferencial.
Si el usuario elije el modo no-optimizado, la simulación usará una aproximación rectangular
como el visto en la figura 9. El área debajo de la función del campo será estimada utilizando
el área de un rectángulo cuyo largo será el diferencial de tiempo y su alto será el valor de la
función el punto inicial.
Este modo produce mucha mas pérdida de información que los modos optimizados y está
recomendado para simulaciones donde el rendimiento es mucho mas importante que la
acumulación de errores.
Figura 16: Modo No-Optimizado
5.2
Método de Euler de n-Pasos
Éste es el modo mas explícito y simple para la integración numérica de ecuaciones
diferenciales. La idea detrás de este métodos es que podemos usar 2 o más (n) unidades de
cálculo por paso para aumentar la precisión con menor pérdida de información que la que
obtendríamos reduciendo los pasos por unidad de tiempo (o dicho de otra manera,
reduciendo el diferencial de tiempo).
El efecto sobre el error unitario del método de Euler es exactamente igual al de reducir en
n-pasos el diferencial de tiempo, pero su ventaja real es que evita la acumulación de
error. (ver Figura 14).
Podemos generalizar el caso de la figura 16 como una aproximación con el método de Euler
de 1 paso. Ahora, en vez de seguir adelante con el siguiente diferencial, podemos aplicar
otra unidad de cálculo llevandolo al método de euler de 2 pasos. Esto se realiza reevaluando
Universidad Nacional de La Matanza
2010
Página 24 de 27
Icarus
IPE - Manual
Version:
1.0
Fecha: 03/06/2010
la variable constante (en nuestro caso, la aceleración) en la mitad del diferencial de tiempo
y recalculando la pendiente.
Esto resultará en la siguiente figura:
Figura 17: Aproximación de Euler de 2 y 3 pasos
La idea detrás el método Euler de 2 pasos es que, la aceleración es re-evaluada en función
de la posición que el objeto tendría a la mitad del diferencial del tiempo. Entonces, se
realiza una corrección en la pendiente de la velocidad en ∆t/2. En el método de Euler de 3
pasos, la re-evaluación ocurre 2 veces, una al primer tercio y la otra al segundo tercio del
diferencial de tiempo.
Un buen balance entre cantidad de pasos del método de Euler por diferencial de tiempo y
duración del diferencial del tiempo puede incrementar enormemente la precisión con muy
bajo costo de rendimiento.
Universidad Nacional de La Matanza
2010
Página 25 de 27
Icarus
IPE - Manual
5.3
Version:
1.0
Fecha: 03/06/2010
Método de Runge-Kutta
Éste es el método más eficiente entre rendimiento/exactitud para la integración numérica
de ecuaciones diferenciales. Se realizan 4 pasos cada uno utilizando los resultados
obtenidos del anterior. Se utilizan siempre 4 unidades de cálculo por diferencial de tiempo.
Definiendo un problema inicial como:
La solución aproximada se define como:
Donde:
De esta manera, el siguiente valor (yn+1) es determinado por el valor actual (yn) mas el
producto de un intervalo (h) y una pendiente estimada. Esta pendiente se obtiene como el
promedio de las siguientes pendientes:
k1 es la pendiente al comienzo del intervalo.
k2 es la pendiente a la mitad del intervalo, utilizando k1 para determinar el valor de y en el
punto Tn + h/2 análogamente al método de Euler
k3 es, de nuevo, la pendiente evaluada a la mitad del intervalo pero utilizando k2 para
determinar el valor de y
k4 es la pendiente al final del intervalo utilizando k3.
Haciendo un promedio de las cuatro y asignando mas importancia a las dos del medio (k2 y
k3), obtenemos una pendiente estimada por el método de Runge-Kutta:
La siguiente figura muestra gráficamente como el método de Runge-Kutta se aproxima a
una pendiente muy precisa en cuatro pasos:
Universidad Nacional de La Matanza
2010
Página 26 de 27
Icarus
IPE - Manual
Version:
1.0
Fecha: 03/06/2010
Figura 18: Método de Runge-Kutta
Universidad Nacional de La Matanza
2010
Página 27 de 27