24小时热门版块排行榜    

查看: 3133  |  回复: 5

qli0218

木虫 (小有名气)

[交流] MS能带处理方法程序

虫友们,大家好,我现在在处理ms能带的时候发现要重新作图的时候是一件非常麻烦的事情,我在网上查找了一下,发现了ms_bandstructure.exe这个程序,但是我一直没有下载到,不太清楚现在大家都如何处理这个数据。所以我一狠心决定自己处理一下,我之前编写过处理基于ms态密度的d-band center计算程序,我已经把我的程序源代码附录在我的博士论文里了,所以再写程序就很轻松了,不过我依然只是个业余选手,比不上高大上的程序,我的目的只有一个,能用就行。但是还有几个问题需要虫友们帮助解答,可能问题有点菜,但还是希望能给予帮助:

1、ms画出的能带图中如果有alpha和beta两个内容的话,带隙如何计算?是单独计算各自的还是两个合并起来计算?
2、能带图中的0 ev是否就是费米能级,若不是的话是不是在bandstr文件里的:
fermi energy:          -0.187537 ha      -5.103 ev   -kts_e= -0.0013020ha
dft energy gap:          0.053546 ha      1.457 ev
valence band edge:      -0.214375 ha     -5.833 ev
conduction band edge:   -0.160829 ha     -4.376 ev
这里的fermi energy是么?
3、我想弄清楚上面两个问题,在这基础上完善我的程序。此外就是各位宠友们还可以通过能带图处理出什么样的数据,都可以一起交流,然后我慢慢的加到我的程序中去,逐渐完善。在此,我可以把我的第一稿源文件发布在此,大家一起交流,一起让处理数据不那么麻烦。

谢谢大家!!

