beplay体育手机官网安卓版计算遇上知识

模拟零重力来演示Dzhanibekov效应和其他令人惊讶的物理模型

来探索本文的内容免费Wolbeplay体育手机官网安卓版fram System Modeler试用版beplay体育手机官网安卓版Wolfram系统建模器12.2是刚刚发布的,其特点是个性化的情节,新的模型库和对高级建模的扩展GUI支持。另一项新增功能是从3D形状生成3D模型的新工作流。我们将使用这个特性来说明一些奇怪的和违反直觉的物理。

1985年,宇航员弗拉基米尔•Dzhanibekov被派去营救礼炮号7空间站。他打开了从地球送来的补给,这些补给被一个小坚果锁住了。当旋翼从螺栓上旋转时,他注意到旋翼如何在短时间内保持其方向,然后它翻转了180度。这就是“Dzhanibekov效应”网球拍定理,至少150年前就已经为人所知,但对我们大多数人来说,它仍然有违常识。是什么导致了这种效果,我们能重复这种行为吗?

我们需要零重力来复制它,这对我们大多数人来说是很难做到的。然而,这很容易做到系统建模我们来做一个虚拟实验。

首先,我们需要一个小坚果的几何形状。几乎任何CAD模型的一个翼螺母将工作,在这种情况下,我们将使用一个巨大的翼螺母与Spikey。它的直径大约有30米——因为我们将在太空中进行这个实验,我们不妨把它做大:

都

现在让我们使用新功能从这个形状创建一个系统模型:

CreateSystemModel
& # 10005

CreateSystemModel(“都”,都);

就是这样!我们现在有了一个模型,它不仅具有所需的形状,而且还具有所需的物理性质,包括惯性、质心和密度。我们只需要把它放在太空中,并让它初始运动,以测试Dzhanibekov效应。我们将初始化平移速度为2米/秒,角速度为10弧度/秒:

ConnectSystemModelComponents
& # 10005

