# Chapter 6 : Work, Energy and Power¶

## Example 6.1 , page : 115¶

In [1]:
# Importing module

import math

# Variable declaration

F = (3,4,-5)             # Force vector
d = (5,4,3)              # Displacement vector

# Calculation

Fd=sum(p*q for p,q in zip(F,d))
FF=sum(p*q for p,q in zip(F,F))
dd=sum(p*q for p,q in zip(d,d))
cosθ=Fd/math.sqrt(FF*dd)
θ=math.degrees(math.acos(cosθ))

# Result

print("The angle between the force F and the displacement d =",cosθ,"°")
print("The projection of F on d =",round(θ,2))

The angle between the force F and the displacement d = 0.32 °
The projection of F on d = 71.34


## Example 6.2 , page : 116¶

In [2]:
# Importing module

import math

# Variable declaration

m=1                      # Mass of the drop in g
h=1                      # The height at which the drop is falling in km
v=50                     # Speed at which the drop hits the ground in m/s
g=10                     # Accelaration due to gravity

# Calculation

m=m*10**-3               # Mass of the drop in kg
h=h*10**3                # The height at which the drop is falling in m

#(a)
# We have assumed that the drop is initially at rest

K=(m*pow(v,2))/2 # Change in kinetic energy of the drop
W_g= m*g*h # The work done by the gravitational force on the drop in J

#(b)
# From the work-energy theorm, K=W_g+W_r  where Wr  is the work done by the resistive force on the raindrop
W_r=K-W_g

# Result

print("(a) The work done by the gravitational force =",W_g,"J")
print("(b) The work done by the unknown resistive force",W_r,"J")

(a) The work done by the gravitational force = 10.0 J
(b) The work done by the unknown resistive force -8.75 J


## Example 6.3 , page : 117¶

In [3]:
# Importing module

import math

# Variable declaration

d=10                     # The distance in m
F=200                    # The force on cycle due to the road in N
θ=180                    # The angle the stopping force and the displacement make with each other in degrees

# Calculation

# From Newton’s Third Law an equal and opposite force acts on the road due to the cycle.
# Its magnitude is 200 N. However, the road undergoes no displacement.
#  Thus, work done by cycle on the road is zero.

# Result

print("(a) Work done by the road on the cycle =",W_r,"J")
print("(b) Work done by cycle on the road = 0 J")

(a) Work done by the road on the cycle = -2000.0 J
(b) Work done by cycle on the road = 0 J


## Example 6.4 , page : 118¶

In [4]:
# Importing module

import math

# Variable declaration

m=50                     # The mass of the bullet in g
in_v=200                 # The initial velocity of the bullet in m/s
d=2                      # The thickness of the plywood in cm
mp=1                     # For convenience,mass is assumed to be unity

# Calculation

m=m*10**-3               # The mass of the bullet in kg
in_ke=(m*in_v**2)/2
# Since the bullet emerges with only 10% of its initial kinetic energy
fin_ke=0.1*in_ke
#If v_f  is the emergent speed of the bullet,then mv_f²/2 = final kinetic energy
v_f=math.sqrt((2*fin_ke)/m)

# Result

print("The emergent speed of the bullet =",round(v_f,1),"m/s")

The emergent speed of the bullet = 63.2 m/s


## Example 6.5 , page : 119¶

In [5]:
# Importing module

import math

# Variable declaration

F1=100                   # Initial force in J
F2=50                    # Final force in J
d1=10                    # Initial distance covered in m
d2=10                    # Final distance covered in m

# Calculation

d=d1+d2                  # Total distance covered
A_rec1=F1*d1             # Area of the rectangle ABCD
A_tra=((F1+F2)/2)*d2
W_f=A_rec1+A_tra         # Work done by the women
A_rec2=-F2*d             # Area of the rectangle AGHI

# Result

print("Work done by the women =",W_f,"J")
print("Work done by the frictional force =",A_rec2,"J")

Work done by the women = 1750.0 J
Work done by the frictional force = -1000 J


## Example 6.6 , page : 120¶

In [6]:
# Importing module

import math

# Variable declaration

m=1                      # Mass of the block in kg
v_t=2                    # Speed of the block in m/s
x1=0.10                  # Initial point
x2=2.01                  # Final point
k=0.5                    # Proportionality ratio in J

