Dynamics

Dynamics and Free-body diagrams

The dynamics of a body or system are determined by \(\sum \vec{F} =m \vec{a}\). The free-body diagram (FBD) is a powerful tool for this analysis.

FBD for one objectFBDs for multiple objectsExtended FBDExample


FBD for one object

Follow these steps to construct a free-body diagram. They are illustrated in detail in the example below.

  1. Identify the “body” of interest and draw it alone.
  2. Draw every force vector acting on the body (contact force or field force).
  3. Label each force vector each with a scalar.
  4. Sketch your choice of \(xy\) coordinate axes.
  5. Sketch the expected direction of the acceleration vector, labeled with scalar \(a\).
  6. For each force vector, determine the angle it makes with the coordinate axes.
  7. Determine the angle that \(\vec{a}\) makes with the coordinate axes.
  8. Construct the “equations of motion”: \(\vec{F}_{\text{net}} =m \vec{a}\).
    1. Use the coordinate axes to write all force and acceleration vectors in \(\hat{\imath}\) \(\hat{\jmath}\) \(\hat{k}\) notation. You will need sines and cosines of the angles identified in steps 6 and 7.
    2. \(\vec{F}_{\text{net}}\) is the sum of all the force vectors acting on the body.
  9. You now have several equations (one for \(\hat{\imath}\), one for \(\hat{\jmath}\), etc) that you can solve for the quantity you need.

FBDs for multiple objects

If there are multiple bodies in contact with each other:


Extended FBD

Rigid body dynamics are required when torques and rotation are important.


Example

When released from rest, which way will these blocks move? Find their acceleration and the tension in the string. The masses are \(m_1 =2.5\) kg and \(m_2 = 1.0\) kg. The ramp is inclined at angle \(\theta = 30^\circ\) and is frictionless.

Solution

We will carefully walk through the steps outlined above.

  1. Identify the “body” of interest and draw it alone.

There are two interacting objects, so we will make one FBD for each. Do not include the ramp in the FBD, since it is not part of our body of interest.

  1. Draw every force vector acting on the body.
  2. Label each force vector each with a scalar.

Since there is only one string, the tension force \(T\) on each mass must be same. Both FBDs should therefore use the same variable \(T\).

  1. Sketch your choice of \(xy\) coordinate axes.

For \(m_1\), two of the three forces are aligned with the ramp, so it makes sense to align the \(xy\) axes with the ramp. We could pick either uphill or downhill for the \(+x\) direction. For \(m_2\) we choose the standard \(xy\) axes.

Really, any choice of \(xy\) axes will work. But a good choice will make the algebra easier.

  1. Sketch the expected direction of the acceleration vector, labeled with scalar \(a\).

Although we don’t yet know which way \(m_1\) will move, it must be either be up or down the ramp. So we take a guess to define the direction of positive \(a\): let’s say uphill. If our guess is wrong and \(m_1\) is actually accelerating down the ramp, then our math will show that scalar \(a\) is negative. Then looking back at the acceleration vector sketched on our FBD, we know its true direction.

For \(m_2\), we are now forced to point \(a\) direction downward. This is because if \(m_1\) is accelerating uphill, then \(m_2\) must be accelerating downward. Note that although vector \(\vec{a}_1 \neq \vec{a}_2\), the scalar \(a\) is the same for both masses.

  1. For each force vector, determine the angle it makes with the coordinate axes.

For \(m_1\), forces \(N\) and \(T\) align with the axes on the FBD. For \(m_2\), gravity and \(T\) align with the axes on that FBD. The only force that does not align is \(m_1 g\). We need to explicitly show the angle it makes with the axes so we can later construct the equations of motion. A little geometry should convince you that the ramp angle \(\theta\) is also the angle between the \(-y\) axis and the gravity vector.

  1. Determine the angle that \(\vec{a}\) makes with the coordinate axes.