ConnectSystemModelComponents["DzhanibekovEffect", {"wingnut" \[Element] "wingnut", "world" \[Element] "Modelica.Mechanics.MultiBody. multibody . "World"}, {}, <|"ParameterValues" -> {" World . World"。g" -> 0}, "InitialValues" -> {"wingnut.body. g" -> 0}, "InitialValues" -> {"wingnut.body. g"V_0 " -> {0,2,0}, "wingnut.body。W_a " -> {0,10,0}}|>];

当然,你也可以用图形来表示模型中心也,如所示这个视频

模型准备好后,我们现在可以模拟:

simWingnut = systemmodelsimulation
& # 10005

simWingnut = systemmodelsimulation ["DzhanibekovEffect", 30];

由于没有外力,人们可能会认为速度应该保持恒定,但事实是这样吗?让我们从速度开始:

SystemModelPlot
& # 10005

wingnut.body SystemModelPlot [simWingnut,{”。v_0[1]”、“wingnut.body。v_0[2]”、“wingnut.body.v_0[3]“})

正如预期的那样,它们保持不变,但现在让我们看看角速度:

SystemModelPlot
& # 10005

wingnut.body SystemModelPlot [simWingnut,{”。w_a[1]”、“wingnut.body。w_a[2]”、“wingnut.body.w_a[3]“})

更容易看到动画实际发生了什么:

SetSystemModel
& # 10005

SetSystemModel["DzhanibekovEffect", <| "SimulationSettings" -> {"StopTime" -> 30}|>];SystemModeler(“DzhanibekovEffect”、“动画”)

这正是Dzhanibekov在1985年观察到的奇异效应!由于我们根本没有施加任何外力,这种效果——至少对我们大多数人来说是违反直觉的。它是由什么引起的?根据CAD形状建立模型时,自动计算相应的惯性量。让我们来看看他们:

simWingnut
simWingnut
simWingnut
simWingnut
& # 10005

(“wingnut.body simWingnut。wingnut.body I_11”]simWingnut[”。I_22 "] simWingnut(“wingnut.body.I_33”)

它们都是不同的,加上一个小的扰动(在这种情况下,一个小的数值扰动)实际上是造成这种效应的原因。

物体是否开始翻转取决于我们围绕哪个轴旋转。让我们看一看航天飞机,以及它是如何依赖于初始轴或旋转的,并使用System Modeler 's跟踪航天飞机的三个不同的点模拟中心

当围绕x而且z轴,梭子的行为与预期的一样,但旋转y而且- z,它开始以同样奇怪的方式翻转。当航天飞机绕着转动惯量最大或最小的轴旋转时,旋转是稳定的。然而,当绕中间轴旋转时,转动惯量在这两者之间,翻转行为开始。这就是为什么这个效应也被称为中轴定理。

如果你有网球拍或类似的东西,你可以在家里轻松地测试它。或者你可以在beplay体育官网下载app并在System Modeler中进行测试:

pingpongRacket =区域
& # 10005

pingpongRacket =地区[RegionUnion[{气缸[{{0,0,0},{0.10,0,0}},0.015],气缸[{{0.18,0,0},{0.18,0.005,0}},0.09],气缸[{{0.18,-0.005,0},{0.18,0,0}},0.09]}]]

我们现在可以付诸行动了。在这种情况下,我们将留在地球上,即保持重力:

CreateSystemModel
& # 10005

CreateSystemModel(“PingpongRacket”,PingpongRacket);ConnectSystemModelComponents["TennisRacketTheorem", {"pingpongRacket" \[Element] "pingpongRacket", "world" \[Element] "Modelica.Mechanics.MultiBody. "World"}, {}, <|"InitialValues" -> {"pingpongRacket.body. World"}, {}, <|"InitialValues" -> {"pingpongRacket.body. World"v_0" -> {0,5,0}, "pingpongRacket.body. "W_a " -> {0,0,30}}|>];SystemModeler(“TennisRacketTheorem”、“动画”)

如果你仔细看,你可以看到球拍是如何翻转的。同样,这是当一个物体有三个不同的转动惯量时,围绕中间轴旋转时造成的。

那么,这是否意味着如果我们有一个对称的物体,也就是说,如果我们没有中间轴,就没有问题?事实上,没有。事实证明,太空是研究简单但反直觉效应的好地方。

当美国发射第一颗卫星时,Explorer 11958年1月31日,美国经历了惨痛的教训。这颗卫星被设计成绕其长轴旋转,并有四个柔性天线,如下图所示:

卫星

从图片维基百科

一开始它看起来很棒,但几个小时后它就翻转了,开始从头到尾旋转。与我们之前的例子相反,卫星再也没有翻转回来;相反,它陷入了这种不受欢迎的旋转。怎么会?

为了测试这一点,我们创建了一个非常简单的卫星模型,使用圆柱体作为主体,然后使用带有弹簧阻尼器的接头将四个天线(较小的圆柱体)连接到卫星上:

卫星模型

系统模拟复制了Explorer 1的行为,只是速度更快,因为我们夸大了一些设置:

那么为什么会发生这种情况呢?弹簧阻尼系统会增加系统的损耗。这意味着卫星将寻求绕获得最小动能的轴旋转,即具有最大惯性矩的轴,换句话说,当它从头到尾旋转时。

总之,这个与直觉完全相反的简单例子很好地说明了如何使用系统模型来测试和理解动态系统的行为,希望在设计过程的早期阶段找到更好的解决方案。

参考

这个博客的灵感来自于此YouTube视频

参观beplay体育手机官网安卓版Wolfram系统建模文档中心去探索和观察有什么新鲜事在最新发布的还是试试免费试用系统建模器。

评论

加入讨论

请输入您的评论(至少5个字符)。

请输入您的姓名。

请输入有效的电子邮件地址。

4评论

  1. 这是一个很酷的帖子!能不能上传飞行器和航天飞机的3D模型这样我们就能重现这个演示了?(或者穿梭机来自ExampleData?)

    回复
  2. 谢谢杰西!你说得对,航天飞机来自ExampleData。我认为其他人可能有兴趣玩这个,所以我上传了笔记本电脑,cad文件,和其他模型的说明在这里:https://community.beplay体育手机官网安卓版wolfram.com/groups/-/m/t/2144811

    回复
  3. 我注意到,如果我把“g”从0改为9.8,它仍然显示效果。难道只有当“9”= 0时才可能产生这种效果吗?

    ConnectSystemModelComponents[“DzhanibekovEffect”,
    {" wingnut " \[元素]" wingnut ",
    " world " \[Element] " Modelica.Mechanics.MultiBody.World "},
    {},
    {“世界。G " -> 9.8},
    " InitialValues " -> {" wingnut.body. "V_0 " -> {0,2,0},
    “wingnut.body。W_a " -> {0,10,0}}|>];

    回复
    • 你是正确的,当你在模拟中设置重力时,它就会起作用,事实上,零重力并不是看到效果的严格必要条件。它被称为网球拍定理的一个原因是,网球拍是一个完美的例子,一个地球上每个人都可以在家里尝试的东西。我们的观点是,这种效应在地球上几乎不明显,而在太空中很容易看到。尽管这个理论之前就已经为人所知,但当扎尼别科夫第一次看到这种效应时,他还是大吃一惊。地球和太空的区别在于引力,以及与之相关的一切。对于模拟案例,我们忽略了重力,但也忽略了其他限制因素,如风阻力和缺乏空间来进行实验。我们还给出了在地球上像扎尼别科夫那样旋转一个小螺帽时不太可能出现的起始条件。

      谢谢你的评论!

      - beplay体育手机官网安卓版Wolfram博客团队

      回复
Baidu
map