赞
踩
VASP的使用方法设计的缺陷很大, 如果只是简单算个东西, 倒也可以, 若是想大规模使用, 成千上百的文件, 都有着一样的名字, 看了不疯才怪. 所以, 我们需要一个脚本, 将VASP计算的流程进行改造. 改造的原则是支持不同文件名, 且不同文件之间可任意组合.
创建赝势文件POTCAR的脚本整理好四种赝势文件, uspp.LDA, uspp.GGA, paw.LDA, paw.GGA, paw.PBE, 将其分别放于与名称相应的文件夹下, 再将这四个文件夹 放在名称为POT的文件夹下
下面的脚本用来提取创建POTCAR
# Language: bashPOTROOT=$1; shiftusage="CatPot \ \Type: uspp.LDA | uspp.GGA | paw.LDA | paw.GGA | paw.PBE"[[ $# -lt 2 ]] && { echo "$usage"; exit; }Type=$1; shiftecho-n >POTCARfor i in$*;dozcat ${POTROOT}/${Type}/$i/POTCAR >> POTCARdonegrep -A 21 VRHFIN POTCAR
vasp运行需要四种输入文件, INCAR, KPOINTS, POSCAR, POTCAR, 且不能是其他名字, 程序也没提供选项指定其他名字. 彻底的解决方法是修改源代码, 困难不大, 但不建议. 除此之外可以使用一个脚本, 先将文件改名, 复制至作业运行目录下, 运行vasp, 完成后复制输出文件至原目录, 再将输出文件更名.
我的解决办法是参照GROMACS的运行方式, 先利用这四个文件产生一个总的输入文件, 然后运行这个.ikp文件即可. ikp文件的内容很简单, 里面写好使用的四个文件的绝对路径, 脚本运行时根据路径复制文件, 运行vasp.
# Language: bashfunction vsp_ikp {usage="\>>&
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。