Momentum VPython Lab
from visual import *
scene.y = 400 # move animation window down 400 pixels from top of screen
from visual.graph import *
cart = box(pos=vector(0,-.05, 0), size=(1.5, 0.05, 1))
cart = box(pos=vector(-0.5,0,0), size=(0.1, 0.04, 0.06), color=color.blue)
cart.m = 0.80
cart.p = cart.m*vector(0.7, 0.2, 0)
deltat = 0.01
t = 0
mgraph = gcurve(color=color.green)
cart.trail = curve(color=color.red)
while t<3.0:
rate(100)
Fnet = vector(-0.4, 0, 0)
cart.p = cart.p + Fnet*deltat
print "t=",t,"cart.p=",cart.p
cart.pos = cart.pos + (cart.p/cart.m)*deltat
t = t + deltat
mgraph.plot( pos=(t, cart.p.x) )
cart.trail.append(pos=cart.pos)
Analysis Questions
(1) Using the printed list of momentum vectors, calculate p v Δ . That is, pick one of the vectors to be the final
momentum, and subtract from it the vector just above it, which is the initial momentum:
Δp = p f − pi = ?,?,? kg m/s.
pi= <0.548, 0.16, 0>
pf= <0.544, 0.16, 0>
(.544-.548, .16-.16, 0-0)
= <-0.004, 0, 0>
(2) Calculate the vector F Δt net v.
-0.4 (.01) = - 0.004 = J
(In the program, this would be Fnet*deltat.) net ?,?,? N s F Δt = ?,?,? Ns
(3) Do your calculations show that the change in momentum p v Δ is equal to F Δt net v.
Yes. The impulse is equal to the change in momentum.
(4) Look at the printed list of momentum vectors again. Why aren’t the y or z components of the momentum changing?
The momentum, in this simulation, is only changing in the x direction.