DREAMS_DM_speed_distributions
收藏资源简介:
This repository is for the paper The DREAMS Project: Disentangling the Impact of Halo-to-Halo Variance and Baryonic Feedback on Milky Way Dark Matter Speed Distributions by Ethan Lilie. It is associated with manuscript number AAS72250R1. Code used to produce dark matter velocity distributions from DREAMS CDM simulations. One tutorial showing how to get the velocity distribution using kernel density estimation, and one tutorial for using the velocity distribution with the NeHOD emulator. Reusing this material requires Jupyter Lab, Numpy, Scipy, Pytorch, Pytorch Lightning, and Pandas. KDE_Tutorial is a Jupyter notebook that shows how to start from simulation data (positions and speeds of simulations particles) and to get an estimation of the local speed distribution of the particles. Emulator_Tutorial is a Jupyter notebook that can be used after having generated speed distributions (such as after using KDE_Tutorial). This tutorial shows how to start from an array of halo mass, e_w, κ_w, and ϵ_f,high and output an emulated velocity distributions using the NeHOD normalizing flows emulator. This requires the training data, KDE histograms from simulations, and outputs emulated KDEs. Varied_100000_PARAMS is a textfile contains for each of the 10^6 histogram the list of varied baryonic in the format np.array(3,100000) where the 3 rows correspond to e_w, κ_w, and ϵ_f,high. This would be an input of Emulator_tutorial. Varied_100000_HISTS is a textfile that containts the 10^6 histogrammed speed distributions used in [] in the format of np.array(63,100000) Where the first three rows correspond to stellar mass, mass enclosed at 8 kpc, and the radius where the mass enclosed matches the mass enclosed at 8 kpc of the Milky Way. The last 60 rows are the height of the histogram for all 60 bins from speeds of 0 to 650 km/s. This is an example output of Emulator_Tutorial.
本仓库配套Ethan Lilie发表的论文《DREAMS项目:拆解晕间差异与重子反馈对银河系暗物质速度分布的影响》,对应的手稿编号为AAS72250R1。 本仓库包含用于从DREAMS冷暗物质(Cold Dark Matter, CDM)模拟中生成暗物质速度分布的代码,附带两份教程:其一演示如何通过核密度估计(Kernel Density Estimation, KDE)获取速度分布,其二演示如何将速度分布与NeHOD模拟器结合使用。 使用本项目素材需预先安装Jupyter Lab、Numpy、Scipy、PyTorch、PyTorch Lightning以及Pandas。 KDE_Tutorial是一份Jupyter Notebook,演示如何从模拟数据(模拟粒子的位置与速度)出发,估算粒子的局域速度分布。 Emulator_Tutorial是一份Jupyter Notebook,可在生成速度分布后(例如通过KDE_Tutorial完成生成后)使用。该教程演示如何以晕质量、e_w、κ_w以及ϵ_f,high构成的数组作为输入,借助NeHOD归一化流模拟器输出模拟的速度分布。使用该教程需依赖训练数据、来自模拟的KDE直方图,并可输出模拟的KDE结果。 Varied_100000_PARAMS是一个文本文件,内含10^6组直方图对应的可变重子参数,存储格式为np.array(3,100000),其中3行分别对应e_w、κ_w与ϵ_f,high,可作为Emulator_Tutorial的输入。 Varied_100000_HISTS是一个文本文件,内含本研究中使用的10^6组分箱速度分布,存储格式为np.array(63,100000)。其中前3行分别对应恒星质量、8千秒差距(kpc)处的封闭质量,以及封闭质量与银河系8千秒差距处封闭质量相等的半径;剩余60行则为0至650 km/s范围内全部60个速度分箱的直方图高度。该文件为Emulator_Tutorial的示例输出。



