For a personal project, I am attempting to write a fairly realistic collision simulator (for relatively large objects, not quantum stuff). As I was consulting my physics textbook and various online resources such as this hyperphysics article, or this one, it appears that all methods for determining collision force (or force/area) that I've found rely to some degree on conservation principles, which require some knowledge of post-collision parameters (such as distance traveled after impact, post-collision vectors, time of collision, etc.).

If I have absolutely no knowledge of any post-collision parameters, but I have theoretical access to any and all physical, material and motion properties of the colliding objects:

  1. Is there a way I can determine (or at least estimate) the force exerted on each body as a result of the collision?
  2. What properties of the objects do I need to know?

In case anyone has any additional insights/criticisms/suggestions about my methods, I plan to use the collision force to determine whether yield strengths of either material are exceeded, which can help me determine what kind of collision results (elastic/inelastic), whether penetration occurs, breaking, shattering, etc.


What If I add the assumption that all colliding objects consist of a single material? i.e. no compound objects (such as cars) with multiple sub-components of various compositions.

  • $\begingroup$ This is really a physics question, because you are asking what physics model you should implement. Perhaps this should be moved to physics.stackexchange? Also, you should understand that in an idealized collision, the time during which the force is applied is infinitesimal, so the magnitude of the force isn't as important (or quantifiable) as the quantities conserved in the collision, which is what your physics textbooks talk about. Once you figure out what equations you want to solve then this becomes a computational question. $\endgroup$
    – Kirill
    Oct 16 '14 at 6:41
  • $\begingroup$ Oh, now I see you already asked this over there: physics.stackexchange.com/questions/141540 $\endgroup$
    – Kirill
    Oct 16 '14 at 6:51
  • $\begingroup$ @Kirill Yes I had asked it there, and dmckee recommended computational science, so I posted it here as well. Should I not have? Or should I add the links to each entry? $\endgroup$
    – NanoWizard
    Oct 16 '14 at 17:43
  • $\begingroup$ @Kirill Perhaps I could update this to consider the actual equations for computation after I have something from the more conceptual physics question? $\endgroup$
    – NanoWizard
    Oct 16 '14 at 17:45

For the past few weeks I have been busy with a similar question myself. By no means I am an expert, but I will share some of my 'major' insights.

  1. The contact response is composed of two component: a normal component (which you will use for collision) and a friction component. The former acts normal to the collision plane, the latter in the contact plane. This gives you the direction of the contact forces in which you are interested: those in the normal direction.

  2. The momentum equations have to be satisfied, I will only give linear momentum to keep the answer simple:

$ m{\bf v}(t+\Delta t) - m{\bf v}(t) = \int_t^{t + \Delta t} {\bf F} dt $

where $\bf{v}$ is the velocity at a certain time, and $F$ the force over time. If the collision takes place between $t$ and $t + \Delta t$ then the integral on the right hand side represents the collision response, which should be equal and opposite for both bodies.

Now you have enough equations to solve the system.

Which leaves your question about material properties. I think this makes the problem a combined Discrete Element Method (typically dealing with collisions) - Finite Element Method (typically dealing with deformations) problem. I am not yet familiar with this topic, but Prof. Munjiza seems to have written some books about it.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.