跳转到主要内容

晕质量函数计算器

项目描述

晕质量函数计算器。

https://github.com/halomod/hmf/workflows/Tests/badge.svg https://badge.fury.io/py/hmf.svg https://codecov.io/gh/halomod/hmf/branch/master/graph/badge.svg https://img.shields.io/pypi/pyversions/hmf.svg https://img.shields.io/badge/code%20style-black-000000.svg

hmf 是一个Python应用程序,它提供了一种灵活且简单的方式来计算各种不同参数的晕质量函数。它也是在线HMF计算器 HMFcalc 的后端。

完整文档

阅读文档。

功能

  • 极其容易计算质量函数和相关量。

  • 非常简单开始使用,但具有广泛的灵活性。

  • 缓存系统用于最优参数更新,以高效地遍历参数空间。

  • 支持所有LambdaCDM宇宙学。

  • 专注于模型中的灵活性。每个“组件”,如拟合函数、滤波函数、增长因子模型和转移函数拟合,都作为通用的类实现,用户可以轻松修改而无需触及源代码。

  • 专注于框架中的简单性。每个“框架”将可用的“组件”混合在一起,以推导出有用的量——所有这些都作为框架的属性。

  • 在输出量方面全面:访问微分和累积质量函数、质量方差、有效光谱指数、增长速率、宇宙学函数等。

  • 在实现的组件模型方面全面

    • 包括来自CAMB的直接5+个转移函数模型

    • 4个滤波函数

    • 20个hmf拟合函数

  • 包括暖暗物质的模型

  • 通过HALOFIT进行非线性功率谱

  • 用于采样质量函数的函数。

  • CLI脚本可以生成任何数量的结果。

  • 兼容Python 2和3

注意

从v3.1版本开始,hmf支持Python 3.6及以上版本,并已停止对Python 2的支持。

快速入门

安装后,您可以通过打开解释器(例如IPython/Jupyter)并执行以下操作来快速生成质量函数:

>>> from hmf import MassFunction
>>> hmf = MassFunction()
>>> mass_func = hmf.dndlnm

请注意,所有参数都有(我认为是合理的)默认值。特别是,这将返回一个Tinker(2008)质量函数,其质量在10^10和10^15太阳质量之间,在z=0处使用默认的PLANCK15宇宙学。尽管如此,还有一些参数可以输入,无论是宇宙学参数还是其他参数。查看这些参数的最佳方式是执行以下操作:

>>> MassFunction.parameter_info()

我们还可以检查“默认”实例中已设置的哪些参数:

>>> hmf.parameter_values

要更改参数(宇宙学参数或其他参数),如果已存在MassFunction()对象,应使用update()方法。例如:

>>> hmf = MassFunction()
>>> hmf.update(cosmo_params={"Ob0": 0.05}, z=10) #update baryon density and redshift
>>> cumulative_mass_func = hmf.ngtm

有关的更详细介绍,请参阅教程API文档

使用CLI

您还可以从命令行运行。对于基本使用,请执行以下操作:

hmf run --help

运行配置可以在CLI或TOML文件中指定(推荐)。在examples/example_run_config.toml中可以找到示例TOML文件。TOML文件中可以指定的任何参数都可以在命令行后使用单独的双横杠指定,例如。

hmf run -- z=1.0 hmf_model='SMT01'

版本控制

从v3.1.0版本开始,将使用严格的语义版本控制,这意味着主版本的提高可能导致API中断更改,次要版本引入新功能,补丁版本修复错误和其他非中断性内部更改。

如果您的软件包依赖于,请按照以下方式设置依赖版本:

hmf>=3.1<4.0

归属

如果您在研究中发现此代码有用,请引用Murray, Power and Robotham (2013)Murray, Diemer, Chen, et al. (2021)和/或https://ascl.net/1412.006(哪个更合适),并在您的论文中提及。同时,也请考虑在GitHub仓库中为它点星。

项目详情


发布历史 发布通知 | RSS源

下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

hmf-3.5.0.tar.gz (2.3 MB 查看哈希值)

上传时间 源代码

构建分发

hmf-3.5.0-py2.py3-none-any.whl (72.7 kB 查看哈希值)

上传时间 Python 2 Python 3

支持者