Vous êtes sur la page 1sur 11

Pontificia Universidad Catlica de Chile

Departamento Ingeniera Mecnica y Metalurgia


ICM3352 Mecnica Computacional

Informe Tarea 5
ICM3823 Vibraciones Mecnicas

Benjamn A. Lagos B.
Profesor: Hector Jensen V.
Fecha: 03-10-2013

Enunciado
Una barra uniforme de masa y longitud se encuentra pivoteada en el punto A y sujeta a cinco resortes
tal como se muestra en la figura. Utilizar los mtodos numricos de diferencia central y Newmark (con
acelaracin lineal y aceleracin constante) con intervalos de tiempo:

Donde corresponde al periodo del sistema. Comparar estos resultados con la solucin exacta en los
primeros 10 ciclos de vibracin si las condiciones del sistema son:
Condiciones iniciales ( )
Masa:

Longitud barra:

( )

]
[ ]

Propiedades elsticas:

[ ]

Desarrollo
El momento de inercia de una barra desde su centro de masas es:

Usando el teorema de los ejes paralelos encontramos el momento de inercia de la barra pivoteada a 1/3 de
su extremo:
(

Haciendo sumatoria de momentos en torno al punto pivote tenemos:

( )

( )

( )
( )

Usando la aproximacin de ngulos pequeos

La frecuencia natural del sistema es:

El periodo natural del sistema es:


[ ]

Mtodo de diferencia central


El mtodo para este caso, segn los apuntes del curso, queda:
(

(
(

)
)

Se implement un cdigo matlab para graficar los datos, disponible en el anexo.

El valor Data 6 corresponde a la solucin exacta calculada por un modelo de Simulink.


Diferencia Central
0.2

0.15

0.1

theta

0.05

-0.05

-0.1
data1
data2
data3
data4
data5
data6

-0.15

-0.2
0

0.1

0.2

0.3

0.4

0.5

0.6

tiempo

) divergen ya que no cumplen la condicin:

Los primeros dos valores (


para

para

Se aprecia claramente la consistencia del mtodo ya que al disminuir el periodo de discretizacin, esta mejora bastante.

. De hecho

Mtodo de Newmark
El mtodo para este caso, segn los apuntes del curso, queda:
(

)
(

Para el caso Aceleracin Lineal los parmetros son


Para el caso Aceleracin Constante1 los parmetros son

((

.
.

En la literatura en ingls se refiere a este mtodo como Average Acceleration o Constant Average Acceleration.

El valor Data 6 corresponde a la solucin exacta calculada por un modelo de Simulink.


Newmark Aceleracin Lineal
data1
data2
data3
data4
data5
data6

0.15

0.1

theta

0.05

-0.05

-0.1

-0.15

-0.2
0

0.1

0.2

0.3

0.4

0.5

0.6

tiempo

El primer valor (
) diverge ya que no cumple la condicin:
del mtodo para valores decrecientes del periodo de discretizacin.

. De hecho

. Nuevamente se aprecia la consistencia

El valor Data 6 corresponde a la solucin exacta calculada por un modelo de Simulink.


Newmark Aceleracin Constante
0.2
data1
data2
data3
data4
data5
data6

0.15

0.1

0.05

-0.05

-0.1

-0.15

-0.2

0.1

0.2

0.3

0.4

0.5

0.6

Aqu se demuestra grficamente la convergencia incondicional del mtodo, a pesar de usar un periodo de discretizacin igual al periodo natural del
sistema a aproximar. Tambin se observa la consistencia del mtodo.

0.7

Conclusiones
En general vemos que los tres mtodos son buenas aproximaciones para el sistema analizado a partir de
. Claramente el mtodo ms ventajoso es el de Newmark con Aceleracin Constante, ya que
presenta incondicionalidad en su convergencia sin tener un error tan grande (apreciado por comparacin
entre los grficos). Una desventaja de los mtodos de Newmark analizados es que la frecuencia de la
solucin va disminuyendo a medida que avanza el tiempo, lo que implica un error creciente en el tiempo.
Da la impresin de que la tasa de crecimiento del error para los mtodos de Newmark es mucho ms
importante que la que se observa en el caso del mtodo de diferencia central.

Anexos
A.- Simulink
Modelo Simulink ('modelo_tarea_5.slx')usado para encontrar la solucin exacta:

La ganancia es igual a

. Las condiciones iniciales se consideran en los bloques integradores.

B.- Script de Matlab


%Tarea 5 Mecnica Computacional
clear all;
close all;
m=10; %[Kg]
l=5; %[m]
I=m*l^2/9;
k=2000; %[N/m]
kt=1000;%[Nm/rad]
k_eq=10/9*k*l^2+kt;
omega_n=sqrt(k_eq/I);
T=2*pi/omega_n;
stop_time=5*T; %los primeros 5 ciclos
%solucin real
cte=k_eq/I;
open_system('modelo_tarea_5.slx');
options = simset('SrcWorkspace','current');
sim(gcs,[],options);
%Simulamos para obtener los datos
sim(gcs,stop_time);
%Recuperamos los datos guardados y el tiempo de simulacin correspondiente.
theta_data=logsout.get('theta').Values.Data;
theta_time=logsout.get('theta').Values.Time;
%condiciones iniciales
theta_0=0.2;
theta_0_punto=0;
theta_0_dos_puntos=-cte*theta_0;

%Periodos de discretizacin a comparar


dt=[T T/2 T/5 T/10 T/20];
j_max=5;
for j=1:1:j_max
largo(j)=ceil(stop_time/dt(j)); %aproxima hacia el entero superior
theta_menos_1=theta_0dt(j)*theta_0_punto+dt(j)^2/2*theta_0_dos_puntos; %theta(n=-1)
theta_dif_central(1,j)=theta_0;%theta(n=0);
time(1)=0;
'Estabilidad si dt(j)*omega_n<2'
['dt(' num2str(j) ')*omega_n=' num2str(dt(j)*omega_n)]
color(j,:)=[rand(1,1) rand(1,1) rand(1,1)];
for i=2:1:largo(j)
if i==2
theta_dif_central(i,j)=(2-k_eq/(I/dt(j)^2))*theta_dif_central(i-1,j)theta_menos_1;
time(i,j)=(i-1)*dt(j);
else
theta_dif_central(i,j)=(2-k_eq/(I/dt(j)^2))*theta_dif_central(i-1,j)theta_dif_central(i-2,j);
time(i,j)=(i-1)*dt(j);
end
end
end
%Graficamos
figure1=figure;
axes1 = axes('Parent',figure1);
color(1,:)=[rand(1,1) rand(1,1) rand(1,1)];
color(2,:)=[rand(1,1) rand(1,1) rand(1,1)];
xlabel('tiempo')
ylabel('theta')
for j=1:1:j_max
plot(time(1:largo(j),j),theta_dif_central(1:largo(j),j),'Color',color(j,:),'Pare
nt',axes1)
hold on
end
plot(theta_time,theta_data,'r')
legend(axes1,'show');
xlabel('tiempo')
ylabel('theta')
title('Diferencia Central')
%Metodos de Newmark de Aceleracin Lineal (AL) y Aceleracin Constante (AC)
theta_0_dos_puntos=-cte*theta_0;
beta_AL=1/6;
gamma_AL=1/2;
beta_AC=1/4;
gamma_AC=1/2;
for j=1:1:j_max
largo(j)=stop_time/dt(j); %aproxima hacia el entero superior
theta_newmark_AL(1,j)=theta_0;%theta(n=0);
theta_punto_newmark_AL(1,j)=theta_0_punto;
theta_dos_puntos_newmark_AL(1,j)=theta_0_dos_puntos;
theta_newmark_AC(1,j)=theta_0;%theta(n=0);
theta_punto_newmark_AC(1,j)=theta_0_punto;
theta_dos_puntos_newmark_AC(1,j)=theta_0_dos_puntos;

['Estabilidad si dt(j)<' num2str(0.55*T)]


['dt(' num2str(j) ')=' num2str(dt(j))]
for i=2:1:largo(j)
A1=(I/(dt(j)^2))/(I/(dt(j)^2)+beta_AL*k_eq);
A2=(I/dt(j))/(I/(dt(j)^2)+beta_AL*k_eq);
A3=((1/2-beta_AL)*I)/(I/(dt(j)^2)+beta_AL*k_eq);
theta_newmark_AL(i,j)=A1*theta_newmark_AL(i-1,j)+
A2*theta_punto_newmark_AL(i-1,j)+A3*theta_dos_puntos_newmark_AL(i-1,j);
theta_dos_puntos_newmark_AL(i,j)=
1/(beta_AL*(dt(j)^2))*(theta_newmark_AL(i,j)-theta_newmark_AL(i-1,j))
-1/(beta_AL*dt(j))*theta_punto_newmark_AL(i-1,j)
-(1/(2*beta_AL)-1)*theta_dos_puntos_newmark_AL(i-1,j);
theta_punto_newmark_AL(i,j)=theta_punto_newmark_AL(i-1,j)
+((1-gamma_AL)*theta_dos_puntos_newmark_AL(i-1,j)
+gamma_AL*theta_dos_puntos_newmark_AL(i,j))*dt(j);
B1=(I/(dt(j)^2))/(I/(dt(j)^2)+beta_AC*k_eq);
B2=(I/dt(j))/(I/(dt(j)^2)+beta_AC*k_eq);
B3=((1/2-beta_AC)*I)/(I/(dt(j)^2)+beta_AC*k_eq);
theta_newmark_AC(i,j)=B1*theta_newmark_AC(i-1,j)
+B2*theta_punto_newmark_AC(i-1,j)+B3*theta_dos_puntos_newmark_AC(i-1,j);
theta_dos_puntos_newmark_AC(i,j)=
1/(beta_AC*(dt(j)^2))*(theta_newmark_AC(i,j)
-theta_newmark_AC(i-1,j))
-1/(beta_AC*dt(j))*theta_punto_newmark_AC(i-1,j)
-(1/(2*beta_AC)-1)*theta_dos_puntos_newmark_AC(i-1,j);
theta_punto_newmark_AC(i,j)=theta_punto_newmark_AC(i-1,j)
+((1-gamma_AC)*theta_dos_puntos_newmark_AC(i-1,j)
+gamma_AC*theta_dos_puntos_newmark_AC(i,j))*dt(j);
end
end
%Graficamos Newmark Aceleracin Lineal
figure2=figure;
for j=1:1:j_max
plot(time(1:largo(j),j),theta_newmark_AL(1:largo(j),j),'Color',color(j,:))
hold on
end
plot(theta_time,theta_data,'r')
xlabel('tiempo')
ylabel('theta')
legend(axes2,'show');
title('Newmark Aceleracin Lineal')
%Graficamos Newmark Aceleracin Constante
figure3=figure;
for j=1:1:j_max
plot(time(1:largo(j),j),theta_newmark_AC(1:largo(j),j),'Color',color(j,:))
hold on
end
plot(theta_time,theta_data,'r')
xlabel('tiempo')
ylabel('theta')
legend(axes3,'show');
title('Newmark Aceleracin Constante')

Vous aimerez peut-être aussi