



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、(完整)计算表面态的详细过程(完整)计算表面态的详细过程 编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)计算表面态的详细过程)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为(完整)计算表面态的详细过程的全部内容。表面态计算的详细过程其实,即算表面态的方法,本质上是计算任意指定原子在能带中占有的比重。第一步,计算.
2、按照一般的流程,作结构优化、静态计算、能带计算。如果,你的结构需要考虑范德瓦耳斯作用力,则在结构优化的计算中,选用合适的vdw计算方法;如果,你的计算需要考虑自旋轨道耦合,则在静态和能带计算的时候,加入soc的参数。在算能带的时候,根据你的需要,设定k点的轨道。因为算的是指定原子在能带中所占的比重,建议算能带的k点一定要多一些,这样点才可以在最终画出来的图中练成线,看出图案,比如101,甚至更大,这个可以调试。第二步,处理数据。首先,你要有一个可以算表面态的脚本,或者由这个脚本生成的小程序。以下是是fortran程序编写的脚本原文,可以用来处理由vasp计算的数据:!*!* 得出每种元素对每条
3、能带的每个k点的贡献值(大于给定的cutoff)! 所需文件poscar,potcar,procar,bnd.dat ! 输出文件pro,h/bnd_up.dat,h/bnd_down.dat! 是否考虑自旋! 根据pro文件确定cutoff!* program forprocar character(len=80) header,filenamecharacter(len=2)hcharacter(len=132) lineinteger spec_counter, lower, upperparameter (n=10000) character*4 aindex(n)character*
4、50 kp(:,:),pk(:,:) real kk(:,:,:),bb(:,:,:),natoms(:),b(:,:,:),cut(:) allocatable kk,bb,natoms,b,cut,kp,pk,natomjia(:)integer a,i,j,k,nk,nb,na,elen,nok,socc % open(20,file=procar)open(102,file=”pro) read(20,)read(20,30)nk,nb,nawrite(*,*)nk,nb,na 30 format(15x,i5,20x,i5,17x,i5) allocate(kk(nk,nb,na)!
5、*!* check the atom labels and species in potcar*!* open (15, file=potcar, status=old) elen=0 do while (。not。eof(15) read(15, (a), end=10) line if (index(line,vrhfin)。ne.0) then elen=elen+1 upper = index (line, :) - 1 lower = index (line, =) + 1 aindex(elen)=line(lower:upper) print*,aindex(elen) end
6、if enddo close(15)10 continue!*!* check the every species number in poscar!*allocate(natoms(elen)allocate(bb(nb,nk,elen))allocate(cut(elen))allocate(kp(nb,nk)allocate(pk(nb,nk)open(101,file=”poscar”)read(101,)read(101,*)read(101,)read(101,*)read(101,*)read(101,)(natoms(i),i=1,elen)close(101)continue
7、write(*,)a little propgram for procar, please write how many”write(*,)atoms do you want to deal with and give me their orderwrite(,)in the file named as input. write(*,)if your soc is open input 1, if soc is closed, input 0read(*,*)soc!*!数组归零,kk用来读取数据,bb用来对相对同k点求和!*do i=1,nkdo j=1,nbdo k=1,nakk(i,j,
8、k)=0enddoenddoenddo do i=1,nbdo k=1,nkdo j=1,elenbb(i,k,j)=0enddoenddo enddo do i=1,nbdo k=1,nkkp(i,k)=pk(i,k)=enddoenddo!*!*over vanish*ok*!*do i=1,nk read(20,) !读kpoint i之前的空格行 read(20,) !读过kpoint i 行 read(20,) !读过kpoint i之后的空格行 do j=1,nb read(20,) !读band i 行 read(20,*) !读band i之后的空格行 read(20,) !读
9、ion s.。无用行 do k=1,na !开始读i,下j,下的第k个原子的数据. read(20,40)header,kk(i,j,k) enddo !结束原子loop read(20,) !读band i统计tot行. if(soc=1)then !-if soc is open-do ii =1,na+1read(20,)enddodo ii =1,na+1read(20,)enddodo ii =1,na+1read(20,*)enddo!-endif read(20,) !读bad i 前的空格行. enddo !结束能带loop, enddo !结束k点loop40 format(
10、1x,a67,f5.3) write(,*)kk(1,1,1) !用来判断读对没有,对照这个输出和数据中的第一个值write(,)kk(nk,nb,na)!对照这个输出和数据中最后一个值 open(122,file=pro.dat)!-open(1101,file=”input”)read(1101,*)njiaallocate(natomjia(njia)read(1101,*)(natomjia(i),i=1,njia) write(,*)”选择你想要的模式:1。求和原样输出;2。按标准归0和归1输出 read(*,)modeif(mode=2)thenwrite(*,)判断依据的设置大小
11、”read(,*)biaozhuiendif!-tot=0do i=1,nb do j=1,nk tot=0 !所关心的那一部分原子 do k=1,njia tot=kk(j,i,natomjia(k)+tot enddo!-mode2 归0归1-if(mode=2)then tot2=0 !所有原子 do k=1,na tot2=kk(j,i,k)+tot enddo if(tot/tot2biaozhui)then tot=1 else tot=0 endifendif!-write(122,10101) tot enddowrite(122,*)enddo10101 format(1x,
12、100f12。6) end将以上可执行的脚本,输出为procarchuli-2.exe的可执行程序(当然,也可以直接用脚本来处理数据)用procarchuli2.exe处理数据的过程:1. 将可执行程序procarchuli2。exe和输入文件放在一起2. 输入文件包括poscar(删除原子符号行)、potcar、procar、input3. input中内容第一行:需要处理的原子总数(不是全部原子)第二行:需要处理的原子编号(按照poscar中原子的顺序)4. 双击程序procarchuli-2.exe第一步:考虑了soc则输入1,否则输入0第二步:选择模式,选择1,原样输出,选择2按照一定
13、的标准将数值归0,归1. 第二步选择二,则进入第三步,输入归0,归1的标准第三步:输入合适的判断标准,比如0。3,0。48,0.5。运行成功之后,输出文件pro.dat5. 用vasp_band.exe小程序处理eigenval,输入费米能,得到band。dat文件,将band.dat、pro.dat文件拖到origin中对比作图,将pro.dat设置为原来能带图上的比重。6. 怎样将比重在oringin图中显示:将能带和比重的数据分别拖到origin中。将比重的数据添加到能带数据的第三列选中第一二列作点线图双击图标的点线,进入编辑,size选择col(c),调整scaling,调整大小,点击
14、倒三角,设置图形,选择edge color-individual选择单一的颜色,也可以选择彩色。得到的图:根据需要调整坐标等参数图中圆圈的大小,就代表表面态原子所占的比重。举例:我们算了一个6ql bi2te3bi异质结,想要知道表面2ql bt和bi层的能带,而且将表面2ql bt和bi层分别用不同的颜色在图中表示出来:首先按照求表面态的方法,分别得到几种原子的表面态的图。比如:1)先得到表面bi原子的数据修改input,数目改成2,表面bibi原子的编号: 21 26处理procar,得到数据pro,修改为pro-bi2)再得到表面2ql-bt原子的数据修改input,数目改成10,表面2ql bt的原子标号:11 12 13 15 17 18 20 22 23 25处理procar,得到数据pro,修改为pro-2ql3)vaspband处理eigheval得到的能带数据band.dat,将其导入oringin中,然后,将pro-bi和pro2ql导入oringin,将pro-bi和pro2ql的数据分别添加到第三列和第四列,然后做图的时候,分别将能带的大小表示为第三列和第四列,得到下面两个图:4)将这两个图合并为一个图:gra
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 文件管理核心思想体系
- Brand KPIs for online betting:Ganabet Sportium sportium in Mexiko-英文培训课件2025.5
- 2025届高考物理大一轮复习课件 第六章 微点突破4 变力做功
- 5G+AI大模型智慧港口解决方案
- 2025年全民科学素质竞赛网络知识竞赛试题库及答案(共140题)
- 消化内科选择试题及答案
- 西医妇产科试题及答案
- 2025咨询服务合同模板
- 家电公司的背景意义及必要性
- 2025建筑加固改造工程合同协议书(标准版)
- 幕墙质量策划
- 儿童故事绘本愚公移山课件模板
- 2025届江苏省徐州市部分学校中考生物押题试卷含解析
- “SMART BIM”智建时代-BIM技术应用知到智慧树章节测试课后答案2024年秋青岛工学院
- 《封闭煤场技术规程》
- 智联国企行测笔试题库
- 【MOOC】西方园林历史与艺术-北京林业大学 中国大学慕课MOOC答案
- 首都经济贸易大学《英语基础写作》2022-2023学年第一学期期末试卷
- 高级思辨英语视听说(浙江越秀外国语学院)知到智慧树章节答案
- 场地平整施工组织设计-(3)模板
- -110-千伏输变电工程地质灾害危险性评估
评论
0/150
提交评论