2  Dynamics

Dynamics is the branch of mechanics that studies the motion of bodies under the action of forces. This chapter examines situations where forces produce acceleration, and it presents methods for analyzing the resulting motion, including the application of Newton’s laws, energy principles, and momentum conservation.

2.1 Inertia

Inertia is the property of a body that resists any change in its state of motion and is directly proportional to its mass. It can be understood as a form of “sluggishness” inherent to matter. For an object at rest, a net force is required to set it in motion; the greater the mass, the greater the force needed. Similarly, if an object is already moving, a net force is required to change its speed or direction, and the magnitude of this force is again proportional to the mass.

Note

The tendency of an object to resist any change in its motion. An object with greater mass has greater inertia (it is “harder to start or stop”).

  • In Naval Architecture, the moment of inertia (units: m⁴) is a measure of resistance to bending (related to stiffness/deflection of beams and hull girders).
  • In angular motion and physics, the moment of inertia (units: kg·m²) is a measure of resistance to angular acceleration (rotational inertia).

2.2 Momentum

Momentum is the product of an object’s mass and its velocity and quantifies the amount of motion a moving body possesses. This concept is particularly important when considering a large vessel approaching a dock. Once the vessel is underway, its considerable momentum means that a substantial force, applied over sufficient time, is required to bring it to a stop or significantly alter its course. Without such intervention, the vessel will not stop quickly on its own and may collide with the dock.

2.3 Newton’s Laws of Motion

  1. First Law (Law of Inertia):
    An object remains at rest, or in uniform motion in a straight line, unless acted upon by a net external force.
    \[ \Sigma F = 0 \implies v = \text{constant} \]

  2. Second Law (Law of Acceleration):
    The acceleration of an object is directly proportional to the net force acting on it and inversely proportional to its mass.
    \[ \vec{F} = m \vec{a} \]

  3. Third Law (Action-Reaction Law):
    For every action, there is an equal and opposite reaction.
    \[ \vec{F}_{\text{action}} = -\vec{F}_{\text{reaction}} \]

Example 2.1 A lift is supported by a steel wire rope, the total mass of the lift and contents is 750 kg. Find the tension in the wire rope, in newtons, when the lift is (i) moving at constant velocity, (ii) moving upwards and accelerating at 1.2 m/s2, (iii) moving upwards and retarding at 1.2 m/s2

"""
Elevator Cable Tension Calculator

Calculates the tension in an elevator cable under different motion
conditions: constant velocity, upward acceleration, and upward
deceleration. Uses Newton's second law (F = ma).
"""

# ==============================================
# INPUT PARAMETERS
# ==============================================

elevator_mass_kg = 750  # Mass of elevator in kilograms
gravitational_acceleration_m_per_s2 = 9.81  # Acceleration due to gravity

# Accelerations for different motion conditions
acceleration_constant_velocity_m_per_s2 = 0  # No acceleration
acceleration_upward_m_per_s2 = 1.2  # Upward acceleration
acceleration_deceleration_m_per_s2 = -1.2  # Upward deceleration (negative)

# ==============================================
# TENSION CALCULATIONS USING NEWTON'S SECOND LAW
# ==============================================

# For an elevator, the cable tension is given by:
# T = m(g + a)
# where:
# - m is the mass
# - g is gravitational acceleration
# - a is the net acceleration (positive upward, negative downward)

# Case 1: Constant velocity (a = 0)
# Cable tension equals the weight of the elevator
tension_constant_velocity_n = elevator_mass_kg * (
    gravitational_acceleration_m_per_s2 + acceleration_constant_velocity_m_per_s2
)

# Case 2: Upward acceleration (a > 0)
# Cable tension is greater than weight due to upward acceleration
tension_upward_acceleration_n = elevator_mass_kg * (
    gravitational_acceleration_m_per_s2 + acceleration_upward_m_per_s2
)

# Case 3: Upward deceleration (a < 0)
# Cable tension is less than weight due to deceleration
tension_upward_deceleration_n = elevator_mass_kg * (
    gravitational_acceleration_m_per_s2 + acceleration_deceleration_m_per_s2
)

# ==============================================
# OUTPUT RESULTS
# ==============================================

print(f"Tension at constant velocity: {tension_constant_velocity_n:.4f} N")
print(f"Tension during upward acceleration: " f"{tension_upward_acceleration_n:.4f} N")
print(f"Tension during upward deceleration: " f"{tension_upward_deceleration_n:.4f} N")

