跳转到主要内容

虚拟行星模拟器

项目描述

VPLanet:虚拟行星模拟器





概述

VPLanet 是一个用于模拟行星系统演化的软件,重点关注宜居性。物理模型,通常由常微分方程组成,相互耦合以模拟从行星核心到过境恒星的系统演化。我们努力使我们的软件完全透明和可重现,这个仓库包含1) 源代码,2) 详细的文档,3) 用于 生成已发布图 和执行 参数扫描 的脚本和文件,以及4) 验证当前发布的脚本。我们无法用封闭源代码或不稳定的软件来断言我们在地球以外发现了生命!

要开始使用,请确保您已安装了clang/gcc,并遵循 安装指南。您还可以观看我们 YouTube频道 上的视频,了解如何安装和运行 VPLanet,以及最新结果更新。

模块

VPLanet 目前由13个功能“模块”组成,每个模块包含一组模拟特定物理过程的方程

AtmEsc:大气层罗切膨胀和热逃逸(能量限制和辐射重组限制),包括水的光解、氢逃逸、氧逃逸和氧积累。

Binary:环绕双星行星的轨道演化。

DistOrb:非共振轨道演化的二阶和四阶半解析模型。

DistRot:由于轨道演化和恒星扭矩引起的地球自转轴的演变。

EqTide:在平衡潮汐框架中的潮汐演变。

Flare:低质量恒星的耀斑频率分布和耀斑XUV光度演变。

GalHabit:由于银河潮汐和经过的恒星(包括径向迁移)的脉冲引起的宽轨道演变。

MagmOc:岩浆洋的热和地球化学演变。

POISE:包括动态冰盖和地壳压缩/反弹的能量平衡气候模型。

RadHeat:在地球的核心、地幔和地壳中的放射性加热。

SpiNBody:用于大量粒子系统演变的N体积分器。

Stellar:恒星的绝对光度和XUV光度、温度、半径和质量集中的演变。还包括磁阻和恒星风自转减慢。

ThermInt:进行板块构造或停滞盖子演变的行星的热内部演变,包括磁场。

这些模块中的许多可以组合起来,以模拟行星系统中的许多现象和反馈循环。

资源

examples/”目录包含生成Barnes等人(2020年)和后续出版物中的图的输入文件和脚本。《Manual/》目录包含Barnes等人(2020年)的pdf,描述了前11个模块的物理,验证了软件与观测和/或过去的结果的一致性,并包含来自examples/目录的图。

虚拟行星实验室的其他存储库中还可以公开获取支持软件生态系统。《vplot》包既是快速绘制单个模拟进化的命令行工具,也是用于生成值得发表图标的Python模块。《VSPACE》脚本生成参数空间扫描的输入文件,然后可以在任意数量的核心上使用MultiPlanet执行。对于大规模参数扫描,可以生成大量数据,这可能会减慢分析。为了克服这一障碍,BigPlanet代码可以将数据集压缩成HDF5格式,包括积分的统计数据,并提供促进绘图的工具。这三个脚本可以从命令行执行,以无缝执行参数扫描。这些Python脚本针对anaconda发行版进行了优化。

“pip-install”徽章表示是否可以通过pip安装最新可执行文件,适用于我们进行单元测试的Python发行版和操作系统(见下文)。(注意:由于一个未知的问题,此徽章目前损坏,因此如果您使用pip安装,请检查您的VPLanet版本,该版本打印在执行模拟时生成的日志文件顶部附近。)

代码完整性

我们致力于维护一个稳定的工具,以便科学家分析行星系统。幕后,VPLanet团队通过在每次合并到主分支时进行自动检查来维护代码完整性。您可以通过上面的徽章查看这些检查的状态。目前,我们对初始和最终条件执行“单元测试”,测试数量通过徽章显示。我们在徽章显示的操作系统和Python版本的组合上进行测试。

