#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"
#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"
#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"
#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"
#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"
#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"
#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"
#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"
#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"