2.4 Linear momentum

Linear momentum is a fundamental concept in physics that quantifies the motion of an object. It is defined as the product of the object’s mass and its velocity. Because momentum is a vector quantity, it possesses both magnitude and direction.

\[ Linear\ momentum = m \vec{v} \]

Where:

  • Linear momentum is in kg·m/s.

  • \(m\) is the mass of the object in kilograms.

  • \(\vec{v}\) is the velocity of the object in meters per second.

2.4.1 Conservation of Linear Momentum

The law of conservation of linear momentum states that, in a closed system with no external forces (or when the net external force is zero), the total linear momentum remains constant over time. This principle is particularly evident in collisions between two bodies. During a collision, the force exerted by the first body on the second is equal in magnitude and opposite in direction to the force exerted by the second on the first (Newton’s third law). These equal and opposite forces act for the same duration, producing changes in momentum that are equal in magnitude but opposite in direction. Consequently, the momentum gained by one body exactly equals the momentum lost by the other. Therefore, the total momentum of the system before the collision is equal to the total momentum after the collision.

In the absence of external forces, linear momentum is neither created nor destroyed; it is conserved. This is known as the law of conservation of linear momentum.

Example 2.2 A jet of fresh water, 20 mm in diameter, emerges horizontally from a nozzle at a speed of 21 m/s and strikes a stationary vertical plate normally. Assuming no splashback (i.e., the water comes to rest upon impact with no velocity component normal to the plate after striking), calculate: (a) the mass flow rate of water leaving the nozzle (in kg/s), and (b) the force exerted by the jet on the plate. The density of fresh water is 1000 kg/m³.

"""
Jet Impact Force Calculator

Calculates the force exerted by a water jet impacting a flat plate.
Uses the momentum equation to determine the force based on mass flow
rate and jet velocity.
"""

import math

# ===============================================
# INPUT PARAMETERS
# ===============================================

jet_diameter_m = 0.02  # Diameter of water jet in meters
jet_velocity_m_per_s = 21  # Velocity of water jet in m/s
water_density_kg_per_m3 = 1000  # Density of water in kg/m³

# ===============================================
# CROSS-SECTIONAL AREA AND FLOW RATE CALCULATIONS
# ===============================================

# Calculate cross-sectional area of the jet
jet_cross_sectional_area_m2 = math.pi * (jet_diameter_m**2) / 4

# Calculate volumetric flow rate using Q = A × v
volumetric_flow_rate_m3_per_s = jet_cross_sectional_area_m2 * jet_velocity_m_per_s

# Calculate mass flow rate using ṁ = ρ × Q
mass_flow_rate_kg_per_s = water_density_kg_per_m3 * volumetric_flow_rate_m3_per_s

# ===============================================
# FORCE CALCULATION USING MOMENTUM EQUATION
# ===============================================

# Calculate force on the plate using the momentum equation:
# F = ṁ × Δv
# For a jet hitting a flat plate normally and deflecting at 90°,
# the change in velocity in the normal direction equals the jet velocity:
# F = ṁ × v
force_on_plate_n = mass_flow_rate_kg_per_s * jet_velocity_m_per_s

# ===============================================
# OUTPUT RESULTS
# ===============================================

print(f"Mass flow rate (kg/s): {mass_flow_rate_kg_per_s:.4f}")
print(f"Force on plate (N): {force_on_plate_n:.4f}")

2.5 Angular Momentum

Angular momentum is the moment of linear momentum about a chosen point or axis. For a single particle, it is given by the cross product of its position vector (measured from that point) and its linear momentum.

More broadly, angular momentum measures the rotational motion of a system. For extended bodies, its evaluation depends on both the distance of mass elements from the axis (the first moment of position) and how the mass is distributed throughout the object—the moment of inertia, or second moment of mass.

Given linear velocity \(\vec{v}\) and angular velocity \(\omega\):

\[ \vec{v} = r \omega \]

The linear momentum is determined by:

\[ \text{Linear momentum} = m \vec{v} \]

Substituting for \(\vec{v}\):

\[ \text{Linear momentum} = m r \omega \]

The moment of linear momentum can then be written as:

\[ \text{Moment of linear momentum} = m r \omega r \]

