黎巴嫩首都爆炸能量有多大?物理学家看视频计算:300吨TNT!

  晓查发自凹非寺 

  量子位报道公众号 QbitAI

  前日,黎巴嫩首都贝鲁特昨天发生了严重的爆炸事故,截至今天已经造成了超过 135 人死亡、30 万人无家可归。爆炸可能的原因是港口存放的 2750 吨硝酸铵被意外引爆。

  这些硝酸铵爆炸究竟产生了多大的能量,各方统计口径不一。

  许多在现场的民众拍下了爆炸当时的画面。根据这些在社交网络上公开的视频,我们也可以推测出这场爆炸的 TNT 当量。

  这个估算方法来自于 70 年前一位物理学家,他从美军的公开资料算出了人类首次核试验的 TNT 当量。

  从照片中窥测核爆机密

  1950 年,也就是首次核试验“三位一体”之后 5 年,美国军方公开当时的照片,照片中只标注了比例尺和时间。

  然而美军万万没想到,就是这组照片暴露了当年核试验的秘密。

  英国物理学家杰弗里·泰勒(Geoffrey Taylor)根据画面中的火球半径和时间点,估算出这枚核弹威力约 2.2 万吨 TNT 当量,与实际值的误差只有 10%。

  而且他还把结果发表在美国的公众杂志《Life》上,让美军大为吃惊。

  泰勒的计算方法非常简单,只要有中学知识就能推导出结果。其实算出爆炸的能量就是找出下面几个物理量之间的数学关系:

R:爆炸冲击波球的半径;
E:爆炸释放的能量;
ρ:爆炸冲击波传播介质的密度;
t:距离起爆的时间。

  为了快速得出这 4 个物理量的关系,泰勒用了一种叫做量纲分析的方法,通俗来说就是公式两边的单位必须相同。

  我们先假设冲击波半径和其他几个物理量的关系是

  其中C是待定常数。

半径R的单位是米,也就是长度L;

能量E的单位是焦耳,与质量M成正比、与长度L的平方成正比,与时间T的平方成反比,记作 ML2T-2

时间的单位是秒,即T;

密度ρ的单位是千克每立方米,与质量M成正比,与长度L的三次方成反比,记作 ML-3.

  因为两边的“量纲”(也就是单位)都是长度:

  所以x、y、z应该满足方程图片: 

  可以算出:

  泰勒根据在流体力学中的经验得出常数C≈1,所以爆炸能量和其他几个量的关系为:

  根据美军公布的照片,起爆 0.006 秒后,火球半径大约 80 米,空气密度大约是 1.2 千克每立方米,带入公式得到核爆的 TNT 当量为2. 4 万吨(1 吨 TNT 当量=4.2×109焦耳),与泰勒估计的数值接近。

  估算贝鲁特港爆炸威力

  泰勒的估算方法不仅对核爆有效,也适用于一般的爆炸。

  所以在事故发生后,很多熟悉这段故事的物理学家立刻想到了用这种方法来估计。而且现在社交网络非常发达,很多网友将爆炸现场视频传到了网上,都可以作为计算的素材使用。

  荷兰特温特大学的物理学助理教授 Sander Huisman 就是其中的一位,他结合了 Mathematica 软件,估计了这次贝鲁特港爆炸的 TNT 当量。

  首先截取一则视频中的 6 帧画面:

  在上面每个画面中,他都选取冲击波球边缘的 3 个点来确定半径:

circs = CircleThrough /@ data[[;; 6, 2]];
r = circs[[All, 2]];

  并将结果可视化:

  图片中没有比例尺,他就查阅谷歌地球,估算了火球附近谷仓塔的高度约为 22 米,这个建筑在画面中占据了 37 个像素,因此每个像素对应的长度为 0.59 米。

cali = 0.5888486673789164`;

realr = r cali

  视频帧率为 29.97fps,因此上面 6 帧画面之间的时间间隔可以轻易算出。问题是:在第二次爆炸前,现场有大量的烟雾,无法直接得到爆炸开始的时间点。

  但是我们可以根据冲击波半径随时间的变化规律(与时间的2/5 次方成正比),将以上的 6 组半径和时间输入程序,反推出起爆时间:

fit = FindFit[
  tr, { a (x + t0)^0.4, 0 < t0 < 1/30}, {{a, 200}, {t0, 1/60}}, x]
realfit = a (x + t0)^0.4 /. fit
tzero = t0 /. fit
realfitshifted = a (x)^0.4 /. fit
prefactor = a /. fit

  并绘制出拟合图像:

Show[{ListPlot[Transpose[{t + tzero, realr}]], 
  Plot[realfitshifted, {x, 0, 0.2}]}, 
 PlotRange -> {{0, 0.2}, {0, 120}}, Frame -> True, 
 FrameLabel -> {“t”, “r [m]”}]

  到这里,数据的处理完毕,后面的操作和泰勒当年计算核爆的方法一样,Huisman 由此算出贝鲁特港爆炸释放的能量约相当于300 吨 TNT

  除了泰勒方法外,也有人用另外的方法估算出这次爆炸的能量。比如一位推特网友根据距离爆炸中心 620 远处的损毁程度推算出冲击波压力大约是 3psi,得出 TNT 当量为 240 吨。

  不过,也有一些网友计算出的 TNT 当量达到了 2000~3000 吨 TNT,远高于以上估算数值。

  根据现有证据,爆炸现场只有 2750 吨硝酸铵,而一吨硝酸铵的完全爆炸释放的能量等于 0.42 吨 TNT,因此爆炸能量的理论上限是 1150 吨。在没有新的证据之前,300 吨是一个比较合理的估计值。

  参考资料: 

  1. http://sites.science.oregonstate.edu/~restrepo/MTH481/Classnotes/GITaylor/GITaylorAnalysis.pdf
  2. https://community.wolfram.com/groups/-/m/t/2051264
  3. https://twitter.com/sinabooeshaghi/status/1290727092884299778

  — 完 —

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注