Está en la página 1de 8

Semana 10

Método de Stormer-Verlet

10. Métodos de Orden Superior

Las ecuaciones fundamentales de movimiento en mecánica clásica, tales como


las relacionadas con el movimiento circular de los cuerpos rígidos, sistemas resorte-
masa, etc. Se escriben en términos de ecuaciones diferenciales de segundo y tercer
orden, en las cuales la aceleración puede depender tanto de la velocidad como del
tiempo, dado esto escribiremos la ecuación general de una EDO de orden n como:

dn y
= b( y, y , y, y,...., t ) (10.1)
dt n

Estas ecuaciones requieren para su solución, en el caso del PVI, ciertos


parámetros de arranque denominados condiciones iniciales ó C.I. Para los métodos R-
K es necesario rescribir una EDO de orden superior en un sistema de ecuaciones
acopladas antes de aplicar las técnicas computacionales; sin embargo, existen
métodos más eficientes especialmente diseñados para solucionar EDO de segundo,
tercer ó cuarto orden, como veremos a continuación.

10.1 Método Stormer-Verlet

Para derivar la fórmula de Stormer, simplemente reemplazamos la segunda


derivada de la función por la aproximación de Stirling de orden más bajo DDST (n=1),
veamos, sea la siguiente ecuación diferencial:

d2y
= b ( x, y , y ' ) (10.2)
dx 2

Evaluando en algún punto xk y empleando la formulación de Stirling, obtenemos:

d 2 y ( x) d 2 y ( xk ) δ 2 y k
= = = b( xk , y k , y ' k ) = bk (10.3)
dx 2 k dxk
2
(∆x) 2

Desarrollando la ecuación (10.3), se tiene:

yk +1 = 2 yk − yk −1 + bk (∆x) 2 (10.4)

Como el término y’ no aparece explícitamente, está implícita dentro de bk y es preciso


realizar un estimado de esta cantidad; lo cual puede hacerse, definiendo a y’ = v, y
empleando la siguiente relación DST (n=1):

y ' k = vk =
1
[ yk +1 − yk −1 ] (10.5)
2∆x

Entonces la función bk quedaría como:

b( xk , y k , vk ) = bk = b( xk , y k ,
1
[ yk +1 − yk −1 ])
2∆x
La ecuación (10.5) en combinación con la ecuación (10.4), nos permite construir la
solución numérica Stormer-Verlet que es implícita.

Adicionalmente al hecho de que su precisión es baja, tenemos que tomar en


cuenta que esta fórmula no se auto inicia ya que en adición al valor inicial y0, es
necesario conocer y-1 para calcular el valor de paso siguiente.

Caso Particular:

Cuando la función no depende de la primera derivada de la variable


dependiente el método de Stormer-Verlet se convierte en explicito; para ver un
ejemplo de este caso, supongamos la siguiente ecuación conocida:

d 2θ
= −ω 0 θ = b(θ)
2
2
dt

En este caso no se aplica la ecuación (10.5), el desarrollo usando la ecuación (10.4)


resulta:
θ k +1 = 2θ k − θ k −1 + bk (∆t ) 2

Es decir:
θ k +1 = 2θ k − θ k −1 + (−ω 02θ k )(∆t ) 2

Aquí θk es la función solución de la ecuación diferencial evaluada en tk; luego θk-1, es la


función evaluada en tk-1. Si k = 0, es necesario conocer de antemano θ0 y θ-1 en
intervalos temporales homogéneos de longitud ∆t.

Caso general:

Ahora supongamos la ecuación diferencial donde si existe dependencia de la


primera derivada de la variable dependiente:

d2y
= −ω02 y − βy ' = b( y, y ' , t ) (10.6)
dt 2
Para este caso:
bk = −ω02 y k − βvk

Una vez más, si k = 0, es necesario conocer de antemano y0 y y-1; pero ahora, para
calcular v0 requeriremos del valor de y1; dado que, la ecuación (10.5) toma este valor
como dato.

Procedimiento:

Para solucionar este problema usaremos como aproximación a y1 el valor más


próximo es decir y0, lo cual es posible si la ∆t es pequeña; así, en primera
aproximación A = y0

 1 
v0 =  (A − y −1 )
 2∆t 
Luego:
y1 = 2 y0 − y−1 + (−ω02 y0 − βv0 )(∆t ) 2

En este punto evaluamos si | y1- A | ≤ Tol, si esto es así, el valor de y1 queda fijo, de lo
contrario hacemos A = (A + y1)/2 y repetimos el cálculo de v0 e y1.

Finalizado el proceso iterativo para y1 se repite la operación para k = 1 hasta que k sea
igual a N, que representa el número total de puntos a calcular.
Paralelamente al cálculo de y, debe calcularse t, incrementando en cada
cambio de k una cantidad ∆t; así, a: t-1 le corresponde el valor y-1, a: t0 = t-1 + ∆t, le
corresponde y0; a t1 = t0 +∆t, le corresponde y1 y así sucesivamente.

Ejemplo a:

Usando el método Stormer-Verlet, resolver la ecuación diferencial de segundo


orden usando Excel:

d2y
2
= 10t 2 y + 5 y ' = b(t , y, y ' )
dt

