% Funçao MatLab que determina a segunda derivada temporal de theta2 para
% uso no modelo do duplo pendulo

function D2theta2=D2theta2_calc(u)

% Propriedades do duplo pendulo
%pendulo2_data;
global m1 m2 r1 r2 L1 L2 k1 k2 c1 c2 g rf1 rf2

% Binario a aplicar
T2=u(2);

% Theta 1 e 2 e suas derivadas
theta1=u(7);
theta2=u(8);
Dtheta1=u(9);
Dtheta2=u(10);
D2theta1=u(11);

% Forças externas aplicadas em cada elo (componentes cartesianas)
Fx2=u(5);
Fy2=u(6);

% Inercia do Elo 2
J=m2*r2^2;

% Inercia do elo 2
J2=m2*r2*(r2+L1*cos(theta2))*D2theta1;

% Forças de Coriollis
C2=m2*L1*r2*sin(theta2)*Dtheta1^2;

% Forças gravitacionais
G2=m2*g*r2*sin(theta1+theta2);

% Forças de atrito
A2=c2*Dtheta2+k2*theta2;

% Forças externas
F2=Fx2*rf2*cos(theta1+theta2)+Fy2*rf2*sin(theta1+theta2);

% Segunda derivada de theta2
D2theta2=-1/J*(J2+C2+G2+A2-F2-T2);
