vasp入门脚本:对比结构变化

文摘   2024-08-17 13:02   福建  

使用场景

有时候在结构优化的时候,我们可能需要尝试多次优化,那么这几次优化后,我们可能需要查看晶体结构的变化,每个原子的移动情况。

或者,我们在做过渡态,或线性差值的时候,需要检查结构的移动,此时其实我们是需要查看两个晶体结构之间的原子坐标差

代码(pos_diff.py)

代码如下:

import numpy as np
import sys

a = sys.argv[1]
b = sys.argv[2]

num = int(sys.argv[3])
data_a = np.genfromtxt(a,skip_header =9, max_rows = num, usecols=(0,1,2))
data_b = np.genfromtxt(b,skip_header =9, max_rows = num, usecols=(0,1,2))
print(data_a - data_b)

使用方法: 在linux终端运行

python diff_pos.py  POSCAR_1 POSCAR2 num

其中 POSCAR_1, POSCAR_2 为要比较的两个结构, num为原子数

案例,假设我需要比较consy和cons_z下面的两个文件夹下的POSCAR结构差别,该POSCAR含有22个原子

 python diff_pos.py consy/POSCAR cons_z/POSCAR 22

结果如下:

结果会输出每个原子坐标差值。

计算凝聚态物理
介绍常见第一性原理软件的使用,数据处理,模型、数值、解析计算介绍凝聚态物理研究动态python,she’ll ,vasp
 最新文章