24小时热门版块排行榜    

查看: 1034  |  回复: 2
当前主题已经存档。
【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 zhjh888888 的 7 个金币

zhjh888888

银虫 (小有名气)

[交流] 【求助】VASP计算能带的数据处理与作图 已有2人参与

我用VASP计算了能带,用脚本vaspbnd处理后得到vaspbndup.dat和vaspbnddn.dat,用Origin作图后发现:几条能带的部分数据互换了!如下图蓝色、红色和粉色的曲线!红色的中部应该是向上上去的,结果向下凹了,正好那部分应该是粉色的。检查了脚本vaspbnd处理的数据文件vaspbndup.dat,其数据是和outcar以及EIGENVAL的结果对应的!如何调整让同一能带的数据在同一列?不想手工移动数据!!请问有没有其他脚本处理后不会出现这种情况?
附脚本vaspbnd内容:
#! /bin/bash

#Writted by N.C.Arlonne
#Modified by Zhao Jian-Hua,2010/04/15
#Time: 2008/04/05 1:49
echo "Writted by N.C.Arlonne"
echo "Modified by Zhao Jian-Hua,2010/04/15"
#echo "how many nbands?"
#read nband

if [ -d BAND ]
then
rm -rf BAND
fi
mkdir BAND
#--------------- Required variable global start -----------------#
#rm OUTCARtmp
eig=EIGENVAL
outcar=OUTCAR
spin=$(sed -n '1 p' $eig|awk '{print $4}')
nband=$(sed -n '6 p' $eig|awk '{print $3}')
npoint=$(sed -n '6 p' $eig|awk '{print $2}')
export efermi=$(grep E-fermi OUTCAR|awk '{print $3}')
awk '{print NR, $0}' $outcar>>OUTCARtmp
tmpoutcar=OUTCARtmp
#efermi=$(grep E-fermi OUTCAR|awk '{print $3}')
echo "E-Fermi:" $efermi
#-------------- Required global variable end ------------------#

#========================== Main start ===============================#

if [ "$spin" -eq 1 ];then

echo "calculation is non-spin"  #---- Non-spin split OUTCAR start ---#

start=$(grep "k-point   1 :" $tmpoutcar|awk '{printf $1}')
if [ "$npoint" -ge 10 -a "$npoint" -lt 100 ];then

endp=$(grep "k-point  $npoint :" $tmpoutcar|awk '{printf $1}')

elif [ "$npoint" -ge 100 ];then

endp=$(grep "k-point $npoint :" $tmpoutcar|awk '{printf $1}')

else

endp=$(grep "k-point   $npoint :" $tmpoutcar|awk '{printf $1}')

fi

end=$(($endp+$nband+1))

sed -n ''$start','$end' p' $tmpoutcar>>OUTCARn
#echo "fermi?"
#read efermi
awk '/k-point/{
printf "%d\t",$3
getline
for (i=1;i<='$nband';i++) {
getline
printf "%8.4f\t",$3-'$efermi' }
printf "\n"}' OUTCARn>>BAND/vaspbnd.dat
rm OUTCARn

#-------------------- Non-spin split OUTCAR end ---------------#
    else

echo "calculation is spin-polarize" #--- Spin-up split OUTCAR start ---#

startup=$(grep "spin component 1" $tmpoutcar|head -1|awk '{printf $1}')

endup=$(grep "spin component 2" $tmpoutcar|head -1|awk '{printf $1}')

#endup=$(($endupp+$nband+1))

sed -n ''$startup','$endup' p' $tmpoutcar>>OUTCARup
#echo "fermi?"
#read efermi
awk '/k-point/{
printf "%d\t",$3
getline
for (i=1;i<='$nband';i++) {
getline
printf "%8.4f\t",$3}
printf "\n"}' OUTCARup>>BAND/vaspbndup.dat
#rm OUTCARup
#printf "%8.4f\t",$3 - '$efermi' }
#-------------------- Spin-up split OUTCAR end ---------------#

#-------------------- Spin-dn split OUTCAR start ---------------#