The moment of linear momentum is referred to as the angular momentum. Simplifying the above equation:

\[ \text{Angular momentum} = m r^2 \omega \]

Here, \(m r^2\) is the moment of inertia (second moment of mass) of the object about its axis of rotation, denoted as \(I\). Thus, the angular momentum can be expressed as:

\[ \text{Angular momentum} = I \omega \]

Where:

  • \(I\) is the moment of inertia in \(kg·m²\).
  • \(\omega\) is the angular velocity in \(rad/s\).

Additionally, the moment of inertia \(I\) is given by:

\[ I = m k^2 \]

Where:

  • \(I\) is the moment of inertia in \(kg·m²\).
  • \(m\) is the mass in \(kg\).
  • \(k\) is the radius of gyration in \(m\).
Note

In structural engineering, the moment of inertia (m⁴) is a measure of resistance to bending (deflection or stiffness).

In angular motion and physics, the moment of inertia (kg·m²) is a measure of resistance to angular acceleration (rotational inertia).

2.6 The Radius of Gyration

A geometric property of a rigid body that indicates how the mass is distributed relative to a specified axis of rotation. It is defined such that:

\[I = m k^2\]

where
- \(I\) = moment of inertia (kg·m²)
- \(m\) = total mass (kg)
- \(k\) = radius of gyration (m)

Note
  • Smaller \(k\) → mass is concentrated closer to the axis → lower rotational inertia
    → easier/faster to speed up or slow down rotation
    (e.g., engine crankshafts, turbine rotors, figure skater pulling arms in).

  • Larger \(k\) → mass is distributed farther from the axis → higher rotational inertia
    → better for storing rotational energy
    (e.g., flywheels; a hollow cylinder has a larger \(k\) than a solid cylinder of the same mass and outer radius).

Example 2.3 A flywheel of mass 500 kg and radius of gyration 1.2 m is running at 300 rev/min. By means of a clutch, this flywheel is suddenly connected to another flywheel, mass 2000 kg and radius of gyration 0.6 m, initially at rest. Calculate their common speed of rotation after engagement.

"""
Angular Momentum Conservation Calculator

Calculates the final angular velocity when two rotating bodies are coupled
together. Uses conservation of angular momentum to determine the combined
system's rotation speed.
"""

import math

# =================================
# INPUT PARAMETERS
# =================================

# Body 1 (initially rotating)
mass_body1_kg = 500  # Mass of body 1 in kilograms
radius_of_gyration_body1_m = 1.2  # Radius of gyration in meters
initial_angular_velocity_body1_rpm = 300  # Initial speed in rpm

# Body 2 (initially stationary)
mass_body2_kg = 2000  # Mass of body 2 in kilograms
radius_of_gyration_body2_m = 0.6  # Radius of gyration in meters

# =================================
# MOMENT OF INERTIA CALCULATIONS
# =================================

# Calculate moment of inertia for body 1 using I = m × k²
# where k is the radius of gyration
moment_of_inertia_body1_kg_m2 = mass_body1_kg * radius_of_gyration_body1_m**2

# Calculate moment of inertia for body 2
moment_of_inertia_body2_kg_m2 = mass_body2_kg * radius_of_gyration_body2_m**2

# =================================
# UNIT CONVERSION
# =================================

# Convert initial angular velocity from rpm to rad/s
# ω (rad/s) = (rpm / 60) × 2π
initial_angular_velocity_body1_rad_per_s = (
    (initial_angular_velocity_body1_rpm / 60) * 2 * math.pi
)

# =================================
# ANGULAR MOMENTUM CONSERVATION
# =================================

# Apply conservation of angular momentum:
# L_initial = L_final
# I₁ω₁ = (I₁ + I₂)ω_f
# Solving for final angular velocity:
# ω_f = (I₁ω₁) / (I₁ + I₂)

final_angular_velocity_rad_per_s = (
    moment_of_inertia_body1_kg_m2 * initial_angular_velocity_body1_rad_per_s
) / (moment_of_inertia_body1_kg_m2 + moment_of_inertia_body2_kg_m2)

# =================================
# UNIT CONVERSION FOR OUTPUT
# =================================

# Convert final angular velocity from rad/s to rpm
# rpm = (ω / 2π) × 60
final_angular_velocity_rpm = (final_angular_velocity_rad_per_s / (2 * math.pi)) * 60

