5.3 Método de Verlet

Um outro método de resolver equações diferencias é o Método de Verlet [12]. Antes de entrar no método desenvolvido por Verlet veremos o início considerando as equações de movimento de Newton visto pelo método de Euler. Assim escreveremos duas equações diferenciais acopladas de primeira ordem5.1:

$\displaystyle \frac{dv}{dt} = a(t)$ (5.3.1)

e

$\displaystyle \frac{dx}{dt} = v(t)$ (5.3.2)

em que $a(t)=a(x(t),v(t),t)$. Tomamos a quantidade $\Delta t$ como intervalos entre passos sucessivos e $a_n$, $v_n$ e $x_n$ como valores da aceleração, velocidade e posição no tempo $t_n=t_0 + n\Delta t$. Utilizando o método de diferenças finitas os valores de $x_{n+1}$ e $v_{n+1}$ para o tempo $t_{n+1} = t_n + \Delta t$. Dentro de um sistema conservativo, tomamos $\Delta t$ pequeno o suficiente para que não haja grandes flutuações e assim garantimos a estabilidade da energia total do sistema. A expansão em série de Taylor das quantidades $v_{n+1} = v(t + \Delta t)$ e $x_{n+1} = x(t_n + \Delta t)$ nos leva a:

$\displaystyle x_{n+1} = x_n + v_n\Delta t + \frac{1}{2} a_n \Delta t^2 + \mathscr{O}(\Delta t^2)$ (5.3.3)

$\displaystyle v_{n+1} = v_n + a_n\Delta t + \mathscr{O}(\Delta t^3)$ (5.3.4)

assim expandindo agora a para $x_{n-1}$ teremos:

$\displaystyle x_{n-1} = x_n - v_n\Delta t + \frac{1}{2} a_n \Delta t^2 + \mathscr{O}(\Delta t^2)$ (5.3.5)

somando as equações 5.3.3 e 5.3.5 teremos:

$\displaystyle x_{n+1}+x_{n-1} = 2x_n + a_n \Delta t^2 + \mathscr{O}(\Delta t^4)$ (5.3.6)

ou simplesmente:

$\displaystyle x_{n+1} = 2x_n - x_{n-1} + a_n \Delta t^2$ (5.3.7)

e a subtração entre $x_{n+1}$ (eq. 5.3.3) e $x_{n-1}$ (eq. 5.3.5) nos dá:

$\displaystyle v_n = \frac{x_{n+1} - x_{n-1}}{2\Delta t}$ (5.3.8)

que é a forma original do algoritmo de Verlet. A forma completa é dada pelas equações a seguir:

$\displaystyle \vec{r}(t+\Delta t) = \vec{r}(t) + \vec{v}(t) \Delta t + (1/2) \v...
...lta t^{2} + (1/6) \frac{d^{3}\vec{r}(t)}{dt^{3}} \Delta t^{3} + O(\Delta t^{4})$ (5.3.9)

$\displaystyle \vec{r}(t-\Delta t) = \vec{r}(t) - \vec{v}(t) \Delta t + (1/2) \v...
...lta t^{2} - (1/6) \frac{d^{3}\vec{r}(t)}{dt^{3}} \Delta t^{3} + O(\Delta t^{4})$ (5.3.10)

$\displaystyle \vec{r}(t+\Delta t) = 2\vec{r}(t) - \vec{r}(t-\Delta t) + \vec{a}(t) \Delta t^{2} + O(\Delta t^{4})$ (5.3.11)

Como sabemos as equações 5.3.9 e 5.3.10 são as expansões em série de Taylor até terceira ordem para a expressão da posição [12,13] considerando o avanço e o retorno temporal, respectivamente. O método de Verlet é representado pela equação 5.3.11, que é a soma das equações 5.3.9 e 5.3.10 e possibilita o processo de reversibilidade no tempo. Esse método de Verlet apresenta um problema quando necessitamos dos valores da velocidade, pois, como exposto nas equações 5.3.9, 5.3.10 e 5.3.11, essa primeira versão não apresenta as velocidades. Para estimar as velocidades a partir dessa versão do método de Verlet podemos utilizar a equações 5.3.12 e 5.3.13, para $\Delta t$ e $\Delta t/2$, repectivamente.

$\displaystyle \vec{v}(t) = \frac{\vec{r}(t+\Delta t)-\vec{r}(t-\Delta t)}{2\Delta t}$ (5.3.12)

$\displaystyle \vec{v}(t+\frac{1}{2}\Delta t) = \frac{\vec{r}(t+\Delta t)-\vec{r}(t)}{\Delta t}$ (5.3.13)

Melhorias no algoritmo de Verlet foram feitas para se obter as velocidades, como no caso do algoritmo leap-frog Verlet. Porem a implementação mais sofisticada dos métodos de Verlet é o esquema Velocity Verlet [14], em que temos a derivação das posições e velocidades no tempo $t+\Delta t$ a partir do tempo $t$, de acordo com as equações 5.3.14.

\begin{displaymath}\begin{split}
\vec{r}(t+\Delta t)& =\vec{r}(t)+\vec{v}(t)\Del...
...}(t+\Delta t/2) + (1/2)\vec{a}(t+\Delta t) \Delta t
\end{split}\end{displaymath} (5.3.14)

Os algoritmos de Verlet são os mais rápidos para implementação numérica, porém como vimos as expressões são obtidas a partir de expansões e os erros associados para as posições e velocidades são da ordem de $\Delta t^{4}$ e $\Delta t^{2}$, respectivamente, relacionados com os termos mais altos da expansão não incluídos nas equações.