startdn=$(grep "spin component 2" $tmpoutcar|tail -1|awk '{printf $1}')

enddn=$(grep "aborting loop" $tmpoutcar|awk '{printf $1}')

#enddn=$(($enddnp+$nband+1))

sed -n ''$startdn','$enddn' p' $tmpoutcar>>OUTCARdn

awk '/k-point/{
printf "%d\t",$3
getline
for (j=1;j<='$nband';j++) {
getline
printf "%8.4f\t",$3}
printf "\n"}' OUTCARdn>>BAND/vaspbnddn.dat
#rm OUTCARdn

fi        #------------- Spin-dn split OUTCAR end ---------------#

#rm OUTCARtmp

exit 0
#========================== Main end ===============================#

[ Last edited by zhjh888888 on 2010-4-21 at 11:16 ]
回复此楼

» 猜你喜欢

路在脚下!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hgye

金虫 (小有名气)


zhjh888888(金币+3): 2010-04-21 11:27
gavinliu7390(金币+1):谢谢交流! 2010-04-21 11:28
这个没办法自动调整,只能手工移动,所有软件算得都是这样,按本征值大小排序。不要用颜色区分,整体看上去是没有问题的,简单的能带还可以手工移动,复杂的很难分清楚谁和谁是一个带。
2楼2010-04-21 11:20:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhjh888888

银虫 (小有名气)

引用回帖:
Originally posted by hgye at 2010-04-21 11:20:07:
这个没办法自动调整,只能手工移动,所有软件算得都是这样,按本征值大小排序。不要用颜色区分,整体看上去是没有问题的,简单的能带还可以手工移动,复杂的很难分清楚谁和谁是一个带。

感谢您的回答!也就是VASP等程序无法区分某个能量本征值究竟属于哪个能带!
路在脚下!
3楼2010-04-21 11:24:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zhjh888888 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 2026国自然函评费到账 +3 羊腰板 2026-08-21 3/150 2026-08-21 19:42 by kulium
[基金申请] 科研孤儿太难了 +16 我4大白菜 2026-08-20 17/850 2026-08-21 19:07 by sakuraai
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +15 医学老男孩 2026-08-20 19/950 2026-08-21 18:54 by 医学老男孩
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 人气不行了 +7 fansofjerry 2026-08-21 7/350 2026-08-21 14:13 by Vivilian
[基金申请] 感觉是下周放榜了 +7 angus9576 2026-08-17 12/600 2026-08-21 13:38 by weiyin
[基金申请] 我面上完蛋了 +7 且听虎啸 2026-08-20 8/400 2026-08-21 12:31 by 酷酷墨镜
[基金申请] 什么时候开奖? +7 CrisMessi 2026-08-18 7/350 2026-08-21 12:15 by weiyin
[基金申请] 时间戳又变了8-15 +15 archvillain 2026-08-15 27/1350 2026-08-21 11:32 by tim76
[基金申请] 今天基金会出结果吗?20260819 +15 kkkl_v 2026-08-19 16/800 2026-08-21 11:22 by 365372687
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[论文投稿] 投稿咨询 +5 wwm09 2026-08-17 7/350 2026-08-21 10:11 by 期刊论文帮手
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 今天系统多次维护,明天很可能放榜! +10 zju2000 2026-08-16 11/550 2026-08-20 20:02 by cl479861084
[基金申请] 时间戳变了,能看出什么问题? +18 基诺咪客 2026-08-17 23/1150 2026-08-20 17:19 by Godzela
[基金申请] 今天放榜吗? +14 布布和一二 2026-08-19 15/750 2026-08-19 18:07 by gltch
[基金申请] 2027广东省杰青 +4 奶牛小黑 2026-08-15 10/500 2026-08-19 11:02 by wanfengnew
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
[基金申请] 93BebMhtakh前后11位开头都是大写 +4 且听虎啸 2026-08-17 5/250 2026-08-18 00:49 by 蔡棒棒菂
信息提示
请填处理意见