In [1]:

```
# Variables:
NA = 975 #rpm
TA = 20.
TB = 50.
TC = 25
TD = 75
TE = 26
TF = 65
#Solution:
#Calculating the speed of gear F
NF = NA*(TA*TC*TE)/(TB*TD*TF) #rpm
#Results:
print " Speed of gear F, NF = %d rpm."%(NF)
```

In [2]:

```
import math
from numpy import linalg
# Variables:
x = 600.
pc = 25. #mm
N1 = 360.
N2 = 120. #rpm
#Solution:
#Calculating the pitch circle diameters of each gear
#Speed ratio N1/N2 = d2/d1 or N1*d1-N2*d2 = 0 .....(i)
#Centre distance between the shafts x = 1/2*(d1+d2) or d1+d2 = 600*2 .....(ii)
A = [[N1, -N2],[ 1, 1]]
B = [0, 600*2]
V = linalg.solve(A,B)
d1 = V[0] #mm
d2 = V[1] #mm
#Calculating the number of teeth on the first gear
T1 = round(math.pi*d1/pc)
#Calculating the number of teeth on the second gear
T2 = int(math.pi*d2/pc+1)
#Calculating the pitch circle diameter of the first gear
d1dash = T1*pc/math.pi #mm
#Calculating the pitch circle diameter of the second gear
d2dash = T2*pc/math.pi #mm
#Calculating the exact distance between the two shafts
xdash = (d1dash+d2dash)/2 #mm
#Results:
print " The number of teeth on the first and second gear must be %d and %d and their pitch\
circle diameters must be %.2f mm and %.1f mm respectively."%(T1,T2,d1dash,d2dash)
print " The exact distance between the two shafts must be %.2f mm."%(xdash)
```

In [4]:

```
from numpy import linalg
import math
# Variables:
rAD = 12. #Speed ratio NA/ND
mA = 3.125 #mm
mB = mA #mm
mC = 2.5 #mm
mD = mC #mm
x = 200. #mm
#Solution:
#Calculating the speed ratio between the gears A and B and C and D
rAB = math.sqrt(rAD) #Speed ratio between the gears A and B
rCD = math.sqrt(rAB) #Speed ratio between the gears C and D
#Calculating the ratio of teeth on gear B to gear A
rtBA = rAB #Ratio of teeth on gear B to gear A
#Calculating the ratio of teeth on gear D to gear C
rtDC = rCD #Ratio of teeth on gear D to gear C
#Calculating the number of teeth on the gears A and B
#Distance between the shafts x = mA*TA/2+mB*TB/2 or (mA/2)*TA+(mB/2)*TB = x .....(i)
#Ratio of teeth on gear B to gear A TB/TA = math.sqrt(12) or math.sqrt(12)*TA-TB = 0 .....(ii)
A = [[mA/2, mB/2],[math.sqrt(12) ,-1]]
B = [x, 0]
V = linalg.solve(A,B)
TA = int(V[0])
TB = round(V[1])
#Calculating the number of teeth on the gears C and D
#Dismath.tance between the shafts x = mC*TC/2+mD*TD/2 or (mC/2)*TC+(mD/2)*TD = x .....(iii)
#Ratio of teeth on gear D to gear C TD/TC = math.sqrt(12) or math.sqrt(12)*TC-TD = 0 .....(iv)
A = [[mC/2, mD/2],[ math.sqrt(12) ,-1]]
B = [x, 0]
V = linalg.solve(A,B)
TC = round(V[0])
TD = int(V[1])
#Results:
print " Number of teeth on gear A, TA = %d."%(TA)
print " Number of teeth on gear B, TB = %d."%(TB)
print " Number of teeth on gear C, TC = %d."%(TC)
print " Number of teeth on gear D, TD = %d."%(TD)
```

In [5]:

```
import math
# Variables:
TA = 36.
TB = 45.
NC = 150. #rpm anticlockwise
#Solution:
#Refer Fig. 13.7
#Algebraic method:
#Calculating the speed of gear B when gear A is fixed
NA = 0.
NC = 150. #rpm
NB1 = (-TA/TB)*(NA-NC)+NC #rpm
#Calculating the speed of gear B when gear A makes 300 rpm clockwise
NA = -300. #rpm
NB2 = (-TA/TB)*(NA-NC)+NC #rpm
#Results:
print " Speed of gear B when gear A is fixed, NB = %d rpm."%(NB1)
print " Speed of gear B when gear A makes 300 rpm clockwise, NB = %d rpm."%(NB2)
```

