基于hmf构建的暗物质晕模型计算器
项目描述
halomod 是一个Python应用程序,提供了一种灵活且简单的接口来处理暗物质晕的晕模型,基于 hmf。
它还提供了一个功能齐全的Web应用程序,位于 https://thehalomod.app – 查看它!
完整文档
功能
包含 hmf 的所有功能(几个传输函数模型、15+ HMF拟合函数、高效的缓存等。)
扩展的晕模型组件
10+ 晕偏置 模型,以及Tinker(2005)的尺度相关偏置。
3+ 基本的 浓度-质量-红移关系,包括Bullock(2001)的解析模型。
几个即插即用的 晕排除 模型(包括Tinker+2005的ng-matched)。
5+ 内置的 HOD参数化。
许多内置的 晕轮廓,包括NFW、广义NFW、Hernquist等。
支持 WDM模型。
所有基本量,如三维相关性和功率谱,以及投影的2PCF。
几个派生量(例如,有效偏置、卫星分数)。
所有模型/组件都是专门编写的,易于扩展。
通过HOD向晕目录添加星系的一个简单例程。
用于生成任何包含的量的CLI脚本。
使用方法
halomod 可以用于交互式操作(例如在 ipython 或 jupyter 笔记本中)或脚本中。要交互式使用,在 ipython 中执行以下操作:
>>> from halomod import HaloModel >>> hm = HaloModel() # Construct the object >>> help(hm) # Lists many of the available quantities. >>> galcorr = hm.corr_auto_tracer >>> bias = hm.bias >>> ...
HaloModel 的所有参数都有默认值,因此无需指定。然而,有很多参数可以被指定。查看文档字符串以了解详细信息。此外,由于 halomod 扩展了 hmf 的功能,几乎所有 hmf.MassFunction() 接受的参数都可以使用(请查看其文档字符串)。
要更改参数(宇宙学或其他),如果已存在 HaloModel() 对象,则应使用 update() 方法。例如
>>> hm.update(rmin=0.1,rmax=1.0,rnum=100) #update scale vector >>> corr_2h = hm.corr_2h_auto_tracer #The 2-halo term of the galaxy correlation function
由于 HaloModel 是 MassFunction 的子类,因此包括 hmf 相关的所有量,因此例如
>>> mass_variance = hm.sigma >>> mass_function = hm.dndm >>> linear_power = hm.power
任何定义模型选择的参数(例如偏置模型)都命名为 <component>_model,例如,偏置模型称为 bias_model。每个模型都有一个相关的参数,称为 <component>_params,它是该模型的参数字典。此字典中可用的选项取决于所选的模型(因此 Sheth-Tormen HMF 与 Tinker+2008 模型具有不同的参数集)。在构造的对象中,实际模型被实例化并保存为 <component>,这样就可以访问该对象,并可以调用几个内部方法。其中一些通过 HaloModel 类直接公开(例如,可以直接调用 hm.n_sat,它本身调用 hm.hod 组件的方法)。
使用 CLI
您还可以从命令行运行 halomod。对于基本用法,执行以下操作:
halomod run --help
可以在 CLI 或通过 TOML 文件(推荐)指定运行配置。可以在 examples/example_run_config.toml 中找到示例 TOML 文件。可以在 TOML 文件中指定任何参数,然后在命令行中通过隔离的双短横线指定,例如。
halomod run -- z=1.0 hmf_model='SMT01' bias_model='Tinker10'
致谢
感谢 Florian Beutler、Chris Blake 和 David Palamara,他们对本代码的思想、实现和测试做出了重大贡献。
代码的一些部分已从,受其影响或经过其测试:
此外,还与其他几个私有代码进行了比较。
归属
如果发现此代码对您的研究有所帮助,请引用以下文献:
请考虑在 GitHub 仓库上给予 star。
项目详情
下载文件
下载适合您平台文件的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
构建分发
halomod-2.2.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 916b51581689112e7958b6464cfa365808fc053a0b7294a090e50306fcce94aa |
|
MD5 | 073a9ee8548039a46396dfadb4e98154 |
|
BLAKE2b-256 | e4fba9d74d9735c327646de0b7341437c3a6d1fba1392c2e009abb0752f1232f |
halomod-2.2.1-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1919f284c1d87f7caf6acb8b4325730b231234ab9de393a2a6be25201af46a81 |
|
MD5 | d9927c9093e360f0b57671d189edf2ce |
|
BLAKE2b-256 | f554c4fca558b9b251e5a237b12203fb016d8deb06a8389d2a383434399766d6 |