计算化学公社

标题: 求助,如何观看vasp结构优化的力的变化趋势 [打印本页]

作者
Author:
XIEH    时间: 2024-5-12 20:09
标题: 求助,如何观看vasp结构优化的力的变化趋势
高斯的结构优化可以中途下载log文件用GaussView的optimization功能,看能量和力的变化趋势。
vasp的OSZICAR可以看到每一个离子步的E0,那么力是看哪个呢?


作者
Author:
乐平    时间: 2024-5-12 22:32
本帖最后由 乐平 于 2024-6-28 17:56 编辑

可以我写的 python 脚本

基本用法,输入
  1. python check_VASP_convergency.py -h     或者  --help
复制代码


可以查看用法
  1. usage: check_VASP_convergency.py [-h] [-p <POSCAR>] [-s <OSZICAR>] [-o <OUTCAR>]

复制代码


如果当前目录下有  POSCAR, OSZICAR, OUTCAR 文件,就不需要输入任何参数,直接
  1. python check_VASP_convergency.py
复制代码


就可以运行,并绘制好能量随离子步的变化趋势,最大受力随离子步的变化趋势
(, 下载次数 Times of downloads: 79)


整体的思路来自知乎帖子 VASP结构优化计算中查看能量和力收敛情况 - 知乎 (zhihu.com),这个帖子是 bash 脚本,绘图的结果看着不美观。

python 绘图更灵活,且能局部放大。


另外,我的脚本还能检查当前目录是否含有 POSCAR, OSZICAR, OUTCAR 文件,如果没有任意上述文件,会提示你缺少哪些文件,并退出运行。

如果当前目录里 POSCAR, OSZICAR, OUTCAR 文件名改了,或者上述文件移动到另外的目录下了,还可以通过 -p, -s, -o 参数开指定文件名
  1. python check_VASP_convergency.py -p test1_POSCAR -s ../mytest/OSZICAR -o ../final_OUTCAR
复制代码


这样更灵活,更方便。

-----------------------------

原 python 脚本 axis 轴弄错了,应该是 -1。现已更新。

  1. np.amax(np.linalg.norm(data, axis=-1), axis=-1)
复制代码

可以重新下载,替换原脚本。

给大家带来的不便,请谅解。



作者
Author:
卡开发发    时间: 2024-5-13 05:50
可以使用python库ase。ase gui XDATCAR,会显示结构轨迹和能量变化曲线(i,e-E[-1],此处i为步数,e为能量,E[-1]表示最后一步能量),如果要看力把这个在Graph的对话框改成(i,fmax)即可。
作者
Author:
XIEH    时间: 2024-5-13 16:34
乐平 发表于 2024-5-12 22:32
可以我写的 python 脚本

基本用法,输入

