Pymatgen(Python 材料基因组学)是一个强大的开源 Python 材料分析库。以下是一些主要功能:
- 用于表示
Element
、Site
和对象Molecule
的高度灵活的类Structure
。 - 广泛的输入/输出支持,包括对VASP、ABINIT、CIF、Gaussian、XYZ和许多其他文件格式的支持。
- 强大的分析工具,包括生成相图、普贝图、扩散分析、反应等。
- 电子结构分析,例如态密度和能带结构。
- 与Materials Project REST API集成。
Pymatgen 可以免费使用。但是,我们也欢迎您通过做出贡献来帮助改进这个库。这些贡献可以是您开发的附加工具或模块,或者功能请求和错误报告的形式。以下是以下资源pymatgen
:
- 官方文档
- 错误报告或功能请求:请提交GitHub 问题。
- 欢迎通过拉取请求贡献代码。
- 对于不属于错误或功能请求的问题,请使用
pymatgen
MatSci 论坛或打开GitHub 讨论。 matgenb
提供了一些演示如何使用pymatgen
功能的示例 Jupyter 笔记本。
- 它(相当)稳健。 Pymatgen 被数千名研究人员使用,是为材料项目提供支持的分析代码。它生成的分析每天都经过严格审查。错误往往会很快被发现并纠正。 Pymatgen 还使用 Github Actions 进行持续集成,这确保每个新代码都通过一套全面的单元测试。
- 这是有据可查的。我们已经编写了相当全面的文档来帮助您快速掌握它。
- 它是开放的。您可以自由使用和贡献
pymatgen
。这也意味着pymatgen
正在不断改进。我们会将您贡献的任何代码归因于您指定的任何出版物。做出贡献pymatgen
意味着您的研究变得更加明显,这意味着更大的影响力。 - 它很快。中的许多核心数值方法
pymatgen
已通过numpy
/中的矢量化进行了优化scipy
。这意味着坐标操作速度很快。 Pymatgen 还附带一个完整的系统来处理周期性边界条件。 - 它将在附近。 Pymatgen 不是一个宠物研究项目。它用于成熟的材料项目。材料虚拟实验室、ABINIT 小组和许多其他研究小组也正在积极开发和维护它。
- 不断发展的开发者和附加组件生态系统。 Pymatgen 得到了世界各地材料科学家的贡献。我们现在还拥有一个支持附加组件的架构,可以
pymatgen
进一步扩展 的功能。查看贡献页面和附加组件页面以获取详细信息和示例。
Python 包索引PyPI中的版本始终是最新的稳定版本,相对无错误,可以通过以下方式安装pip
:
pip install pymatgen
如果您想在主分支上使用最新的未发布的更改,您可以直接从 GitHub 安装:
pip install -U git+https://github.com/materialsproject/pymatgen
最低 Python 版本为 3.9。一些额外的功能(例如,生成 POTCAR)确实需要额外的设置(请参阅pymatgen
文档)。
请参阅GitHub 版本,docs/CHANGES.md
或按详细信息升序排列的提交历史记录。
教程和示例请参考官方pymatgen
文档。
如果您在研究中使用pymatgen
,请考虑引用以下工作:
Shyue Ping Ong、William Davidson Richards、Anubhav Jain、Geoffroy Hautier、Michael Kocher、Shreyas Cholia、Dan Gunter、Vincent Chevrier、Kristin A. Persson、Gerbrand Ceder。Python 材料基因组学 (pymatgen):用于材料分析的强大、开源 Python 库。计算材料科学,2013,68,314-319。 doi:10.1016/j.commatsci.2012.10.028
此外,部分pymatgen
功能基于我们团队中的计算材料科学家开发的科学进步/原理。请参阅有关如何引用它们的pymatgen
文档。
如果您是长期pymatgen
贡献者并希望参与更新pymatgen
出版物的工作,请填写此合著者注册表或联系@shyuep、@mkhorton 和@janosh提出问题。
Pymatgen 在 MIT 许可证下发布。许可条款如下:
麻省理工学院许可证 (MIT) 版权所有 (c) 2011-2012 MIT 和劳伦斯伯克利国家实验室
特此免费授予获得本软件和相关文档文件(“软件”)副本的任何人不受限制地使用本软件,包括但不限于使用、复制、修改、合并的权利、发布、分发、再许可和/或销售软件的副本,并允许向其提供软件的人员这样做,但须满足以下条件:
上述版权声明和本许可声明应包含在本软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途的适用性和不侵权的保证。在任何情况下,作者或版权持有者均不对因本软件或本软件中的使用或其他交易而产生或与之相关的任何索赔、损害或其他责任负责,无论是合同、侵权行为还是其他行为。软件。
材料虚拟实验室的 Shyue Ping Ong (@shyuep)于 2011 年启动了 Pymatgen,至今仍是项目负责人。 Janosh Riebesell (@janosh) 和 Matthew Horton (@mkhorton) 是共同维护者。
开发pymatgen
团队是项目所有贡献者的集合pymatgen
,包括所有子项目。
Pymatgen 使用共享版权模型。每个贡献者都保留其贡献的版权pymatgen
。但是,值得注意的是,这些贡献通常只是对存储库的更改。因此,pymatgen
整个源代码不属于任何个人或机构的版权。相反,它是整个pymatgen
开发团队的集体版权。如果个人贡献者想要保留他们对哪些更改/贡献拥有特定版权的记录,则当他们将更改提交到其中一个存储库时,他们应该在更改的提交消息中表明他们的版权pymatgen
。