如何在没有未来知识的情况下计算碰撞力

计算科学 计算物理学
2021-12-24 12:09:40

对于个人项目,我正在尝试编写一个相当逼真的碰撞模拟器(用于相对较大的物体,而不是量子东西)。当我查阅我的物理教科书和各种在线资源(例如这篇超物理文章或这篇文章)时,我发现的所有确定碰撞力(或力/面积)的方法似乎都在某种程度上依赖于守恒定律,即需要一些关于碰撞后参数的知识(例如碰撞后行进的距离、碰撞后矢量、碰撞时间等)。

如果我完全不知道任何碰撞后参数,但我可以从理论上访问碰撞对象的任何和所有物理、材料和运动属性:

  1. 有没有办法可以确定(或至少估计)由于碰撞而施加在每个身体上的力?
  2. 我需要知道对象的哪些属性?

如果有人对我的方法有任何额外的见解/批评/建议,我计划使用碰撞力来确定是否超过任一材料的屈服强度,这可以帮助我确定什么样的碰撞结果(弹性/非弹性),是否发生穿透、断裂、破碎等。

编辑:

如果我添加所有碰撞对象由单一材料组成的假设会怎样?即没有具有各种组成的多个子组件的复合对象(例如汽车)。

1个回答

在过去的几周里,我自己也一直在忙于一个类似的问题。我绝不是专家,但我会分享一些我的“主要”见解。

  1. 接触响应由两个分量组成:一个正常分量(您将用于碰撞)和一个摩擦分量。前者垂直于碰撞平面,后者垂直于接触平面。这为您提供了您感兴趣的接触力方向:法线方向。

  2. 动量方程必须满足,我只给出线性动量以保持答案简单:

mv(t+Δt)mv(t)=tt+ΔtFdt

其中是特定时间的速度,是随时间变化的力。如果碰撞发生在之间,则右侧的积分表示碰撞响应,对于两个物体来说,它应该相等且相反。vFtt+Δt

现在你有足够的方程来求解系统。

这留下了关于材料特性的问题。我认为这使问题成为组合离散元方法(通常处理碰撞) - 有限元方法(通常处理变形)问题。我还不熟悉这个话题,但 Munjiza 教授似乎写过一些关于它的书。