Well heres a question that may or may not help:
What information about the contact points/bar is the program dealing with? Does it just say "This point contacted a solid object, make it move to its original position so it can start over again and fall again" or does it actually say "Object with x mass and y velocity with z elasticity, etc, etc, etc hit an object with x mass and y velocity with z elasticity, etc, etc, etc. in this gravitational(earths gravity - 9.8m/s^2) environment The resulting force vector would be this much force, this direction, etc etc etc."?
Its a heck of a lot of data to crunch but the more data the more accurate the more useful the more awesome the more money you can get