function [Torques]=PC_Sim_Step_Climb_And_Compile_Data(sim_name,Torques)
%% Esta funcao trata de simular um modelo e compilar a informação
% INPUT
% sim_name - nome do modelo a executar
% Torques - estrutura com os dados de torque
% OUTPUT
% Torques - estrutura actualizada

% simular o modelo
sim_time=sim(sim_name);

% compilar
% perna de apoio
Torques.Perna_Apoio.Junta(1).Torque=...
    [Torques.Perna_Apoio.Junta(1).Torque, Torque_Junta1_Apoio];

Torques.Perna_Apoio.Junta(2).Torque=...
    [Torques.Perna_Apoio.Junta(2).Torque, Torque_Junta2_Apoio];

Torques.Perna_Apoio.Junta(3).Torque=...
    [Torques.Perna_Apoio.Junta(3).Torque, Torque_Junta3_Apoio];

Torques.Perna_Apoio.Junta(4).Torque=...
    [Torques.Perna_Apoio.Junta(4).Torque, Torque_Junta4_Apoio];

Torques.Perna_Apoio.Junta(5).Torque=...
    [Torques.Perna_Apoio.Junta(5).Torque, Torque_Junta5_Apoio];

Torques.Perna_Apoio.Junta(6).Torque=...
    [Torques.Perna_Apoio.Junta(6).Torque, Torque_Junta6_Apoio];

% perna livre
Torques.Perna_Livre.Junta(1).Torque=...
    [Torques.Perna_Livre.Junta(1).Torque, Torque_Junta1_Livre];

Torques.Perna_Livre.Junta(2).Torque=...
    [Torques.Perna_Livre.Junta(2).Torque, Torque_Junta2_Livre];

Torques.Perna_Livre.Junta(3).Torque=...
    [Torques.Perna_Livre.Junta(3).Torque, Torque_Junta3_Livre];

Torques.Perna_Livre.Junta(4).Torque=...
    [Torques.Perna_Livre.Junta(4).Torque, Torque_Junta4_Livre];

Torques.Perna_Livre.Junta(5).Torque=...
    [Torques.Perna_Livre.Junta(5).Torque, Torque_Junta5_Livre];

Torques.Perna_Livre.Junta(6).Torque=...
    [Torques.Perna_Livre.Junta(6).Torque, Torque_Junta6_Livre];

% tronco
Torques.Tronco.Junta(1).Torque=...
    [Torques.Tronco.Junta(1).Torque, Torque_Junta7_Tronco];

Torques.Tronco.Junta(2).Torque=...
    [Torques.Tronco.Junta(2).Torque, Torque_Junta8_Tronco];

Torques.Tronco.Junta(3).Torque=...
    [Torques.Tronco.Junta(3).Torque, Torque_Junta9_Tronco];

% cabeca
Torques.Cabeca.Junta.Torque=...
    [Torques.Cabeca.Junta.Torque, Torque_Junta10_Cabeca];

% braco direito
Torques.Braco_Direito.Junta(1).Torque=...
    [Torques.Braco_Direito.Junta(1).Torque, Torque_Junta11_Braco_Direito];

Torques.Braco_Direito.Junta(2).Torque=...
    [Torques.Braco_Direito.Junta(2).Torque, Torque_Junta12_Braco_Direito];

Torques.Braco_Direito.Junta(3).Torque=...
    [Torques.Braco_Direito.Junta(3).Torque, Torque_Junta13_Braco_Direito];

Torques.Braco_Direito.Junta(4).Torque=...
    [Torques.Braco_Direito.Junta(4).Torque, Torque_Junta14_Braco_Direito];

% braco esquerdo
Torques.Braco_Esquerdo.Junta(1).Torque=...
    [Torques.Braco_Esquerdo.Junta(1).Torque, Torque_Junta11_Braco_Esquerdo];

Torques.Braco_Esquerdo.Junta(2).Torque=...
    [Torques.Braco_Esquerdo.Junta(2).Torque, Torque_Junta12_Braco_Esquerdo];

Torques.Braco_Esquerdo.Junta(3).Torque=...
    [Torques.Braco_Esquerdo.Junta(3).Torque, Torque_Junta13_Braco_Esquerdo];

Torques.Braco_Esquerdo.Junta(4).Torque=...
    [Torques.Braco_Esquerdo.Junta(4).Torque, Torque_Junta14_Braco_Esquerdo];

% vector de tempo da simulacao
Torques.Time_Vect=[Torques.Time_Vect, sim_time];
end