Condiciones iniciales: t0 = 0.0, tf = 1.0, N = 10, y0 = 1.5, y'0 = 2.5, TOL = 0.1

Tabla (10.1) Datos de método Stormer-Verlet.

DATOS
t0 0.00 N 10
y0 1.50 tf 1.000
y'0 = z0 2.50 TOL 0.100

Fuente: Elaboración propia.

Tabla (10.2) Proceso iterativo Stormer-Verlet.

Proceso Iterativo Stormer - Verlet


k=1
y2 y1 y0 v1 b1 A
Iteración 1 2.0643 1.7500 1.5000 1.2500 6.4250 1.7500
convergencia
0.3143 No Converge
Iteración 2 2.1035 1.7500 1.5000 2.0356 10.3531 1.9071
convergencia
0.1964 No Converge
Iteración 3 2.1281 1.7500 1.5000 2.5266 12.8082 2.0053
convergencia
0.1228 No Converge
Iteración 4 2.1434 1.7500 1.5000 2.8335 14.3426 2.0667
convergencia
0.0767 Si Converge Resultado y2 2.1434
K=2
y3 y2 y1 v2 b2 A
Iteración 1 2.6438 2.1434 1.7500 1.9671 10.6930 2.1434
convergencia
0.5004 No Converge
Iteración 2 2.7063 2.1434 1.7500 3.2180 16.9475 2.3936
convergencia
0.3127 No Converge
Iteración 3 2.7454 2.1434 1.7500 3.9998 20.8565 2.5500
convergencia
0.1955 No Converge
Iteración 4 2.7698 2.1434 1.7500 4.4885 23.2997 2.6477
convergencia
0.1222 No Converge
Iteración 4 2.7851 2.1434 1.7500 4.7939 24.8266 2.7088
convergencia
0.0763 Si Converge Resultado y3 2.7851

Fuente: Elaboración propia.

Tabla (10.3) Resultados de método Stormer-Verlet.

Resultados de Stormer-Verlet
t y
Condición
t0 0.00 1.5000 y0 Inicial
Método de
t1 0.10 1.7500 y1 Euler
t2 0.20 2.1434 y2
t3 0.30 2.7851 y3
t4 0.40 3.8617 y4
t5 0.50 5.7105 y5
Stormer -
t6 0.60 8.9517 y6
Verlet
t7 0.70 14.7621 y7
t8 0.80 25.3864 y8
t9 0.90 45.2316 y9
t10 1.00 83.1708 y10

Fuente: Elaboración propia.


Figura (10.1) Comparativa de los resultados de Stormer-Verlet con lo obtenido
por otros métodos.

Fuente: elaboración propia.

Se observa en la figura anterior que la separación de la curva producto de aplicar


en método de Euler se aleja más de la solución exacta (Exponencial) conforme se
avanza en el dominio y los métodos Adams-Bashforth y Stormer-Verlet se
mantienen mas uniformes.

Ejemplo b:

Usando el método Stormer-Verlet, resolver la siguiente ecuación diferencial:

d2y
= −2.89 y − 0.25 y ' = b( y, y ' )
dt 2

Condiciones iniciales: t0 = 0.0, tf = 1.0, N = 10, y0 = 0.0, y1 = 1.5, Es% = 0.1%

Los resultados computacionales obtenidos usando el método Stormer-Verlet son los


siguientes:

SOLUCION DE EDO DE SEGUNDO ORDEN CON C.I.


=========================================
(STORMER-VERLET)

INGRESE CONDICIONES INICIALES X0, Y0, Y1


