Welcome again, Magellanic Clouds!
收藏资源简介:
This repository contains data for the simulations of Large Magellanic Cloud (LMC)'s<br> interaction with the Milky Way (MW).<br> Some of the data and all scripts require the Agama framework for stellar dynamics.<br> Units are: length = 1 kpc, velocity = 1 km/s, time = 0.978 Gyr (for simplicity,<br> referred to as Gyr throughout the text), mass = 232500 Msun, G = 1.<br> <br> There are six simulations with different combinations of initial LMC and MW mass<br> (see Section 2 in Vasiliev 2023 for a definition of initial profiles of both galaxies):<br> <br> name M_LMC[Msun] M_MW[Msun] time[Gyr] comment<br> L2M10 2e11 10e11 11 second passage, Tperi ~ 8.8 Gyr<br> L2M11 2e11 11e11 10 --"--, Tperi ~ 6.5 Gyr<br> L3M10 3e11 10e11 11 --"--, Tperi ~ 8.2 Gyr<br> L3M11 3e11 11e11 10 --"--, Tperi ~ 6.3 Gyr<br> L2M10first 2e11 10e11 4 first passage starting from apocentre<br> L3M10rad 3e11 10e11 11 radially anisotropic MW halo (beta=0.5)<br> <br> Each simulation's folder contains the following data:<br> - potential.ini: time-dependent potential of the entire system represented by<br> two series of Multipole expansions for each galaxy (the one for the LMC is moving),<br> plus the fixed MW stellar potential, plus non-inertial acceleration of the MW-centric<br> reference frame. This potential can be used to integrate orbits (resimulation).<br> - potential_bse.ini: same, but with potentials represented by BasisSet expansions<br> (not recommended, because it is generally slower to evaluate, but this format can<br> be more readily used in other galaxy modelling packages).<br> - potential_lmc_bound.ini: time-dependent moving potential of particles still bound<br> to the Magellanic system (defined so that their total energy in this potential is<br> negative).<br> - potential_lmc_init.ini: LMC potential at the start of the simulation.<br> - potential_mw_now.ini: Milky Way potential at present time (without the non-inertial<br> acceleration term).<br> - potential_mw_init.ini: Milky Way potential at the start of the simulation.<br> - trajlmc.txt: Galactocentric trajectory of the LMC (also used in the potentials).<br> - boundmass.txt: evolution of bound mass of the LMC (in units of Msun).<br> - snapshot.npz: numpy zip archive with the following arrays:<br> * pos: Nx3 array of particle positions at present time (t=0) in the standard<br> Galactocentric coordinate system from Astropy (where the Sun is at -8.122,0,0.02);<br> * vel: Nx3 array of particle velocities;<br> * mass: array of particle masses of length N;<br> * tstrip: time at which the particle became unbound from the LMC (length Nlmc),<br> if greater than zero, it is still bound at present time.<br> The first Nlmc = 2e6 particles represent the Magellanic system, the next 7e6<br> represent the MW halo, and the remaining 1e6 represent the stellar disc+bulge;<br> all particles from the same category have identical masses.<br> <br> The folder "scripts" contains the following Python scripts or Jupyter notebooks:<br> - find_lmc_orbit.ipynb: notebook illustrating the method for finding orbital initial<br> conditions by running a bunch of simulations with slightly different initial points.<br> Instead of running an actual simulation, it creates a fake trajectory by integrating<br> equations of motion of LMC and MW as two extended rigid bodies, taking into account<br> dynamical friction (but note that this approximation is not particularly realistic).<br> One may adapt the code to actual simulations by replacing one specific routine.<br> - resimulate_orbits.py: script for performing orbit integration in the recorded<br> approximated potential of both galaxies; the actual particle trajecties in the<br> simulation may differ individually, but on average this gives a realistic result.<br> - membership_analysis.py: script for computing the probability of Magellanic<br> association for nearby dwarf galaxies, using data from the text file satellites.txt<br> (positions and distances taken from the catalogue of McConnachie,<br> https://www.cadc-ccda.hia-iha.nrc-cnrc.gc.ca/en/community/nearby/<br> and proper motions from Battaglia et al.2022).<br> - plot_snapshot.py: script for plotting the spatial distribution and velocity map of<br> Magellanic debris, together with the observed positions and velocities of dwarfs.<br> - adaptive_histogram.py: auxiliary module for variable-bandwidth KDE construction.
本仓库收录了用于模拟大麦哲伦云(Large Magellanic Cloud,LMC)与银河系(Milky Way,MW)相互作用的相关数据。部分数据及全部脚本需依赖恒星动力学领域的Agama框架方可运行。 本数据集采用的单位体系如下:长度单位为1千秒差距(kpc),速度单位为1千米每秒(km/s),时间单位简化为0.978吉年(Gyr),为简化起见全文统一以吉年指代该单位;质量单位为232500倍太阳质量(Msun),引力常数G取1。 本次研究共包含6组不同初始参数的模拟实验,对应大麦哲伦云与银河系的不同初始质量组合(关于两个星系初始轮廓的定义详见Vasiliev 2023年发表的第2章节): | 名称 | M_LMC[Msun] | M_MW[Msun] | time[Gyr] | 备注说明 | |--------------|-------------|------------|-----------|------------------------------| | L2M10 | 2×10¹¹ | 10×10¹¹ | 11 | 第二次过境,近心点时间Tperi约8.8吉年 | | L2M11 | 2×10¹¹ | 11×10¹¹ | 10 | 第二次过境,近心点时间Tperi约6.5吉年 | | L3M10 | 3×10¹¹ | 10×10¹¹ | 11 | 第二次过境,近心点时间Tperi约8.2吉年 | | L3M11 | 3×10¹¹ | 11×10¹¹ | 10 | 第二次过境,近心点时间Tperi约6.3吉年 | | L2M10first | 2×10¹¹ | 10×10¹¹ | 4 | 首次过境,从远心点出发 | | L3M10rad | 3×10¹¹ | 10×10¹¹ | 11 | 银河系晕呈径向各向异性(β=0.5) | 每组模拟对应的文件夹均包含以下数据文件: - `potential.ini`:表征整个系统的含时势场,采用两套多极展开序列分别描述两个星系(其中大麦哲伦云的势场随时间运动),此外还包含固定的银河系恒星势场,以及以银河系为中心的非惯性参考系加速度项。该势场可用于轨道积分(即再模拟过程)。 - `potential_bse.ini`:格式与上述文件一致,但势场采用基组展开(BasisSet expansions)表示。该格式一般计算速度较慢,不推荐使用,但可更便捷地兼容其他星系建模软件包。 - `potential_lmc_bound.ini`:仍与麦哲伦系统束缚的粒子的含时运动势场(判定标准为粒子在该势场中的总能量为负值)。 - `potential_lmc_init.ini`:模拟初始时刻的大麦哲伦云势场。 - `potential_mw_now.ini`:当前时刻的银河系势场(不含非惯性参考系加速度项)。 - `potential_mw_init.ini`:模拟初始时刻的银河系势场。 - `trajlmc.txt`:大麦哲伦云的银河中心坐标系轨迹(该数据同样用于势场计算)。 - `boundmass.txt`:大麦哲伦云束缚质量随时间的演化曲线(单位:太阳质量Msun)。 - `snapshot.npz`:NumPy压缩存档文件,包含以下数组: * `pos`:N×3维数组,存储当前时刻(t=0)的粒子位置,采用Astropy标准银河中心坐标系(太阳位于坐标(-8.122, 0, 0.02)处); * `vel`:N×3维数组,存储粒子速度; * `mass`:长度为N的粒子质量数组; * `tstrip`:粒子脱离大麦哲伦云束缚的时刻(长度为Nlmc的数组),若该值大于0,则表示粒子在当前时刻仍处于束缚状态。 其中前Nlmc=2×10⁶个粒子代表麦哲伦系统,后续7×10⁶个粒子代表银河系晕,剩余1×10⁶个粒子代表银河系恒星盘与核球;同一类别的粒子质量均相同。 scripts文件夹包含以下Python脚本与Jupyter Notebook文件: - `find_lmc_orbit.ipynb`:通过运行多组初始参数略有差异的模拟来推导轨道初始条件的演示笔记本。该代码并未直接运行真实模拟,而是通过将大麦哲伦云与银河系视为两个扩展刚体并考虑动力学摩擦(dynamical friction)效应,积分运动方程生成假轨迹(需注意该近似方案的真实性有限)。用户可通过替换特定子程序,将该代码适配至真实模拟场景。 - `resimulate_orbits.py`:用于在已记录的双星系近似势场中执行轨道积分的脚本。模拟中的实际粒子轨迹可能存在个体差异,但整体上可得到符合物理规律的结果。 - `membership_analysis.py`:用于计算邻近矮星系归属麦哲伦星云关联的概率的脚本,所需数据来自`satellites.txt`文本文件(位置与距离数据取自McConnachie发布的星表,链接:https://www.cadc-ccda.hia-iha.nrc-cnrc.gc.ca/en/community/nearby/,自行运动数据取自Battaglia等人2022年的研究成果)。 - `plot_snapshot.py`:用于绘制麦哲伦碎屑的空间分布与速度分布图,并叠加矮星系的观测位置与速度的脚本。 - `adaptive_histogram.py`:用于构建可变带宽核密度估计(Kernel Density Estimation, KDE)的辅助模块。



