ENUNCIADO DEL EJEMPLO 19

Un semiaro homogéneo de masa n y  radio r gira con velocidad no constante alrededor del eje Z vertical, estando obligado a permanecer en todo momento en un plano vertical. Una particula pesada de masa m puede moverse sin rozamiento ensartada en el semiaro y unida a la vez a un muelle de constante k, cuyo otro extremo se encuentra en el extremo inferior del diámetro vertical. Obtener las ecuaciones del movimiento.

> restart :

Cargamos los paquetes de Maple que vamos a emplear, entre ellos el Mecapac3d, para lo cuál es necesario indicar previamente donde se encuentra la librería dentro del 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) :

El sistema tiene dos grados de libertad, por lo que lo definiremos con dos coordenadas generalizadas, alpha y theta que representan el ángulo girado por el semiaro alrededor de la vertical y el ángulo que forma el radio que une la partícula con el centro, con la horizontal, respectivamente. Definimos dichas coordenadas generalizadas.

> cg := [alpha,theta] :

Definimos las coordenadas del centro de gravedad del semiaro y la matriz de rotación del mismo. Como los giros son absolutos, el producto de las matrices lo realizamos por la izquierda.

> xgvar := [r*cos(alpha),r*sin(alpha),r*(1-2/Pi)] :

> rot1 := rota(-Pi/2,1):

> rot2 := rota(alpha,3):

> rtot := evalm(rot2&*rot1):

Definimos el semiaro.

> d1 := [semiaro,xgvar,rtot,n,r]:

Definimos la partícula.

> m1 := [punto, r*(1+cos(theta))*cos(alpha), r*(1+cos(theta))*sin(alpha), r*(1-sin(theta)),m] :

Definimos el muelle.

> c1:= [muelle,[0,0,r],[r*(1+cos(theta))*cos(alpha), r*(1+cos(theta))*sin(alpha), r*(1-sin(theta))],k,lo]:                                                            

Definimos elementos gráficos para representar los ejes.

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

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

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

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

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

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

> TX := [texto,[1.5,0,0],"X"]:

Definimos el sistema.

> sistema := [d1,m1,c1,ejeX,ejeY,ejeZ,TO,TX,TY,TZ];

sistema := [[semiaro, [r*cos(alpha), r*sin(alpha), r*(1-2/Pi)], rtot, n, r], [punto, r*(1+cos(theta))*cos(alpha), r*(1+cos(theta))*sin(alpha), r*(1-sin(theta)), m], [muelle, [0, 0, r], [r*(1+cos(theta...sistema := [[semiaro, [r*cos(alpha), r*sin(alpha), r*(1-2/Pi)], rtot, n, r], [punto, r*(1+cos(theta))*cos(alpha), r*(1+cos(theta))*sin(alpha), r*(1-sin(theta)), m], [muelle, [0, 0, r], [r*(1+cos(theta...sistema := [[semiaro, [r*cos(alpha), r*sin(alpha), r*(1-2/Pi)], rtot, n, r], [punto, r*(1+cos(theta))*cos(alpha), r*(1+cos(theta))*sin(alpha), r*(1-sin(theta)), m], [muelle, [0, 0, r], [r*(1+cos(theta...

Calculamos la energía cinética y potencial del sistema, así como la Lagrangiana.

> T:=fT(sistema):

>

> V:=fV(sistema):

Lagrangiana

> L := simplify(T-V) ;

L := -1/4*(4*m*g*r*Pi+2*k*Pi*lo^2-4*m*g*r*Pi*sin(theta)+4*k*Pi*r^2+4*k*Pi*r^2*cos(theta)-3*alpha1^2*n*r^2*Pi-8*n*g*r+4*n*g*r*Pi-2*m*r^2*Pi*alpha1^2-4*m*r^2*Pi*alpha1^2*cos(theta)-2*m*r^2*Pi*alpha1^2*c...

Ecuaciones del movimiento

> ecua := ec_lag() ;

ecua := [-1/4*(-6*diff(alpha(t), `$`(t, 2))*n*r^2*Pi-4*m*r^2*Pi*diff(alpha(t), `$`(t, 2))-8*m*r^2*Pi*diff(alpha(t), `$`(t, 2))*cos(theta(t))+8*m*r^2*Pi*diff(alpha(t), t)*sin(theta(t))*diff(theta(t), t...ecua := [-1/4*(-6*diff(alpha(t), `$`(t, 2))*n*r^2*Pi-4*m*r^2*Pi*diff(alpha(t), `$`(t, 2))-8*m*r^2*Pi*diff(alpha(t), `$`(t, 2))*cos(theta(t))+8*m*r^2*Pi*diff(alpha(t), t)*sin(theta(t))*diff(theta(t), t...

Damos valores a los parámetros para poder representar el sistema en una situación determinada y poder realizar después la integración numérica.

> n:= 10 : g:=9.8 : m:= 50 : r:= 0.5 :k:=500:lo:=1:

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

[Plot]

Realizamos la integración numérica indicando los valores iniciales de las coordenadas generalizadas y sus velocidades.

> res := fint([0.0,1.0,0.0,0]) ;

res := proc (x_rkf45) local res, data, vars, solnproc, outpoint, ndsol, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; _EnvDSNumericSaveDigits := Digits; Digits := 14; if ...

Gráfica de las coordenadas generalizadas en función del tiempo

> odeplot(res,[t,theta(t)],0..1.2);

[Plot]

> odeplot(res,[t,alpha(t)],0..1.2) ;

[Plot]

Animación

> dibu3(4,60) ;

[Plot]

>