# =================================
# OUTPUT RESULTS
# =================================

print(f"Final angular velocity (rad/s): " f"{final_angular_velocity_rad_per_s:.4f}")
print(f"Final angular velocity (rpm): {final_angular_velocity_rpm:.4f}")

2.7 Turning Moment

We know the relation between linear acceleration \(a\) and angular acceleration \(\alpha\):

\[ a = r \alpha \]

And

\[ F = ma \]

Therefore,

\[ F = m \alpha r \]

If the force is not applied directly on the rim but at a greater or lesser leverage, say \(L\) from the centre, the effective force on the rim causing it to accelerate will be greater or lesser accordingly, in the ratio of \(L\) to \(r\). Thus:

\[ F \frac{L}{r} = m \alpha r \]

Multiplying both sides by \(r\),

\[ FL = m \alpha r^2 \]

Now, \(FL\) is the torque applied. Therefore, the accelerating torque is:

\[ \tau = m r^2 \alpha \]

Or,

\[ \tau = m k^2 \alpha \]

\(\tau\) is also given by:

\[ \tau = I \alpha \]

Where:

  • \(\tau\) is the torque in \(Nm\).
  • \(I\) is the moment of inertia in \(kg·m²\).
  • \(\alpha\): Angular acceleration in \(rad/s^2\).

Example 2.4 The torque to overcome frictional and other resistances of a turbine is 317 N m and may be considered constant for all speeds. The mass of the rotating parts is 1.59 t and the radius of gyration is 0.686 m. If the gas is cut off when the turbine is running free of load at 1920 rev/min, find the time it will take to come to rest and the number of revolutions turned during that time.

"""
Rotational Deceleration Calculator

Calculates the time and number of revolutions required to bring a
rotating body to rest under a constant braking torque. Uses rotational
kinematics and dynamics equations.
"""

import math

# =================================
# INPUT PARAMETERS
# =================================

braking_torque_n_m = 317.0  # Braking torque in Newton-meters
rotating_mass_kg = 1.59 * 1000  # Mass of rotating body in kilograms
radius_of_gyration_m = 0.686  # Radius of gyration in meters
initial_angular_velocity_rpm = 1920.0  # Initial rotational speed in rpm

# =================================
# MOMENT OF INERTIA CALCULATION
# =================================

# Calculate moment of inertia using I = m × k²
# where k is the radius of gyration
moment_of_inertia_kg_m2 = rotating_mass_kg * radius_of_gyration_m**2

# =================================
# UNIT CONVERSION
# =================================

# Convert initial angular velocity from rpm to rad/s
# ω (rad/s) = (rpm / 60) × 2π
initial_angular_velocity_rad_per_s = (
    (initial_angular_velocity_rpm / 60.0) * 2.0 * math.pi
)

# =================================
# ANGULAR DECELERATION CALCULATION
# =================================

# Calculate angular deceleration using τ = I × α
# Solving for α: α = τ / I
# (negative because it's deceleration, but using magnitude here)
angular_deceleration_rad_per_s2 = braking_torque_n_m / moment_of_inertia_kg_m2

# =================================
# TIME TO STOP CALCULATION
# =================================

# Calculate time to stop using ω_f = ω_0 - αt
# With ω_f = 0 (comes to rest): t = ω_0 / α
time_to_stop_s = initial_angular_velocity_rad_per_s / angular_deceleration_rad_per_s2

# Convert time to minutes
time_to_stop_min = time_to_stop_s / 60.0

# =================================
# ANGULAR DISPLACEMENT CALCULATION
# =================================

# Calculate total angular displacement using θ = ω_0t - ½αt²
# Or equivalently: θ = ½ω_0t (when final velocity is zero)
angular_displacement_rad = 0.5 * initial_angular_velocity_rad_per_s * time_to_stop_s

# Convert angular displacement from radians to revolutions
number_of_revolutions = angular_displacement_rad / (2.0 * math.pi)

# =================================
# OUTPUT RESULTS
# =================================

print(f"I (kg·m²):           {moment_of_inertia_kg_m2:.4f}")
print(f"omega0 (rad/s):       {initial_angular_velocity_rad_per_s:.4f}")
print(f"alpha (rad/s²):      {angular_deceleration_rad_per_s2:.6f}")
print(f"time to stop (s):     {time_to_stop_s:.4f}")
print(f"time to stop (min):   {time_to_stop_min:.4f}")
print(f"revolutions:          {number_of_revolutions:.4f}")

