Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

B Really simple Python program to simulate inelastic collision

  1. Oct 18, 2016 #1
    I'm trying to write this Python program that simulates a completely inelastic collision between two objects. The program seems to work for the most part, but I'm completely lost on the "heat released" part at the end. I have no idea if I'm calculating this right, or if I'm completely wrong. Can anyone give me some insight?

    Code (Text):
    frameRate = 4000.0
    mass = 1.0
    velocity = 1.0
    distance = 0.0
    mass2 = 1.0
    velocity2 = 0.0
    distance2 = 0.0

    maxTime = 50
    resistance = 1.0
    time = 0.0
    print "total kinetic energy:    ", .5 * mass * velocity * velocity + .5 * mass2 * velocity2 * velocity2

    #now we collide two objects, and see how long it takes them to reach the same speed
    while True:
        distance += velocity / frameRate
        distance2 += velocity2 / frameRate
        velocity2 -= (resistance * (velocity2 - velocity)/ mass2) / frameRate
        velocity -= (resistance * (velocity - velocity2) / mass) / frameRate
        time += 1 / frameRate
        if time > maxTime:
            break
        if velocity <= velocity2 + .01:
            break
    print "colliding\n\n"
    print "time elapsed:               ", time
    print "object 1 distance traveled: ", distance
    print "object 2 distance traveled: ", distance2
    print "object 1 velocity:          ", velocity
    print "object 2 velocity:          ", velocity2
    print "heat released:              ", (distance - distance2) * resistance
     
  2. jcsd
  3. Oct 19, 2016 #2

    mfb

    User Avatar
    2016 Award

    Staff: Mentor

    Total energy, the sum of kinetic and thermal energy, is conserved. The released heat is just the difference between initial and final kinetic energy.
     
  4. Oct 19, 2016 #3
    Thanks. That gave me the hint I needed to fix the program.

    I'm still a bit confused about how friction works, but I think I can ask about that in another thread.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted



Similar Discussions: Really simple Python program to simulate inelastic collision
  1. Inelastic Collisions (Replies: 31)

Loading...