# Calculation

k_t=(m*pow(v_t,2))/2
k_f=k_t-(k*math.log(x2/x1))
#Since Kinetic energy =mv²/2
v_f=math.sqrt(2*k_f/m)

# Result

print("The final kinetic energy of the block =",round(k_f,2),"J")
print("The final speed of the block =",round(v_f,2),"m/s")

The final kinetic energy of the block = 0.5 J
The final speed of the block = 1.0 m/s


## Example 6.7 , page : 122¶

In [7]:
# Importing module

import math

# Calculation

#(i)
# The total mechanical energy E  of the system is conserved.We take the potential energy of the system to be zero at the lowest point A.
# Thus, at A : E = (1/2)mv²_o
# By Newton’s Second Law Ta-m = mv²_o/L  where TA is the tension  in the string at A.
# At the highest point C, the string slackens, as the tension in the string (TC) becomes zero.
# Thus, at C, E = mgl(5/2)
# Equating this to the energy at A we get, v_o = √(5gL)

#(ii)
# We know that v_c= √(gL)
# At B, the energy is E =(1/2)mv²_b + mgL
# Equating this to the energy at A and employing the result  namely v²_o = (5gL), we get  v_b = √3gL

#(iii)
# The ratio of the kinetic energies at B and C  is;  K_B/K_C = (1/2)mv²_b/(1/2)mv²_c = 3/1

# Result

print("(i)   v_o = √(5gL)")
print("(ii)  The speed at point B, v_b = √3gL")
print("      The speed at point C, v_c = √gL")
print("(iii) The ratio  of  the kinetic energies (KB/KC) at B and C=",3/1)
print("At point C, the string becomes slack and the velocity of the bob is horizontal and to the left.  If the connecting string is cut at this instant, the bob will execute a projectile motion with horizontal projection akin to a rock kicked horizontally from the edge of a cliff.  Otherwise the bob will continue on its circular path and complete the revolution.")

(i)   v_o = √(5gL)
(ii)  The speed at point B, v_b = √3gL
The speed at point C, v_c = √gL
(iii) The ratio  of  the kinetic energies (KB/KC) at B and C= 3.0
At point C, the string becomes slack and the velocity of the bob is horizontal and to the left.  If the connecting string is cut at this instant, the bob will execute a projectile motion with horizontal projection akin to a rock kicked horizontally from the edge of a cliff.  Otherwise the bob will continue on its circular path and complete the revolution.


## Example 6.8 , page : 124¶

In [8]:
# Importing module

import math

# Variable declaration

m=1000                   # Mass of the car in kg
v=18                     # Speed of the car in km/h
k=6.25*10**3             # Spring constant in N/m

# Calculation

v=v*(5/18)               # Speed of the car in m/s
KE=m*v**2/2              # Kinetic energy of the car
# At maximum compression Xm, the potential energy V of the spring is equal to the kinetic energy KE of the moving car from the principle of conservation of mechanical energy.
Xm=math.sqrt((2*KE)/k)

# Result

print("The maximum compression of spring =",Xm,"m")

The maximum compression of spring = 2.0 m


## Example 6.9 , page : 125¶

In [9]:
# Importing module

import math

# Variable declaration

m=1000                   # Mass of the car in kg
µ=0.5                    # The coefficient of friction
g=10                     # Acceleration due to gravity
k=6.25*10**3             # Spring constant in N/m
v=18                     # Speed of the car in km/h

# Calculation

v=v*(5/18)               # Speed of the car in m/s
# In presence of friction, both the spring force and the frictional force act so as to oppose the compression of the spring
# The change in kinetic energy is ∆K = K_f - K_i = 0 -(1/2)mv² ..........eqn 1
# The work done by the net force is W = (1/2)mv² + µmgX_m   .............eqn 2
# by equating the above two equations and rearranging  we obtain the following quadratic equation in the unknown X_m as
# kX²_m + 2µmgX_m + mv² = 0
t1=((-2*µ*m*g)+math.sqrt(abs(((2*µ*m*g)**2)-(4*k*m*v**2))))/(2*k)
t2=((-2*µ*m*g)-math.sqrt(abs(((2*µ*m*g)**2)-(4*k*m*v**2))))/(2*k)
X_m=max(t1,t2)