源程序:(里面有使用方法,这个程序是以0 ev为参照点,能得到带隙,0点上下各五条能带线的整理,得到.dat文件后可以直接导入origin里面进行绘图)
CODE:
        program msbs
        implicit none
        integer::i,j,k,n,l
        real*8,dimension(:,:),allocatable::d
        character(len=1)::a
        character(len=30)::a1
        write(*,'(15x,"该软件为计算处理ms band structure小程序")')
        write(*,'("使用方法:")')
        write(*,'("1、在ms中画出band structure;")')
        write(*,'("2、将band structure图export为.csv格式文件;")')
        write(*,'("3、将得到的文件用exel打开,设置数据格式为15位小数;")')
        write(*,'("4、再将此文件另存为.txt文件。")')
        write(*,'("于是即可利用此程序处理band structure数据")')
        write(*,'("得到dat文件可直接导入到origin中作图")')
        write(*,'("注意:文件名由数字和字母组成,不区分大小写,最长30
        1字节")')
        write(*,*)
        write(*,'("--------------------")')
        write(*,*)
        write(*,'("请输入分析的文件名:(不用写后缀)")')
        read*,a1
        open(1,file=trim(a1)//'.txt',status='old',access='sequential',
        1form='formatted',action='read')
        open(2,file=trim(a1)//'.dat',status='replace',access='sequential',
        1form='formatted')
        i=0
        n=0
        do
        read(1,'(a1)',iostat=l)a
        if (l/=0) exit
        if (a=="1") n=n+1
        i=i+1
        end do
        allocate(d(i/n-1,n+1))
        rewind(1)
        do j=1,i/n-1
        read(1,'(f17.15,f21.15)')d(j,1),d(j,2)
        end do
        k=3
        read(1,*)       
        do j=i/n+1,i
        if (mod(j,i/n)==0) then
        k=k+1
        read(1,*)       
        else
        read(1,'(a30)')a1
        backspace(1)
        if (a1(20:20)=="-") then
        read(1,'(17x,f21.15)')d(mod(j,i/n),k)
        else
        read(1,'(17x,f20.15)')d(mod(j,i/n),k)
        end if
        end if
        end do
        do j=2,n+1
        if (maxval(d(:,j))*minval(d(:,j+1))<=0) then
        print*,abs(minval(d(:,j+1))-maxval(d(:,j)))
        exit
        end if
        end do
        k=j
        do j=1,i/n-1
        write(2,'(2x,11f9.4)')d(j,1),d(j,k-4:k+5)
        end do
        deallocate(d)
        close(1)
        close(2)
        end program msbs

再次希望大家给予帮助,集大家的力量完善这个程序。谢谢!!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小红豆

主管区长 (知名作家)

优秀区长优秀区长


小木虫: 金币+0.5, 给个红包,谢谢回帖
费米能级只有一个吧

发自小木虫IOS客户端
2楼2018-12-18 22:17:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qli0218

木虫 (小有名气)

引用回帖:
2楼: Originally posted by 小红豆 at 2018-12-18 22:17:27
费米能级只有一个办

只有一个“办”是什么意思?我就想知道MS里面画出来的能带图是不是已经把费米能级移动到了0 eV。谢谢!
3楼2018-12-20 11:22:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小红豆

主管区长 (知名作家)

优秀区长优秀区长

★ ★ ★ ★ ★ ★
小木虫: 金币+0.5, 给个红包,谢谢回帖
qli0218: 金币+5, 谢谢,那我可以对alpha和beta的情况在程序里进行一个合并了,谢谢! 2018-12-20 22:25:13
引用回帖:
3楼: originally posted by qli0218 at 2018-12-20 11:22:19
只有一个“办”是什么意思?我就想知道ms里面画出来的能带图是不是已经把费米能级移动到了0 ev。谢谢!...

打错字了。
按照费米能级的定义:温度为绝对零度时固体能带中充满电子的最高能级。费米能级具有唯一性。

1.合并
2.fermi energy=费米能级
4楼2018-12-20 14:21:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tsglss

铁杆木虫 (著名写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
请问,ms_bandstructure.exe在哪里下?有什么用处?这个程序能对能带进行能带展宽吗?谢谢

[ 发自手机版 http://muchong.com/3g ]
做好自己
5楼2018-12-20 22:07:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qli0218

木虫 (小有名气)

引用回帖:
5楼: Originally posted by tsglss at 2018-12-20 22:07:36
请问,ms_bandstructure.exe在哪里下?有什么用处?这个程序能对能带进行能带展宽吗?谢谢

ms_bandstructure.exe应该就是一个把MS计算出的能带转化成可以导入Origin的格式文件的程序,我也是因为在网上找了好长时间找不到,才自己编程序做了这么一个东西。至于能不能对能带进行能带展宽我也不太清楚,我现在也在慢慢学习这方面的知识,还不太明白什么是展宽,如果可以的话,您可以告诉我计算展宽的方法,我写到我的程序里,这样我的程序还能逐渐发展。谢谢!
6楼2018-12-20 22:23:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 qli0218 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +9 majunge000 2026-08-11 11/550 2026-08-15 23:20 by botar
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +31 医学老男孩 2026-08-13 68/3400 2026-08-15 23:19 by 医学老男孩
[基金申请] 时间戳又变了8-15 +12 archvillain 2026-08-15 23/1150 2026-08-15 20:47 by foyo404
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +12 Tide man 2026-08-10 13/650 2026-08-15 16:34 by 氺木
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +7 启萌科技 2026-08-12 22/1100 2026-08-14 23:45 by Noways
[基金申请] 应该是93bebmhtak前后十一个字符比较关键 +23 Lanmanbaby 2026-08-09 37/1850 2026-08-14 13:40 by Equinoxhua
[基金申请] filecode +15 documentary 2026-08-10 17/850 2026-08-14 10:08 by kissu88
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +10 家与远方 2026-08-10 15/750 2026-08-14 02:08 by 绵羊哥哥
[文学芳草园] 阿姨 +4 汪汪锅 2026-08-09 4/200 2026-08-13 19:43 by arzu_hma
[基金申请] 静等基金结果 +8 gjjjzhong 2026-08-10 21/1050 2026-08-13 17:56 by 且听虎啸
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] 分享一下我之前已中青C的计划书的filecode +4 布布和一二 2026-08-11 5/250 2026-08-13 12:56 by cratir
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
[基金申请] 帮忙看看fileCode +7 wwncly 2026-08-10 13/650 2026-08-11 19:36 by 冰心玉壶晴
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
[基金申请] 面上项目filecode邪修 +5 西山十月 2026-08-09 7/350 2026-08-10 07:32 by 仁砚薪传
信息提示
请填处理意见