HuangAnqi
理论相关
cp2k
cp2k参数
CP2K输入文件模板
Matlab批量计算CP2K的差分电荷的代码
全波电磁仿真
VESTA:制作差分电荷&导出图片
Oringin制作气泡能带图+DOS图
VASP
vasp+机器学习计算AlN的势函数
vsap机器学习
vasp算微波介电常数
VASP计算参数
vaspkit功能
VASP算bader电荷
计算带格林内森参数投影的高温声子谱
脚本合集
PWmat
用pwmat计算缺陷形成能
Hefei-NAMD
Quantum ESPRESSO
qe算声子谱
CALYPSO结构搜索
Oringin
Yambo
QE+yambo算光吸收虚部
Yambo 光吸收计算后处理
Yambo报错和解决办法
知识点
代码
佛祖保佑
心跳(html)
洛伦兹吸引子
用pandas读取excel 画dos图
用Matplotlib画折线图
蒙特卡洛方法求Π
TensorFlow 代码
罗盘时钟
MATLAB代码
批量重命名图片代码
用Pr将序列帧图片转成视频
蒙特卡洛方法模拟二维平面上的原子沉积和扩散
PyTorch
OVITO
Latex安装与使用
wannier+VASP拟合能带
VASP算有效质量
liuyaoze.com-文档系统
-
+
首页
VASP算bader电荷
**可以用来判断电子的得失情况** 需要用到chgsum.pl 这个脚本在vtst中有,是有一个算过渡态的脚本合集,这里我们不安装,直接解压缩安装包 [安装包下载点击](http://pan.liuyaoze.com/s/9Vfe "安装包下载点击") 解压缩 ` tar -xvzf vtstscripts.tgz` 在压缩包里可以找到chgsum.pl  这个时候这个脚本由于权限问题还不能执行 我们把这个文件夹的路径加到环境里 `vi ~/.bashrc`  激活 `source ~/.bashrc` 这个时候输入chg,再用tab键就可以补全出chgsum.pl了 看电荷算静态时需要加上参数 ``` Bader Charge Analysis LAECHG = .TRUE. (Write core charge into CHGCAR file) LCHARG = .TRUE. (Write CHGCAR file) ``` 得到AECCAR0 AECCAR1 AECCAR2文件 `chgsum.pl AECCAR0 AECCAR2 ` `bader CHGCAR -ref CHGCAR_sum` 得到ACF.dat文件,就有每个原子的bader电荷 这里需要跟原子本身最外层的电荷相比较来判断电子得失 `grep ZVAL POTCAR`   这里的Zr2O3就是两个Zr原子失去4个电子,变成Zr2+三个氧得到4个电子 自洽后,后处理Python代码: ```python import numpy as np import os os.system('chgsum.pl AECCAR0 AECCAR2') os.system('bader CHGCAR -ref CHGCAR_sum') ff = open('ACF.dat', 'r') a = ff.readlines()[2:-4] #print(a[2:-4]) charge = [] for i in range(len(a)): charge.append(float(a[i].split()[4])) # print(a[i].split()[4]) print(charge) f2 = open('POSCAR', 'r') res = f2.readlines() atoms = res[5].split() num = list(map(int,res[6].split())) print(atoms) print(num) ZVAL = [] with open('POTCAR', 'r') as f3: for line in f3: res = line.split() if 'ZVAL' in res: ZVAL.append(float(res[5])) print(ZVAL) f4 = open('result.txt', 'w') #for i in range(len(num)): # for j in range(num[i]): # charge[] atoms_new=[] ZVAL_new = [] for i in range(len(num)): for j in range(num[i]): ZVAL_new.append(ZVAL[i]) atoms_new.append(atoms[i]) diff = np.array(charge)-np.array(ZVAL_new) for i in range(len(diff)): f4.write(atoms_new[i]+' '+str(diff[i])+'\n') f4.close() #print(ZVAL_new) ```
huanganqi
2024年4月11日 16:45
145
0 条评论
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
【温馨提示:本站文档可配置可见范围,如登录后可见、对特定群组可见等,看不到就是没权限】
注册码获取邮箱
work@liuyaoze.com
Markdown文件
Word文件
PDF文档
PDF文档(打印)
分享
链接
类型
密码
更新密码
有效期