Pymatgen 是面向材料科学与计算材料的 Python 库,驱动 Materials Project。
用途:创建、分析和操作晶体结构与分子;计算相图与热力学性质;分析电子结构(能带、态密度);生成表面与界面;以编程方式访问 Materials Project 数据库;搭建高通量计算流程;处理 VASP、Gaussian、Quantum ESPRESSO 等计算代码,支持 100 多种文件格式。
主要能力:结构创建与变换(超胞、元素替换、原胞转换);文件格式互转(CIF、POSCAR、XYZ 等,自动识别格式);对称性与空间群分析、配位环境分析(CrystalNN);相图构建与稳定性判断(能量高于凸包、分解产物);能带与态密度分析及绘图;表面 slab 生成、Wulff 形状、吸附位点查找;Materials Project API 检索与获取结构/能带/相图条目;为 VASP 等生成输入文件;XRD 图谱、弹性张量、磁性排序等高级分析。
安装:uv pip install pymatgen;接入 Materials Project 时 uv pip install pymatgen mp-api,可选 uv pip install pymatgen[analysis] 与 uv pip install pymatgen[vis]。使用 Materials Project 需设置环境变量 export MP_API_KEY="your_api_key_here"。
基本用法:用 Structure.from_file("POSCAR") 读取结构,用 struct.to(filename="structure.cif") 写出;用 SpacegroupAnalyzer 获取空间群信息;用 MPRester 检索材料条目并构建 PhaseDiagram;用 Vasprun 读取 VASP 结果做电子结构分析;用 SlabGenerator 生成表面;用 MPRelaxSet、MPStaticSet、MPNonSCFSet 生成 VASP 输入。配套脚本 structure_converter.py、structure_analyzer.py、phase_diagram_generator.py 可执行常见任务。
适用场景:晶体与分子结构处理、格式转换、对称性与配位分析、相图与热力学稳定性评估、能带与 DOS 分析、表面与界面研究、Materials Project 数据访问、高通量计算流程搭建。
限制:资料未提供具体收费、价格、平台支持范围与性能数据。部分功能依赖可选依赖或外部 API 密钥。请以官方文档为准。