用途:面向材料科学的 Python 库,用于晶体结构与分子体系的创建、分析、操纵,以及电子结构与热力学性质计算,并可直接访问 Materials Project 数据库。
主要能力:
- 结构与分子操作:从文件自动识别格式读取,或由晶格参数、空间群从头构建;支持超胞、元素替换、原胞化等变换。
- 格式转换:支持 CIF、POSCAR、XYZ 等 100 多种格式互转,可用 Structure.from_file 与 to() 方法,或命令行脚本 structure_converter.py 批量转换。
- 对称性与配位分析:SpacegroupAnalyzer 获取空间群、晶系、常规/原胞;CrystalNN 分析配位环境;脚本 structure_analyzer.py 可导出结果。
- 相图与热力学:结合 Materials Project 条目构建相图,计算 hull 上能量、分解产物,并用 PDPlotter 作图。
- 电子结构:读取 VASP 的 vasprun.xml 得到能带结构、带隙、金属性及态密度(含元素投影)。
- 表面与界面:SlabGenerator 按 Miller 指数生成 slab,WulffShape 构建 Wulff 形貌,AdsorbateSiteFinder 寻找吸附位点并添加吸附物。
- Materials Project 接入:设置 MP_API_KEY 环境变量,用 MPRester 按化学式、化学体系、性质区间检索材料,获取结构、能带和相图条目。
- 计算工作流:生成 VASP 输入(MPRelaxSet、MPStaticSet、MPNonSCFSet),也支持 Gaussian、Quantum ESPRESSO 输入。
- 高级分析:XRD 图谱模拟、弹性张量(体模量、剪切模量、杨氏模量)、磁性排序枚举。
使用方式:通过 uv pip install pymatgen 安装,需要数据库功能时加装 mp-api,可选 pymatgen[analysis]、pymatgen[vis]。以 Python 导入核心类使用,或运行 scripts/ 下的脚本完成任务;参考资料文档覆盖核心类、I/O 格式、分析模块、Materials Project API 与变换工作流。
适用场景:材料计算研究、高通量结构生成与计算流程搭建、结构文件批处理与格式转换、热力学稳定性与电子结构分析等。
限制:资料未提供具体收费、许可与硬件要求信息;部分功能依赖 Materials Project API 密钥及第三方计算软件输出文件。