5D Library › 行动的经典与统计力学 · English
第二章 静摩擦与动摩擦
两个摩擦系数
推一个放在地上的箱子,开始时要用很大的力,箱子一旦动起来,推它所需的力就小了。阿蒙东–库仑摩擦定律用两个系数描述这一点:箱子静止时,摩擦力可以取零到最大静摩擦力之间的任何值,正好抵消推力;最大静摩擦力为
推力一超过它,箱子开始滑动,此后摩擦力变为动摩擦力
其中 是正压力。对大多数干燥表面,。
证据
为什么静摩擦大于动摩擦?鲍登与泰伯的经典工作表明,两个看起来平整的表面,真正接触的只是一些微小的凸起(微凸体),真实接触面积往往只有表观面积的极小一部分;摩擦力主要来自剪断这些接触点处的粘着 (Bowden and Tabor 1950)。后来的实验发现,表面静止接触时,这些接触点会随时间缓慢「蠕变」、长大并加固,因此静止越久,启动所需的力越大;一旦滑动,接触点不断更新,来不及长大,摩擦力就较低。这一「接触老化」大致随静止时间的对数增长,在岩石和许多材料中都已测到 (Dieterich 1972; Rabinowicz 1951; Baumberger and Caroli 2006; Marone 1998)。
粘滑运动
当 时,会出现一种很常见的现象:粘滑。用一根弹簧以恒定速度拉一个木块,弹簧逐渐拉长,拉力逐渐增大,木块不动;拉力一超过最大静摩擦力,木块猛地向前冲,弹簧松弛,木块又停下来粘住,如此反复。粉笔在黑板上尖叫、门轴吱吱响、小提琴弓拉弦,以及地震断层的周期性错动,都与粘滑有关 (Baumberger and Caroli 2006)。
推导
弹簧–木块模型:质量 1 千克,弹簧常数 50 牛/米,弹簧另一端以每秒 5 厘米匀速移动,滑动时有少量粘性阻尼。比较 高于 与两者相等的情况。
# Stick-slip: a block on a table, pulled through a spring whose far end moves at constant speed V.
# Coulomb friction: the block stays stuck while the spring force is below mu_s*N; once it slides,
# friction drops to mu_k*N. If mu_s > mu_k the block lurches forward and sticks again.
M, G, K, V = 1.0, 9.81, 50.0, 0.05 # kg, m/s^2, N/m, m/s
C = 1.0 # N s/m, viscous damping of the sliding contact
N = M * G
DT, T_END = 1e-4, 20.0
def run(mu_s, mu_k):
x = v = 0.0
stuck, slips, t = True, 0, 0.0
peak, forces = 0.0, []
while t < T_END:
f_spring = K * (V * t - x)
if stuck:
if f_spring > mu_s * N:
stuck, slips = False, slips + 1
else:
a = (f_spring - mu_k * N - C * v) / M
v_new = v + a * DT
if v_new <= 0.0: # the block comes to rest and sticks again
v, stuck = 0.0, True
else:
v = v_new
x += v * DT
peak = max(peak, f_spring)
if t > T_END / 2:
forces.append(f_spring)
t += DT
swing = max(forces) - min(forces)
return slips, peak, swing, x / T_END
for mu_s, mu_k in ((0.60, 0.40), (0.50, 0.40), (0.40, 0.40)):
slips, peak, swing, mean_v = run(mu_s, mu_k)
print(f"mu_s = {mu_s:.2f}, mu_k = {mu_k:.2f}: {slips:3d} starts from rest in {T_END:.0f} s, peak force {peak:4.2f} N "
f"(kinetic {mu_k*N:4.2f} N), late force swing {swing:4.2f} N, mean speed {1000*mean_v:4.1f} mm/s")
print(f"threshold to start moving: mu_s*N = {0.60*N:.2f} N; force needed to keep it moving: mu_k*N = {0.40*N:.2f} N")
# mu_s = 0.60, mu_k = 0.40: 10 starts from rest in 20 s, peak force 5.92 N (kinetic 3.92 N), late force swing 3.50 N, mean speed 46.9 mm/s
# mu_s = 0.50, mu_k = 0.40: 15 starts from rest in 20 s, peak force 4.97 N (kinetic 3.92 N), late force swing 1.79 N, mean speed 45.7 mm/s
# mu_s = 0.40, mu_k = 0.40: 1 starts from rest in 20 s, peak force 4.29 N (kinetic 3.92 N), late force swing 0.01 N, mean speed 46.0 mm/s
# threshold to start moving: mu_s*N = 5.89 N; force needed to keep it moving: mu_k*N = 3.92 N三种情况下木块的平均速度几乎相同,都约等于弹簧端点的速度,但运动方式完全不同。静摩擦高于动摩擦时,木块在二十秒内启动了十次,每次都要把拉力积累到最大静摩擦力,然后骤降;两个系数相等时,木块启动一次就平稳滑行下去。粘滑的条件不仅是 ,也取决于驱动速度、弹簧刚度和阻尼:驱动更快或阻尼更大时,粘滑可能消失。
静止越久,启动越难?
推导
接触老化的定量形式(狄特里希 1972 年的岩石实验及其后的「速率–状态」摩擦律):
取岩石等材料典型量级的数值 、、 秒。
# Static friction grows with the time two surfaces have been at rest in contact ("contact aging"):
# the microscopic contact area creeps and grows roughly with the logarithm of hold time.
# mu_s(t) = mu_0 + b * ln(1 + t / theta) (Dieterich 1972; rate-and-state friction)
# Values of the order measured for rock and many dry materials (Marone 1998): mu_0 = 0.6, b = 0.01, theta = 1 s.
import math
MU0, B, THETA = 0.60, 0.010, 1.0
print("hold time mu_s increase over 1 s hold")
for label, t in (("1 second", 1), ("1 minute", 60), ("1 hour", 3600), ("1 day", 86400),
("10 days", 10 * 86400)):
mu = MU0 + B * math.log(1 + t / THETA)
print(f"{label:16s} {mu:5.3f} +{100 * (mu - (MU0 + B * math.log(2))) / (MU0 + B * math.log(2)):4.1f} %")
print(f"each tenfold longer hold adds about {B * math.log(10):.3f} to mu_s; laboratory tests span seconds to days")
# hold time mu_s increase over 1 s hold
# 1 second 0.607 + 0.0 %
# 1 minute 0.641 + 5.6 %
# 1 hour 0.682 +12.4 %
# 1 day 0.714 +17.6 %
# 10 days 0.737 +21.4 %
# each tenfold longer hold adds about 0.023 to mu_s; laboratory tests span seconds to days接触老化是真实的物理效应,但它的增长很慢:静止时间每增加十倍,静摩擦系数只增加约 0.023。从一秒到十天,增加约两成。把它用作「拖得越久越难开始」的类比,方向是对的,但物理本身并没有给出「拖一个月就难上十倍」这样的结论。
假说 · 尚未验证
尚未确立。 「重新启动一件搁置的任务」的难度,在形式上类似接触老化:随搁置时间的对数增长,而不是线性增长。可以检验的预测是:在长期记录工作日志的人群中,从坐下到第一个有效动作所用的时间(第八章的「启动摩擦」)随该任务上次被触碰后经过天数的对数大致线性增加。如果启动时间与搁置天数无关,或者随天数线性甚至更快增长,这一类比就不成立。
车轮为什么需要摩擦
摩擦常被看作阻碍运动的力,但地面上几乎所有的「前进」都依赖摩擦。车轮转动时,轮胎接地点相对地面瞬时静止,轮胎向后推地面,地面通过静摩擦力向前推车。这个推力有上限:
发动机要求的推力超过上限的部分,只会让车轮打滑空转 (Wong 2008)。人走路也是一样:脚向后蹬地,地面经由摩擦向前推人;在冰面上,可用的摩擦太小,人就无法加速,甚至滑倒。正常步行所需的摩擦系数大约在 0.2 左右 (Redfern et al. 2001)。
推导
一辆 1 吨的车,驱动轮承担一半重量,发动机在驱动轮上提供 1000 牛·米的扭矩(相当于在接地点要求约 3333 牛的推力)。比较四种路面。
# Why a wheel (or a foot) needs friction to move forward.
# The ground can push a vehicle forward only through the friction force at the contact patch,
# and that force is capped: F_drive <= mu * N. Whatever the motor demands above the cap
# goes into spinning the wheel, not into moving the car.
M, G = 1000.0, 9.81 # car mass kg
R = 0.3 # wheel radius m
TORQUE = 1000.0 # N m at the driven wheels
N = M * G * 0.5 # half the weight rests on the driven wheels
demand = TORQUE / R # force the tyres would pass to the road if they gripped
print(f"force the motor asks the tyres to transmit: {demand:.0f} N")
for surface, mu in (("frictionless (ideal)", 0.0), ("wet ice", 0.05), ("packed snow", 0.3),
("dry asphalt", 0.8)):
cap = mu * N
f = min(demand, cap)
state = "grips" if demand <= cap else "wheel spins"
print(f"{surface:21s} mu = {mu:4.2f}: cap {cap:5.0f} N -> forward force {f:5.0f} N, "
f"acceleration {f / M:4.2f} m/s^2, speed after 5 s {5 * f / M:5.1f} m/s ({state})")
print("doubling the motor torque changes nothing on ice: the cap, not the motor, sets the push")
print(f"walking: the largest forward acceleration friction allows is mu*g = {0.2 * G:.1f} m/s^2 at mu = 0.2")
# force the motor asks the tyres to transmit: 3333 N
# frictionless (ideal) mu = 0.00: cap 0 N -> forward force 0 N, acceleration 0.00 m/s^2, speed after 5 s 0.0 m/s (wheel spins)
# wet ice mu = 0.05: cap 245 N -> forward force 245 N, acceleration 0.25 m/s^2, speed after 5 s 1.2 m/s (wheel spins)
# packed snow mu = 0.30: cap 1472 N -> forward force 1472 N, acceleration 1.47 m/s^2, speed after 5 s 7.4 m/s (wheel spins)
# dry asphalt mu = 0.80: cap 3924 N -> forward force 3333 N, acceleration 3.33 m/s^2, speed after 5 s 16.7 m/s (grips)
# doubling the motor torque changes nothing on ice: the cap, not the motor, sets the push
# walking: the largest forward acceleration friction allows is mu*g = 2.0 m/s^2 at mu = 0.2摩擦系数为零时,任何发动机都只能让车轮空转,车一动不动;在湿冰上,推力被上限卡在 245 牛,发动机再强也没用;只有在干燥沥青上,上限高于发动机的要求,轮胎抓住地面,发动机的力才全部变成前进的力。
需要说清的一点:抓地力不是阻力
本书写作时最初的设想是:「如果环境摩擦系数为零(绝对安逸、零阻力的顺境),任何内部驱动力都只能导致原地空转,适度的外部阻力与摩擦恰恰是产生向前推进力的前提。」核对之后,这个说法需要修正。
注
在物理上,车轮与地面之间的静摩擦力就是推进力本身,它的作用是让车轮有东西可推;而阻力——空气阻力、滚动阻力、上坡的重力分量——是另一类力,它们只会消耗推进力,从不帮助前进。增加阻力不会让车跑得更快。此外,在库仑模型里,摩擦系数越大,可用的推进力上限越高,并不存在一个「适度」的最佳值:干燥沥青永远比湿冰好。所以物理学能支持的结论是「前进需要可以借力的东西」,而不是「前进需要阻力」,更不是「需要适度的阻力」。
如果要把这个物理事实用于人,更贴切的说法是:一个人有了动力,还需要可以「借力」的外部结构——确定的截止日期、等着看结果的人、能把努力变成可见进展的反馈——否则力气使出去,没有任何东西把它转化为前进。这些结构不是「阻力」,而是「抓地力」。它们与困难、逆境或挫折是不同的东西:后者更像空气阻力和上坡,消耗力气,本身并不推人向前。
假说 · 尚未验证
尚未确立。 在同样有意愿、同样投入时间的学习者中,有明确外部「抓地点」(固定日期向他人展示成果、每次练习后得到具体反馈)的人,单位时间取得的可测进展更多;而在此之外人为增加困难(例如额外的障碍或惩罚),并不会进一步提高进展,甚至会降低它。如果在随机分组的研究中,增加外部抓地点没有带来可测的进展差异,或者额外困难反而系统地提高了进展,这一假说就被推翻。
本章小结
静摩擦与动摩擦之差,给「万事开头难」提供了一个精确的物理对应:启动所需的力大于维持所需的力,而在两者相差较大时,运动会呈现走走停停的粘滑模式。接触老化又说明,静止越久,启动越难,但增长缓慢。车轮的例子说明,前进需要可以借力的东西;核对之后,这个结论不能被扩展为「阻力是好事」。第三章转向统计力学:当系统被困在一个稳态里,随机扰动要多久才能把它送到另一个稳态。
参考文献
Fan, Y. (2026). Classical and Statistical Mechanics of Human Action: Psychological Inertia, Static Friction Thresholds, Kramers Escape Rate in Double-Well Potentials and Habit Phase Transitions, Read Beside East Asian Philosophy of Practice [行动的经典与统计力学] (Version 1.0.0). 5D Library. https://doi.org/10.5281/zenodo.23738774 · Licensed under Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0).