In [6]:

```
import math
# Variables:
TB = 75.
TC = 30.
TD = 90.
NA = 100. #rpm clockwise
#Solution:
#Refer Table 13.3
#Calculating the number of teeth on gear E
TE = TC+TD-TB
#Calculating the speed of gear C
y = -100.
x = y*(TB/TE)
NC = y-x*(TD/TC) #rpm
#Results:
print " Speed of gear C, NC = %d rpm, anticlockwise."%(NC)
```

In [7]:

```
import math
# Variables:
TA = 72.
TC = 32.
NEF = 18. #Speed of arm EF rpm
#Solution:
#Refer Table 13.5
#Speed of gear C:
y = 18. #rpm
x = y*(TA/TC)
NC = x+y #Speed of gear C rpm
#Speed of gear B:
#Calculating the number of teeth on gear B
TB = (TA-TC)/2
#Calculating the speed of gear B
NB = y-x*(TC/TB) #Speed of gear B rpm
#Solution:
print " Speed of gear C = %.1f rpm."%(NC)
print " Speed of gear B = %.1f rpm in the opposite direction of arm."%(-NB)
```

In [9]:

```
from numpy import linalg
import math
# Variables:
TA = 40.
TD = 90.
#Solution:
#Calculating the number of teeth on gears B and C
#From geometry of the Fig. 13.11 dA+2*dB = dD
#Since the number of teeth are proportional to their pitch circle diameters
TB = (TD-TA)/2
TC = TB
#Refer Table 13.6
#Speed of arm when A makes 1 revolution clockwise and D makes half revolution anticlockwise:
#Calculating the values of x and y
#From the fourth row of the table -x-y = -1 or x+y = 1 .....(i)
#The gear D makes half revolution anticlockwise i.e. x*(TA/TD)-y = 1/2 .....(ii)
A = [[1, 1],[TA/TD, -1]]
B = [1, 1./2]
V = linalg.solve(A,B)
x = V[0]
y = V[1]
#Calculating the speed of arm
varm = -y #Speed of arm revolutions
#Results:
print " Speed of arm when A makes 1 revolution clockwise and D makes half revolution\
anticlockwise = %.2f revolution anticlockwise."%(varm)
#Speed of arm when A makes 1 revolution clockwise and D is stationary:
#Calculating the values of x and y
#From the fourth row of the table -x-y = -1 or x+y = 1 .....(iii)
#The gear D is stationary i.e. x*(TA/TD)-y = 0 .....(iv)
A = [[1, 1],[ TA/TD, -1]]
B = [1, 0]
V = linalg.solve(A,B)
x = V[0]
y = V[1]
#Calculating the speed of arm
varm = -y #Speed of arm revolutions
#Results:
print " Speed of arm when A makes 1 revolution clockwise and D is stationary = %.3f revolution\
clockwise."%(-varm)
```

In [10]:

```
import math
# Variables:
TC = 28.
TD = 26.
TE = 18.
TF = TE
#Solution:
#The sketch is as in Fig. 13.12
#Number of teeth on wheels A and B:
#From geometry dA = dC+2*dE and dB = dD+2*dF
#Since the number of teeth are proportional to their pitch circle diameters
TA = TC+2*TE
TB = TD+2*TF
#Speed of wheel B when arm G makes 100 rpm clockwise and wheel A is fixed:
#Since the arm G makes 100 rpm clockwise therefore from the fourth row of Table 13.7
y = -100
x = -y
#Calculating the speed of wheel B
NB1 = y+x*(TA/TC)*(TD/TB) #Speed of wheel B when arm G makes 100 rpm clockwise and wheel A is fixed rpm
#Speed of wheel B when arm G makes 100 rpm clockwise and wheel A makes 10 rpm counter clockwise:
#Since the arm G makes 100 rpm clockwise therefore from the fourth row of Table 13.7
y = -100
x = 10-y
#Calculating the speed of wheel B
NB2 = y+x*(TA/TC)*(TD/TB) #Speed of wheel B when arm G makes 100 rpm clockwise and wheel A makes 10 rpm counter clockwise rpm
#Solution:
print " Number of teeth on wheel A, TA = %d."%(TA)
print " Number of teeth on wheel B, TB = %d."%(TB)
print " Speed of wheel B when arm G makes 100 rpm clockwise and wheel A is fixed = %.1f rpm, clockwise."%(-NB1)
print " Speed of wheel B when arm G makes 100 rpm clockwise and wheel A makes 10 rpm counter\
clockwise = %.1f rpm, counter clockwise."%(NB2)
```