2.8 Power by Torque

Consider a force \(F\) applied at a radius \(r\) on a rotating mechanism. The work done in one revolution is the product of the force and the circumference. Therefore:

\[ W = F \cdot 2 \pi r \]

If the mechanism is running at \(n\) revolutions per second:

\[ \text{Power} = F \cdot 2 \pi r n \]

Since torque \(\tau = F r\), we can rewrite the equation as:

\[ P = \tau \cdot 2 \pi n \]

Given that \(\omega = 2 \pi n\):

\[ P = \tau \cdot \omega \]

Where:

  • \(P\) is the power in watts (W),
  • \(\tau\) is the torque in newton-meters (Nm), and
  • \(\omega\) is the angular velocity in radians per second (rad/s).

Example 2.5 A vessel has a displacement of 1000 tonnes. It is being pulled up the horizontal dry dock by a steel cable, which is being wound onto a power-driven capstan. The capstan drum has a mass of 4.5 tonnes, an effective diameter of 3.1 m, and a radius of gyration of 1 m. The coefficient of friction between the vessel and the dock can be assumed constant at 0.6. The ship velocity increases uniformly from 0.1 m/s to 0.3 m/s in 30 seconds during the operation. Calculate:

A. The angular acceleration of the capstan drum.
B. The torque required at the capstan drum.

"""
Ship Mooring Drum Torque Calculator

Calculates the torque required at a mooring drum to accelerate a ship
from initial to final velocity. Accounts for friction forces, ship
acceleration, and drum rotational inertia.
"""

# ===============================
# INPUT PARAMETERS
# ===============================

ship_mass_tonnes = 1000  # Mass of ship in tonnes
drum_mass_tonnes = 4.5  # Mass of drum in tonnes
drum_diameter_m = 3.1  # Diameter of drum in meters
drum_radius_of_gyration_m = 1.0  # Radius of gyration in meters
friction_coefficient = 0.6  # Coefficient of friction (dimensionless)
gravitational_acceleration_m_per_s2 = 9.81  # Acceleration due to gravity
ship_initial_velocity_m_per_s = 0.1  # Initial velocity in m/s
ship_final_velocity_m_per_s = 0.3  # Final velocity in m/s
acceleration_time_s = 30  # Time duration in seconds

# ===============================
# UNIT CONVERSIONS
# ===============================

# Convert masses from tonnes to kilograms
ship_mass_kg = ship_mass_tonnes * 1000
drum_mass_kg = drum_mass_tonnes * 1000

# Calculate effective radius of drum (rope wraps at outer surface)
drum_effective_radius_m = drum_diameter_m / 2

# ===============================
# ACCELERATION CALCULATIONS
# ===============================

# Calculate linear acceleration of the ship using a = Δv / Δt
ship_linear_acceleration_m_per_s2 = (
    ship_final_velocity_m_per_s - ship_initial_velocity_m_per_s
) / acceleration_time_s

# Calculate angular acceleration of the drum using α = a / r
drum_angular_acceleration_rad_per_s2 = (
    ship_linear_acceleration_m_per_s2 / drum_effective_radius_m
)

# ===============================
# MOMENT OF INERTIA CALCULATION
# ===============================

# Calculate drum moment of inertia using I = m × k²
drum_moment_of_inertia_kg_m2 = drum_mass_kg * drum_radius_of_gyration_m**2

# ===============================
# FORCE CALCULATIONS
# ===============================

# Calculate friction force between ship and water: F_f = μ × m × g
friction_force_n = (
    friction_coefficient * ship_mass_kg * gravitational_acceleration_m_per_s2
)

# Calculate force required to accelerate the ship: F = m × a
ship_acceleration_force_n = ship_mass_kg * ship_linear_acceleration_m_per_s2

# ===============================
# TORQUE CALCULATIONS
# ===============================

# Torque required to overcome friction: T_f = F_f × r
torque_friction_n_m = friction_force_n * drum_effective_radius_m

# Torque required to accelerate the ship linearly: T_s = F_s × r
torque_ship_acceleration_n_m = ship_acceleration_force_n * drum_effective_radius_m

