from mp_api.client import MPRester
from pymatgen.core import composition
from pymatgen.io.vasp.inputs import Poscar
mpr=MPRester("5BhZJctjosrFpkuE6qErpu85dT4gw4VZ")
mp_entries = mpr.get_entries_in_chemsys(elements=["Na","Mo","Si","O"],additional_criteria={"thermo_types": ["GGA_GGA+U"]})
count = 0
for entries in mp_entries:
count +=1
struc = entries.structure
vasp_str = Poscar(struc)
vasp_str.write_file('%d.vasp'%count)
#print(mp_entries[0].structure)
参数设置
https://github.com/materialsproject/pymatgen/blob/v2025.5.28/src/pymatgen/io/vasp/MPRelaxSet.yaml
得到符合MP数据库的计算参数
from pymatgen.core import Structure
from pymatgen.io.vasp.sets import MPStaticSet
import os
# 读取 POSCAR 文件
structure = Structure.from_file("POSCAR")
# 创建 MPStaticSet(适用于自洽计算)
# 默认使用 Materials Project 的 PBE 函数和标准参数
vasp_input_set = MPStaticSet(structure)
# 指定输出目录
output_dir = "static_vasp_inputs"
os.makedirs(output_dir, exist_ok=True)
# 写入输入文件
vasp_input_set.write_input(output_dir)
print(f"已生成用于自洽计算的 VASP 输入文件,路径: {output_dir}/")
转载请注明来源 有问题可通过github提交issue