我们还通过 valgrind 的 memcheck 工具("memcheck")和 地址 sanitizer("sanitizer"),检查溢出、无效操作和除以零的浮点数异常("浮点数"),并测试所有示例是否在 "examples" 徽章之后列出的操作系统和 Python 版本上都能工作。

单元测试执行代码行的百分比由 "codecov" 徽章显示,详细信息可在我们的 Codecov 账户中查看。

社区

VPLanet 是一个社区项目。我们很高兴接受 pull request;如果您想创建一个,请将其提交到 dev 分支。文档包括 添加新功能和模块的教程。《VPLanet》是一个行星科学的平台,可以通过添加新物理或添加用于清晰比较的竞争模型呈指数级增长。

有关 VPLanet 示例的更多 GitHub 仓库列表,请参阅 此处

如果您有问题或遇到问题,可以阅读或发布到 讨论

如果您认为遇到了错误,请使用此页面上方的 问题 标签提交问题。

致谢

如果您使用此代码生成用于任何出版物或会议贡献的结果,请引用 Barnes, R. et al. (2020), PASP, 132, 24502

VPLanet 的发展得到了 NASA 奖励 NNA13AA93A、NNX15AN35G、80NSSC17K048、13-13NAI7_0024、80NSSC20K0229 和 80NSSC20K0261 的支持。我们还感谢华盛顿大学和卡内基科学研究所的支持。

祝您玩得开心!

© 2018-2024 VPLanet 团队。

项目详情


发布历史 发布通知 | RSS 源

下载文件

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

源代码分发

