计算化学公社

 找回密码 Forget password
 注册 Register
Views: 7710|回复 Reply: 5

[VASP] 分享从OUTCAR查看原子受力的小脚本

[复制链接 Copy URL]

66

帖子

0

威望

863

eV
积分
929

Level 4 (黑子)

发表于 Post on 2020-10-23 16:15:18 | 显示全部楼层 Show all |阅读模式 Reading model
本帖最后由 qmlearner 于 2020-10-23 16:27 编辑

extforce.sh脚本的思路很简单:1)从OUTCAR中提取所有的TOTAL-FORCE部分信息(每个原子上的force vectors),2)用for循环调用screenforce.py筛选出每一个离子步受力大于EDIFFG的原子,及对应的原子序号,存储在lt_ediffg_${i}.dat,i为相应的离子步数。然后可以用p4vasp软件查看 具体是哪些原子没有达到力收敛标准。

使用的时候需要在extforce.sh里面设置一下自己体系的原子数(N_atoms),在screenforce.py里设置一下自己的EDIFFG(ediffg)。需用python3,如果只有python2的话可以把screenforce.py的print那几行改成py2的格式即可。

使用时将extforce.sh, screenforce.py, OUTCAR放在同一目录下,执行./extforce.sh即可。



screenforce.py

1.78 KB, 下载次数 Times of downloads: 91

extforce.sh

1.08 KB, 下载次数 Times of downloads: 84

评分 Rate

参与人数
Participants 11
eV +42 收起 理由
Reason
VSKitiro + 2 GJ!
shenwei + 3 谢谢
expix0 + 4 好物!
noodles的困惑 + 5 谢谢
obaica + 4
The_only_oneZLY + 3 精品内容
yonghui + 2
wypkdhd + 5
wuhuawujiu + 1 好物!
sobereva + 8
jingnan2019 + 5 GJ!

查看全部评分 View all ratings

1

帖子

0

威望

43

eV
积分
44

Level 2 能力者

发表于 Post on 2022-5-10 19:55:31 | 显示全部楼层 Show all
请问权限不够是什么原因?

347

帖子

0

威望

1385

eV
积分
1732

Level 5 (御坂)

发表于 Post on 2022-5-11 09:10:55 | 显示全部楼层 Show all
感觉用一个 Python 脚本就足够了。
有空了我写一个试试

347

帖子

0

威望

1385

eV
积分
1732

Level 5 (御坂)

发表于 Post on 2022-5-11 23:34:52 | 显示全部楼层 Show all
本帖最后由 乐平 于 2022-5-11 18:19 编辑

我用 python 3 写了一个,大家可以试试。

用法如下:
  1. python check_OUTCAR_force.py -h
复制代码

即可查看用法
  1. python check_OUTCAR_force.py -h
  2. usage: check_OUTCAR_force.py [-h] [-o <VASP OUTCAR file>]

  3. optional arguments:
  4.   -h, --help            show this help message and exit
  5.   -o <VASP OUTCAR file>
  6.                         OUTCAR file (default: ~/scripts/OUTCAR)
复制代码


使用时,cd 到 VASP 任务的目录下,输入
  1. python check_OUTCAR_force.py -o OUTCAR
复制代码

就可以运行此脚本


或者在命令行自己输入目录
  1. python YOUR_SCRIPT_PATH/check_OUTCAR_force.py -o YOUR_VASP_JOB_PATH/OUTCAR
复制代码

也可以运行此脚本



脚本会首先检查 OUTCAR 是否存在,如果不存在,将会提示
-------------------------------------------------------------------------------
OUTCAR file does NOT exist! Please check your directory.
-------------------------------------------------------------------------------


如果 OURCAR 存在,将会从 OUTCAR 文件中读取 TOTAL-FORCE 表格中的数据,并计算受力数值,然后与 EDIFFG 的绝对值进行比较。如果大于 EDIFFG 的绝对值,则会在屏幕上打印出每一步每个原子不收敛的计算步数值和原子编号。
欢迎大家提意见交流讨论。


check_OUTCAR_force.py

4.28 KB, 下载次数 Times of downloads: 43

1

帖子

0

威望

31

eV
积分
32

Level 2 能力者

发表于 Post on 2022-6-17 14:09:41 | 显示全部楼层 Show all
乐平 发表于 2022-5-11 23:34
我用 python 3 写了一个,大家可以试试。

用法如下:

There are 54 atoms in this system and 1 steps for calculatons.
          In the step 1, the force of atom 53 does NOT converge
请问这个是什么意思呢?怎么会计算只有一步呢,我看OSZICAR里面离子步跑了几百步

347

帖子

0

威望

1385

eV
积分
1732

Level 5 (御坂)

发表于 Post on 2022-6-17 15:49:09 | 显示全部楼层 Show all
wmw 发表于 2022-6-17 08:09
There are 54 atoms in this system and 1 steps for calculatons.
          In the step 1, the force ...

能不能把你的 OUTCAR 上传? 我看看问题在哪里。谢谢。

本版积分规则 Credits rule

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

GMT+8, 2023-2-2 22:38 , Processed in 0.241895 second(s), 31 queries .

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