In [1]:

```
import math
# Variables:
dD = 224.
m = 4. #mm
#Solution:
#Refer Table 13.8
#Calculating the values of x and y
y = 1.
x = 5-y
#Calculating the number of teeth on gear D
TD = dD/m
#Calculating the number of teeth on gear B
TB = y/x*TD
#Calculating the number of teeth on gear C
TC = (TD-TB)/2
#Results:
print " Number of teeth on gear D, TD = %d."%(TD)
print " Number of teeth on gear B, TB = %d."%(TB)
print " Number of teeth on gear C, TC = %d."%(TC)
```

In [13]:

```
from numpy import linalg
import math
# Variables:
TC = 50.
TD = 20.
TE = 35.
NA = 110. #rpm
#Solution:
#Calculating the number of teeth on internal gear G
TG = TC+TD+TE
#Speed of shaft B:
#Calculating the values of x and y
#From the fourth row of Table 13.9
#y-x*(TC/TD)*(TE/TG) = 0 .....(i)
#Also x+y = 110 or y+x = 110 .....(ii)
A = [[1, -(TC/TD)*(TE/TG)],[ 1, 1]]
B = [0, 110]
V = linalg.solve(A,B)
x = V[1]
y = V[0]
#Calculating the speed of shaft B
NB = round(+y) #Speed of shaft B rpm
#Results:
print " Number of teeth on internal gear G, TG = %d."%(TG)
print " Speed of shaft B = %d rpm, anticlockwise."%(NB)
```

In [14]:

```
import math
# Variables:
TA = 12.
TB = 30.
TC = 14.
NA = 1.
ND = 5. #rps
#Solution:
#Number of teeth on wheels D and E:
#Calculating the number of teeth on wheel E
TE = TA+2*TB
#Calculating the number of teeth on wheel E
TD = TE-(TB-TC)
#Magnitude and direction of angular velocities of arm OP and wheel E:
#Calculating the values of x and y
#From the fourth row of Table 13.10 -x-y = -1 or x+y = 1 .....(i)
#Also x*(TA/TB)*(TC/TD)-y = 5 .....(ii)
A = [[1, 1],[(TA/TB)*(TC/TD) ,-1]]
B = [1, 5]
V = linalg.solve(A,B)
x = V[0]
y = V[1]
#Calculating the angular velocity of arm OP
omegaOP = -y*2*math.pi #Angular velocity of arm OP rad/s
#Calculating the angular velocity of wheel E
omegaE = (x*TA/TE-y)*2*math.pi #Angular velocity of wheel E rad/s
#Results:
print " Number of teeth on wheel E, TE = %d."%(TE)
print " Number of teeth on wheel D, TD = %d."%(TD)
print " Angular velocity of arm OP = %.3f rad/s, counter clockwise."%(omegaOP)
print " Angular velocity of wheel E = %.2f rad/s, counter clockwise."%(omegaE)
```

In [15]:

```
import math
# Variables:
TB = 80.
TC = 82.
TD = 28.
NA = 500. #rpm
#Solution:
#Calculating the number of teeth on wheel E
TE = TB+TD-TC
#Calculating the values of x and y
y = 800.
x = -y*(TE/TB)*(TC/TD)
#Calculating the speed of shaft F
NF = x+y #Speed of shaft F rpm
#Results:
print " Speed of shaft F = %d rpm, anticlockwise."%(NF)
```

In [11]:

```
# variables
TA = 100. ; # Gear A teeth
TC = 101. ; # Gear C teeth
TD = 99. ; # Gear D teeth
TP = 20. # Gear planet teeth
y = 1
x = 0 - y
# calculations
NC = y + x * TA/TC
ND = y + x * TA/TD
# results
print "revolutions of gear C : %.4f"%NC
print "revolutions of gear D : %.4f "%ND
```

In [3]:

```
from numpy import linalg
import math
# Variables:
NA = 300. #rpm
TD = 40.
TE = 30.
TF = 50.
TG = 80.
TH = 40.
TK = 20.
TL = 30.
#Solution:
#Refer Fig. 13.18 and Table 13.13
#Calculating the speed of wheel E
NE = NA*(TD/TE) #rpm
#Calculating the number of teeth on wheel C
TC = TH+TK+TL
#Speed and direction of rotation of shaft B:
#Calculating the values of x and y
#We have -x-y = -400 or x+y = 400 .....(i)
#Also x*(TH/TK)*(TL/TC)-y = 0 .....(ii)
A = [[1, 1],[ (TH/TK)*(TL/TC), -1]]
B = [400, 0]
V = linalg.solve(A,B)
x = V[0]
y = V[1]
#Calculating the speed of wheel F
NF = -y #rpm
#Calculating the speed of shaft B
NB = -NF*(TF/TG) #Speed of shaft B rpm
#Results:
print " Number of teeth on wheel C, TC = %.1f."%(TC)
print " Speed of shaft B = %.1f rpm, anticlockwise."%(NB)
```