感谢回复
作者
Author:
XIEH    时间: 2024-5-13 17:06
卡开发发 发表于 2024-5-13 05:50
可以使用python库ase。ase gui XDATCAR,会显示结构轨迹和能量变化曲线(i,e-E[-1],此处i为步数,e为能量, ...

感谢回复

作者
Author:
Weldingspock    时间: 2024-5-13 17:24
我也推荐一个,虽然不能画图,直接显示在屏幕上也能清楚看到
https://github.com/Ionizing/usefultools-for-vasp
作者
Author:
XIEH    时间: 2024-5-14 12:39
Weldingspock 发表于 2024-5-13 17:24
我也推荐一个,虽然不能画图,直接显示在屏幕上也能清楚看到
https://github.com/Ionizing/usefultools-fo ...

谢谢
作者
Author:
Minshen    时间: 2024-6-24 11:03
(, 下载次数 Times of downloads: 54) 您好,请教一下,我用您的脚本,运行出来,力的图上只有一个点,改变横轴纵轴范围也是这样,是咋回事呢
作者
Author:
乐平    时间: 2024-6-28 17:58
Minshen 发表于 2024-6-24 11:03
您好,请教一下,我用您的脚本,运行出来,力的图上只有一个点,改变横轴纵轴范围也是这样,是咋回事呢

之前的有错误,我更新了一下脚本。
作者
Author:
KangBao    时间: 2024-7-27 19:24
我的方法是直接在终端输入"grep FORCES: OUTCAR"获取力的变化,如果有做图需要可以获取力的列进行做图。脚本更直观,但这样也可以很方便的浏览趋势
作者
Author:
XIEH    时间: 2024-7-28 09:47
KangBao 发表于 2024-7-27 19:24
我的方法是直接在终端输入"grep FORCES: OUTCAR"获取力的变化,如果有做图需要可以获取力的列进行做图。脚 ...

感谢回复,已解决
作者
Author:
lxt999    时间: 2024-8-31 15:30
你好 我想请问一下 我在算AIMD分子动力学 查看势能 也可以用这个脚本吗
作者
Author:
Yun_ZL    时间: 2024-9-10 09:29
我发现编译VTSTcode之后,可以使用快捷命令grep FORCES:OUTCAR进行查看力的变化,没有编译vtstcode的情况下vasp的outcar并没有输出力的信息
作者
Author:
XIEH    时间: 2024-9-25 09:53
Yun_ZL 发表于 2024-9-10 09:29
我发现编译VTSTcode之后,可以使用快捷命令grep FORCES:OUTCAR进行查看力的变化,没有编译vtstcode的情况 ...

谢谢你的分享,但是我的估计没有编译VTSTcode,输入命令没有反应
作者
Author:
阿宁    时间: 2024-10-26 17:15
本帖最后由 阿宁 于 2025-6-16 15:43 编辑
乐平 发表于 2024-5-12 22:32
可以我写的 python 脚本

基本用法,输入



作者
Author:
乐平    时间: 2024-10-26 22:23
阿宁 发表于 2024-10-26 17:15
您好,感谢分享。我在使用你的脚本时出现如下报错,百度找不到解决方法,想请教一下。
[qxn@Master ~/00 ...

报错里写得很清楚啊

你的 numpy 版本太高了(2.0版),里面没有 np.asfarray 这个函数了,需要把它换成 np.asarray
作者
Author:
Alston453    时间: 2024-11-7 15:50
乐平 发表于 2024-6-28 17:58
之前的有错误,我更新了一下脚本。

File "check_VASP_convergency.py", line 203
    raise FileNotFoundError(f"The file {file_path.name} does not exist.")
请问输入您说的运行命令后出现这个问题怎么解决呀大佬
作者
Author:
乐平    时间: 2024-11-7 16:30
Alston453 发表于 2024-11-7 15:50
File "check_VASP_convergency.py", line 203
    raise FileNotFoundError(f"The file {file_path.nam ...

你的 POSCAR, OUTCAR, OSZICAR 是不是改名了?

如果改名了,需要按我帖子最后写的,输入参数 和 新的文件名

http://bbs.keinsci.com/forum.php ... 65&fromuid=1532

  1. python check_VASP_convergency.py -p 你的新POSCAR -o 你的新OUTCAR -s 你的新OSZICAR
复制代码

作者
Author:
lulu沙    时间: 2025-5-14 22:17
本帖最后由 lulu沙 于 2025-5-15 11:15 编辑
乐平 发表于 2024-5-12 22:32
可以我写的 python 脚本

基本用法,输入

老师您好,我优化了一个石墨烯单胞原胞,使用了您的脚本文件输出结果图如下(感谢老师提供的脚本),想请教一下老师我的结果收敛了没呢?(因为energy of each ionic step一直上升,max force of each ionic step一直为0,所以我没把握)注:在OSZICAR文件中每个SCF循环最后一行的dE和d eps均小于EDIFF,OUTCAR中也输出了“reached required accuracy - stopping structural energy minimisation”的信息。
作者
Author:
99215194    时间: 2025-5-23 13:40
本帖最后由 99215194 于 2025-5-23 13:41 编辑
乐平 发表于 2024-5-12 22:32
可以我写的 python 脚本

基本用法,输入

大佬,我运行代码之后识别出能量和受力的离子步数不一致,该怎么解决?
VASP/6.3.0
Python/3.11.7
(, 下载次数 Times of downloads: 12)

作者
Author:
99215194    时间: 2025-5-23 18:44
99215194 发表于 2025-5-23 13:40
大佬,我运行代码之后识别出能量和受力的离子步数不一致,该怎么解决?
VASP/6.3.0
Python/3.11.7

应该是不同版本的VASP产生的OUTCAR格式不一样导致的。自己写了一个可以用的脚本,遇到同样问题的朋友可以拿去试试。
(, 下载次数 Times of downloads: 5)

作者
Author:
cxyunstoppable    时间: 2025-6-4 16:49
乐平 发表于 2024-5-12 22:32
可以我写的 python 脚本

基本用法,输入

您好,这个脚本怎么用的

作者
Author:
cxyunstoppable    时间: 2025-6-4 16:50
cxyunstoppable 发表于 2025-6-4 16:49
您好,这个脚本怎么用的

是把这个脚本放在计算文件夹里,然后用命令么





欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3