计算化学公社

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

[VASP] 求助,如何观看vasp结构优化的力的变化趋势

[复制链接 Copy URL]

95

帖子

0

威望

395

eV
积分
490

Level 3 能力者

高斯的结构优化可以中途下载log文件用GaussView的optimization功能,看能量和力的变化趋势。
vasp的OSZICAR可以看到每一个离子步的E0,那么力是看哪个呢?

1060

帖子

0

威望

3254

eV
积分
4314

Level 6 (一方通行)

2#
发表于 Post on 2024-5-12 22:32:34 | 只看该作者 Only view this author
本帖最后由 乐平 于 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
复制代码


就可以运行,并绘制好能量随离子步的变化趋势,最大受力随离子步的变化趋势



整体的思路来自知乎帖子 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)
复制代码

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

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


check_VASP_convergency.py

5.71 KB, 下载次数 Times of downloads: 193

检查VASP能量和受力收敛情况

3621

帖子

3

威望

1万

eV
积分
18425

Level 6 (一方通行)

第一原理惨品小作坊

3#
发表于 Post on 2024-5-13 05:50:20 | 只看该作者 Only view this author
可以使用python库ase。ase gui XDATCAR,会显示结构轨迹和能量变化曲线(i,e-E[-1],此处i为步数,e为能量,E[-1]表示最后一步能量),如果要看力把这个在Graph的对话框改成(i,fmax)即可。
日常打哑谜&&探寻更多可能。
原理问题不公开讨论,非商业性质讨论欢迎私聊。
本周忙

95

帖子

0

威望

395

eV
积分
490

Level 3 能力者

4#
 楼主 Author| 发表于 Post on 2024-5-13 16:34:05 | 只看该作者 Only view this author
乐平 发表于 2024-5-12 22:32
可以我写的 python 脚本

基本用法,输入

感谢回复

95

帖子

0

威望

395

eV
积分
490

Level 3 能力者

5#
 楼主 Author| 发表于 Post on 2024-5-13 17:06:02 | 只看该作者 Only view this author
卡开发发 发表于 2024-5-13 05:50
可以使用python库ase。ase gui XDATCAR,会显示结构轨迹和能量变化曲线(i,e-E[-1],此处i为步数,e为能量, ...

感谢回复

197

帖子

1

威望

1104

eV
积分
1321

Level 4 (黑子)

6#
发表于 Post on 2024-5-13 17:24:47 | 只看该作者 Only view this author
我也推荐一个,虽然不能画图,直接显示在屏幕上也能清楚看到
https://github.com/Ionizing/usefultools-for-vasp

95

帖子

0

威望

395

eV
积分
490

Level 3 能力者

7#
 楼主 Author| 发表于 Post on 2024-5-14 12:39:32 | 只看该作者 Only view this author
Weldingspock 发表于 2024-5-13 17:24
我也推荐一个,虽然不能画图,直接显示在屏幕上也能清楚看到
https://github.com/Ionizing/usefultools-fo ...

谢谢

1

帖子

0

威望

15

eV
积分
16

Level 1 能力者

8#
发表于 Post on 2024-6-24 11:03:38 | 只看该作者 Only view this author
您好,请教一下,我用您的脚本,运行出来,力的图上只有一个点,改变横轴纵轴范围也是这样,是咋回事呢

1060

帖子

0

威望

3254

eV
积分
4314

Level 6 (一方通行)

9#
发表于 Post on 2024-6-28 17:58:37 | 只看该作者 Only view this author
Minshen 发表于 2024-6-24 11:03
您好,请教一下,我用您的脚本,运行出来,力的图上只有一个点,改变横轴纵轴范围也是这样,是咋回事呢

之前的有错误,我更新了一下脚本。

4

帖子

0

威望

100

eV
积分
104

Level 2 能力者

10#
发表于 Post on 2024-7-27 19:24:28 | 只看该作者 Only view this author
我的方法是直接在终端输入"grep FORCES: OUTCAR"获取力的变化,如果有做图需要可以获取力的列进行做图。脚本更直观,但这样也可以很方便的浏览趋势

95

帖子

0

威望

395

eV
积分
490

Level 3 能力者

11#
 楼主 Author| 发表于 Post on 2024-7-28 09:47:35 | 只看该作者 Only view this author
KangBao 发表于 2024-7-27 19:24
我的方法是直接在终端输入"grep FORCES: OUTCAR"获取力的变化,如果有做图需要可以获取力的列进行做图。脚 ...

感谢回复,已解决

1

帖子

0

威望

19

eV
积分
20

Level 1 能力者

12#
发表于 Post on 2024-8-31 15:30:50 | 只看该作者 Only view this author
你好 我想请问一下 我在算AIMD分子动力学 查看势能 也可以用这个脚本吗

17

帖子

0

威望

247

eV
积分
264

Level 3 能力者

13#
发表于 Post on 2024-9-10 09:29:44 | 只看该作者 Only view this author
我发现编译VTSTcode之后,可以使用快捷命令grep FORCES:OUTCAR进行查看力的变化,没有编译vtstcode的情况下vasp的outcar并没有输出力的信息

95

帖子

0

威望

395

eV
积分
490

Level 3 能力者

14#
 楼主 Author| 发表于 Post on 2024-9-25 09:53:45 | 只看该作者 Only view this author
Yun_ZL 发表于 2024-9-10 09:29
我发现编译VTSTcode之后,可以使用快捷命令grep FORCES:OUTCAR进行查看力的变化,没有编译vtstcode的情况 ...

谢谢你的分享,但是我的估计没有编译VTSTcode,输入命令没有反应

2

帖子

0

威望

43

eV
积分
45

Level 2 能力者

15#
发表于 Post on 2024-10-26 17:15:10 | 只看该作者 Only view this author
乐平 发表于 2024-5-12 22:32
可以我写的 python 脚本

基本用法,输入

您好,感谢分享。我在使用你的脚本时出现如下报错,百度找不到解决方法,想请教一下。
[qxn@Master ~/001/yzcu4]$ python check_VASP_convergency.py
`np.asfarray` was removed in the NumPy 2.0 release. Use `np.asarray` with a proper dtype instead.
Traceback (most recent call last):
  File "/home/qxn/001/yzcu4/check_VASP_convergency.py", line 216, in <module>
    main()
  File "/home/qxn/001/yzcu4/check_VASP_convergency.py", line 209, in main
    F = grab_Force(poscar, outcar)
  File "/home/qxn/001/yzcu4/check_VASP_convergency.py", line 106, in grab_Force
    data = np.asfarray(data).reshape((count,atomNum,3))
  File "/home/qxn/.local/lib/python3.9/site-packages/numpy/__init__.py", line 397, in __getattr__
    raise AttributeError(
AttributeError: `np.asfarray` was removed in the NumPy 2.0 release. Use `np.asarray` with a proper dtype instead.

本版积分规则 Credits rule

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

GMT+8, 2024-11-23 06:41 , Processed in 0.218459 second(s), 30 queries , Gzip On.

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