010-68421378
sales@cogitosoft.com
当前您所在的位置:首页>新闻中心>新品发布

Wolfram System Modeler 12.2 | 模拟零重力以演示Dzhanibekov效应

发布时间:2021/05/02 浏览量:2193
Wolfram System Modeler 12.2 刚刚发布,具有诸如图的个性化,新模型库和对高级建模的扩展 GUI 支持等功能

Wolfram System Modeler 12.2 刚刚发布,具有诸如图的个性化,新模型库和对高级建模的扩展 GUI 支持等功能。其他功能之一是用于从 3D 形状生成 3D 模型的新工作流程。我们将使用此功能来说明一些奇怪和违反直觉的物理学。

1985年,宇航员弗拉基米尔·德扎尼别科夫(Vladimir Dzhanibekov)受命解救礼炮7号太空站。他解开了从地球寄来的补给品的包装,这些补给品已用翼型|蝶形螺帽锁住了。当蝶形螺母从螺栓上松开时,他注意到蝶形螺母如何在短时间内保持其方向,然后翻转180度。这种“ Dzhanibekov 效应”或网球拍定理至少已有150年了,但是对于我们大多数人来说,它仍然违背常识。是什么导致了这种效果,我们可以重复这种行为吗?

我们需要零重力来复制它,这对我们大多数人来说都是很难做到的。但是,使用System Modeler很容易,所以让我们进行一个虚拟实验。

首先,我们需要一个螺母的几何形状。几乎所有的蝶形螺母CAD模型都可以使用,在这种情况下,我们将使用带有Spikey的巨型蝶形螺母。它的直径约为30米——由于我们将在太空中进行此实验,因此我们不妨变大:

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

  •  
 
CreateSystemModel["Wingnut", wingnut];

就这么简单!现在,我们有了一个模型,它不仅具有所需的形状,而且还具有所需的物理特性,包括惯性、质心和密度。我们只需要将其放在太空中并进行初步移动即可测试Dzhanibekov 效应。我们将以每秒2米的平移速度和每秒10弧度的角速度初始化蝶形螺母:

当然,您也可以在Model Center中以图形方式执行此操作,如本视频(https://wolfr.am/RP7jVEgz)所示。

 

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

  •  
 
simWingnut = SystemModelSimulate["DzhanibekovEffect", 30];

由于没有外力,人们可能会期望速度应该保持恒定,但是它们会吗?让我们开始看一下速度: 

  •  
  •  
 
SystemModelPlot[simWingnut, {"wingnut.body.v_0[1]",
 
 
  "wingnut.body.v_0[2]", "wingnut.body.v_0[3]"}]

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

  •  
  •  
 
SystemModelPlot[simWingnut, {"wingnut.body.w_a[1]",
 
 
  "wingnut.body.w_a[2]", "wingnut.body.w_a[3]"}]

 

更容易查看动画的实际情况:

  •  
  •  
  •  
  •  
 
SetSystemModel[
 
 
"DzhanibekovEffect", <|
 
 
 
"SimulationSettings" -> {"StopTime" -> 30}|>];
 
 
 
 
SystemModeler["DzhanibekovEffect", "Animation"]

这恰恰是贾尼别科夫在1985年观察到的怪异效果!由于我们根本没有施加任何外力,因此这种影响(至少对我们大多数人而言)是违反直觉的。是什么原因造成的?从CAD形状创建模型时,会自动计算相应的惯性。让我们看看它们:

  •  
  •  
  •  
 
simWingnut["wingnut.body.I_11"]
 
 
simWingnut["wingnut.body.I_22"]
 
 
 
simWingnut["wingnut.body.I_33"]

它们都是不同的,实际上是由小的干扰(在这种情况下为小的数值干扰)共同导致的。

对象是否将开始翻转取决于我们围绕哪个轴旋转。让我们看一下航天飞机以及它如何根据初始轴或旋转来表现,并使用System Modeler的Simulation Center跟踪航天飞机的三个不同点:

 

当绕着xz轴旋转时,航天飞机的行为符合预期,但绕着yy-z旋转时,它开始以与蝶形螺母相同的奇异方式翻转。当航天飞机以最大或最小惯性矩绕轴旋转时,旋转稳定。但是,当绕中间轴旋转时,惯性矩介于这两者之间,则翻转行为开始。这就是为什么这种效应也称为中间轴定理的原因。

如果您有网球拍或类似产品,实际上可以轻松在家中进行测试。或者,您可以使用Wolfram语言创建一个球拍,并在System Modeler中对其进行测试:

  •  
  •  
  •  
  •  
 
pingpongRacket =
 
 
 Region[RegionUnion[{Cylinder[{{0, 0, 0}, {0.10, 0, 0}}, 0.015],
 
 
 
    Cylinder[{{0.18, 0, 0}, {0.18, 0.005, 0}}, 0.09],
 
 
 
 
    Cylinder[{{0.18, -0.005, 0}, {0.18, 0, 0}}, 0.09]}]]

现在,我们可以将其付诸实践。在这种情况下,我们将停留在地球上,即保持重力:

如果仔细看,可以看到球拍如何翻转。同样,这是由于当对象具有三个不同的惯性矩而围绕中间轴旋转时引起的。

那么,这是否意味着如果我们有一个对称对象,即没有中间轴,那没有问题吗?其实没有,事实证明,空间是学习简单但违反直觉效果的好地方。

 

当美国于1958年1月31日发射第一颗卫星Explorer 1时,它就很难学到这一点。卫星被设计为绕其长轴旋转,并具有四个柔性天线,如下图所示:

图片来自维基百科

 

开始时看起来很棒,但是在几个小时内它就开始翻转并开始旋转。与我们之前的示例相反,卫星再也没有向后翻转。相反,它陷入了这种不希望的旋转中。怎么来的?

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

 

对系统的仿真复制了Explorer 1的行为-更快,因为我们夸大了一些设置:

那么为什么会这样呢?弹簧减震器系统会增加系统的损耗。这意味着卫星将寻求绕轴旋转,以实现最小的动能,即具有最大惯性矩的动能,换句话说,当卫星自始至终旋转时。

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

下一篇:Splashtop:通过远程访问QuickBooks和记帐软件
上一篇:完整UI库Kendo UI全新发布R1 2021 SP2

                               

 京ICP备09015132号-996网络文化经营许可证京网文[2017]4225-497号 | 违法和不良信息举报电话:4006561155

                                   © Copyright 2000-2023 北京哲想软件有限公司版权所有 | 地址:北京市海淀区西三环北路50号豪柏大厦C2座11层1105室

                         北京哲想软件集团旗下网站:哲想软件 | 哲想动画

                            华滋生物