# Result

print("The  maximum compression of the spring =",round(X_m,2),"m")

The  maximum compression of the spring = 1.03 m


## Example 6.10 , page : 127¶

In [10]:
# Importing module

import math

# Variable declaration

E=pow(10,20)             # Energy required to break one bond of DNA in J
KE=pow(10,21)            # The kinetic energy of an air molecule in J
Con=pow(10,7)            # The average human consumption in a day in J

# Calculation
#(a)
E=(10**20)/(1.6*10**19 )     # Energy required to break one bond of DNA in eV
#(b)
KE=(10**21)/(1.6*10**19)     # The kinetic energy of an air molecule in eV
#(c)
consum=(10**7)/(4.2*10**3)   # The average human consumption in a day in kcal

# Result

print("(a) Energy required to break one bond of DNA in eV =",E,"≈ 0.06 eV")
print("(b) The kinetic energy of an air molecule in eV =",KE,"≈ 0.0062 eV")
print("(c) The average human consumption in a day in kcal =",consum,"≈ 2400 kcal")


(a) Energy required to break one bond of DNA in eV = 6.25 ≈ 0.06 eV
(b) The kinetic energy of an air molecule in eV = 62.5 ≈ 0.0062 eV
(c) The average human consumption in a day in kcal = 2380.9523809523807 ≈ 2400 kcal


## Example 6.11 , page : 128¶

In [11]:
# Importing module

import math

# Variable declaration

m=1800                   # Maximum load the elevator can carry in kg
F_f=4000                 # Frictional force appearing in N
v=2                      # Speed of the elevator in m/s
g=10                     # Acceleration due to gravity

# Calculation

F=m*g+F_f                # The downward force on the elevator in N
P=F*v
# Since, 1 hp = 7.457*10**2 W
P_hp=P/(7.457*10**2)

# Result

print("The minimum power delivered by the motor to the elevator in watts =",P,"watts")
print("The minimum power delivered by the motor to the elevator in hp =",round(P_hp,2),"hp")

The minimum power delivered by the motor to the elevator in watts = 44000 watts
The minimum power delivered by the motor to the elevator in hp = 59.0 hp


## Example 6.12 , page : 130¶

In [12]:
# Importing module

import math

# Calculation

# The initial kinetic energy of the neutron is  K_1i = (1/2)*m1V²_1i
# Its final kinetic energy is given by, K_1f = (1/2)*m1V²_1f =(1/2)*m1*(m1-m2/m1+m2)²*V²_1f
# The fractional kinetic energy lost is  f1 = K_1f/K_1i = (m1-m2/m1+m2)²
# The fractional kinetic energy gained by the moderating nuclei is f2 = 1-f1 = (4*m1*m2)/(m1+m2)²
# For deuterium m2 = 2m1
m1=1
m2=2*m1
f1=((m1-m2)/(m1+m2))**2
f2 = 1-f1

# Result

print("For deuterium the fractional kinetic energy lost is =",f1)
print("For deuterium the fractional kinetic energy gained by the moderating nuclei =",f2)
print("Hence we conclude that almost 90% of the neutron’s energy is transferred to deuterium.")

For deuterium the fractional kinetic energy lost is = 0.1111111111111111
For deuterium the fractional kinetic energy gained by the moderating nuclei = 0.8888888888888888
Hence we conclude that almost 90% of the neutron’s energy is transferred to deuterium.


## Example 6.13 , page : 131¶

In [13]:
# Importing module

import math

# Variable declaration

θ=37                     # The angle of the corner pocket in degreeac

# Calculation

# Here m1 = m2, where m1 is the mass of the cue and m2 is the mass of the target
# From momentum conservation, since the masses are equal ; V_1i = V_1f + V_2f
# Or   V_1f² = V_2f² + 2*V_1f*V_2f
# Since the collision is elastic and m1 = m2 it follows from conservation of kinetic energy that V_1i² = V_1f² + V_2f²
# Hence we get,   cos(θ1+θ) = 0
θ1=math.degrees(math.acos(0))- θ

# Result

print("The angle at which the player has to strike the cue =",θ1,"°")

The angle at which the player has to strike the cue = 53.0 °