ENUNCIADO DEL EJEMPLO 21

Se considera el sistema formado por una varilla sin masa de longitud l que tiene un extremo enlazado al eje X y que está obligada a estar en todo momento en un plano vertical paralelo al plano coordenado (Y,Z), y por un disco de masa m y radio R que se encuentra unido al otro extremo de la varilla por su centro, manteniéndose perpendicular en todo momento a la varilla. Obtener las ecuaciones del movimiento.

> restart:

Cargamos los paquetes de Maple que vamos a emplear, así como el Mecapac3d indicando antes donde se encuentra la librería en el disco duro.

> with(linalg):with(plots):with(plottools):

Warning, the protected names norm and trace have been redefined and unprotected

Warning, the name changecoords has been redefined

Warning, the name arrow has been redefined

> libname:="C:\",libname:

> with(mecapac3d):

Definición de las coordenadas generalizadas. El sistema tiene tres grados de libertad, que quedan perfectamente definidos a partir de las coordenadas generalizadas [x, theta,phi], que representan la coordenada X del extremo de la varilla que desliza sobre el eje X, el ángulo girado por la varilla alrededor del eje X (partiendo de la vertical) y el ángulo girado por el disco alrededor de la varilla.

> cg:=[x,theta,phi];

cg := [x, theta, phi]

Definición de los elementos del sistema. Los elementos del sistema (varilla y disco) irán referidos a un subsistema que se desplace con ambos sólidos, siendo su eje z el de la varilla, y los ejes x e y pertenecientes a un plano paralelo en todo momento al del disco. Este subsistema no girará junto con el disco en su giro alrededor de la varilla, por lo que hay que indicar el posible giro del disco relativo al subsitema al definir el disco.

> v1:=[varilla,[0,0,l/2],rota(0,1),0,l]:

> d1:=[disco,[0,0,l],rota(phi,3),m,R]:

> s1:=[subsistema2,[x,0,0],rota(theta,1),[v1,d1]]:

Antes de definir el sistema general, definimos unos segmentos como elementos gráficos para representar los ejes.

> ejeY:=[vector,[0,0,0],[0,20,0],green]:

> ejeX:=[vector,[0,0,0],[25,0,0],red]:

> ejeZ:=[vector,[0,0,0],[0,0,20],blue]:

> TO := [texto,[0,0,-1],"O"]:

> TY := [texto,[0,20,1],"Y"]:

> TZ := [texto,[0,0,21],"Z"]:

> TX := [texto,[25,0,1],"X"]:

> sistema:=[s1,ejeX,ejeY,ejeZ,TO,TX,TY,TZ]:

Representación gráfica del problema a resolver, para comprobar que se hayan introducido bien los datos. Para ello damos valores a los parámetros que no lo tenían.

> R:=10:g:=9.8:m:=10:l:=10:

> fG([5.0,evalf(Pi/3),evalf(Pi/3)]);

[Plot]

Cálculo de las ecuaciones del movimiento mediante las ecuaciones de Lagrange. Para ello volvemos a dejar los parámetros anteriores como constantes sin valor indicado y así obtener unas ecuaciones más genéricas.

> R:='R':g:='g':m:='m':l:='l':

> V:=fV(sistema):

> T:=simplify(fT(sistema)):

> L:=T-V:

> ecua:=map(simplify,ec_lag());

ecua := [m*diff(x(t), `$`(t, 2)), 1/4*m*(4*diff(theta(t), `$`(t, 2))*l^2+diff(theta(t), `$`(t, 2))*R^2-4*g*sin(theta(t))*l), 1/2*m*diff(phi(t), `$`(t, 2))*R^2]

Realizamos la integración numérica, para lo cuál es necesario volver a dar valor a los parámetros e indicar los valores que imponemos a las coordenadas generalizadas y las velocidades en un instante inicial.

> R:=10:g:=9.8:m:=10:l:=10:

> res:=fint([5,2.1,evalf(Pi/3),0.2,evalf(Pi/3),6.]):

Una vez realizada la integración y almacenada en la variable res obtenemos la animación del movimiento así como la evolución de las coordenadas generalizadas con el tiempo.

> dibu3(10,60);

[Plot]

> cX:=odeplot(res,[t,x(t)],0..10,numpoints=50,color=blue):

> cTheta:=odeplot(res,[t,theta(t)],0..10,numpoints=50,color=red):

> cPhi:=odeplot(res,[t,phi(t)],0..10,numpoints=50,color=yellow):

> display(array([cX,cTheta,cPhi]));

[Plot]

>