PROGRAMA DEL CURSO "FISICA COMPUTACIONAL" (64 horas) 1 Simulación del movimiento de una partícula (8 horas) 1.1 Problema de Cauchy para una partícula 1.2 Algoritmos de Euler y de Runge-Kutta para simular el movimiento de una partícula 1.3 Ejemplo simple: simulación de la caída libre 1.4 Movimiento de una partícula en 1D bajo fuerza potencial 1.5 Efectos de resistencia 1.6 Trayectorias bidimensionales 1.7 Procesos de decaimiento 2 Sistemas oscilatorios (8 horas) 2.1 Movimiento armónico simple 2.2 El movimiento de un péndulo 2.3 Oscilaciones amortiguadas 2.4 Oscilaciones forzadas 2.5 Oscilaciones en circuitos eléctricos 2.6 Precisión y estabilidad de los algoritmos -------------------Primer Proyecto------------------------------------------- 3 Sistemas de pocos cuerpos: El movimiento de los planetas (8 horas) 3.1 Las ecuaciones de movimiento planetario 3.2 Unidades astronómicas y adimensionales 3.3 Orbitas elípticas, parabólicas e hiperbólicas 3.4 Un sistema mini-solar 3.5 Simulación de la órbita 3.6 Problemas de dos y tres cuerpos 3.7 Problema de dispersión 4 La dinámica de sistemas de muchas partículas (8 horas) 4.1 El potencial intermolecular 4.2 Ecuaciones diferenciales de dinámica molecular en unidades adimensionales 4.3 El algoritmo numérico 4.4 Condiciones de frontera y condiciones iniciales 4.5 Un Programa de Dinámica Molecular. Control de precisión 4.6 Parámetros termodinámicas --------------------------Segundo Proyecto---------------------------- 5 Modos Normales y Ondas (8 horas) 5.1 Osciladores acoplados y modos normales 5.2 Series de Fourier 5.3 Transformación de Fourier y densidad espectral 5.4 Movimiento ondulatorio 5.5 Interferencia 5.6 Difracción de Fraunhofer 5.7 Difracción de Fresnel 6 Campo eléctrico (8 horas) 6.1 Las cargas estáticas y campos eléctricos 6.2 Líneas de campo 6.3 Potencial eléctrico. 6.4 Solución de la Ecuación de Laplace --------------------------------------- Tercer Proyecto--------------------- 7 Simulación del movimiento caótico de los sistemas dinámicos (8 horas) 7.1 Sistemas dinámicos. Diagrama de bifurcación para modelo demográfico 7. 2 Duplicación del periodo demográfico 7.3 Auto-similitud y puntos fijos 7.4 Sistemas caóticos y sus características 7.5 Oscilaciones forzadas no-lineales 8 Procesos Aleatorios (8 horas) 8.1 Desde orden hacia desorden 8.2 Procesos de caminos aleatorios simples 8.3 Esquemas modificados de caminos aleatorios 8.4 La distribución de Poisson y la desintegración nuclear 8.5 Aplicación a los problemas de cálculo de la probabilidad -------------------------------------Cuarto Proyecto------------------------------------------ Bibliografía 1 H. Gould y J. Tobochnik. An Introduction to Computer Simulation Methods Applications to Physical Systems, Addison - Wesley Publishing Company, 1989 2 S. E. Koonin. Computational Physics, Addison -Wesley Publishing Company, 1986 3 T. Pang. Introduction to computational physics ,Cambridge University Press, 2006
25
Embed
PROGRAMA DEL CURSO “FISICA COMPUTACIONAL –I”ilia.miscomunidades.com/Computational Physics... · 3.6 Problemas de dos y tres cuerpos 3.7 Problema de ... 7 Simulación del movimiento
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
PROGRAMA DEL CURSO "FISICA COMPUTACIONAL"
(64 horas)
1 Simulación del movimiento de una partícula (8 horas)
1.1 Problema de Cauchy para una partícula
1.2 Algoritmos de Euler y de Runge-Kutta para simular el movimiento de una partícula
1.3 Ejemplo simple: simulación de la caída libre
1.4 Movimiento de una partícula en 1D bajo fuerza potencial
1 H. Gould y J. Tobochnik. An Introduction to Computer Simulation Methods Applications to Physical Systems, Addison -
Wesley Publishing Company, 1989
2 S. E. Koonin. Computational Physics, Addison -Wesley Publishing Company, 1986
3 T. Pang. Introduction to computational physics ,Cambridge University Press, 2006
Prefacio
Las simulaciones en computador son ahora una parte importante de la física básica y aplicada contemporánea, y la
computación se ha convertido tan significativa como la teoría y la experimentación. La capacidad de calcular es ahora parte del
repertorio esencial de los científicos de investigación.
El propósito de este curso incluye siguientes objetivos
1. Proporcionar un medio adicional para hacer la física.
2. Dar la oportunidad de obtener una comprensión más profunda de la física que han aprendido en otros cursos.
3. Estimular a "descubrir" la física de una manera similar a cómo los físicos aprenden en el contexto de la investigación.
4. Aprender a aplicar los métodos numéricos en diferentes áreas de la física y analizar los límites de su aplicabilidad
5. Dar un contexto diferente del plan de estudios tradicional de física de pregrado.
6. Enseñar formular los problemas de física en un lenguaje algorítmico
Cálculo actualmente es una parte integral de la ciencia contemporánea y está teniendo un efecto profundo en la forma como
hacer la física, como hacer las preguntas importantes, y como seleccionar los sistemas físicos a estudiar. Los avances en la
tecnología informática están dando lugar a nuevas formas de pensar acerca de los sistemas físicos. Preguntar "¿Cómo puedo
formular este problema para un equipo computacional?" ha llevado a la comprensión de cómo es práctico y natural formular las
leyes físicas y las reglas entendibles para un equipo en lugar de sólo en términos de ecuaciones diferenciales.
El uso de computadoras en la física se puede convencionalmente clasificar en las siguientes categorías:
- análisis numérico,
- la manipulación simbólica,
- la visualización,
- la simulación,
- la recopilación y análisis de datos
- Análisis numérico se refiere a la solución de problemas matemáticos bien definidos para encontrar soluciones numéricas (en
contraste con simbólicos). El computador es una herramienta indispensable para calcular las integrales multidimensionales,
manipular grandes matrices, o resolver ecuaciones diferenciales no lineales. Este uso de la computadora es importante en la física.
- Uno de los puntos fuertes de las matemáticas es su capacidad formular problemas en una forma abstracta, lo que nos permite
resolver muchos problemas similares de manera simultánea mediante el uso de símbolos. Las computadoras pueden ser utilizadas
para hacer mucho de la manipulación simbólica. Las operaciones matemáticas tales como la diferenciación, integración, inversión
de la matriz, y la expansión en serie de potencias pueden ser programas de manipulación simbólica. El cálculo de los diagramas de
Feynman, que representan las integrales multidimensionales de la importancia de la electrodinámica cuántica, ha sido un
importante impulso para el desarrollo de software de álgebra computacional que puede manipular y simplificar expresiones
simbólicas. Maple, Mathematica y Matlab son ejemplos de paquetes de software que tienen capacidades de manipulación
simbólica, así como muchas herramientas para el análisis numérico.
- A medida que el computador juega un papel cada vez mayor en nuestra comprensión de los fenómenos físicos, la representación
visual de los resultados numéricos complejos es cada vez más importante. El uso de gráficos puede aumentar nuestra comprensión
de la naturaleza de las soluciones analíticas. Tradicionalmente, la presentación de las variables de dos y tres dimensiones incluye
las curvas de niveles de campo y gráficos de líneas de fuerza. Con frecuencia, se necesitan más de tres variables para entender el
comportamiento de un sistema, y se están desarrollando nuevos métodos de uso de color y la textura para ayudar a los
investigadores a obtener mejor representación de sus datos.
-Por qué es la computación llegó a ser tan importante en la física? Una de las razones es que la mayor parte de nuestras
herramientas analíticas tales como el cálculo diferencial son los más adecuados para el análisis de problemas lineales. Por
ejemplo, es probable que haya analizado el movimiento de una partícula unida a un resorte lineal asumiendo una fuerza de
restauración y la solución de la segunda ley de Newton del movimiento. En este caso un pequeño cambio en el desplazamiento de
la partícula lleva a un pequeño cambio en la fuerza. Sin embargo, muchos fenómenos naturales son no lineales, y un pequeño
cambio en una variable puede producir un gran cambio en la otra. Debido a que son relativamente pocos problemas no lineales
pueden ser resueltos por métodos analíticos, el computador nos proporciona una nueva herramienta para explorar los fenómenos
no lineales.
-Otra razón de la importancia de la computación es el creciente interés en los sistemas con muchas variables o con muchos grados
de libertad. Las simulaciones por ordenador se refieren a veces como los experimentos de computación, ya que comparten mucho
en común con los experimentos de laboratorio. El punto de partida de una simulación por computador es el desarrollo de un
modelo idealizado de un sistema físico de interés. Los resultados de una simulación por computador pueden servir como un
puente entre los experimentos de laboratorio y cálculos teóricos. Por otro lado, a veces nos podemos hacer simulaciones de un
modelo más realista que se puede hacer en teoría, y por lo tanto hacer una comparación más directa con los experimentos de
laboratorio. Computación se ha convertido en una tercera manera de hacer física y complementa la teoría y experimento.
1 Simulación del movimiento de una partícula (8 horas)
Los términos la simulación y el modelado de los fenómenos físicos se utilizan para una descripción matemática en una forma
digital, gráfica o audiovisual las relaciones que existen entre los parámetros o la evolución de los mismos con el tiempo en un
sistema cerrado o variación bajo de una perturbación externa. Por ejemplo, relación entre coordenadas velocidades y periodos de
rotación de los planetas en el sistema solar, o dependencia de estos parámetros del tiempo, o variación de ellos bajo la influencia
de una cometa.
El proceso de simulación incluye los siguientes elementos:
- elaboración del modelo matemático. En la mayoría de los casos el modelo matemático se reduce a una ecuación o sistema
de ecuaciones algebraicas o diferenciales
- elaboración del método de solución del modelo matemático. En la mayoría de los casos métodos son numéricos
- elaboración del algoritmo que define los parámetros de entrada, los procedimientos para obtener los parámetros de salida y
la manera de la representación de los resultados
- codificación del algoritmo o elaboración el programa
- ensayo del programa y verificación los límites de aplicación del algoritmo usando modelos simplificados cuyos soluciones
exactos son conocidos o otros tipos de criterios
En este curso de Física Computacional consideremos fenómenos físicos de diferentes áreas, mecánica, termodinámica,
electromagnetismo y ondas, cuyos modelos matemáticos se reducen en la mayoría de los casos al problema de Cauchy para un
sistema de ecuaciones diferenciales, que se formula de la siguiente manera. Si un conjunto de los parámetros físicos
, 1, 2, ,iX i N en el momento inicial 0t tenían valores 0 , 1, 2, ,iX i N y estos parámetros satisfacen un sistema
de ecuaciones diferenciales de primera orden 1 2, , , , , 1, 2, ,i i NdX dt f X X X t i N entonces ¿Cuáles serán valores de
estos parámetros , 1, 2, ,iX t i N en el momento del tiempo t cualquiera? Algoritmos más usados para resolver este tipo de
problemas se basan en los métodos de Euler y Runge-Kutta.
1.1 Problema de Cauchy para una partícula
En la Mecánica Clásica el movimiento de una partícula se describe por medio del vector de posición en función del tiempo
tr que define la trayectoria y del vector de la velocidad en función del tiempo tv que define la rapidez y la dirección del
desplazamiento. La evolución de estos dos parámetros se encuentra a partir de la segunda ley de Newton:
,;
d t d t t
dt dt m
r v F r, vv (1)
Aquí m es la masa de la partícula y , tF r, v es una fuerza que actúa sobre la partícula que genera su movimiento, la cual en el
caso general puede depender de la posición y velocidad de la partícula y del tiempo. Si , t F r, v F r, v la fuerza se llama
estacionaria, si , t V F r, v F r r se llama potencial y la función V r en este caso se llama energía potencial.
Para que el sistema de ecuaciones diferenciales (1), la cual tiene dos vectores tr , tv incognitos tenga la solución
única es necesario completarlo con dos condiciones iniciales, es decir definir los valores de los vectores de la posición y de la
velocidad en el momento del tiempo 0t :
0 00 ; 0 r r v v (2)
Ejemplo 1
Una pelota de masa 0.5m kg se lanza hacia arriba desde la tierra con la velocidad 0v 50 /m s . Sobre pelota actúan dos
fuerzas, la gravedad 5gF mg N (coordenada X esta direccionada hacia arriba y gravedad hacia abajo), y la resistencia de
aire que actúa en la dirección contraria a la dirección de la velocidad 0.1vrF . Formúlese el problema de Cauchy que describe
la evolución de la coordenada y velocidad de la pelota.
Solución.
La dinámica de este sistema se define a través de dos variables 1 2, vX x X con las condiciones iniciales:
1 2 00 0, 0 v 50X X
que satisfacen las ecuaciones diferenciales
1 2 2 2v= ; dv = 5 0.1v 0.5 10 0.5g rdX dt X dX dt dt F F m X
Finalmente el problema de Cauchy se formula como:
1 2 1 1
2 2 2 2
0 0; ;
10 0.5 0 50 v
dX dt X X X x
dX dt X X X
Ejemplo 2
Una pelota de masa 0.5m kg se lanza desde la tierra con la velocidad 0v 50 /m s en la dirección forma con el horizonte el
ángulo 30 . Sobre pelota actúan dos fuerzas, la gravedad 5g m N F g i (coordenada X y el vector unitario i están
direccionados hacia arriba y gravedad hacia abajo), y la resistencia de aire que actúa en la dirección contraria a la dirección de la
velocidad 0.1r F v . Formúlese el problema de Cauchy que describe la evolución de los vectores de la posición y de la velocidad
de la pelota.
Solución.
La dinámica de este sistema se define a través de dos vectores bidimensionales , , v ,vx yx y r v o 4 variables
1 2 3 3, , =v , =vx yX x X y X X con las siguientes condiciones iniciales:
1 2 3 0 4 00 0 0, 0 0 =0, 0 v 0 v cos 25 3, 0 v 0 v sin 25x yX x X y X X (3a)
Los vectores de la posición y de la velocidad satisfacen las ecuaciones diferenciales
0.1; 10 0.2
g rd t d t m
dt dt m m
F Fr v g vv i v (3b)
Estas mismas ecuaciones (3b) escritas para 4 coordenadas 1 2 3 3, , =v , =vx yX x X y X X junto con 4 condiciones iniciales
(3a) forman un problema de Cauchy para un sistema de 4 ecuaciones diferenciales:
1 11 3
2 22 4
33 3 3
44 4 4
0 0
0 0; ;
v10 0.2 0 25 3
v0.2 0 25
x
y
X X xdX dt X
X X ydX dt X
XdX dt X X
XdX dt X X
(4)
Ejemplo 3
Formúlese el problema de Cauchy que describe la evolución de los vectores de la posición y de la velocidad del electrón en el
átomo de hidrogeno clásico, siendo el vector de la posición inicial igual a 0 0 , 0, 0xr y el vector de la velocidad inicial
0 00, v , 0v y la única fuerza que actúa sobre electrón es electrostática 2 3
04e r F r
Solución.
La dinámica de este sistema se define a través de dos vectores tridimensionales , , , v ,v ,vx y zx y z r v o 6 variables
1 2 3 4 5 6, , , =v , =v , =vx y zX x X y X z X X X con las siguientes condiciones iniciales:
1 0 2 3 4 5 0 6 00 , 0 =0, 0 =0, 0 0, 0 v , 0 vX x X X X X X (5a)
Los vectores de la posición y de la velocidad satisfacen las ecuaciones diferenciales
2
30
;4e e
d t d t e
dt dt m m r
r v F rv (5b)
Estas mismas ecuaciones (5b) escritas para 6 coordenadas 1 2 3 4 5 6, , , =v , =v , =vx y zX x X y X z X X X junto con 6
condiciones iniciales (5a) forman un problema de Cauchy:
1 4
2 511 0
2 622
32 2 2 2 33
4 1 0 1 2 3
443
2 2 2 255 05 2 0 1 2 3
6 632 2 2 2
6 3 0 1 2 3
0
0 0
0 04 ; ;v0 0
v0 v4
0 0 v
4
e
x
ye
z
e
dX dt X
dX dt X X xX xdX dt X X yX
X zXdX dt e X m X X XXX
XXdX dt e X m X X X
X X
dX dt e X m X X X
(5c)
El problema de Cauchy para el sistema de ecuaciones diferenciales (1) con las condiciones iniciales (2) en su mayoría de los casos
se puede resolver solamente numéricamente utilizando uno de los métodos desarrollados con este fin. Existe una multitud de los
métodos que fueron desarrollados y los programas correspondientes pueden encontrarse en diferentes bibliotecas. A continuación
presentamos una breve clasificación de diferentes métodos.
- Métodos de un paso, que comúnmente utilizan las mallas equidistantes y usando diferentes procedimientos basados en las
relaciones de recurrencia se encuentran los valores de la función incógnita en cada nodo de la malla a partir de sus valores
conocidos de un solo nodo anterior. Los métodos más conocidos de este grupo son diferentes algoritmos modificados del método
de Euler y los métodos de Runge-Kutta. Estos métodos tienen una ventaja que permiten un arranque automático, partiendo de las
condiciones iniciales se encuentran uno por uno los valores de los siguientes nodos similar al “efecto de domino”.
-Métodos de multipasos también utilizan comúnmente las mallas equidistantes y diferentes procedimientos basados en las
relaciones de recurrencia pero en este caso los valores de la función incógnita en cada nodo de la malla se encuentran a partir de
sus valores conocidos en varios nodos anteriores (2,3,4,...,etc.) Los métodos más conocidos de este grupo son métodos de Adams-
Bashforth, Adams-Moulton y los métodos de Milne. Estos métodos no permiten un arranque automático, y sugieren un cálculo
preliminar los valores de las funciones incógnitas in varios nodos iniciales, usando uno de los métodos de un paso y solo después
arrancar la iteración por método de multipasos
-Métodos “predictor-corrector”
En análisis numérico, los métodos de predicción-corrección pertenecen a una clase de algoritmos diseñados para integrar
ecuaciones diferenciales ordinarias - para encontrar una función desconocida que satisface una ecuación diferencial dada. Todos
estos algoritmos de proceder en dos pasos:
- La "predicción" paso inicial, comienza a partir de una función ajustada a la función de los valores y los valores derivados en un
conjunto anterior de puntos de extrapolar ("anticipar") el valor de esta función en un nuevo punto posterior.
- El siguiente, "corrector" paso refina la aproximación inicial utilizando el valor predicho de la función y otro método para
interpolar el valor de esa función desconocida en el mismo punto posterior
-Algoritmos auto-adaptivos
Los algoritmos adaptativos son aquellos que modifican su conducta durante su ejecución, atendiendo a los cambios que se
producen en su entorno o en el propio programa.
1.2 Algoritmos de Euler y de Runge-Kutta para simular el movimiento de una partícula
- A continuación resumimos algunas de las técnicas numéricas que se basan en los métodos de diferencias finitas para la solución
de las ecuaciones del movimiento de Newton (1) con funciones de fuerza , tF r, v dadas por unos leyes de física independientes.
El método de diferencias finitas para el problema de Cauchy (1), (2) incluye los siguientes pasos:
-1) Definición de una malla discreta equidistante de N+1 nodos para la variable del tiempo con la separación h t entre los
nodos adyacentes:
1; 0,1, 2, , ;n n n Nt n h n N h t t t t N (6)
-2) Para los vectores desconocidos , , , ,t t t t tr v F r v en los momentos del tiempo correspondientes a los nodos de la
malla se usan las notaciones
; , , , ; 0,1, 2, ,n n n n n n n nt t t t t n N r r v v F F r v (7)
-3) A partir de las ecuaciones diferenciales (1) se establecen las relaciones de recurrencia aproximadas;
1 1, , ; , , ; ; 0,1, 2, , 1; 2,3,pn n n p n n n p pR h Q h O h n N p r r v v r v (8)
Aquí p se llama el error del método, y p-el orden del método y las funciones R y Q definen un procedimiento, que permite
expresar los vectores desconocidos 1 1,n n r v en el nodo 1n a través de los vectores conocidos ,n nr v en el nodo n.
-4) Sustituyendo sucesivamente en las relaciones der recurrencia (8) 0,1, 2, , 1n N se encuentran los valores de los vectores
de la posición y de la velocidad en los momentos del tiempo correspondientes a todos nodos de la malla
Las relaciones de recurrencia (8) definen la complejidad y la precisión del método. Generalmente, más sencillos son las
relaciones menor es la precisión método. Error del método es más pequeño cuanto más alto es el orden del método. Por ejemplo,
si escogeremos el paso de la malla 0.01h , entonces el error del método de segundo orden 2p es 4
2 10 (en el cuarto
digito de decimales), mientras que para un método de cuarto orden 4p el error del método es 8
2 10 (en el octavo digito
de decimales). Para simplificar nuestras notaciones en el proceso de derivación de las fórmulas de recurrencia tendremos en
cuenta que las ecuaciones del movimiento de una partícula (1) pueden escribirse en la forma
,; ;
d t d t tt t t
dt dt m
r v F r, vv a a (9)
El objetivo de los métodos de diferencias finitas consiste en determinar los valores de los vectores 1 1,n n r v en el
momento del tiempo 1nt a partir de los valores conocidos de vectores ,n nr v en el momento del tiempo nt . Para analizar la
evolución de los vectores ,t tr v entre los nodos n y 1n utilizaremos la expansión de las funciones subintegrales en las
series de Taylor:
2 12 1
1 1 2 1
12 1
1
2 12 1
1 1 2 1
1 1 1
1! 2! 2!
1 1
2 2!
1 1 1
1! 2! 2!
1
2
pn n n p p
n n n n p
pn p p
n n n p
pn n n p p
n n n n p
nn n
d t d t d tt t h t h h h O h
dt dt dt
d th h h O h
dt
d t d t d tt t h t h h h O h
dt dt dt
dh h
dt
r r rr r r r
rr v a
v v vv v v v
av a
22 1
2
1; ,
2!
pp pn
n n n np
dh O h t m
dt
aa F r , v
(10)
Todos algoritmos que se basan en las relaciones de recurrencia (10) se llaman métodos de Euler-
1.1.1 Algoritmos de Euler
Algoritmo de Euler simple (de segunda orden)
Restringimos las expansiones en las series de Taylor (10) hasta los términos de la primera orden respecto h
21
2 21
;
,
n n n
n n n n n n n
h O h
h O h h t m O h
r r v
v v a v F r , v (11)
Según (11) el error de truncamiento local, o el error en cada paso de tiempo, es del orden2h . Al llegar al punto final de la malla
hay que hacer 1N h pasos, durante los cuales el error local se acumula formando el error global sobre el tiempo de interés.
Debido a la acumulación de errores de un paso el error global del método de Euler simple definido por las relaciones de
recurrencia (11) es de orden Euler h . El algoritmo de Euler por eso es un ejemplo de un algoritmo de primer orden.
Algoritmo de Euler-Cromer
El algoritmo de Euler simple es asimétrico debido a que en las formulas (11) se utiliza la información sobre la velocidad y de
aceleración solamente al comienzo del intervalo 1n nt t t . La precisión del algoritmo de Euler es limitada y por eso con
frecuencia sus soluciones no son estables. Una posible forma de modificar el algoritmo de Euler es utilizar en la primera fila de
las ecuaciones (11) la velocidad en el final del intervalo para obtener la nueva posición. Esta modificación del método de Euler se
llama el algoritmo de Euler-Cromer:
2 21
21 1
,
;
n n n n n n n
n n n
h O h h t m O h
h O h
v v a v F r , v
r r v (12)
El algoritmo de Euler de punto medio
Una manera más simple para mejorar el algoritmo de Euler es utilizar la velocidad media durante el intervalo 1n nt t t en la
primera fila de las ecuaciones (11) para obtener la nueva posición. El algoritmo de punto medio correspondiente se puede escribir
como
2 21
31 1
,
2 ;
n n n n n n n
n n n n
h O h h t m O h
h O h
v v a v F r , v
r r v v (13)
El algoritmo de punto medio se obtiene una precisión local de tercera orden para la posición y la precisión de segunda orden para
la velocidad y una precisión global de segundo orden para la posición y la precisión de primer orden para la velocidad
(¡demuéstrelo!). Aunque la aproximación del punto medio da resultados exactos para la aceleración constante, no suele producir
resultados mucho mejores que el algoritmo de Euler simple. De hecho, ambos algoritmos son igualmente pobres porque los
errores aumentan bastante rápido con cada paso de tiempo.
El algoritmo de Euler-Richardson de medio paso
Un algoritmo de orden superior cuyo error está acotado es el algoritmo de medio paso. En este algoritmo, la velocidad media
durante un intervalo se toma para ser la velocidad en el medio del intervalo. El algoritmo de media paso se puede escribir como
3 31 2 1 2 1 2
31 1 2
,n n n n n n n
n n n
h O h h t m O h
h O h
v v a v F r , v
r r v (14)
Anótese que el algoritmo de media a paso no es de arranque automático, es decir, (14) no nos permite iniciar el proceso iterativo
poniendo en la primera ecuación 0n para encontrar 1 2v por no saber el valor 1 2v . Esta dificultad se puede superar mediante
la adopción del algoritmo de Euler simple para hallar el valor 1 2v
1 2 0 0 0 0 0 02 2 ,h h t m v v a v F r , v (14a)
Debido a que el algoritmo de medio paso la precisión local mayor orden que los algoritmos anteriores, es un algoritmo más estable
y se encuentra con mayor frecuencia en diferentes libros de texto. Una ventaja del algoritmo de Euler-Richardson es que las
cantidades 2 1r r y 2 1v v dan en este algoritmo una estimación del error del método y pueden utilizarse como las
estimaciones para cambiar el paso de tiempo de modo que el error esté siempre dentro de un cierto nivel de precisión deseado. Se
puede además demostrar que el algoritmo de Euler-Richardson es equivalente a la de segundo orden algoritmo de Runge-Kutta
(que se consideran a la siguiente sección).
El algoritmo “leapfrog” (pídola) Uno de los algoritmos de orden superior y libre de errores más comunes fue propuesto llamado “leapfrog” (pídola) fue propuesta
por Verlet. Consideremos dos expansiones en series de Taylor para dos vectores de posición:
2 3 2 31 12 ; 2n n n n n n n nh h O h h h O h r r v a r r v a
Si sumamos estas dos igualdades los términos de expansión de ordenes impares se cancelan y se obtiene
2 4 2 41 1 1 12 2n n n n n n n nh O h h O h r r r a r r r a
Similarmente si restamos estas dos igualdades podemos encontrar la expresión para la velocidad en el nodo número n:
3 31 1 1 12 2n n n n n nh O h h O h r r v v r r
Relaciones de recurrencia para el método “leapfrog” finales son:
2 4 2 41 1 1
31 1
2 2 ,
2
n n n n n n n n n
n n n
h O h h t m O h
h O h
r r r a r r F r , v
v r r (15a)
Anótese que el error global asociado con el algoritmo (15a) es de tercer orden para la posición y de segundo orden para la
velocidad. Sin embargo, la velocidad no juega ningún papel en la integración de las ecuaciones de movimiento. Debido a que las
partes derechas de las recurrencias (15a) tienen dos incógnitas este algoritmo no permite un arranque automático, otro algoritmo
debe utilizarse para obtener los primeros términos. Un problema adicional es que la nueva velocidad en (15a) se encuentra
mediante el cálculo de la diferencia entre dos cantidades del mismo orden de magnitud. Dicha operación resulta en una pérdida de
precisión numérica y puede dar lugar a errores por redondeo significativos. Por esta razón, es preferible usar otro esquema del
algoritmo “leapfrog” similar a (15a) que se deduce a partir del mismo y es equivalente a (15a)
2 31
4 41 1 1 1 1
2
2 , , 2
n n n n
n n n n n n n n n n n
h h O h
h O h h t t m O h
r r v a
v v a a v F r , v F r , v (15b)
La dificultad con este último algoritmo consiste en que la velocidad 1nv en la segunda ecuación entra en una forma implícita y se
necesita elaborar un método especial para encontrarla, mientras que el vector 1nr s puede hallar directamente a partir de la
primera ecuación (15).
Ejemplo 1
Una partícula de masa 1kg se arranca a lo largo de eje X a partir de punto 0 0x con la velocidad 0v 50 /m s . Suponiendo que
sobre partícula actúa la fuerza 10 2 5 10 2 5vF x x x . Encuéntrese las relaciones de recurrencia para el método de Euler
de tercer orden.
Solución Las ecuaciones dinámicas correspondientes al problema Cauchy son:
0 0
v , v,v ; 10 2 5v; 0; v 50
dx t d t F r tt x x
dt dt m (E1)
Escogeremos la malla , 0,1, 2,nt h n n sobre la cual se cumplen las siguientes relaciones
2 32 3 4
1 2 3
2 32 3 4
1 2 3
1 1 1
1! 2! 3!
v v v1 1 1v v v
1! 2! 3!
n n nn n n
n n nn n n
dx t d x t d x tx x t h x t h h h O h
dt dt dt
d t d t d tt h t h h h O h
dt dt dt
(E2)
Usando las ecuaciones dinámicas (E1) uno puede expresar los valores de las derivadas en (E2) en los términos de las funciones en
el nodo número n:
2
2
2 3
2 3
3
3
v; v v ; 10 2 5v ;
v v2 5 2v 5 10 2 5v 50 10 27v ;
v v10 27 10v 27 10 2 5v 270 54 135v
n n nn n n n n n
n n n nn n n n n
n n nn n n n n
dx t d t d x tx t x t x
dt dt dt
d t d x t dx t d tx x
dt dtdt dt
d t dx t d tx x
dt dtdt
(E3)
Sustituyendo las derivadas (E3) en (E2) se obtiene:
2 3 41 0 0
2 3 41
1 1v 10 2 5v 50 10 27v ; 0;; v 50
2 6
1 1v v v 10 2 5v 50 10 27v 270 54 135v
2 6
n n n n n n n
n n n n n n n n n
x x h x h x h O h x
t x h x h x h O h
(E4)
Este ejemplo muestra como en cada caso particular se puede obtener las relaciones de recurrencia para pos algoritmos de Euler de
unos órdenes superiores
1.1.2 Métodos de Runge-Kutta
Una clase de algoritmos para resolver el problema de Cauchy para un sistema de las ecuaciones diferenciales muy
conveniente y ampliamente utilizado son los algoritmos de Runge-Kutta, que vienen en diferentes órdenes de precisión. A
continuación consideremos una versión más simple del algoritmo de Runge_Kutta de segunda orden para dar una idea como se
deduce la ecuación similar de uso general del método de Ruinge-Kutta de cuarto orden.
Para analizar la evolución de los vectores ,t tr v entre los nodos n y 1n consideremos en lugar de las ecuaciones
diferenciales (9), las ecuaciones integrales, que se obtienen al integrar ambas partes de las ecuaciones (9) desde el nodo nt hasta un
punto t , situado dentro del intervalo 1n n nt t t t h :
1; ; ; ,
n n
t t
n n n
t t
t d t d t t t m r r v v a a F r , v (16)
Poniendo en estas ecuaciones 1n nt t t h se obtiene:
1 1
1 1; ; ,n n
n n
t
n n n n
t t
d t d m
r r v v v a a F r , v (16a)
El cálculo aproximado de las integrales lo realicemos utilizando la expansión de la función subintegral en serie de Taylor
alrededor del punto correspondiente a la mitad del intervalo:
3 31 1 2 1 1 2 1 2 1 2; ,n n n n n n n nt h O h t h t t t m O h r r v v v F r , v (16b)
Aquí el error surge del término cuadrático en la serie de Taylor, puesto que el término lineal al integrar se anula. Aunque a la
primera vista parece lo que para realizar el paso (16b) necesitamos saber los valores de las funciones desconocidos en la mitad del
intervalo que aparecen en las partes derecha, pero esto no es absolutamente cierto. En realidad, ya que el término de error es de
orden de 3O h cualquiera aproximación de las funciones en el punto 1 2nt cuya error es de orden 2O h ) es lo suficientemente
buena. Esto es lo que es exactamente proporciona por el simple método de Euler, la ecuación (14a).
2 21 2 1 22 ; 2 ; ,n n n n n n n n n nh O h h O h t m r r v v v a a F r , v (16c)
Por lo tanto, se obtiene el siguiente procedimiento en dos etapas (primero 16c y después 16b) que permiten expresar los valores
1 1,n n r v en términos ,n nr v y esto es un algoritmo de Runge-Kutta de segundo orden.
Esquemas de Runge-Kutta de órdenes superiores se pueden elaborar de una manera similar. Con esta fin se puede utilizar para
aproximar las integrales (16a) diferentes fórmulas de cuadraturas que expresan el resultado de integración mediante una suma
finita de los valores de las funciones subintegrales en los puntos intermedias.. Por ejemplo, usando la regla de Simpson tenemos:
51 1 2 1
51 1 2 1
4 ;6
4 ; ,6
n n n n n
n n n n n
ht t t O h
ht t t t O h m
r r v v v
v v a a a a F r , v
El siguiente algoritmo de Runge-Kutta de cuarto orden, que se obtiene en la base de estas cuadraturas y que requiere una
evaluación de la función subintegral cuatro veces para cada paso de integración y tiene un error local de 5O h ha sido
encontrado experimentalmente como un mejor compromiso entre la precisión y el esfuerzo computacional se puede escribir de la
siguiente manera:
1 2 3 4 1 2 3 45 51 1
1 1
2 1 2 1 1
3 2 3 2 2
4 3 4 3 3
2 2 ; 2 2 ;6 6
; , ;
2 : 2 2, 2 ;
2 : 2 2, 2 ;
: ,
n n n n
n n n n
n n n n
n n n n
n n n n
h hO h t O h
t m
h h h t h m
h h h t h m
h h h t
r r v v v v v v a a a a
v v a F r , v
v v a a F r v , v a
v v a a F r v , v a
v v a a F r v , v a ;h m
(17)
Ejemplo 2
Una partícula de masa 1kg se arranca a lo largo de eje X a partir de punto 0 0x con la velocidad 0v 50 /m s . Suponiendo que
sobre partícula actúa la fuerza vF x x x encuéntrese relaciones de recurrencia para método de Runge-Kutta de 4ta orden.
Solución Las ecuaciones dinámicas correspondientes al problema Cauchy son:
0 0
v x, vv ; v; 0; v 50
dx t d t Ft a x x
dt dt m (E1)
Escogeremos la malla 1 1 1 1, 0,1, 2, v v v v vn n n n n n n n n n nt h n n x t x t x t x t h x t t h
Hay que establecer relaciones entre 1 yn nx x y 1v y vn n
1 2 3 4 1 2 3 45 51 1 0 0
1 1n n n
2 1 2 1 1
3 2
v +2v +2v +v ; v v 2 2 ; ; 0; v 50; 1, 2,6 6
v =v ; = F ,v v ;
v v 2 v v 2; v 2 v 2 v 2 v v 2
v v 2 v v 2
n n n n
n n
n n n n n n n n n n n
n n n n
h hx x O h t a a a a O h x n
a x m x
a h x h a F x h a h m x h x h
a h x h
,
3 2 2
4 3
4 3 3
v v 2 2; v 2 v 2
v v 2 2 v v 2 v v 2 2 ;
v v v v v 2 2 v v 2 v v 2 2 ;
v v v v 2 v
n n n n n
n n n n n n n n n n
n n n n n n n n n n n n
n n n n n n
x h h a F x h a h m
x x h h x h x h h
a h x x h h x h x h h h
a F x h a h m x x h
,
,
v 2
v v v 2 2 v v 2 v v 2 2 ;
n n n
n n n n n n n n n n n
x h h
x x h h x h x h h h
1.3 Ejemplo simple: Simulación de la caída libre
Una de las formas en que la ciencia progresa es haciendo modelos. Si el modelo es lo suficientemente detallado, podemos
determinar su conducta y luego comparar el comportamiento con los experimentos. Esta comparación puede dar lugar a la
verificación del modelo, los cambios en el modelo, y estimular otras simulaciones y experimentos. En el contexto de la
simulación por computador, por lo general tenemos que a partir de un conjunto de datos iniciales, determinar el comportamiento
dinámico del modelo numérico, y generar los datos en forma de tablas de números, gráficos y animaciones. Comenzamos con un
ejemplo sencillo para ver cómo funciona este proceso.
Imagínese una partícula puntual de masa m está sujeta a una sola fuerza, la fuerza de la gravedad. Suponemos que la fricción
del aire es despreciable, y la fuerza gravitacional está dada por
F mg (1.3.1)
Aquí g=9,8 N/kg. Para que nuestro ejemplo sea máximo posible simple consideremos sólo el movimiento vertical y definimos la
coordenada vertical Y definida como positiva en la dirección hacia arriba, denotemos t como el tiempo, F como la fuerza total
sobre la partícula. Según la segunda ley de Newton:
m y t F (1.3.2)
Si sustituimos (1.3.1) en (1.3.2) y suponemos que la posición del balón en el momento inicial es 00y y y la velocidad inicial
0v(0) 0 vy esto conduce al siguiente problema de Cauchy:
0 0=v: v ; 0 ; 0 vdy dt d dt g y y y (1.3.3)
Las relaciones (1.3.1) y (1.3.2) presentan un modelo matemático para analizar el movimiento de la partícula. En este caso, el
modelo tiene una la forma de un problema de Cauchy para una ecuación diferencial de segundo orden. Para este caso particular el
modelo tiene la solución analítica exacta:
20 0 0 v 2; v vy t y t g t t g t (1.3.4)
Sin embargo, vamos a analizar el movimiento de una partícula en caída libre numéricamente mediante métodos
computacionales con el fin de comparar las discrepancias de diferentes algoritmos con la solución exacta que nos servirá como
una guía para escoger un método aceptable para analizar los sistemas para los cuales la solución analítica no se conoce. Uno para
escoger un método numérico aceptable siempre tiene que buscar un compromiso entre el “costo” de cálculo y tolerancia (el nivel
del error aceptable). Por ejemplo, si uno quiere calcular el valor de una función usando su expansión en serie de Taylor, entonces
tiene que buscar un compromiso entre el número de términos que se utilizan para el cálculo (la tolerancia) y el “costo” (tiempo de
cálculo). Es claro mayor el número de términos que se tienen en cuenta, el menor es la tolerancia (el error) y el mayor es el costo
(tiempo del cálculo).
Con el fin de aplicar diferentes métodos numéricos reducimos ecuación (1.3.3) de segundo orden a dos ecuaciones
diferenciales de primer orden:
0 0v; v= ; 0 ; v 0 vy t g y y (1.3.5)
Para la variable independiente (el tiempo) escogeremos una malla equidistante , 0,1, 2,nt n h n y denotemos
, v vn n n ny t y t Coordenadas y velocidades , vn ny se encuentran uno por uno usando las relaciones de recurrencia desde
más sencillas como en el caso del algoritmo de Euler simple hasta más complicados como en el caso de método de Runge-Kutta
de cuarto orden
1) Algoritmo de Euler simple
1 1v ; , 0,1, 2,n n n n ny y h g h n v v (1.3.6)
Poniendo en estas relaciones 0n (el primer paso de iteración) se obtiene 1 0 0 1 0v ; v vy y h g h , y comparando estas
relaciones exactas con (1.3.4) se ve que para este caso particular, en el método de Euler simple (1.3.6) la fórmula para la velocidad
coincide con la exacta, teniendo en cuenta que t h , mientras que la fórmula para la coordenada tiene el error de orden 2O h .
2) Algoritmo de Euler-Cromer
Utilizaremos en la primera de las ecuaciones (1.3.6) la velocidad en el final del intervalo para obtener la nueva posición. Esta
modificación del algoritmo de Euler llamada Euler-Cromer: tiene la forma:
1 1 1, v ; 0,1, 2,n n n n ng h y y h n v v (1.3.7)
3) El algoritmo de Euler de punto medio
Una manera más simple para mejorar los dos algoritmos anteriores es utilizar la velocidad media durante el intervalo
1n nt t t en la segunda de las ecuaciones (1.3.7) para obtener la nueva posición. El algoritmo de punto medio correspondiente
se puede escribir como
1 1 1, v +v 2; 0,1, 2,n n n n n ng h y y h n v v (1.3.8)
El algoritmo de punto medio se obtiene una precisión local de tercera orden para la posición y la precisión de segunda orden para
la velocidad y una precisión global de segundo orden para la posición y la precisión de primer orden para la velocidad
(¡demuéstrelo!). Aunque la aproximación del punto medio da resultados exactos para la aceleración constante, no suele producir
resultados mucho mejores que el algoritmo de Euler simple. De hecho, ambos algoritmos son igualmente pobres porque los
errores aumentan bastante rápido con cada paso de tiempo.
4 El algoritmo de Euler-Richardson de medio paso
Un algoritmo de orden superior cuyo error está acotado es el algoritmo de medio paso. En este algoritmo, en la calidad de la
velocidad media durante un intervalo se toma la velocidad en el medio del intervalo. El algoritmo de media paso se escribe como
1 2 1 2 1 1 2v v ; v ; 0,1, 2,n n n n ng h y y h n (1.3.9)
Anótese que el algoritmo de medio paso no es de arranque automático, es decir, (1.3.9) no nos permite iniciar el proceso iterativo
poniendo en la primera ecuación 0n para encontrar 1 2v por no saber el valor 1 2v . Esta dificultad se puede superar mediante
la adopción del algoritmo de Euler simple para hallar el valor 1 2v : 1 2 0v v 2g h
Debido a que en el algoritmo de medio paso la precisión local es de mayor orden que en los algoritmos anteriores, este algoritmo
es más estable y se encuentra con mayor frecuencia en diferentes libros de texto.
5) El algoritmo “leapfrog” (pídola)
Uno de los algoritmos de orden superior y libre de errores más comunes se llama “leapfrog” (pídola). Consideremos dos
expansiones en series de Taylor para dos vectores de posición:
2 3 2 31 1v 2 ; v 2n n n n n ny y h g h O h y y h g h O h
Sumando una vez y restando otra después de unas manipulaciones algebraicas se obtienen las relaciones de recurrencia para el
método “leapfrog” finales:
2 4 31 1 1 12 ; v 2n n n n n ny y y g h O h y y h O h (1.3.10)
Anótese que el error global asociado con el algoritmo (15a) es de tercer orden para la posición y de segundo orden para la
velocidad. Sin embargo, la velocidad no juega ningún papel en la integración de las ecuaciones de movimiento. Debido a que las
partes derechas de las recurrencias (15a) tienen dos incógnitas este algoritmo no permite un arranque automático, otro algoritmo
debe utilizarse para obtener los primeros términos. Un problema adicional es que la nueva velocidad en (1.3.10) se encuentra
mediante el cálculo de la diferencia entre dos cantidades del mismo orden de magnitud. Dicha operación resulta en una pérdida de
precisión numérica y puede dar lugar a errores por redondeo significativos. Por esta razón, es preferible usar otro esquema del
algoritmo “leapfrog” similar a (1.3.10) que se deduce a partir del mismo y es equivalente a (1.3.10)
2 3 41 1v 2 ; v vn n n n ny y h g h O h g h O h (1.3.11)
6) El algoritmo de Runge-Kutta de cuarto orden
El siguiente algoritmo de Runge-Kutta de cuarto orden, que tiene un error local de 5O h para nuestro caso particular se puede
escribir de la siguiente manera:
1 2 3 4 1 2 3 45 51 1
1 2 3 4 1 2 3 4
v 2v 2 ; 2 2 ;6 6
v v ; v v v 2 v v ; ;
n n n n
n n n
h hy y O h t a a a a O h
g h g h a a a a g
v v v v (1.3.12)
Problema 1.3.1 La comparación de algoritmos de Euler y Runge-Kutta
(A) Escriba un programa que analiza el proceso de la caída libre en el cual una partícula se lanza hacia arriba desde una altura
inicial 0y con una velocidad inicial 0V , utilizando método de Euler simple. En el programa los parámetros de entrada
son 0y , 0V y el paso de la malla del tiempo h t . El programa debe calcular las coordenadas y velocidades
,n n n ny y t V V t sobre la malla hasta que 0n ny y t y presentar los resultados en la forma de una tabla de
cinco columnas, en la primera columna el tiempo nt , en las siguiente dos columnas valores calculados ,n ny V , en la
cuarta y quinta los errores del cálculo exact ny y y exact nV V , donde valores exactos de la coordenada y de la
velocidad se calculan usando las fórmulas (1.3.4(
(B) Para diferentes valores de 0y , 0V y los pasos de la malla del tiempo 0.1,0.05, 0.01,0.001h t determine el error
numérico en la posición y la velocidad final. Es el algoritmo original de Euler estable para este sistema? ¿Qué ocurre si
se ejecuta por más tiempo (cuando 0y , 0V se aumentan significativamente)?
(C) Repita las partes (A, B) utilizando el algoritmo de Euler-Cromer, Euler-Richardson, y “leapfrog”. ¿Cuál algoritmo
funciona mejor?
(D) Modifique los programas para que se calcula la energía total,2 / 2 E V g y y discrepancias 0D E E donde
20 0 0 / 2 E V g y es la energía inicial y coloque los valores E y D en la sesta y séptima columnas de la tabla.
Cómo la energía total se conserva para diferentes algoritmos? Ten en cuenta también la cantidad.
(E) Extienda el programa para que este encuentre a partir de los datos de la tabla los valores maxy , altura máxima de la
trayectoria y T , el tiempo de vuelo hasta llegar a la tierra y compare los resultados del cálculo con las fórmulas exactas.
La solución de las ecuaciones dinámicas en la base de la segunda Ley de Newton para una partícula bajo una fuerza constante
como para el caso de la casida libre en las ecuaciones (1.3. 4) se conocen en la forma exacta y por eso el análisis numérico en
este caso presente solamente un interés restringido como una prueba de estabilidad y restricciones que pueden tener
correspondientes algoritmos. Las ecuaciones dinámicas para la mayoría sistemas de interés no se puede resolver en la forma
analítica y en estos casos la única opción es usar los métodos numéricos. A continuación consideremos casos cada vez un
poco más complicados, cuando conseguir una solución analítica o es muy complicado o imposible.
1.4 Movimiento de una partícula en 1D bajo fuerza potencial
Consideremos el movimiento de una partícula a lo largo de eje y bajo una fuerza F y que depende solamente del a
posición de la partícula. Para este caso a cada fuerza definida en la función de coordenada se puede poner en concordancia una
energía potencial definida como la primitiva de F y :
F y V y V y F y dy (1.4.1a)
Por esta razón las fuerzas de este tipo en 1D pueden considerarse como potenciales y para estas fuerzas se cumple la Ley de
conservación de la energía mecánica:
2 2E K V m y V y const (1.4.1b)
El problema de Cauchy en este caso para dos ecuaciones diferenciales de primer orden tiene la siguiente forma:
0 0v; v= ; 0 ; v 0 vy t a y y y (1.4.2)
Aquí la dependencia de la aceleración de la coordenada está definida como:
a y F y m (1.4.3)
Igual como en el párrafo anterior introduciremos una malla equidistante del tiempo , 0,1, 2,nt n h n y usaremos
denotaciones , v vn n n ny t y t Coordenadas y velocidades , vn ny se encuentran uno por uno usando las relaciones de
recurrencia desde más sencillas como en el caso del algoritmo de Euler simple hasta más complicados como en el caso de método
de Runge-Kutta de cuarto orden
1) Algoritmo de Euler simple
1 1v ; , 0,1, 2,n n n n n ny y h a y h n v v (1.4.4)
El error de orden 2O h .
2) Algoritmo de Euler-Cromer
Utilizaremos en la primera de las ecuaciones (1.3.6) la velocidad en el final del intervalo para obtener la nueva posición. Esta
modificación del algoritmo de Euler llamada Euler-Cromer: tiene la forma:
1 1 1v v , v ; 0,1, 2,n n n n n na y h y y h n (1.4.5)
El error de orden 2O h .
3) El algoritmo de Euler de punto medio
En este algoritmo se utiliza la velocidad media durante el intervalo 1n nt t t en la segunda de las ecuaciones (1.4.5) para
obtener la nueva posición. El algoritmo de punto medio correspondiente es:
1 1 1v +v 2; 0,1, 2,n n n n n n na y h y y h n v v (1.4.6)
El algoritmo de punto medio se obtiene una precisión local de tercera orden para la posición y la precisión de segunda orden para
la velocidad y una precisión global de segundo orden para la posición y la precisión de primer orden para la velocidad.
4) El algoritmo de Euler-Richardson de medio paso
Un algoritmo de orden superior cuyo error está acotado es el algoritmo de medio paso. En este algoritmo, en la calidad de la
velocidad media durante un intervalo se toma la velocidad en el medio del intervalo. El algoritmo de media paso se escribe como
1 2 1 2 1 1 2v v ; v ; 0,1, 2,n n n n n na y h y y h n (1.4.7)
El algoritmo de medio paso no es de arranque automático, es decir, (1.4.7) no nos permite iniciar el proceso iterativo poniendo en
la primera ecuación 0n para encontrar 1 2v por no saber el valor 1 2v . Esta dificultad se puede superar mediante la adopción
del algoritmo de Euler simple para hallar el valor 1 2v : 1 2 0 0v v 2a y h
Debido a que en el algoritmo de medio paso la precisión local es de mayor orden que en los algoritmos anteriores, este algoritmo
es más estable y se encuentra con mayor frecuencia en diferentes libros de texto.
5) El algoritmo “leapfrog” (pídola)
Uno de los algoritmos de orden superior y libre de errores más comunes se llama “leapfrog” (pídola). Consideremos dos
expansiones en series de Taylor para dos vectores de posición:
2 3 2 31 1v 2 ; v 2n n n n n n n ny y h a y h O h y y h a y h O h
Sumando una vez y restando otra después de unas manipulaciones algebraicas se obtienen las relaciones de recurrencia para el
método “leapfrog” finales:
2 4 31 1 1 12 ; v 2n n n n n n ny y y a y h O h y y h O h (1.4.8a)
El error global asociado con el algoritmo (1.4.8a) es de tercer orden para la posición y de segundo orden para la velocidad. Sin
embargo, la velocidad no juega ningún papel en la integración de las ecuaciones de movimiento. Debido a que las partes derechas
de las recurrencias (1.4.8a) tienen dos incógnitas este algoritmo no permite un arranque automático, y otro algoritmo debe
utilizarse para obtener los primeros términos. Un problema adicional es que la nueva velocidad en (1.4.8a) se encuentra mediante
el cálculo de la diferencia entre dos cantidades del mismo orden de magnitud. Dicha operación resulta en una pérdida de precisión
numérica y puede dar lugar a errores por redondeo significativos. Por esta razón, es preferible usar otro esquema del algoritmo
“leapfrog” similar a (1.3.10) que se deduce a partir del mismo y es equivalente a (1.4.8a)
2 3 41 1 1v 2 ; v v 2n n n n n n n ny y h a y h O h a y a y h O h (1.4.8b)
6) El algoritmo de Runge-Kutta de cuarto orden
El siguiente algoritmo de Runge-Kutta de cuarto orden, que tiene un error local de 5O h para nuestro caso particular se puede
escribir de la siguiente manera:
1 2 3 4 1 2 3 45 51 1
1 1
2 1 2 1
3 2 3 2
4 3 4 3
v 2v 2 ; 2 2 ;6 6
v v ; ;
v v 2; v 2
v v 2; v 2
v v ; +v
n n n n
n n
n n
n n
n n
h hy y O h t a a a a O h
a a y
a h a a y h
a h a a y h
a h a a y h
v v v v
(1.4.9)
A) Fuerza gravitacional
El análisis del proceso de caída libre presentado en el párrafo anterior es válido solo para el
caso cuando el movimiento de la partícula sucede cerca de la Tierra, es decir la altura y es mucho
menor del radio de la Tierra R 66400 6.4 10R km m . Sin embargo, no es difícil extender el
análisis numérico para alturas grandes a pesar de que soluciones analíticas simples para este caso no
se consiguen. Según la Ley de Newton de gravitación la fuerza atracción entre una partícula de
masa m y la Tierra cuya masa denotemos como M es igual a:
2 2 22 1 1g
G M m G M m gF y m
R y R y R y R
(1.4.10a)
En el caso cuando la distancia hasta la Tierra es mucho menor que el radio de la misma se puede utilizar la siguiente aproximación
que resulta desde la expansión de la expresión (1.4.10) en la serie de Taylor (¡demuéstrelo!)
2
1 2 1 2 ,g
G MF y m y R m g y R si y R
R
(1.4.10b)
Aquí .11 3 26.67 10G m kg s es la constante gravitacional y 2
29.8 /
G Mg m s
R
es la aceleración gravitacional de caída
libre. Las expresiones (1.4.10) definen una fuerza que depende de la posición de la partícula y se ve esta dependencia se hace
despreciable cuando y R .
A la fuerza gravitacional (1.4.10) le corresponde la energía potencial (la primitiva de esta función)
2 3 2
1 1
G M m G M m m g R m g yV y m g R m g y y R y R
R y R y R y R
(1.4.11a)
Para este sistema la Ley de conservación de la energía mecánica (1.4.1b) se puede utilizar en el cálculo en la siguiente forma:
2
2 1
y g yE m const
y R
(1.4.11b)
Para aplicar los algoritmos 1)-6) en este caso hay que tener en cuenta que la dependencia de la aceleración de la posición de la
partícula ga y F y m según las fórmulas (1.4.10) es:
2
1 21
ga y g y R
y R
(1.4.12)
B) Resorte anarmónico
Otro ejemplo de sistemas dinámicos con las Fuerzas Potenciales son
sistemas oscilatorios. Por ejemplo, en el caso más simple de una masa conectada a
un resorte con el coeficiente de elasticidad k, la fuerza restauradora (un poco más
allá de la Ley de Hook) depende del desplazamiento dela masa desde posición de
equilibrio y como:
2 3F y m y y (1.4.13a)
Aquí el primer término ese llama armónico y se debe a las fuerzas de elasticidad y el segundo, anarmónico, se debe a plasticidad
de la resorte. El parámetro llamaremos el coeficiente de plasticidad. Para las oscilaciones pequeños (armónicas) aporte de este
término es despreciable y se puede en las fórmulas poner 0 . A la fuerza (1.413a) le corresponde la energía potencial:
2 2 22 1 2V y F y dy m y y (1.4.13b)
Para este sistema la Ley de conservación de la energía mecánica (1.4.1b) se puede utilizar en el cálculo en la siguiente forma:
2
2 2 22 1 22
yE m y y const (1.4.13c)
Para aplicar los algoritmos 1)-6) en este caso hay que usar para la dependencia de la aceleración a del desplazamiento y desde la
posición del equilibrio del bloque ga y F y m la siguiente expresión:
2 2 6 3a y y m y (1.4.14)
Para el caso de las oscilaciones pequeñas (armónicas) en la expresión (1.4.14) hay que poner 0
C) Péndulo matemático : desde las oscilaciones hacia la rotación
´ El péndulo simple (también llamado péndulo matemático o péndulo ideal) es un
sistema idealizado constituido por una partícula de masa m que está suspendida de un
punto fijo mediante un hilo de la longitud L inextensible y sin peso. Naturalmente es
imposible la realización práctica de un péndulo simple, pero si es accesible a la teoría.
Para determinar la naturaleza de las oscilaciones deberemos escribir la ecuación del
movimiento de la partícula. La partícula se mueve sobre un arco de circunferencia bajo la
acción de dos fuerzas: su propio peso (mg) y la tensión del hilo (N), siendo la fuerza motriz
la componente tangencial del peso. Aplicando la segunda ley de Newton obtenemos:
sint tF m g y m a (1.4.15a)
siendo y el ángulo de la rotación, ta la aceleración tangencial y donde hemos incluido el signo negativo para manifestar que la
fuerza tangencial tiene siempre sentido opuesto al desplazamiento (fuerza recuperadora). Al tratarse de un movimiento circular,
podemos relacionar la velocidad de rotación v con la velocidad angular y y la aceleración tangencial vta d dt con la
aceleración angular y :
v ; tL y a L y (1.4.15b)
A la fuerza (1.413a) le corresponde la energía potencial:
cosV y F y dy m g y (1.4.15c)
Para este sistema la Ley de conservación de la energía mecánica (1.4.1b) se puede utilizar en el cálculo en la siguiente forma: 2
cos2
yE m g y const (1.4.15d)
Combinando ahora las relaciones (1.4.15a) y (1.4.15b) se puede formular el problema de Cauchy para dos incógnitas, el ángulo
y de la rotación y la velocidad de rotación v
0 0v/ ; v = sin ; 0 ; v 0 vtdy t dt L d dt a y g y y y (1.4.16)
Problema 1.4.1 El movimiento 1D de una partícula en el campo gravitacional