| 查看: 2213 | 回复: 9 | ||||||||
| 【奖励】 本帖被评价8次,作者思雨G十年增加金币 6.4 个 | ||||||||
[资源]
提取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
- 附件 2 : convtp
2013-08-24 20:54:11, 887 bytes
2013-08-24 20:54:17, 737 bytes
» 收录本帖的淘帖专辑推荐
精华网帖收集 | VASP | 第一性原理相关文档 | VASP资料 |
分子动力学 | 你的心思 |
» 猜你喜欢
请问有评职称,把科研教学业绩算分排序的高校吗
已经有6人回复
2025冷门绝学什么时候出结果
已经有6人回复
Bioresource Technology期刊,第一次返修的时候被退回好几次了
已经有7人回复
真诚求助:手里的省社科项目结项要求主持人一篇中文核心,有什么渠道能发核心吗
已经有8人回复
寻求一种能扛住强氧化性腐蚀性的容器密封件
已经有5人回复
请问哪里可以有青B申请的本子可以借鉴一下。
已经有4人回复
请问下大家为什么这个铃木偶联几乎不反应呢
已经有5人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有4人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
AI论文写作工具:是科研加速器还是学术作弊器?
已经有3人回复
» 本主题相关价值贴推荐,对您同样有帮助:
vasp脚本运行问题
已经有7人回复
用matlab脚本绘制vasp中的能带图
已经有6人回复
【求助成功】vasp测试K点收敛性的脚本问题
已经有20人回复
【求助】晶胞内坐标怎么向直角坐标转换?
已经有4人回复
【求助】vasp作业提交脚本
已经有5人回复
【求助】求将vasp的输出文件转化成xyz坐标的脚本
已经有11人回复
3楼2013-08-25 12:57:42
4楼2013-08-27 17:34:55
简单回复
2013-08-25 11:27
回复
五星好评
感谢分享
感谢分享
nanost5楼
2013-10-08 11:27
回复
五星好评 顶一下,感谢分享!
wuli86楼
2015-05-07 11:46
回复
五星好评 顶一下,感谢分享!
2016-02-07 08:42
回复
五星好评 顶一下,感谢分享!
lisu5558楼
2016-11-08 18:03
回复
五星好评 顶一下,感谢分享!
西南flyer9楼
2017-04-03 16:25
回复
五星好评 顶一下,感谢分享!
shirongwei10楼
2024-10-09 20:55
回复
五星好评 顶一下,感谢分享!













回复此楼
很好