# Torque required to accelerate the drum rotationally: T_d = I × α
torque_drum_acceleration_n_m = (
    drum_moment_of_inertia_kg_m2 * drum_angular_acceleration_rad_per_s2
)

# Total torque required at the drum
total_torque_n_m = (
    torque_friction_n_m + torque_ship_acceleration_n_m + torque_drum_acceleration_n_m
)

# Convert total torque to meganewton-meters for output
total_torque_mn_m = total_torque_n_m / 1e6

# ===============================
# OUTPUT RESULTS
# ===============================

print(
    f"Angular acceleration of drum (rad/s²): "
    f"{drum_angular_acceleration_rad_per_s2:.4f}"
)
print(f"Torque required at the drum (MN·m): {total_torque_mn_m:.4f}")

2.9 Kinetic Energy of Rotation

We know that \(K.E. = \frac{1}{2}mv^2\), where \(v\) is the linear velocity of the body. For a rotating body, the effective linear velocity is at the radius of gyration, as this is the radius at which the entire mass of the rotating body can be considered to act.

Let \(k\) = radius of gyration (in meters),
Let \(\omega\) = angular velocity (in radians per second).

The relationship between linear and angular velocity is:

\[ v = \omega k \]

Substituting \(v^2 = \omega^2 k^2\) into \(K.E. = \frac{1}{2}mv^2\) gives:

\[ \text{Rotational K.E.} = \frac{1}{2} m k^2 \omega^2 \]

Since \(I = m k^2\), where \(I\) is the moment of inertia:

\[ \text{Rotational K.E.} = \frac{1}{2} I \omega^2 \]

Example 2.6 The radius of gyration of the flywheel of a shearing machine is 0.46 m and its mass is 750 kg. Find the kinetic energy stored in it when running at 120 rev/min. If the speed falls to 100 rev/min during the cutting stroke, find the kinetic energy given out by the wheel.

"""
Rotational Kinetic Energy Calculator

Calculates the rotational kinetic energy of a rotating body at different
angular velocities and determines the energy released during deceleration.
"""

import math

# ===============================
# INPUT PARAMETERS
# ===============================

rotating_mass_kg = 750  # Mass of rotating body in kilograms
radius_of_gyration_m = 0.46  # Radius of gyration in meters
initial_angular_velocity_rpm = 120  # Initial rotational speed in rpm
final_angular_velocity_rpm = 100  # Final rotational speed in rpm

# ===============================
# MOMENT OF INERTIA CALCULATION
# ===============================

# Calculate moment of inertia using I = m × k²
# where k is the radius of gyration
moment_of_inertia_kg_m2 = rotating_mass_kg * radius_of_gyration_m**2

# ===============================
# UNIT CONVERSIONS
# ===============================

# Convert initial angular velocity from rpm to rad/s
# ω (rad/s) = (rpm / 60) × 2π
initial_angular_velocity_rad_per_s = initial_angular_velocity_rpm * 2 * math.pi / 60

# Convert final angular velocity from rpm to rad/s
final_angular_velocity_rad_per_s = final_angular_velocity_rpm * 2 * math.pi / 60

# ===============================
# KINETIC ENERGY CALCULATIONS
# ===============================

# Calculate initial rotational kinetic energy using KE = ½Iω²
initial_kinetic_energy_j = (
    0.5 * moment_of_inertia_kg_m2 * initial_angular_velocity_rad_per_s**2
)

# Calculate final rotational kinetic energy
final_kinetic_energy_j = (
    0.5 * moment_of_inertia_kg_m2 * final_angular_velocity_rad_per_s**2
)

# Calculate energy released (change in kinetic energy)
energy_released_j = initial_kinetic_energy_j - final_kinetic_energy_j

# Convert energies from Joules to kilojoules
initial_kinetic_energy_kj = initial_kinetic_energy_j / 1e3
final_kinetic_energy_kj = final_kinetic_energy_j / 1e3
energy_released_kj = energy_released_j / 1e3

# ===============================
# OUTPUT RESULTS
# ===============================

print(f"I:                    {moment_of_inertia_kg_m2:.4f} kg·m²")
print(f"KE at 120 rpm:        {initial_kinetic_energy_kj:.4f} kJ")
print(f"KE at 100 rpm:        {final_kinetic_energy_kj:.4f} kJ")
print(f"Energy given out:     {energy_released_kj:.4f} kJ")