6.2 碰撞恢复系数与冲量


6.2 碰撞恢复系数与冲量

本节摘要:碰撞的力大、时短、变化猛,微分方程细讲不划算,动量账本一步清账。但动量守恒只有一条方程,撞后两个速度是两个未知数——缺的那条方程由恢复系数补上:它衡量形变恢复的程度,从橡胶球的一点零附近到泥球的零,把"弹得多狠"变成一个数。本节给出碰撞的完整记账流程与动能损失账本。

撞的一瞬间谁说了算

第四章的动量定理在碰撞里当主角:撞击力是时间的尖峰函数,没人关心它的具体形状,冲量(力对时间的积分)才是唯一的账目。两物相撞,内力成对出现、冲量互相抵消,系统动量守恒——一条方程到手。可撞后两个速度是两个未知数,还差一条。补账的选项有两种:彻底弹性碰撞补动能守恒,彻底塑性碰撞补"撞后同速",真实材料都卡在两者之间。牛顿用恢复系数统一了这堆情形:分离相对速度比上接近相对速度,取个负号,材料的"弹性人品"就浓缩成一个零到一之间的数。

这个数不测不知道:钢球对钢球零点九上下,木球零点五附近,泥球干脆是零——同是碰撞,动能的去向截然不同,损失的份额要么进了形变热,要么进了永久变形。碰撞解剖的关键动作因此是两步:动量账算总账,恢复系数算分配。

手术一:一维对心碰撞的分配账

标准病例:两公斤的钢球以每秒五米追上一公斤的静止木球,恢复系数分别取完全弹性的一点零、木球实测的零点五、完全塑性的零。动量守恒加恢复系数两条方程联立,撞后速度与动能损失一并清点。

# 手术一:一维对心碰撞。m1*v1+m2*v2 守恒,v2'-v1' = e*(v1-v2) def collide(m1, v1, m2, v2, e): v1p = (m1*v1 + m2*v2 - m2*e*(v1 - v2)) / (m1 + m2) v2p = (m1*v1 + m2*v2 + m1*e*(v1 - v2)) / (m1 + m2) return v1p, v2p m1, v1, m2, v2 = 2.0, 5.0, 1.0, 0.0 KE0 = 0.5*m1*v1**2 + 0.5*m2*v2**2 for e, tag in ((1.0, "完全弹性"), (0.5, "木质球"), (0.0, "完全塑性")): v1p, v2p = collide(m1, v1, m2, v2, e) loss = KE0 - (0.5*m1*v1p**2 + 0.5*m2*v2p**2) print(f"{tag} e={e:.1f}: 撞后 v1'={v1p:.4f} v2'={v2p:.4f} 动能损失={loss:.4f} J") # 完全弹性 e=1.0: 撞后 v1'=1.6667 v2'=6.6667 动能损失=0.0000 J # 木质球 e=0.5: 撞后 v1'=2.5000 v2'=5.0000 动能损失=6.2500 J # 完全塑性 e=0.0: 撞后 v1'=3.3333 v2'=3.3333 动能损失=8.3333 J print("初始动能 =", KE0, "J") # 25.0 print("塑性损失占比 =", 8.3333 / KE0) # 0.333332

三档恢复系数把账算得明明白白:完全弹性一分动能不丢,轻球反而以更快的速度弹开;木质球丢掉四分之一的动能;塑性碰撞直接黏成一体,整整三分之一的动能化为乌有。汽车碰撞安全设计的全部思路就是奔着最后一行去的——用塑性变形这一笔"贵账"把乘员的速度变化摊薄。

手术二:落球弹跳与恢复系数实测

恢复系数最便当的测法是落球:从高度 h 落下,回弹到 h2,能量账给出 e 等于回弹高度与下落高度之比的平方根。逐次弹跳的高度构成等比数列,公比恰是 e 的平方——测一次弹跳,后面所有次弹跳的高度全部预告完毕。

# 手术二:落球弹跳。e = sqrt(h2/h1),逐次高度按 e^2 等比缩水 import math h0 = 2.0 e_basket, e_clay = 0.75, 0.0 # 篮球约 0.75,湿泥球 0 print("篮球回弹高度 =", e_basket**2 * h0, "m") # 1.125 print("湿泥球回弹高度 =", e_clay**2 * h0, "m") # 0.0 heights, h = [], h0 t_total = 0.0 g = 9.8 for n in range(6): t_total += math.sqrt(2*h/g) * (2 if n > 0 else 1) # 各段飞行时间 heights.append(round(h, 4)) h *= e_basket**2 print("逐次到达高度 =", heights) # 逐次到达高度 = [2.0, 1.125, 0.6328, 0.356, 0.2002, 0.1126] print("前五次弹跳总用时 =", round(t_total, 4), "s") # 3.5625 # 弹跳很快"停止":高度指数缩水,但严格永不归零——有限时间弹无限多次 print("第十次高度 =", round(2.0 * e_basket**20, 6), "m") # 0.006342

时间账比高度账更有味道:弹跳次数无限多,总时间却是有限和——几何级数收住。皮球"停了"其实还在做着肉眼难辨的微颤,直到空气与材料的内耗把最后一丝动能也归入热账。

💡 记账检查:碰撞问题先写动量守恒(总账),再按材料选第二条方程(动能守恒、恢复系数或同速),两条联立才有唯一解。只写动量就动手算,是碰撞题最常见的半途而废。

平均冲击力:把冲量换算回力

恢复系数管速度分配,工程验收常常还要力的数字——冲量账可以折算平均冲击力:动量清零的总量除以接触时间。接触时间难测,钢球碰钢板约零点零五毫秒量级,缓冲材料能拉长百倍,力的差距就是这百倍。下面把手术二的落球换算成力的账,顺带解释"为什么砸在水泥上比砸在垫子上伤"。

# 平均冲击力:动量清零 ÷ 接触时间 import math m, h, g = 1.0, 2.0, 9.8 v = math.sqrt(2 * g * h) # 触地速度 p = m * v for dt, tag in ((0.0005, "直接砸钢面"), (0.05, "落在缓冲垫")): F = p / dt print(f"{tag}: 接触 {dt*1000:.1f} ms 平均冲击力 = {F:,.0f} N 约合 {F/(m*g):.0f} 倍自重") # 直接砸钢面: 接触 0.5 ms 平均冲击力 = 12,522 N 约合 1278 倍自重 # 落在缓冲垫: 接触 50.0 ms 平均冲击力 = 125 N 约合 13 倍自重 print("触地速度 =", round(v, 3), "m/s 冲量 =", round(p, 3), "N·s") # 6.261 6.261

同样的冲量六点三牛·秒,接触时间拉长一百倍,冲击力就从千倍自重掉到十来倍——安全帽、气垫、保险杠的全部使命就是把这一栏的时间做长。冲量、恢复系数、平均冲击力三本子账各管一段,合起来才是碰撞的完整病历。

要点复盘:

  • 冲量是碰撞的唯一货币:撞击力的形状免问,动量守恒清总账;
  • 恢复系数补第二条方程:分离速度比接近速度,材料弹性浓缩成零到一之间的一个数;
  • 动能损失有份额表:弹性零损失、木质球丢四分之一、塑性丢三分之一,安全设计专吃塑性账;
  • 落球是现成的测量仪:回弹高度比的平方根就是恢复系数,逐次弹跳按平方公比预告。

碰撞是"猛"的极端,摩擦是"缠"的极端。下一节进入库仑模型的世界:切向力有上限、未动时取值刚够用,自锁的边界由此画出。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U