In [17]:

```
from numpy import linalg
import math
# Variables:
T1 = 80.
T8 = 160.
T4 = 100.
T3 = 120.
T6 = 20.
T7 = 66.
#Solution:
#Refer Fig. 13.19 and Table 13.14
#Calculating the number of teeth on wheel 2
T2 = (T3-T1)/2
#Calculating the values of x and y
#Assuming that wheel 1 makes 1 rps anticlockwise x+y = 1 .....(i)
#Also y-x*(T1/T3) = 0 or x*(T1/T3)-y = 0 .....(ii)
A = [[1, 1],[ 1, T1/T3]]
B = [1, 0]
V = linalg.solve(A,B)
x = V[0]
y = V[1]
#Calculating the speed of casing C
NC = y #Speed of casing C rps
#Calculating the speed of wheel 2
N2 = y-x*(T1/T2) #Speed of wheel 2 rps
#Calculating the number of teeth on wheel 5
T5 = (T4-T6)/2
#Calculating the values of x1 and y1
y1 = -2
x1 = (y1-0.4)*(T4/T6)
#Calculating the speed of wheel 6
N6 = x1+y1 #Speed of wheel 6 rps
#Calculating the values of x2 and y2
y2 = 0.4
x2 = -(14+y2)*(T7/T8)
#Calculating the speed of wheel 8
N8 = x2+y2 #Speed of wheel 8 rps
#Calculating the velocity ratio of the output shaft B to the input shaft A
vr = N8/1 #Velocity ratio
#Results:
print " Velocity ratio of the output shaft B to the input shaft A = %.2f."%(vr)
```

In [18]:

```
import math
# Variables:
TA = 40.
TB = 30.
TC = 50.
NX = 100.
NA = NX #rpm
Narm = 100. #Speed of armrpm
#Solution:
#Refer Fig. 13.22 and Table 13.18
#Calculating the values of x and y
y = +100
x = -100-y
#Calculating the speed of the driven shaft
NY = y-x*(TA/TB) #rpm
#Results:
print " Speed of the driven shaft, NY = %.1f rpm, anticlockwise."%(NY)
```

In [19]:

```
from numpy import linalg
import math
# Variables:
TB = 20.
TC = 80.
TD = 80.
TE = 30.
TF = 32.
NB = 1000. #rpm
#Solution:
#Refer Fig. 13.23 and Table 13.19
#Speed of the output shaft when gear C is fixed:
#Calculating the values of x and y
#From the fourth row of the table y-x*(TB/TC) = 0 .....(i)
#Also x+y = +1000 or y+x = 1000 .....(ii)
A = [[1, -TB/TC],[ 1, 1]]
B = [0, 1000]
V = linalg.solve(A,B)
x = V[1]
y = V[0]
#Calculating the speed of output shaft
NF1 = y-x*(TB/TD)*(TE/TF) #Speed of the output shaft when gear C is fixed rpm
#Speed of the output shaft when gear C is rotated at 10 rpm counter clockwise:
#Calculating the values of x and y
#From the fourth row of te table y-x*(TB/TC) = +10 .....(iii)
#Also x+y = +1000 or y+x = 1000 .....(iv)
A = [[1, -TB/TC],[1, 1]]
B = [10, 1000]
V = linalg.solve(A,B)
x = V[1]
y = V[0]
#Calculating the speed of output shaft
NF2 = y-x*(TB/TD)*(TE/TF) #Speed of the output shaft when gear C is rotated at 10 rpm counter clockwise rpm
#Results:
print " Speed of the output shaft when gear C is fixed = %.1f rpm, counter clockwise."%(NF1)
print " Speed of the output shaft when gear C is rotated at 10 rpm counter clockwise = %.1f rpm, \
counter clockwise."%(NF2)
```

In [20]:

```
import math
# Variables:
TA = 10.
TB = 60.
NA = 1000.
NQ = 210.
ND = NQ #rpm
#Solution:
#Refer Fig. 13.24 and Table 13.20
#Calculating the speed of crown gear B
NB = NA*(TA/TB) #rpm
#Calculating the values of x and y
y = 200.
x = y-210.
#Calculating the speed of road wheel attached to axle P
NC = x+y #Speed of road wheel attached to axle P rpm
#Results:
print " Speed of road wheel attached to axle P = %d rpm."%(NC)
```

In [5]:

```
from numpy import linalg
import math
# Variables:
TA = 15.
TB = 20.
TC = 15.
NA = 1000. #rpm
Tm = 100. #Torque developed by motor N-m
#Solution:
#Refer Fig. 13.26 and Table 13.21
#Calculating the number of teeth on gears E and D
TE = TA+2*TB
TD = TE-(TB-TC)
#Speed of the machine shaft:
#From the fourth row of the table x+y = 1000 or y+x = 1000 .....(i)
#Also y-x*(TA/TE) = 0 .....(ii)
A = [[1, 1],[1, -TA/TE]]
B = [1000, 0]
V = linalg.solve(A,B)
y = round(V[0])
x = round(V[1])
#Calculating the speed of machine shaft
ND = y-x*(TA/TB)*(TC/TD) #rpm
#Calculating the torque exerted on the machine shaft
Ts = Tm*NA/ND #Torque exerted on the machine shaft N-m
#Results:
print " Speed of machine shaft, ND = %.2f rpm, anticlockwise."%(ND)
print " Torque exerted on the machine shaft = %.f N-m."%(Ts)
```

In [23]:

```
import math
# Variables:
Ts = 100 #Torque on the sun wheel N-m
r = 5 #Ratio of speeds of gear S to C NS/NC
#Refer Fig. 13.27 and Table 13.22
#Number of teeth on different wheels:
#Calculating the values of x and y
y = 1.
x = 5-y
#Calculating the number of teeth on wheel E
TS = 16.
TE = 4*TS
#Calculating the number of teeth on wheel P
TP = (TE-TS)/2
#Torque necessary to keep the internal gear stationary:
Tc = Ts*r #Torque on CN-m
#Caluclating the torque necessary to keep the internal gear stationary
Ti = Tc-Ts #Torque necessary to keep the internal gear stationary N-m
#Results:
print " Number of teeth on different wheels, TE = %d."%(TE)
print " Torque necessary to keep the internal gear stationary = %d N-m."%(Ti)
```

In [9]:

```
import math
from numpy import linalg
# Variables:
TA = 14.
TC = 100.
r = 98./41 #TE/TD
PA = 1.85*1000 #W
NA = 1200. #rpm
TB = 43
#Solution:
#Refer Fig. 13.28 and Table 13.23
#Calculating the number of teeth on wheel B TB = (TC-TA)/2
#Calculating the values of x and y
#From the fourth row of the table -y+x*(TA/TC) = 0 or x*(TA/TC)-y = 0 .....(i)
#Also x-y = 1200 or x+y = -1200 .....(ii)
A = [[TA/TC, -1],[ 1, 1]]
B = [0, -1200]
V = linalg.solve(A,B)
x = V[0]
y = V[1]
#Calculating the speed of gear E
NE = round(-y+x*(TA/TB)*(1./r)) #rpm
#Fixing torque required at C:
#Calculating the torque on A
Ta = PA*60./(2*math.pi*NA) #Torque on A N-m
#Calculating the torque on E
Te = PA*60./(2*math.pi*NE) #Torque on E
#Calculating the fixing torque required at C
Tc = Te-Ta #Fixing torque at C N-m
#Results:
print " Speed and direction of rotation of gear E, NE = %d rpm, anticlockwise."%(NE)
print " Fixing torque required at C = %.1f N-m."%(Tc)
```

In [25]:

```
from numpy import linalg
import math
# Variables:
TB = 15.
TA = 60.
TC = 20.
omegaY = 740.
omegaA = omegaY #rad/s
P = 130*1000. #W
#Solution:
#Refer Fig. 13.29 and Table 13.24
#Calculating the number of teeth on wheel D
TD = TA-(TC+TB)
#Calculating the values of x and y
#From the fourth row of the table y-x*(TD/TC)*(TB/TA) = 740 .....(i)
#Also x+y = 0 or y+x = 0 .....(ii)
A = [[1, -(TD/TC)*(TB/TA)],[ 1, 1]]
B = [740, 0]
V = linalg.solve(A,B)
x = V[1]
y = V[0]
#Calculating the speed of shaft X
omegaX = y #rad/s
#Holding torque on wheel D:
#Calculating the torque on A
Ta = P/omegaA #Torque on A N-m
#Calculating the torque on X
Tx = P/omegaX #Torque on X N-m
#Calculating the holding torque on wheel D
Td = Tx-Ta #Holding torque on wheel D N-m
#Results:
print " Speed of shaft X, omegaX = %.1f rad/s."%(omegaX)
print " Holding torque on wheel D = %.1f N-m."%(Td)
```

