3: Rigid Body Dynamics

Example number 1, Page number 116

In [2]:
#importing modules
import math
from __future__ import division

#Variable declaration
ma=mb=10;     #mass(kg)
ra1=rb1=0.5;    #radius(m)
ra2=1;          #radius(m)
rb2=0;          #radius(m)
    
#Calculation
I0=(ma*ra1**2)+(mb*rb1**2);       #moment of inertia through centre(kg m**2)
IA=IB=(ma*ra2**2)+(mb*rb2**2);       #moment of inertia through length of rod(kg m**2)

#Result
print "moment of inertia through centre is",int(I0),"kg m**2"
print "moment of inertia through length of rod is",IA,"kg m**2"
moment of inertia through centre is 5 kg m**2
moment of inertia through length of rod is 10 kg m**2

Example number 3, Page number 117

In [17]:
#importing modules
import math
from __future__ import division

#Variable declaration
I0=6;             #initial moment of inertia(Kg m**2)
omega0=1;         #initial angular velocity(rev/sec)
I=2;              #final moment of inertia(Kg m**2)

#Calculation
omega=I0*omega0/I;                     #final angular velocity(rev/sec)
K0=I0*(omega0*2*math.pi)**2/2;          #initial kinetic energy(J)
K=I*(omega*2*math.pi)**2/2;            #final kinetic energy(J)
deltaK=K-K0;                           #increase in kinetic energy(J)

#Result
print "final angular velocity is",int(omega),"rev/sec"
print "increase in kinetic energy",round(deltaK),"J"
final angular velocity is 3 rev/sec
increase in kinetic energy 237.0 J

Example number 4, Page number 118

In [18]:
#importing modules
import math
from __future__ import division

#Variable declaration
I=5*10**-4;             #moment of inertia(Kg m**2)
omega=30*2*math.pi;     #angular velocity(rad/sec)
m=0.5;                  #mass(Kg) 
g=9.8;                  #acceleration due to gravity(m/sec**2)
r=0.04;                 #radius(m)

#Calculation
J=I*omega;              #angular momentum(Kg m**2/sec)
tow=m*g*r;              #torque(Nm)
omegap=tow/J;           #precessional angular velocity(rad/sec)

#Result
print "precessional angular velocity is",int(omegap),"rad/sec in clockwise direction"
precessional angular velocity is 2 rad/sec in clockwise direction

Example number 5, Page number 118

In [21]:
#importing modules
import math
from __future__ import division

#Variable declaration
I1=I2=1;          #assume
omega1=500;       #angular velocity(rev/min)
omega2=0;         #angular velocity(rev/min)

#Calculation
omega=((I1*omega1)+(I2*omega2))/(I1+I2);       #common speed(revolutions/minute)

#Result
print "common speed is",int(omega),"revolutions/min"
common speed is 250 revolutions/min

Example number 6, Page number 119

In [25]:
#importing modules
import math
from __future__ import division

#Variable declaration
M=50;        #mass of sphere(g)
g=980;       #acceleration due to gravity(gm/sec**2)
r=0.02;        #radius(m)
l=0.005;       #length(m)
n=20;          #number of revolutions

#Calculation
I=2*M*r**2/5;     #moment of inertia of sphere(kg m**2)
L=r+l;            #distance from pivot(m)
omega=n*2*math.pi;      #angular velocity(rad/sec)
omegap=M*g*L*100/(I*10**4*omega);     #precessional angular velocity(rad/sec)

#Result
print "precessional angular velocity is",round(omegap,2),"rad/sec"
precessional angular velocity is 12.19 rad/sec

Example number 7, Page number 120

In [30]:
#importing modules
import math
from __future__ import division

#Variable declaration
M=100;     #mass(gm)
R=10;      #radius(cm)
omega=10*2*math.pi;      #angular velocity(rad/sec)
t=10;        #time(sec)

#Calculation
I=M*R**2;        #moment of inertia of ring(gram cm**2)
L=I*omega;       #angular momentum(erg sec)
tow=L/(2*math.pi*t);       #torque(dyne cm)

#Result
print "moment of inertia of ring is",int(I/10**4),"*10**4 gram cm**2"
print "angular momentum is",round(L/10**5,2),"*10**5 erg sec"
print "torque is",int(tow/10**4),"*10**4 dyne cm"
moment of inertia of ring is 1 *10**4 gram cm**2
angular momentum is 6.28 *10**5 erg sec
torque is 1 *10**4 dyne cm

Example number 8, Page number 120

In [36]:
#importing modules
import math
from __future__ import division

#Variable declaration
g=980;       #acceleration due to gravity(gm/sec**2)
r=5;        #radius(cm)
k=6;        #radius of gyration(cm)
omega=2*math.pi*18;       #angular velocity(revolutions/sec)

#Calculation
omegap=g*r/(k**2*omega);     #precessional angular velocity(radians/sec)

#Result
print "precessional angular velocity is",round(omegap,1),"radians/sec"
precessional angular velocity is 1.2 radians/sec

Example number 13, Page number 128

In [36]:
#importing modules
import math
from __future__ import division

#Variable declaration
M=0.1;        #mass(kg)
R=0.04;       #radius(m)
#omega=3i+4j+6k
omegax=3;     #angular velocity(rad/s)
omegay=4;     #angular velocity(rad/s)
omegaz=6;     #angular velocity(rad/s)
domegaxbydt=domegaybydt=domegazbydt=0;

#Calculation
Ixx=M*R**2/4;    #principal inertia element(kg m**2)
Iyy=M*R**2/4;    #principal inertia element(kg m**2)
Izz=M*R**2/2;    #principal inertia element(kg m**2)
towx=(omegax*domegaxbydt)+(omegay*omegaz*(Izz-Iyy));       #torque on x(Nm)
towy=(omegay*domegaybydt)+(omegaz*omegax*(Ixx-Izz));       #torque on y(Nm)
towz=(omegaz*domegazbydt)+(omegax*omegay*(Iyy-Ixx));       #torque on x(Nm)
dTbydt=(omegax*towx)+(omegay*towy)+(omegaz*towz);          #rate of change of kinetic energy

#Result
print "torque acting on it is (",towx*10**4,"i",towy*10**4,"j+",towz,"k)*10**-4 Nm"
print "rate of change of kinetic energy is",int(dTbydt)
print "hence kinetic energy is constant"
torque acting on it is ( 9.6 i -7.2 j+ 0.0 k)*10**-4 Nm
rate of change of kinetic energy is 0
hence kinetic energy is constant

Example number 14, Page number 130

In [41]:
#importing modules
import math
from __future__ import division

#Variable declaration
M=1;       #assume
R=1;       #assume
omega=20*2*math.pi;     #angular velocity(rad/sec)

#Calculation
Ixx=Iyy=M*R**2/4;       #moment of inertia about diametrical axis
Izz=M*R**2/2;       #moment of inertia about axis normal to plane
omegap=(Izz-Ixx)*omega/Ixx;     #precessional angular velocity(radians/sec)

#Result
print "precessional angular velocity is",int(omegap/math.pi),"*math.pi rad/sec or",int(omegap/(2*math.pi)),"revolutions/sec"
precessional angular velocity is 40 *math.pi rad/sec or 20 revolutions/sec