For mass \(m_1\), acceleration \(\vec{a_1}\) points in the \(+x\) direction. For mass \(m_2\), acceleration \(\vec{a_2}\) points in the \(-y\) direction.

  1. Construct the “equations of motion”: \(\vec{F}_{\text{net}} =m \vec{a}\).

For \(m_1\), \(T\) points in the \(+x\) direction and \(N\) points in the \(+y\) direction. So:

\[ \vec{T} = T \hat{\imath} \]

\[ \vec{N} = N \hat{\jmath} \]

The gravity force on \(m_1\) has \(x\) and \(y\) components. It’s magnitude is \(m_1 g\), and its direction can be determined from the triangle at the right. You should see that both \(x\) and \(y\) components are negative. Furthermore, the \(x\) component is on the opposite side from \(\theta\) (\(\sin\)), and the \(y\) component is on the side adjacent to \(\theta\) (\(\cos\)).

\[ m_1 \vec{g} = m_1 g ( -\sin \theta \; \hat{\imath} -\cos \theta \; \hat{\jmath} ) \]

Summing all the forces (and collecting \(\hat{\imath}\) and \(\hat{\jmath}\) terms):

\[ \begin{aligned} \vec{F}_{\text{net}} &= \vec{T} + \vec{N} + m_1 \vec{g} \\ &= T \hat{\imath} + N \hat{\jmath} + m_1 g ( -\sin \theta \; \hat{\imath} -\cos \theta \; \hat{\jmath} ) \\ &= (T - m_1 g \sin \theta) \hat{\imath} + ( N - m_1 g \cos \theta)\hat{\jmath} \end{aligned} \]

Our FBD for \(m_1\) shows the acceleration is \(\vec{a}_1 = a \hat{\imath}\). So the equations of motion are

\[ (T - m_1 g \sin \theta) \hat{\imath} + ( N - m_1 g \cos \theta)\hat{\jmath} = m_1 a \; \hat{\imath} \]

For \(m_2\), there is no force nor acceleration in the \(x\) direction. We need to be extra careful about the \(\pm\) signs on the \(y\) components. Our FBD above shows an acceleration vector \(\vec{a}_2 = 0 \hat{\imath} - a \hat{\jmath}\). So the equation of motion for \(m_2\) is

\[ (T - m_2 g) \hat{\jmath} = -m_2 a \hat{\jmath} \]

  1. You now have several equations you can solve.

Collecting the \(\hat{\imath}\) and \(\hat{\jmath}\) terms above, we get three equations:

\[ \begin{matrix} T - m_1 g \sin \theta = m_1 a & (\hat{\imath} \text{ terms for } m_1) \\ N - m_1 g \cos \theta = 0 & (\hat{\jmath} \text{ terms for } m_1) \\ T - m_2 g = -m_2 a & (\hat{\jmath} \text{ terms for } m_2) \\ \end{matrix} \]

These can be solved for the three unknown quantities: \(a\), \(T\) and \(N\). The algebra is not too difficult; you could subtract the last equation from the first to eliminate \(T\). Then solve for \(a\):

\[ a = \left( \frac{m_2-m_1 \sin \theta}{m_1+m_2} \right) g \]

Substitute this into the last equation to find the tension.

Performing the calculations:

from numpy import *
m1,m2,theta,g = 2.5, 1, 30*pi/180, 9.8
a = (m2-m1*sin(theta))/(m1+m2)*g
T = m2*(g-a)
print(f'acceleration a = {a:0.3f} m/s²')
print(f'tension T = {T:0.2f} N')
acceleration a = -0.700 m/s²
tension T = 10.50 N

Since \(a\) is negative, \(m_1\) will slide down the ramp and \(m_2\) will be pulled up. They both accelerate at \(0.70\) m/s², and the tension in the string is \(10.5\) N (a little greater than \(m_2g\), as is needed to pull it up).


Last modified: November 01, 2025