Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Friction and Real-World Forces | Forces and Energy
Python for Physics Students

bookFriction and Real-World Forces

Friction is a force that resists the motion of objects sliding or rolling across surfaces. There are two primary types of friction you will encounter in physics problems: static friction and kinetic friction.

  • Static friction acts between two surfaces that are not moving relative to each other. It prevents an object from starting to move and can adjust up to a maximum value depending on the materials and the normal force;
  • Kinetic friction (also called sliding friction) acts when an object is already moving across a surface. It is generally constant for a given pair of surfaces and is usually less than the maximum static friction.

When modeling friction in physics problems, you use different coefficients for static (ΞΌ_s) and kinetic (ΞΌ_k) friction. The frictional force is always directed opposite to the direction of motion (or intended motion) and depends on the normal force between the object and the surface.

1234567891011121314151617181920212223242526272829303132
import numpy as np # Parameters mass = 2.0 # kg mu_k = 0.3 # coefficient of kinetic friction g = 9.81 # m/s^2 initial_velocity = 5.0 # m/s dt = 0.05 # time step (s) position = 0.0 velocity = initial_velocity # Lists to store simulation results positions = [position] velocities = [velocity] times = [0] # Simulate until the object stops t = 0 while velocity > 0: friction_force = mu_k * mass * g acceleration = -friction_force / mass velocity += acceleration * dt if velocity < 0: velocity = 0 position += velocity * dt t += dt positions.append(position) velocities.append(velocity) times.append(t) # Print final position and time print(f"Stopped after {t:.2f} seconds at position {position:.2f} meters.")
copy

In this simulation, you calculate the frictional force using the equation:

F_friction = ΞΌ_k Γ— N

where ΞΌ_k is the coefficient of kinetic friction and N is the normal force (which equals mass Γ— g for a flat surface). The frictional force always acts opposite to the direction of motion, causing a negative acceleration. The object's velocity is updated each time step by applying this acceleration, and its position is updated based on the current velocity. When the velocity drops to zero or below, the object has stopped movingβ€”this is how friction gradually slows and eventually stops the object.

123456789
import matplotlib.pyplot as plt plt.figure(figsize=(8, 4)) plt.plot(times, velocities, marker='o') plt.xlabel('Time (s)') plt.ylabel('Velocity (m/s)') plt.title('Velocity vs. Time with Friction') plt.grid(True) plt.show()
copy

1. How does increasing the coefficient of friction affect the object's motion in the simulation?

2. What is the difference between static and kinetic friction?

3. Why does the object eventually stop moving in the simulation with friction?

question mark

How does increasing the coefficient of friction affect the object's motion in the simulation?

Select the correct answer

question mark

What is the difference between static and kinetic friction?

Select the correct answer

question mark

Why does the object eventually stop moving in the simulation with friction?

Select the correct answer

Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 2. ChapterΒ 6

Ask AI

expand

Ask AI

ChatGPT

Ask anything or try one of the suggested questions to begin our chat

bookFriction and Real-World Forces

Swipe to show menu

Friction is a force that resists the motion of objects sliding or rolling across surfaces. There are two primary types of friction you will encounter in physics problems: static friction and kinetic friction.

  • Static friction acts between two surfaces that are not moving relative to each other. It prevents an object from starting to move and can adjust up to a maximum value depending on the materials and the normal force;
  • Kinetic friction (also called sliding friction) acts when an object is already moving across a surface. It is generally constant for a given pair of surfaces and is usually less than the maximum static friction.

When modeling friction in physics problems, you use different coefficients for static (ΞΌ_s) and kinetic (ΞΌ_k) friction. The frictional force is always directed opposite to the direction of motion (or intended motion) and depends on the normal force between the object and the surface.

1234567891011121314151617181920212223242526272829303132
import numpy as np # Parameters mass = 2.0 # kg mu_k = 0.3 # coefficient of kinetic friction g = 9.81 # m/s^2 initial_velocity = 5.0 # m/s dt = 0.05 # time step (s) position = 0.0 velocity = initial_velocity # Lists to store simulation results positions = [position] velocities = [velocity] times = [0] # Simulate until the object stops t = 0 while velocity > 0: friction_force = mu_k * mass * g acceleration = -friction_force / mass velocity += acceleration * dt if velocity < 0: velocity = 0 position += velocity * dt t += dt positions.append(position) velocities.append(velocity) times.append(t) # Print final position and time print(f"Stopped after {t:.2f} seconds at position {position:.2f} meters.")
copy

In this simulation, you calculate the frictional force using the equation:

F_friction = ΞΌ_k Γ— N

where ΞΌ_k is the coefficient of kinetic friction and N is the normal force (which equals mass Γ— g for a flat surface). The frictional force always acts opposite to the direction of motion, causing a negative acceleration. The object's velocity is updated each time step by applying this acceleration, and its position is updated based on the current velocity. When the velocity drops to zero or below, the object has stopped movingβ€”this is how friction gradually slows and eventually stops the object.

123456789
import matplotlib.pyplot as plt plt.figure(figsize=(8, 4)) plt.plot(times, velocities, marker='o') plt.xlabel('Time (s)') plt.ylabel('Velocity (m/s)') plt.title('Velocity vs. Time with Friction') plt.grid(True) plt.show()
copy

1. How does increasing the coefficient of friction affect the object's motion in the simulation?

2. What is the difference between static and kinetic friction?

3. Why does the object eventually stop moving in the simulation with friction?

question mark

How does increasing the coefficient of friction affect the object's motion in the simulation?

Select the correct answer

question mark

What is the difference between static and kinetic friction?

Select the correct answer

question mark

Why does the object eventually stop moving in the simulation with friction?

Select the correct answer

Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 2. ChapterΒ 6
some-alt