文档

螺旋星系形成的MATLAB函数块仿真

这个模型的灵感来自经典论文“银河桥和尾巴”(Toomre & Toomre 1972)。最初的论文解释了圆盘状星系是如何形成旋臂的。两个盘状星系最初相距很远。然后它们互相掠过,几乎相撞。一旦星系距离足够近,相互的引力就会形成旋臂。

除了“PlotAll”可视化块使用绘图例程外,该模型中的所有MATLAB®功能块都支持使用Simulink®Coder™和Embedded Coder™生成代码。万博1manbetx万博1manbetx

  • 要求:对于本例,Simulink®在当前工万博1manbetx作目录(pwd)中创建的Simulink项目目录中为仿真生成代码。如果不希望影响当前目录(或者无法在该目录中生成文件),则应该更改工作目录。

打开模型并运行仿真

通过执行下面的代码打开模型并运行模拟。如果您正在使用MATLAB®帮助,请选择要执行的代码并按F9(或选择代码,右键单击选择并选择“评估选择”)。Simu万博1manbetxlink模型将加载、编译和运行。

模型=“sldemo_eml_galaxy”;open_system(模型);sim(模型);

模型描述

本节详细描述模型,并解释模型中每个块的作用。绿色的块初始化模拟,橙色的块是模拟的核心,黄色的块是星系动画视图。

初始条件

该模型需要每个星系的初始条件。初始条件为:星系半径(rp),星系质量(cm),星系位置(pos),星系速度(m/s)。

在模型中,常数块指定初始条件。初始条件的选择使得星系在某个时间点几乎相撞。

“ConstructGalaxy”模块

初始条件被传递给MATLAB函数块Construct Galaxy 1和Construct Galaxy 2。这些MATLAB函数块包含构建星系模型的MATLAB代码。

在一个典型的星系中,大部分质量集中在其中心,形成超大质量黑洞和/或恒星聚集。我们将星系建模为半径为r的圆盘,其大部分质量集中在半径为r/3的内环上。除了这个超大质量的核心外,“ConstructGalaxy”MATLAB函数块还创建了349个随机恒星,质量范围从4到24个太阳质量。这些恒星随机分布在距离银河系中心r/3和r的距离内。恒星最初围绕星系核心沿圆形轨道运行。每个物体(恒星或星系核心)都有质量、位置(x、y、z)和速度(Vx、Vy、Vz)。

“矩阵连接”块

这个块连接了两个星系的信息。此时,该模型有700个物体:每个星系有一个核心,每个核心周围有349颗恒星。这700个物体根据牛顿力学相互作用。

“分区”块

这个MATLAB函数块将所有700个对象分为两组:重体和轻体。重的天体是星系的核心。光体是恒星。由于星系核心比单个恒星重得多,该模型将只考虑重-重和重-轻相互作用。我们可以忽略光-光体相互作用。这将节省很多时间,因为模型中700个物体中有698个是轻的。

“ApplyGravity”块

这个MATLAB函数块使用牛顿力学计算物体在每一步的速度和位置。“combine”块也是一个MATLAB函数块。它将重物体和轻物体的数据合并在一起。

“PlotAll”块

该MATLAB函数块将天体绘制成图形,并在仿真的每一步更新每个恒星的位置。

关闭模型

关闭模型,不保存任何更改。清除模拟/示例生成的数据。

close_system(模型中,0);清晰的模型sldemo_eml_galaxy_output;

注意:

  • 在这个模型中,信号记录是打开的(观察“GalaxyBodies”信号上有一个小的蓝色信号记录天线)。模型以格式保存输出数据数据集对象。在模型工作空间中保存/修改任何其他数据,以避免使MATLAB工作空间混乱。

  • 要修改信号记录设置,请右键单击信号线并选择“信号属性”。在本例中,信号名称为“GalaxyBodies”,并选中“Log signal data”复选框。

  • 记录的数据保存到MATLAB工作空间作为数据集名称为'sldemo_eml_galaxy_output'的对象。关于“星系体”信号的信息可以通过输入这个物体来检索sldemo_eml_galaxy_output.get(“GalaxyBodies”)它返回一个万博1manbetxSimulink.SimulationData.Signal对象。在“Simulink.SimulationData”中查看更多关于使用这些对象的信息。万博1manbetx信号”文档。

关于模型的评论

尽管这个模型很简单,但它为我们了解银河系的演化提供了洞见。这个例子允许用户最大限度地简化模型并运行快速模拟。用户可以通过添加更多的星系来修改这个例子。

参考文献

Toomre腋下;想把它们做为Toomre;《银河桥与尾》;《天体物理学杂志》,第178卷,第623-666页(1972);12/1972;

这个话题有帮助吗?