In [26]:

```
from numpy import linalg
import math
# Variables:
TP = 144.
TQ = 120.
TR = 120.
TX = 36.
TY = 24.
TZ = 30.
NI = 1500. #rpm
P = 7.5*1000 #W
eta = 0.8
#Solution:
#Refer Fig. 13.30 and Table 13.25
#Calculating the values of x and y
#From the fourth row of the table x+y = -1500 .....(i)
#Also y-x*(TZ/TR) = 0 or -x*(TZ/TR)+y = 0 .....(ii)
A = [[1, 1],[-TZ/TR, 1]]
B = [-1500, 0]
V = linalg.solve(A,B)
x = V[0]
y = V[1]
#Calculating the values of x1 and y1
#We have y1-x1*(TY/TQ) = y .....(iii)
#Also x1+y1 = x+y or y1+x1 = x+y .....(iv)
A = [[1, -TY/TQ],[ 1, 1]]
B = [y, x+y]
V = linalg.solve(A , B)
x1 = V[1]
y1 = V[0]
#Speed and direction of the driven shaft O and the wheel P:
#Calculating the speed of shaft O
NO = y1 #rpm
#Calculating the speed of wheel P
NP = y1+x1*(TY/TQ)*(TX/TP) #rpm
#Torque tending to rotate the fixed wheel R:
#Calculating the torque on shaft I
T1 = P*60/(2*math.pi*NI) #N-m
#Calculating the torque on shaft O
T2 = eta*P*60/(2*math.pi*(-NO)) #N-m
#Calculating the torque tending to rotate the fixed wheel R
T = T2-T1 #Torque tending to rotate the fixed wheel R N-m
#Results:
print " Speed of the driven shaft O, NO = %d rpm, clockwise."%(-NO)
print " Speed of the wheel P, NP = %d rpm, clockwise."%(-NP)
print " Torque tending to rotate the fixed wheel R = %.2f N-m."%(T)
```

In [6]:

```
from numpy import linalg
import math
# Variables:
TA = 34.
TB = 120.
TC = 150.
TD = 38.
TE = 50.
PX = 7.5*1000 #W
NX = 500. #rpm
m = 3.5 #mm
#Solution:
#Refer Fig. 13.31 and Table 13.27
#Output torque of shaft Y:
#Calculating the values of x and y
#From the fourth row of the table x+y = 500 or y+x = 500 .....(i)
#Alsoy-x*(TA/TC) = 0 .....(ii)
A = [[1, 1],[ 1, -TA/TC]]
B = [500, 0]
V = linalg.solve(A, B)
y = round(V[0],1) #rpm
x = round(V[1],1) #rpm
#Calculating the speed of output shaft Y
NY = y-x*(TA/TB)*(TD/TE) #rpm
#Calculating the speed of wheel E
NE = NY #rpm
#Calculating the input power assuming 100 per cent efficiency
PY = PX #W
#Calculating the output torque of shaft Y
Ty = PY*60/(2*math.pi*NY*1000) #Output torque on shaft Y kN-m
#Tangential force between wheels D and E:
#Calculating the pitch circle radius of wheel E
rE = m*TE/(2*1000) #m
#Calculating the tangential force between wheels D and E
FtDE = Ty/rE #Tangential force between wheels D and E kN
#Tangential force between wheels B and C:
#Calculating the input torque on shaft X
Tx = PX*60/(2*math.pi*NX) #Input torque on shaft X N-m
#Calculating the fixing torque on the fixed wheel C
Tf = Ty-Tx/1000 #Fixing torque on the fixed wheelC kN-m
#Calculating the pitch circle radius of wheel C
rC = m*TC/(2*1000) #m
#Calculating the tangential forces between wheels B and C
FtBC = Tf/rC #kN
#Results:
print " Output torque of shaft Y = %.3f kN-m."%(Ty)
print " Tangential force between wheels D and E = %.1f kN."%(FtDE)
print " Tangential force between wheels B and C = %.f kN."%(FtBC)
# note : answers are slightly different because of solve function and rounding off errors.
```