本文译自作者的韩语原文。 阅读原文(한국어)
旋转的球为什么会拐弯 — 马格努斯效应与环量
不消去旋转,只把它对齐到飞行轴,叉积变为零,侧力消失。弯曲多少由旋转比S决定。
1742年,本杰明·罗宾斯盯着火枪弹丸。飞不直。同一支枪、同样的火药、同样的瞄准,有的向左,有的向右。离开枪口的球形弹丸在乱转。旋转和偏折成对出现。
一个世纪后,古斯塔夫·马格努斯用实验把这个侧向力钉住了。旋转的物体在流动里被推向一侧。写下这个力有多大的量,是环量(circulation)。
把旋转滑条从零拨到后旋,上方流线变密,力的箭头指向上方。
看驻点是否下移。把旋转反过来,箭头也反过来。
会拐弯的炮弹,一个由来已久的难题
在罗宾斯之前,炮手们就知道:炮弹会打偏。这不只是风的缘故。铸造公差使炮膛与炮弹之间存在缝隙(当时称为 windage),发射瞬间弹丸撞击膛壁而获得难以预测的旋转,这旋转使飞行轨迹发生弯曲。
问题很严峻。弹道学是关乎国家存亡的计算。牛顿在《原理》中导出了抛物线轨迹,但真实的弹丸偏离了抛物线。罗宾斯用实验把这种偏离分开:一部分是空气阻力,一部分是旋转。
核心问题是:为什么旋转会产生侧向力?
侧向的推力来自环量
先看力的大小。当一个旋转圆柱置于速度为 的均匀流中时,单位长度上受到的侧向力惊人地简单。
其中 是流体密度, 是自由来流速度, 是环量。这一关系称为 把升力绑在环量上的库塔–茹科夫斯基定理。升力只与环量成正比。物体的形状只通过它能产生多少环量来参与其中。
环量是沿闭合路径对速度的积分。
是流速, 是路径切向的微元矢量。环量不为零,意味着物体周围存在净的旋转流动。半径为 、角速度为 的旋转圆柱,其表面拖动流体,正好产生这种净旋转。
方向由叉积决定。
是旋转角速度矢量。这个式子,稍后将成为解开膛线之谜的钥匙。
,所以 加倍,环量也加倍。定常侧力 一起加倍。形状不出现在这行里。半径 以平方进入。同样的角速度,球更大,环量涨得更快。方向是 。两矢量平行,叉积为零,侧力消失。膛线后来用的对齐,就是这一行。
旋转为何真的能造出环量
环量为什么会产生?答案在于黏性与无滑移条件(no-slip condition,壁面处流体速度等于壁面速度)。
旋转球的一面与流动同向转,另一面逆着流动转。在与流动同向的一侧,表面推动边界层,因此流动更晚分离(分离延迟)。在逆向的一侧,流动更早分离。结果是尾流向一侧偏斜。
若尾流向下偏斜,流体便获得向下的动量。作为反作用,球被向上推。这就是马格努斯力的本质:球把流动向一侧偏折,代价是受到反方向的力。
拐多大弯,由旋转比决定
先把雷诺数放在一边。支配马格努斯效应强弱的无量纲数是旋转比(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旋转翻倍,偏移却并不正好翻倍。轨迹一旦弯曲,速度方向就改变,力的方向也随之不断旋转。这是非线性的。
代码取 、、、,最多900步,在 处停下。输出是 spin 0 侧偏 0.00 m,spin 1 为 3.71 m,spin 2 为 6.90 m。3.71 的两倍是 7.42。6.90 比它短 0.52 m。轨迹一弯,马格努斯加速度 就跟着转。力并不锁在最初的侧向,所以偏移不是线性变大。旋转比 里分母变小, 就变大。把发射速度降低,同样的 弯得更多。棒球曲球的 是这个比的一段。把雷诺数放到一边,是因为升力那一行里没有 Re。
把旋转滑条从最左拖到最右,再把发射速度降低。蓝色轨迹会以虚线为界翻到另一侧,同样的旋转偏移更大。
把旋转从最左端移到最右端,蓝色轨迹便以虚线(无旋转基准线)为界翻到另一侧。降低发射速度,同样的旋转会弯得更厉害。因为表面速度相对流动变大, 随之升高。
膛线:一个反其道而行的解法
这里出现了一个悖论。罗宾斯找到的解法不是消除旋转,而是控制旋转。在枪管内刻出螺旋槽(膛线,rifling),让弹丸绕飞行方向的轴旋转。
为什么这样有效?马格努斯力正比于 。膛线赋予的旋转轴就是飞行方向,即 与 平行。两个矢量平行时,叉积为零。侧向力随之消失。
同时,这种绕轴旋转像陀螺一样提供了陀螺稳定性。它把弹丸原本翻滚时获得的随机旋转,捆到一根固定的轴上。随机的马格努斯消失,弹丸便飞得笔直。不是靠消除旋转,而是把旋转对准到侧向力为零的角度,从而取胜。
膛线的轴没对准飞行方向,侧力就还在
马格努斯力是 。膛线把旋转轴放得与飞行方向平行,两个矢量平行,叉积为零。侧力消失。同时这根轴上的旋转像陀螺一样给出陀螺稳定,把弹丸撞上膛壁时得到的随机旋转捆到一根轴上。旋转没有被消去。它被转到侧力为零的角度。
环量不为零,物体周围就有净旋转。圆柱用 在表面上拖出这个旋转。尾流向下偏,流体得到向下的动量,球被向上推。把雷诺数放进写下这个力有多大的那一行,会和 拧着。Reynolds 数划分流动尺度的那一侧进得了分离,进不了 这一行。
相关文章
如果对您有帮助,请分享。