旋转的球为什么会拐弯 — 马格努斯效应与环量
用环量解释一个旋转如何改变球的轨迹
1742年,英国的本杰明·罗宾斯正盯着一件怪事。火枪的弹丸飞不直。同一支枪、同样的火药、同样的瞄准,可有的弹向左偏,有的弹向右偏。他注意到,离开枪口的球形弹丸在不规则地旋转。旋转与偏折,这两个现象总是成对出现。
一个世纪后,这一观察被德国物理学家古斯塔夫·马格努斯的实验所确认:旋转的物体在流动中会被推向侧方。今天我们就来追踪这个侧向力究竟从何而来,用的是一个量 — 环量(circulation)。
会拐弯的炮弹,一个由来已久的难题
在罗宾斯之前,炮手们就知道:炮弹会打偏。这不只是风的缘故。铸造公差使炮膛与炮弹之间存在缝隙(当时称为 windage),发射瞬间弹丸撞击膛壁而获得难以预测的旋转,这旋转使飞行轨迹发生弯曲。
问题很严峻。弹道学是关乎国家存亡的计算。牛顿在《原理》中导出了抛物线轨迹,但真实的弹丸偏离了抛物线。罗宾斯用实验把这种偏离分开:一部分是空气阻力,一部分是旋转。
核心问题是:为什么旋转会产生侧向力?
侧向的推力来自环量
先看力的大小。当一个旋转圆柱置于速度为 的均匀流中时,单位长度上受到的侧向力惊人地简单。
其中 是流体密度, 是自由来流速度, 是环量。这一关系称为库塔–茹科夫斯基定理(Kutta–Joukowski theorem)。升力只与环量成正比。物体的形状只通过它能产生多少环量来参与其中。
环量是沿闭合路径对速度的积分。
是流速, 是路径切向的微元矢量。环量不为零,意味着物体周围存在净的旋转流动。半径为 、角速度为 的旋转圆柱,其表面拖动流体,正好产生这种净旋转。
方向由叉积决定。
是旋转角速度矢量。这个式子,稍后将成为解开膛线之谜的钥匙。
旋转为何真的能造出环量
环量为什么会产生?答案在于黏性与无滑移条件(no-slip condition,壁面处流体速度等于壁面速度)。
旋转球的一面与流动同向转,另一面逆着流动转。在与流动同向的一侧,表面推动边界层,因此流动更晚分离(分离延迟)。在逆向的一侧,流动更早分离。结果是尾流向一侧偏斜。
若尾流向下偏斜,流体便获得向下的动量。作为反作用,球被向上推。这就是马格努斯力的本质:球把流动向一侧偏折,代价是受到反方向的力。
在下面的模拟中亲自调节参数吧。
把旋转从零调向后旋(backspin)一侧,上下的流线就变得不对称。上方流线变密(变快),驻点向下移。此时马格努斯力箭头指向上方。把旋转反过来,力也随之反向。
拐多大弯,由旋转比决定
先把雷诺数放在一边。支配马格努斯效应强弱的无量纲数是旋转比(spin ratio)。
分子是表面速度,分母是自由来流速度。 表示"球面转动比风快多少倍"。 越大,环量越大,升力系数也越大。棒球的曲球约为 ,足球大力弧线球则更高。
我们来积分一个简单的二维飞行并画出轨迹,只放入阻力和马格努斯力。
import numpy as np
def magnus_trajectory(u0, spin, cm=0.16, cd=0.006, dt=0.012, steps=900):
# 俯视平面。x 为前进方向,y 为侧向。
pos = np.array([0.0, 0.0])
vel = np.array([u0, 0.0]) # 起初笔直发射
path = [pos.copy()]
for _ in range(steps):
sp = np.hypot(*vel) + 1e-9
# 马格努斯: 垂直于速度 (-vy, vx),符号由旋转决定
a_magnus = cm * spin * np.array([-vel[1], vel[0]])
a_drag = -cd * sp * vel # 阻力: 与速度反向
vel = vel + (a_magnus + a_drag) * dt
pos = pos + vel * dt
path.append(pos.copy())
if pos[0] > 30:
break
return np.array(path)
for s in (0.0, 1.0, 2.0):
p = magnus_trajectory(14.0, s)
print(f"spin={s}: 侧向偏移 = {p[-1, 1]:6.2f} m")
# spin=0.0: 侧向偏移 = 0.00 m
# spin=1.0: 侧向偏移 = 3.71 m
# spin=2.0: 侧向偏移 = 6.90 m旋转翻倍,偏移却并不正好翻倍。轨迹一旦弯曲,速度方向就改变,力的方向也随之不断旋转。这是非线性的。
在下面把旋转左右扫动。
把旋转从最左端移到最右端,蓝色轨迹便以虚线(无旋转基准线)为界翻到另一侧。降低发射速度,同样的旋转会弯得更厉害。因为表面速度相对流动变大, 随之升高。
膛线:一个反其道而行的解法
这里出现了一个悖论。罗宾斯找到的解法不是消除旋转,而是控制旋转。在枪管内刻出螺旋槽(膛线,rifling),让弹丸绕飞行方向的轴旋转。
为什么这样有效?马格努斯力正比于 。膛线赋予的旋转轴就是飞行方向,即 与 平行。两个矢量平行时,叉积为零。侧向力随之消失。
同时,这种绕轴旋转像陀螺一样提供了陀螺稳定性。它把弹丸原本翻滚时获得的随机旋转,捆到一根固定的轴上。随机的马格努斯消失,弹丸便飞得笔直。不是靠消除旋转,而是把旋转对准到侧向力为零的角度,从而取胜。
这个现象告诉我们什么
马格努斯效应的本质可以浓缩为一句话:旋转把流动向一侧偏折,被偏折动量的反作用就成了侧向力。升力来自环量,而非物体的形状。
若要抄进实验笔记,有三条。第一, —— 侧向力只与环量成正比。第二,强弱不由雷诺数、而由旋转比 决定。第三,让 归零的对齐(膛线),恰好抹去了那个力。罗宾斯在子弹上看到的,与足球在球门前拐弯的,是同一个方程的两副面孔。
如果对您有帮助,请分享。