24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2213  |  回复: 9
【奖励】 本帖被评价8次,作者思雨G十年增加金币 6.4

思雨G十年

金虫 (正式写手)


[资源] 提取VASP计算前后的坐标转换脚本(shell)

写了两个小脚本用于转化VASP计算前后的坐标。
convtd是有计算输出的OUTCAR里提取原子坐标。
convtp是利用file.cell文件生成POSCAR。

Linux下 chmod +x convtd 赋予权限即可使用。

1)convtd 用法: convtd N (N为体系中的元素数目,即有多少种原子)。
输出:The output file is : GPNCell_C.xyz

           The constants of the cell: X, Y, Z:
           晶格常数
2)convtp 用法: convtp file.cell (file.cell来自于castep保存的cell文件)。
输出文件为POSCAR。

shell初学者,难免疏漏,有bug请发email:
zhaoxingang1111@163.com.谢谢。code for convtd:
#!/bin/bash
Total=0
n=0
i=0
Num=0
a_Num=0

#if [ $1 -eq 0 ]; then
# echo "Error Input !"
# exit
#fi

fn=$(sed -n '1p' CONTCAR)
if [ -z $fn ]; then
fname=VASP_out.xyz
else
fname=$(echo $fn | tr -s '')
fi

echo ""
echo "The output file is :" $fname.xyz
echo ""
echo "The constants of the cell: X, Y, Z:"
echo ""
sed -n '3p' CONTCAR
sed -n '4p' CONTCAR
sed -n '5p' CONTCAR
sed -n '6p' CONTCAR > APT
sed -n '7p' CONTCAR > NPT

Num=$1

for ((n=1 ; n <= $Num; n++))
do
        Total=$[ $Total + $(awk '{print $'$n'}' NPT)]
done
echo  $Total > TMP.xyz
echo "" >> TMP.xyz
grep -A$(($Total + 1)) "POSITION" OUTCAR | tail -$Total | awk '{print $1,$2,$3}' > XYZ_TMP

for ((i=1 ; i <= $Num; i++))
do
        a_Num=$( cat NPT | awk '{print $'$i'}')
        Asign=$(awk '{print $'$i'}' APT)

head -$a_Num XYZ_TMP | awk '{print "'${Asign}'", $0}' >> TMP.xyz
sed  "1,${a_Num}d" XYZ_TMP > XYZ
mv XYZ XYZ_TMP
done

mv  TMP.xyz  ${fname}.xyz

rm XYZ_TMP
rm ?PT

code for convtp:

#!/bin/bash
Fname=$1
N_end=$(sed -n '/ENDBLOCK POSITIONS_FRAC/'= $Fname)
head -$[$N_end-1] $Fname > TMPF1
echo ${Fname%.cell} > POSCAR
echo " 1.00000000000000" >> POSCAR
sed -n '2p' $Fname >> POSCAR
sed -n '3p' $Fname >> POSCAR
sed -n '4p' $Fname >> POSCAR
sed '1,7d' TMPF1 > TMPF2
cat TMPF2 | sort  -d -f -u -k1 > TMPF5
cut -c1-3 TMPF2 |sort | uniq -c > TMPF3
awk '{ print $2, $1}' TMPF3 > TMPF4
awk -v RS= 'NR==1{for(i=1;i<=NF;i+=2) h = h " " $i;print h}{v="";for(i=2;i<=NF;i+=2)v=v " "$i;print v}' TMPF4 |column -t >> POSCAR
echo "Direct" >> POSCAR
awk  '{print $2 "\t" $3 "\t" $4}' TMPF5 >>  POSCAR
rm TMPF?

[ Last edited by 思雨G十年 on 2013-8-24 at 21:21 ]
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : convtd
  • 2013-08-24 20:54:11, 887 bytes
  • 附件 2 : convtp
  • 2013-08-24 20:54:17, 737 bytes

» 收录本帖的淘帖专辑推荐

精华网帖收集 VASP 第一性原理相关文档 VASP资料
分子动力学 你的心思

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ifmc1234

木虫 (著名写手)


★★★★★ 五星级,优秀推荐

很好
3楼2013-08-25 12:57:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lrjhxh

木虫 (小有名气)


下载文档里面有不明字符
4楼2013-08-27 17:34:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
简单回复
wangjb4012楼
2013-08-25 11:27   回复  
五星好评  感谢分享
nanost5楼
2013-10-08 11:27   回复  
五星好评  顶一下,感谢分享!
wuli86楼
2015-05-07 11:46   回复  
五星好评  顶一下,感谢分享!
tangsw9117楼
2016-02-07 08:42   回复  
五星好评  顶一下,感谢分享!
lisu5558楼
2016-11-08 18:03   回复  
五星好评  顶一下,感谢分享!
2017-04-03 16:25   回复  
五星好评  顶一下,感谢分享!
shirongwei10楼
2024-10-09 20:55   回复  
五星好评  顶一下,感谢分享!
相关版块跳转 我要订阅楼主 思雨G十年 的主题更新
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复(可上传附件)
信息提示
请填处理意见