计算化学公社

 找回密码 Forget password
 注册 Register
Views: 578|回复 Reply: 1
打印 Print 上一主题 Last thread 下一主题 Next thread

[VASP] 过渡态IDPP插点出现No module named 'pymatgen.analysis.diffusion'的报错

[复制链接 Copy URL]

10

帖子

0

威望

53

eV
积分
63

Level 2 能力者

跳转到指定楼层 Go to specific reply
楼主
求教一下各位大佬,在pip install pymatgen  pymatgen-analysis-diffusion --user 之后,安装到了/home/WHY/.local/lib/python3.9/site-packages路径下.
执行脚本idpp.py,出现报错
File "/home/WHY/bin/idpp.py", line 4, in <module>

    from pymatgen.analysis.diffusion.neb.pathfinder import IDPPSolver
ModuleNotFoundError: No module named 'pymatgen.analysis.diffusion'
脚本内容如下,请问我该怎么解决这个问题
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from pymatgen.core import Structure
from pymatgen.analysis.diffusion.neb.pathfinder import IDPPSolver
import numpy as np
import os
import sys

sys.stdout = open(os.devnull, 'w')

if len(sys.argv) <4:
    raise SystemError('Sytax Error! Run as python idpp ini/POSCAR fin/POSCAR 4')

init_struct = Structure.from_file(sys.argv[1], False)
final_struct = Structure.from_file(sys.argv[2], False)

obj = IDPPSolver.from_endpoints(endpoints=[init_struct, final_struct], nimages=int(sys.argv[3]),
                                sort_tol=1.0)
new_path = obj.run(maxiter=5000, tol=1e-5, gtol=1e-3,step_size=0.05,\
                         max_disp=0.05, spring_const=5.0)

for i in range(len(new_path)):
    image_file='{0:02d}'.format(i)
    if not os.path.exists(image_file):
        os.makedirs(image_file)
    POSCAR_file=image_file+'/POSCAR'
    new_path.to(fmt="poscar", filename=POSCAR_file)

sys.stdout = sys.__stdout__
#Image Dependent Pair Potential for improved interpolation of NEB initial guess
#Reference: S. Smidstrup, A. Pedersen, K. Stokbro and H. Jonsson, Improved initial guess for minimum energy path calculations, J. Chem. Phys. 140, 214106 (2014).
print("Improved interpolation of NEB initial guess has been generated. BYE.")


4

帖子

0

威望

179

eV
积分
183

Level 3 能力者

2#
发表于 Post on 2024-9-23 11:52:56 | 只看该作者 Only view this author
本帖最后由 icbc 于 2024-9-23 12:06 编辑

pymatgen 在v2021.3.5版本之后就把这个`pymatgen_diffusion`模块独立出来成了一个单独的`pymatgen-analysis-diffusion`包,
用pip命令下载install pymatgen-analysis-diffusion这个包就好了(pip install pymatgen-analysis-diffusion)
安装完以后可以用pip show pymatgen-analysis-diffusion看一下安装是否成功,成功了的话,直接运行非线性插点脚本就可以了

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-23 19:51 , Processed in 0.169950 second(s), 21 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list