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))
```

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")
```

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
W_r=F*d*math.cos(math.radians(θ))
# 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")
```

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")
```

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")
```

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")
```

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.")
```

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")
```

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")
```

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")
```

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")
```

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.")
```

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,"°")
```