Você está na página 1de 9

FÍSICA COMPUTACIONAL 2

6.4 – Algoritmo Velocity-Verlet


m
y 𝑔Ԧ
2
d y GM
 m
2
d y m
  mg , g  cte
 RT  y 
m 2 2
2 dt
dt

𝑣Ԧ 𝑔Ԧ
𝑉𝑜
m

Ԧ 𝜃𝑜
𝐹(𝑟) 𝑟Ԧ 𝑉
O
 d x
2

 m dt 2  0 ; xo  0 ; v0 x  v0 cos( 0 )
GMm L2z
d r
2
 2
m 2  2
 3  Fef (r ) m d y  mg ; yo  0 ; v  v sin( )
dt r mr
 dt 2 0y 0 0
FÍSICA COMPUTACIONAL 2

6.4 – Algoritmo Velocity-Verlet v  vx i  v y j  vz k F (t , r )


r  xi  y j  zk  ax i  a y j  az k
m
Em sistemas Físicos envolvendo movimentos em mais dimensões podemos expandir o
procedimento para cada coordenada envolvida na descrição do fenômeno

Em duas dimensões

ax (t  t )  funç[t j 1 , x j 1 , y j 1 ] ???

a y (t  t )  funç[t j 1 , x j 1 , y j 1 ] ???
FÍSICA COMPUTACIONAL 2
6.4 – Algoritmo Velocity-Verlet  d x
2

2-D lançamento de projéteis 𝑉  m dt 2  0 ; xo  0 ; v0 x  v0 cos( 0 )


𝑉  2
% massa_mola_vv.m m d y  mg ; yo  0 ; v  v sin( )
clear;  dt 2 0y 0 0

m = 0.2 ; tet0 = pi/3 ; v0 = 100 ;


t(1) = 0.0 ;
x(1) = 0.0 ; vx(1) = v0*cos(tet0) ; ax(1) = 0 ;
dt = 0.01 ; i = 1 ; tmax = 10
while t(i) < tmax
t(i+1) = t(1) + i*dt;
x(i+1) = x(i) + vx(i)*dt + 0.5*ax(i)*dt^2;
ax(i+1)= 0 ;
vx(i+1)= vx(i)+ 0.5*( ax(i)+ax(i+1) )*dt;
y(i+1) =
ay(i+1)=
vy(i+1)=
i = i+1 ;
end
FÍSICA COMPUTACIONAL 2
6.4 – Algoritmo Velocity-Verlet  d x
2

2-D lançamento de projéteis  m dt 2  0 ; xo  0 ; v0 x  v0 cos( 0 )


 2
% massa_mola_vv.m m d y  mg ; yo  0 ; v  v sin( )
clear;  dt 2 0y 0 0

m = 0.2 ; tet0 = pi/3 ; v0 = 100 ;


t(1) = 0.0 ;
x(1) = eps ; vx(1) = v0*cos(tet0) ; ax(1) = 0 ;
dt = 0.01 ; i = 1 ; tmax = 50
while y(i) > 0
t(i+1) = t(1) + i*dt;
x(i+1) = x(i) + vx(i)*dt + 0.5*ax(i)*dt^2;
ax(i+1)= 0 ;
vx(i+1)= vx(i)+ 0.5*( ax(i)+ax(i+1) )*dt;
y(i+1),
ay(i+1)
vy(i+1)
i = i+1 ;
end
FÍSICA COMPUTACIONAL 2
6.5 – Sistemas de Equações
Consideremos sistemas Físicos acoplados como
k
k1 k k2
m1 m2

l1
1 1 2
m1 l l

l2
2 m1
m2 m2

http://www.scielo.org.bo/scielo.php?script=sci_arttext&pid=S1
562-38232014000200005
FÍSICA COMPUTACIONAL 2
6.5 – Sistemas de Equações
Consideremos o sistema Físico
x1 = x10 + u1
x2 = x20 + u2
Resultantes das forças em cada massa

2
d x dv v n 1  v n Derivada
  adiantada
ou dt
2
dt t

Novas velocidades
FÍSICA COMPUTACIONAL 2
6.5 – Sistemas de Equações
Para obtermos as novas posições u1 e u2 usamos a expressão backward para substituir as
velocidades, ou seja
n+1

n+1

Novas posições

OBSERVAÇÕES:
- ao substituirmos a derivada adiantada em dv/dt contornamos o problema quando j=1  x(-t) = x(0)
- obtivemos então uma expressão de fácil implementação porém menos precisa para estimar v(t+t)
- as posições x(t+t) são então atualizadas com a aproximação backward de du/dt (tmb menos precisa)

- o tratamento realizado nesta seção poderia também ser empregado com MHS, MHA e MHFA vistos
anteriormente
FÍSICA COMPUTACIONAL 2
k1 k k2
6.5 – Sistemas de Equações APLICAÇÃO
FÍSICA COMPUTACIONAL 2
6.5 – Sistemas de Equações APLICAÇÃO
% para implementar a solução numérica
1) Definir: m1, m2, k1, k2, k, b
2) Definir: u1(1) , v1(1) , u2(1) , v2(1) Valores iniciais de u1 , v1, u2, v2
3) Definir: dt, tmax, t(1) = 0 ; n = 1 ;
4) Laço: Enquanto t(n) < tmax v2 v1
4.1) t(n+1) = t(1) + n*dt
4.2) v1(n+1) =
4.3) v2(n+1) =
4.4) u1(n+1) =
4.5) u2(n+1) =
4.6) n = n + 1 ;
Fim do Laço 4
% para implementar a solução analítica
5) Definir: w1 , w2 , C1 , C2 , C3 , C4
6) v1a =
7) v2a =
8) u1a =
9) u2a =

Você também pode gostar