Método de Verlet: mudanças entre as edições

De Física Computacional
Ir para navegação Ir para pesquisar
Jhordan (discussão | contribs)
Sem resumo de edição
Jhordan (discussão | contribs)
Sem resumo de edição
Linha 25: Linha 25:


Para calcular a energia, podemos obter a velocidade então utilizando a derivada centrada: <math display="block">v\left(t\right)=\dot{x}\left(t\right)=\frac{x\left(t+\Delta t\right)-x\left(t-\Delta t\right)}{2\Delta t}</math>
Para calcular a energia, podemos obter a velocidade então utilizando a derivada centrada: <math display="block">v\left(t\right)=\dot{x}\left(t\right)=\frac{x\left(t+\Delta t\right)-x\left(t-\Delta t\right)}{2\Delta t}</math>
Alternativamente podemos obter o mesmo resultado em termos da expansão de Taylor:


<math display="block">\begin{align}
x\left(t+\Delta t\right) & =x\left(t\right)+v\left(t\right)\Delta t+\frac{1}{2}a\left(t\right)\Delta t^{2}+\frac{1}{6}a'\left(t\right)\Delta t^{3}+\dots\\
x\left(t-\Delta t\right) & =x\left(t\right)-v\left(t\right)\Delta t+\frac{1}{2}a\left(t\right)\Delta t^{2}-\frac{1}{6}a'\left(t\right)\Delta t^{3}+\dots\end{align}</math>
Somando os dois termos, ficamos então com:
<math display="block">x\left(t+\Delta t\right)+x\left(t-\Delta t\right)=2x\left(t\right)+a\left(t\right)\Delta t^{2}+\mathcal{O}\left(\Delta t^{4}\right)</math>
Obtemos então não só o algoritmo de Verlet, além de que sabemos que é uma expansão até a terceir ordem. Então o erro envolvido na truncação é <math display="inline">\mathcal{O}\left(\Delta t^{4}\right)</math>, e este é o erro local, associao a um único passo.
Além disso, se fizermos a diferença, obtemos o algoritmo da velocidade:
<math display="block">x\left(t+\Delta t\right)+x\left(t-\Delta t\right)=2v\left(t\right)+\frac{1}{3}a'\left(t\right)\Delta t^{3}</math>
Então:
<math display="block">v\left(t\right)=\frac{x\left(t+\Delta t\right)+x\left(t-\Delta t\right)}{\Delta t}-\frac{1}{3}a'\left(t\right)\Delta t^{2}</math>
Logo temos um erro <math display="inline">\mathcal{O}\left(\Delta t^{2}\right)</math> na velocidade. Além do erro de truncação associado ao método de dierenças finita e que decai com o decaimento de <math display="inline">\Delta t</math>, também podemos lembrar que um erro de arredondamento, pois o computador usa uma quantidade finita de memória para representar os números. Isto, é, existe um número <math display="inline">\epsilon</math> em que para qualquer número <math display="inline">\alpha\leq\epsilon</math> então <math display="inline">1+\alpha=1</math>. <math display="inline">\epsilon</math> é o maior número que pode ser somado a <math display="inline">1</math> sem alterar o resultado.
<pre>
</pre>


= Principais materiais utilizados =
= Principais materiais utilizados =


# [https://math.libretexts.org/Bookshelves/Calculus/Book%3A_Active_Calculus_(Boelkins_et_al)/01%3A_Understanding_the_Derivative/1.06%3A_The_Second_Derivative The Second Derivative] (Matthew Boelkins, David Austin & Steven Schlicker; LibreTexts)
# [https://math.libretexts.org/Bookshelves/Calculus/Book%3A_Active_Calculus_(Boelkins_et_al)/01%3A_Understanding_the_Derivative/1.06%3A_The_Second_Derivative The Second Derivative] (Matthew Boelkins, David Austin & Steven Schlicker; LibreTexts)

Edição das 18h35min de 22 de fevereiro de 2022

Para o método de Euler implícito havíamos utilizado a derivada a esquerda:

f(t)f(t)f(tΔt)Δt

Então se y(t)=f(t) a segunda derivada é y(t)=f(t), pela definição, da derivada a direita:

y(t)=limΔt0y(t+Δt)y(t)Δt=limΔt0f(t+Δt)f(t)Δt

Logo utilizando as aproximações:

f(t)1Δt(f(t+Δt)f(t))1Δt(f(t+Δt)f(t+ΔtΔt)Δtf(t)f(tΔt)Δt)f(t+Δt)+f(tΔt)2f(t)(Δt)2

Isolando então f(t+Δt):

f(t+Δt)=(Δt)2f(t)f(tΔt)+2f(t)

Temos o método de Verlet. Podemos notar que precisamos conhecer f(t) em dois tempos anteriores. Podemos utilizar outro algoritmo para o primeiro passo. Se f(t)=x(t) é posição, então f(t)=x¨(t)=a(x,t) logo podemos reescrever:

x(t+Δt)=a(x,t)(Δt)2x(tΔt)+2x(t)

Para calcular a energia, podemos obter a velocidade então utilizando a derivada centrada: v(t)=x˙(t)=x(t+Δt)x(tΔt)2Δt Alternativamente podemos obter o mesmo resultado em termos da expansão de Taylor:

x(t+Δt)=x(t)+v(t)Δt+12a(t)Δt2+16a(t)Δt3+x(tΔt)=x(t)v(t)Δt+12a(t)Δt216a(t)Δt3+

Somando os dois termos, ficamos então com:

x(t+Δt)+x(tΔt)=2x(t)+a(t)Δt2+𝒪(Δt4)

Obtemos então não só o algoritmo de Verlet, além de que sabemos que é uma expansão até a terceir ordem. Então o erro envolvido na truncação é 𝒪(Δt4), e este é o erro local, associao a um único passo.

Além disso, se fizermos a diferença, obtemos o algoritmo da velocidade:

x(t+Δt)+x(tΔt)=2v(t)+13a(t)Δt3

Então:

v(t)=x(t+Δt)+x(tΔt)Δt13a(t)Δt2

Logo temos um erro 𝒪(Δt2) na velocidade. Além do erro de truncação associado ao método de dierenças finita e que decai com o decaimento de Δt, também podemos lembrar que um erro de arredondamento, pois o computador usa uma quantidade finita de memória para representar os números. Isto, é, existe um número ϵ em que para qualquer número αϵ então 1+α=1. ϵ é o maior número que pode ser somado a 1 sem alterar o resultado.


Principais materiais utilizados

  1. The Second Derivative (Matthew Boelkins, David Austin & Steven Schlicker; LibreTexts)