VASP文件参数和常用命令

VASP文件参数和常用命令

文件参数

INCAR

INCAR主要是告诉VASP我们要算什么以及计算的细节

SYSTEM = H2O          # 计算的体系,随意写
ISMEAR = 0            # K点数目<4 取0;K点数目>4 取-5;金属 取1,2
SIGMA = 0.01          # 对于分子或者原子,用0.01,默认0.2,取小会收敛变慢

ISPIN = 2             # 考虑$\alpha$和$\beta$电子,即磁性
MAGMOM = 2*2 1*2      # 磁矩
ISYM = 0              # 不考虑对称性

ALGO = Normal         # 电子迭代算法 FAST Damped 或 ALL
EDIFF = 1E-4          # 电子步收敛判据
ENCUT = 300           # 截断能量
NELM = 60             # 电子步数

ISIF = 3              # 2晶胞形状不变化;3变化
IBRION = 2            # 离子步迭代算法conjugate gradient algorithm
POTIM = 0.1           # 离子步 步长
NSW = 10              # 离子步 步数
EDIFFG = 1E-3         # 离子步收敛判据——力判据

KPOINTS

K-POINTS       # 随意写
0              # 自动生成K点
G              # G Gamma点中心 | M Monkhorst-Pack 方法 
1 1 1          # 在xyz三个方向上生成对应数目的K点
0 0 0          # 一般静态模拟0 0 0

脚本

#! /usr/bin/env bash

# To generate KPOINT file
# Written by Xingyu on 2019-11-8
# To use it: kpoints.sh 3 3 1

echo K-POINTS > KPOINTS
echo 0 >> KPOINTS
echo Gamma-Centered >> KPOINTS
echo $1 $2 $3 >> KPOINTS
echo 0 0 0 >> KPOINTS

常用命令

文件操作

复制文件

cp file1 file2 -r    # 把文件夹file1复制为file2

修改文件

sed -i '$aENCUT = 400' INCAR   #在INCAR最后一行添加ENCUT = 400
sed -i "s/400/500/g"  500/INCAR ; #把500文件夹中INCAR中的400改为500

查看文件

cat INCAR -n    #查看INCAR文件显示行数

赝势

potcar H O                   # 合成赝势 cat POTCAR-O POTCAR-H > POTCAR
pos2pot                      # 按照POSCAR生成POTCAR potcar.sh  $(sed -n 6p POSCAR)"
gt                           # 查看元素 grep TIT POTCAR  
grep ENMAX POTCAR            # 查看截断能量

离子步

gr       # 查看离子步是否收敛 grep 'reached required accuracy' OUTCAR

能量

ge       # 查看能量 grep 'without' OUTCAR

时间内存

tail OUTCAR           # 所有信息
grep User OUTCAR      # 时间信息

批量操作

以下所有操作cp都自定义为cp -r

ENCAR

for i in {1..8}; do cp 400 $((400+$i*50)); sed -i "s/400/$((400+$i*50))/g"  $((400+$i*50))/INCAR ; done       # 制作不同INCAR参数文件
for i in *0; do cd $i ; mpirun -np 2 vasp_std; cd $OLDPWD; done  # 提交任务
for i in *0; do echo -e $i, $(grep User $i/OUTCAR | awk '{print $4}') , $(grep ' without' $i/OUTCAR | tail -n 1 | awk '{print $4}'); done > ENCUT.dat  # 打印时间和能量的第四个信息,并转化为data.dat

EDIFF

for i in {2..6}; do cp 1 $i; sed -i "6s/-1/$((-$i))/g" $i/INCAR ; done       # 制作不同INCAR参数文件
for i in *; do cd $i ; mpirun -np 2 vasp_std; cd $OLDPWD; done  # 提交任务
for i in *; do echo -e $i, $(grep User $i/OUTCAR | awk '{print $4}') , $(grep ' without' $i/OUTCAR | tail -n 1 | awk '{print $4}'); done > EDIFF.dat  # 打印时间和能量的第四个信息,并转化为data.dat

KPOINTS

for i in {2..6}; do cp 111 ${i}${i}${i}; sed -i "4s/1 1 1/$i $i $i/g" ${i}${i}${i}/KPOINTS ; done        # 制作不同KPOINTS参数文件
for i in {4..6}; do sed -i "2s/0/-5/g" ${i}${i}${i}/INCAR ; done                                       # 修改ISMEAR参数
for i in {1..6}; do cd ${i}${i}${i} ; mpirun -np 2 vasp_std; cd $OLDPWD; done  # 提交任务
for i in {1..6}; do echo -e $i, $(grep User ${i}${i}${i}/OUTCAR | awk '{print $4}') , $(grep ' without' ${i}${i}${i}/OUTCAR | tail -n 1 | awk '{print $4}'); done > KPOINTS.dat  # 打印时间和能量的第四个信息,并转化为data.dat

Lattice Parameter

for i in 0.95 0.96 0.97 0.98 0.99 1.01 1.02 1.03 1.04 1.05; do cp 1.00 $i ; sed -i "2s/1.0/$i/g" $i/POSCAR ; done        # 制作不同POSCAR参数文件
for i in *; do cd $i ; mpirun -np 2 vasp_std; cd $OLDPWD; done  # 提交任务                                    # 修改ISMEAR参数
for i in 0.95 0.96 0.97 0.98 0.99 1.00 1.01 1.02 1.03 1.04 1.05; do echo -e $i, $(grep User $i/OUTCAR | awk '{print $4}') , $(grep ' without' $i/OUTCAR | tail -n 1 | awk '{print $4}'); done > Lattice_Parameter.dat  # 打印时间和能量的第四个信息,并转化为data.dat

   转载规则


《VASP文件参数和常用命令》 张兴宇 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
Linux常用命令 Linux常用命令
Linux常用命令目录cd .. # 返回上一层 mkmir file # 新建文件夹 rm file
2019-11-07
下一篇 
VASP在w10系统下安装 VASP在w10系统下安装
VASP在w10系统下安装VASP有w10版本了?不,只是w10支持Linux子系统了,特别的,本篇讲解一下VASP在w10子系统Ubuntu下的安装~组里没有装VASP服务器,就算有也不敢乱提交作业…何况我只是想学习一下密度泛函,完成课程
  目录