pymatgen 是一个开源 Python 库,用于材料与分子结构分析,支持多种电子结构代码,并为 Materials Project 提供分析能力。
这个工具是什么
pymatgen(Python Materials Genomics)是一个开源 Python 库,用于材料分析,由 Materials Project 团队维护。它定义 Element、Site、Molecule、Structure、Composition、Lattice 等核心数据对象,并支持 VASP、ABINIT、CIF、Gaussian、XYZ 等多种文件格式的输入输出。其核心对象与文件 I/O 已迁移至 pymatgen-core 包,安装 pymatgen 会自动引入 pymatgen-core,并额外提供高级分析、应用与外部集成功能。该库被数千名研究人员使用,是 Materials Project 的分析代码,并通过 GitHub Actions 进行持续集成与单元测试。
核心能力
- 提供相图、Pourbaix 图、反应分析、局域环境、表面、界面、缺陷、磁性、压电、弹性等分析工具
- 支持态密度与能带结构等电子结构分析
- 提供 Entry/热力学数据对象,用于热力学与反应计算
- 集成 Materials Project REST API 及其他材料数据库,并提供命令行界面
科研中的典型用法
- 构建和操作晶体结构、分子与组分对象,进行结构分析与比较
- 从 VASP、CIF、Gaussian 等格式读取或写出计算输入输出文件
- 计算相图、Pourbaix 图、反应能、缺陷性质、表面与界面性质等
- 分析电子结构,如态密度与能带结构
- 通过 Materials Project REST API 获取材料数据并进行热力学计算
快速上手
可通过 pip 安装:pip install pymatgen,或使用 conda:conda install -c conda-forge pymatgen。安装 pymatgen 会自动引入 pymatgen-core。若只需核心对象与文件 I/O,可直接依赖 pymatgen-core 以获得更轻量的安装。入门可参考官方文档与 matgenb 提供的 Jupyter notebook 示例。
生态与相近工具
pymatgen 与 pymatgen-core 紧密相关,后者提供核心数据对象与文件 I/O。同领域还有 ASE 等材料分析工具。若仅需核心结构与 I/O,可选用 pymatgen-core;若需要相图、电子结构分析、外部数据库集成等高级功能,则使用 pymatgen。
项目信息
- 仓库:materialsproject/pymatgen
- 星标:1,972 · 派生:969
- 主要语言:Python
- 许可证:NOASSERTION
- 最近提交:2026-08-31
- 项目主页:https://pymatgen.org
本文属于《学科研究工具知识库 · 工程与材料》第 4 篇(按 GitHub 星标排序)。收录标准:该学科公开可获取的开源研究工具,星标与活跃度为主要参考,不代表对其性能或适用性的背书;选型前请结合自身场景评估。

发表评论 取消回复