使用场景
有时候在结构优化的时候,我们可能需要尝试多次优化,那么这几次优化后,我们可能需要查看晶体结构的变化,每个原子的移动情况。
或者,我们在做过渡态,或线性差值的时候,需要检查结构的移动,此时其实我们是需要查看两个晶体结构之间的原子坐标差
代码(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
结果如下:
结果会输出每个原子坐标差值。