0.0 0.0 1.5
INGRESE PUNTO FINAL DEL DOMINIO
1.0
INGRESE EL NUMERO DE PUNTOS
10
INGRESE ERROR PORCENTUAL SOLICITADO
0.1
RESULTADOS
==========
NRO. ABCISA ORDENADA
PUNTO NRO. 2
1 .2000 2.9379 95.8600
2 .2000 2.9289 31.9955
3 .2000 2.9245 13.6190
4 .2000 2.9223 6.2957
5 .2000 2.9212 3.0136
6 .2000 2.9207 1.4659
7 .2000 2.9204 .7185
8 .2000 2.9203 .3535
9 .2000 2.9202 .1742
10 .2000 2.9202 .0860
VALOR FINAL PUNTO NRO. 2 = 2.920179
PUNTO NRO. 3
1 .3000 4.2382 45.1354
2 .3000 4.2300 18.1823
3 .3000 4.2259 8.2294
4 .3000 4.2239 3.9027
5 .3000 4.2229 1.8901
6 .3000 4.2224 .9245
7 .3000 4.2222 .4544
8 .3000 4.2221 .2238
9 .3000 4.2220 .1104
10 .3000 4.2220 .0545
VALOR FINAL PUNTO NRO. 3 = 4.221969
PUNTO NRO. 4
1 .4000 5.3855 27.5583
2 .4000 5.3782 11.9591
3 .4000 5.3746 5.5716
4 .4000 5.3728 2.6764
5 .4000 5.3720 1.3040
6 .4000 5.3715 .6397
7 .4000 5.3713 .3148
8 .4000 5.3712 .1552
9 .4000 5.3712 .0766
VALOR FINAL PUNTO NRO. 4 = 5.371158
PUNTO NRO. 5
1 .5000 6.3508 18.2381
2 .5000 6.3446 8.2525
3 .5000 6.3416 3.9132
4 .5000 6.3401 1.8951
5 .5000 6.3394 .9269
6 .5000 6.3390 .4556
7 .5000 6.3388 .2244
8 .5000 6.3387 .1107
9 .5000 6.3387 .0546
VALOR FINAL PUNTO NRO. 5 = 6.338705
PUNTO NRO. 6
1 .6000 7.1110 12.1833
2 .6000 7.1061 5.6701
3 .6000 7.1038 2.7224
4 .6000 7.1026 1.3261
5 .6000 7.1020 .6505
6 .6000 7.1017 .3201
7 .6000 7.1016 .1578
8 .6000 7.1015 .0779
VALOR FINAL PUNTO NRO. 6 = 7.101502
PUNTO NRO. 7
1 .7000 7.6495 7.7171
2 .7000 7.6461 3.6688
3 .7000 7.6444 1.7788
4 .7000 7.6436 .8705
5 .7000 7.6432 .4280
6 .7000 7.6430 .2109
7 .7000 7.6429 .1040
8 .7000 7.6428 .0513
VALOR FINAL PUNTO NRO. 7 = 7.642815
PUNTO NRO. 8
1 .8000 7.9565 4.1041
2 .8000 7.9545 1.9857
3 .8000 7.9536 .9708
4 .8000 7.9531 .4770
5 .8000 7.9528 .2350
6 .8000 7.9527 .1159
7 .8000 7.9527 .0572
VALOR FINAL PUNTO NRO. 8 = 7.952667
PUNTO NRO. 9
1 .9000 8.0288 .9575
2 .9000 8.0283 .4705
3 .9000 8.0281 .2318
4 .9000 8.0280 .1143
5 .9000 8.0279 .0564
VALOR FINAL PUNTO NRO. 9 = 8.027929
PUNTO NRO. 10
1 1.0000 7.8702 1.9642
2 1.0000 7.8712 .9794
3 1.0000 7.8717 .4860
4 1.0000 7.8720 .2405
5 1.0000 7.8721 .1189
6 1.0000 7.8721 .0587
VALOR FINAL PUNTO NRO. 10 = 7.872134
1 .0000 .0000
2 .1000 1.5000
3 .2000 2.9202
4 .3000 4.2220
5 .4000 5.3712
6 .5000 6.3387
7 .6000 7.1015
8 .7000 7.6428
9 .8000 7.9527
10 .9000 8.0279
11 1.0000 7.8721
Gráfica:

La grafica en Excel de los datos obtenidos usando la codificación es la


siguiente:

Figura (10.3) resultados de Stormer-Verlet de la ecuación diferencial.

0
0 0.2 0.4 0.6 0.8 1 1.2

Fuente: elaboración propia.

También podría gustarte