vplanet-2.5.26.tar.gz (698.5 kB 查看散列

上传 源代码

构建分发

vplanet-2.5.26-pp310-pypy310_pp73-macosx_11_0_arm64.whl (795.9 kB 查看散列

上传 PyPy macOS 11.0+ ARM64

vplanet-2.5.26-pp310-pypy310_pp73-macosx_10_15_x86_64.whl (824.0 kB 查看哈希值)

上传于 PyPy macOS 10.15+ x86_64

vplanet-2.5.26-pp39-pypy39_pp73-macosx_11_0_arm64.whl (795.9 kB 查看哈希值)

上传于 PyPy macOS 11.0+ ARM64

vplanet-2.5.26-pp39-pypy39_pp73-macosx_10_15_x86_64.whl (824.0 kB 查看哈希值)

上传于 PyPy macOS 10.15+ x86_64

vplanet-2.5.26-pp38-pypy38_pp73-macosx_11_0_arm64.whl (795.9 kB 查看哈希值)

上传于 PyPy macOS 11.0+ ARM64

vplanet-2.5.26-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (825.0 kB 查看哈希值)

上传于 PyPy macOS 10.9+ x86_64

vplanet-2.5.26-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (825.0 kB 查看哈希值)

上传于 PyPy macOS 10.9+ x86_64

vplanet-2.5.26-cp313-cp313-macosx_11_0_arm64.whl (829.2 kB 查看哈希值)

上传于 CPython 3.13 macOS 11.0+ ARM64

vplanet-2.5.26-cp313-cp313-macosx_10_13_x86_64.whl (866.5 kB 查看哈希值)

上传于 CPython 3.13 macOS 10.13+ x86_64

vplanet-2.5.26-cp312-cp312-macosx_11_0_arm64.whl (829.2 kB 查看哈希值)

上传于 CPython 3.12 macOS 11.0+ ARM64

vplanet-2.5.26-cp312-cp312-macosx_10_9_x86_64.whl (868.2 kB 查看哈希值)

上传于 CPython 3.12 macOS 10.9+ x86_64

vplanet-2.5.26-cp311-cp311-macosx_11_0_arm64.whl (829.2 kB 查看哈希值)

上传于 CPython 3.11 macOS 11.0+ ARM64

vplanet-2.5.26-cp311-cp311-macosx_10_9_x86_64.whl (868.1 kB 查看哈希值)

上传于 CPython 3.11 macOS 10.9+ x86-64

vplanet-2.5.26-cp310-cp310-macosx_11_0_arm64.whl (829.2 kB 查看哈希值)

上传于 CPython 3.10 macOS 11.0+ ARM64

vplanet-2.5.26-cp310-cp310-macosx_10_9_x86_64.whl (868.1 kB 查看哈希值)

上传于 CPython 3.10 macOS 10.9+ x86-64

vplanet-2.5.26-cp39-cp39-musllinux_1_2_x86_64.whl (11.4 MB 查看哈希值)

上传于 CPython 3.9 musllinux: musl 1.2+ x86-64

vplanet-2.5.26-cp39-cp39-musllinux_1_2_i686.whl (11.2 MB 查看哈希值)

上传于 CPython 3.9 musllinux: musl 1.2+ i686

vplanet-2.5.26-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.4 MB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.17+ x86-64

vplanet-2.5.26-cp39-cp39-macosx_11_0_arm64.whl (829.2 kB 查看哈希值)

上传于 CPython 3.9 macOS 11.0+ ARM64

vplanet-2.5.26-cp39-cp39-macosx_10_9_x86_64.whl (868.1 kB 查看哈希值)

上传于 CPython 3.9 macOS 10.9+ x86-64

vplanet-2.5.26-cp38-cp38-musllinux_1_2_x86_64.whl (11.4 MB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.2+ x86-64

vplanet-2.5.26-cp38-cp38-musllinux_1_2_i686.whl (11.2 MB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.2+ i686

vplanet-2.5.26-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.4 MB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.17+ x86-64

vplanet-2.5.26-cp38-cp38-macosx_11_0_arm64.whl (829.2 kB 查看哈希值)

上传于 CPython 3.8 macOS 11.0+ ARM64

vplanet-2.5.26-cp38-cp38-macosx_10_9_x86_64.whl (868.1 kB 查看哈希值)

上传于 CPython 3.8 macOS 10.9+ x86-64

vplanet-2.5.26-cp37-cp37m-musllinux_1_2_x86_64.whl (11.4 MB 查看哈希值)

上传于 CPython 3.7m musllinux: musl 1.2+ x86-64

vplanet-2.5.26-cp37-cp37m-musllinux_1_2_i686.whl (11.2 MB 查看哈希值)

上传于 CPython 3.7m musllinux: musl 1.2+ i686

vplanet-2.5.26-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.4 MB 查看哈希值)

上传于 CPython 3.7m manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.17+ x86-64

vplanet-2.5.26-cp37-cp37m-macosx_10_9_x86_64.whl (868.1 kB 查看哈希值)

上传于 CPython 3.7m macOS 10.9+ x86-64

vplanet-2.5.26-cp36-cp36m-musllinux_1_2_x86_64.whl (11.4 MB 查看哈希值)

上传于 CPython 3.6m musllinux: musl 1.2+ x86-64

vplanet-2.5.26-cp36-cp36m-musllinux_1_2_i686.whl (11.1 MB 查看哈希值)

上传于 CPython 3.6m musllinux: musl 1.2+ i686

vplanet-2.5.26-cp36-cp36m-musllinux_1_1_x86_64.whl (11.4 MB 查看哈希值)

上传于 CPython 3.6m musllinux: musl 1.1+ x86-64

vplanet-2.5.26-cp36-cp36m-musllinux_1_1_i686.whl (11.1 MB 查看哈希值)

上传于 CPython 3.6m musllinux: musl 1.1+ i686

vplanet-2.5.26-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.4 MB 查看哈希值)

上传于 CPython 3.6m manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.17+ x86-64

vplanet-2.5.26-cp36-cp36m-macosx_10_9_x86_64.whl (867.9 kB 查看哈希值)

上传于 CPython 3.6m macOS 10.9+ x86-64

由以下支持