#卫星 #天体动力学 #空间

nightly brahe

布拉赫是一个现代的卫星动力学库,用于研究和工程应用。它旨在易于学习、高性能和快速部署。其发展的北辰是使用户能够快速、轻松且正确地解决有意义的难题和回答问题。

1 个不稳定版本

0.0.1 2024 年 1 月 9 日

#19 in #天体动力学

MIT 许可证

5MB
1.5K SLoC

Brahe

布拉赫 - 易于学习、高性能和快速部署

Test Crate PyPi Docs License


文档: https://duncaneddy.github.io/brahe

Rust 库参考: https://docs.rs/crate/brahe/latest

源代码: https://github.com/duncaneddy/brahe


重大变更公告

当前正在弃用较旧的纯 Python 版本的 brahe,转而使用混合 Rust-Python 实现,并伴随改进的文档。这意味着 master 分支的开发已冻结,并将不再开发。未来,main 分支将成为项目的首要分支。

在此期间,将会有一些点提交(小于 1.0.0)作为改进项目 CI/CD 工作流程的一部分。此外,最初新实现的功能不会与旧 Python 实现完全相同,因此用户应将他们的要求文件固定到使用 master 分支的最新提交。

brahe @ git+https://github.com/duncaneddy/brahe@master

要使用 pip 安装和使用最新 master 分支

pip install git+https://github.com/duncaneddy/brahe.git@master

旧 master 分支可以在 这里 找到。


布拉赫

布拉赫是一个现代的卫星动力学库,用于研究和工程应用。它旨在易于学习、高性能和快速部署。其发展的北辰是使用户能够快速、轻松且正确地解决有意义的难题和回答问题。

库的关键特性包括

  • 直观的 API:设计的 API 易于组合,通过构建在核心功能之上,可以轻松地正确解决复杂问题。
  • 易于学习:设计易于使用和学习。目标是提供清晰的文档,并使软件的运行过程可见,以便用户不需要花费时间反向工程内部例程,而是有更多时间解决他们自己的问题。
  • 高性能:布拉赫提供了一个 Python 3.6+ 包装器,该包装器从核心 Rust 库自动生成。这提供了快速的核心实现,同时允许用户在需要的情况下利用 Python 丰富的科学生态系统。
  • 快速回答问题:布拉赫旨在使编写有意义问题的解决方案变得容易。高字段性和高性能 API 不是最终目标,而是帮助用户解决问题。

布拉赫这个名字来自于Rust和天体力学(Rust + 天体力学 = 布拉赫)。该库专门关注卫星天体力学和空间任务分析。虽然自开普勒写下他的三大定律以来,这些概念已经被研究和知晓,但很少有现代软件库能够使这些概念易于访问。尽管其他天体力学和任务分析软件经过极端测试,但它们的学习曲线可能非常陡峭,这使得快速运行已知正确的简单分析变得困难。

正因为如此,学生、研究人员和工程师经常不得不以不幸的频率重新实现常见的天体力学和任务分析工具。虽然重新实现常见代码可以是良好的学习机制,但在大多数情况下,它既容易出错,也浪费了本可以用于其他事业的时间。本项目旨在提供一个易于使用、经过良好测试的库,以使每个人都能更容易、更快速地执行天体力学和空间任务分析,而不牺牲性能或正确性。该软件是用Rust编写的,以实现性能,同时通过Python绑定以实现易用性。

实现方法是有偏见的,目标是提供一个易于使用且准确的天体力学库,使用户能够快速且正确地解决大多数常见问题类型。试图实现实践中或历史上使用的所有空气动力学模型和函数并不实用。由于布拉赫是开源的,如果某个特定功能不存在,或者需要不同的实现,用户可以修改代码以解决他们特定的用例。这意味着布拉赫,虽然我们希望随着时间的推移继续扩展模块的功能,但当前的目标是提供一个经过良好测试、灵活、可组合的API,以快速解决天体力学中的现代问题。

一个实际的例子是,内置的地球参考系转换使用了IAU 2006/2000A岁差章动模型、基于CIO的转换。尽管有多种构建这种转换的方法,但布拉赫只实现了一种。另一个例子是,大地测量学和地心转换使用了最新的NIMA技术报告定义的地球半径和平坦度。如果需要实现某个模型,用户可以自由地扩展软件以解决存在的功能或建模差距,以解决他们特定的应用。

文档

您可以在这里找到软件包文档。这份文档旨在提供一份以人为本的软件和包的说明。由于布拉赫目前处于开发初期,因此文档可能不会完整。标记有[WIP]的部分将实现一些软件功能,但尚未被视为已记录。

最完整的API参考指南始终是Rust crate API参考,可在crates.io上找到。由于它在发布过程中在构建时间自动生成,因此始终与最新版本保持一致。

软件使用和许可

布拉赫软件包是根据MIT许可许可和分发的,以鼓励采用并使其易于与其他工具集成。

唯一的要求是,如果您在您的作品中使用此软件包,或欣赏该项目,请发送消息或标记该项目。知道该项目正在被积极使用是继续开发的一个很大的动力。

支持和认可

布拉赫目前主要是我为了自己的乐趣而开发,因为我发现这些工具在专业和业余工作中很有帮助。我计划在有时间的情况下继续开发它,不管采用率如何。

话虽如此,了解软件是否被广泛采用或发现其有用性是非常鼓舞人心且实用的。如果你在学校、研究或商业活动中使用 Brahe,我很想了解!请通过推特@duncaneddy 或发送电子邮件到 duncan.eddy (at) gmail.com 联系我。

依赖项

~5.5–7.5MB
~117K SLoC