ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:29.55KB ,
资源ID:6840707      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6840707.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VASPdospsocarf.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

VASPdospsocarf.docx

1、VASPdospsocarf实例1如何用gcc编译dos-procar.f来处理VASP计算得到的procar如题,VASP计算pdos,含d电子分裂,想在生成的PROCAR中提取数据,然后画图,据说dos-procar.f(PROCAR lm decomposed + phase factor# of k-points: 63 # of bands: 184 # of ions: 48k-point 1 : 0.00000000 0.00000000 0.00000000 weight = 0.00165289band 1 # energy -0.44451898 # occ. 2.0000

2、0000ion s py pz px dxy dyz dz2 dxz dx2 tot 1 0.017 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.002 0.018 2 0.017 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.002 0.018 3 0.017 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.002 0.018 4 0.017 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.002 0.018 5 0.017 0

3、.000 0.000 0.000 0.000 0.000 0.000 0.000 0.002 0.018 6 0.017 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.002 0.018 7 0.017 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.002 0.018 8 0.017 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.002 0.018 9 0.017 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.002 0.018

4、 . edited by zhjh888888 z which f77which: no f77 in (/shared_scratch/pgi.714/linux86-64/7.1-4/bin/:/home_n22/xqdai2/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/gnome/bin:/opt/kde3/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin:/usr/local/maui/sbin:/usr/local/maui/bin)on gcc -o dos-procar

5、.x dos-procar.f In file dos-procar.f:1implicit real*8(a-h,o-z) 1Error: Non-numeric character in statement label at (1)In file dos-procar.f:1implicit real*8(a-h,o-z) 1Error: Unclassifiable statement at (1)In file dos-procar.f:1101000 continue 1Error: Bad continuation line at (1)In file dos-procar.f:1

6、101000 continue 1Error: Unclassifiable statement at (1)In file dos-procar.f:113 do k = 1, nk 1In file dos-procar.f:90 2Error: Variable k at (1) cannot be redefined inside loop beginning at (2)In file dos-procar.f:117 do k = 1,nk 1In file dos-procar.f:90 2Error: Variable k at (1) cannot be redefined

7、inside loop beginning at (2)In file dos-procar.f:121101 format(10x,f9.5) 1Error: Bad continuation line at (1)In file dos-procar.f:121101 format(10x,f9.5) 1Error: Unclassifiable statement at (1)In file dos-procar.f:122102 format(f10.5) 1Error: Bad continuation line at (1)In file dos-procar.f:122102 f

8、ormat(f10.5) 1Error: Unclassifiable statement at (1)In file dos-procar.f:123103 format(20a4) 1Error: Bad continuation line at (1)In file dos-procar.f:123103 format(20a4) 1Error: Unclassifiable statement at (1)In file dos-procar.f:124104 format(16x,i3,20x,i5,19x,i4) 1Error: Bad continuation line at (

9、1)In file dos-procar.f:124104 format(16x,i3,20x,i5,19x,i4) 1Error: Unclassifiable statement at (1)In file dos-procar.f:125105 format(10x,i3,5x,3f11.8,13x,f11.8) 1Error: Bad continuation line at (1)In file dos-procar.f:125105 format(10x,i3,5x,3f11.8,13x,f11.8) 1Error: Unclassifiable statement at (1)I

10、n file dos-procar.f:126106 format(4x,i4,9x,f14.8,7x,f12.8) 1Error: Bad continuation line at (1)In file dos-procar.f:126106 format(4x,i4,9x,f14.8,7x,f12.8) 1Error: Unclassifiable statement at (1)In file dos-procar.f:127107 format(3x,4f7.3) 1Error: Bad continuation line at (1)In file dos-procar.f:1271

11、07 format(3x,4f7.3) 1Error: Unclassifiable statement at (1)In file dos-procar.f:134 do k = 1,nk-1 1In file dos-procar.f:90 2Error: Variable k at (1) cannot be redefined inside loop beginning at (2)In file dos-procar.f:148 do k=1,nk 1In file dos-procar.f:90 2Error: Variable k at (1) cannot be redefin

12、ed inside loop beginning at (2)In file dos-procar.f:1899000 continue 1Error: End of nonblock DO statement at (1) is interwoven with another DO loopIn file dos-procar.f:192 end 1Error: END DO statement expected at (1)Error: Unexpected end of file in dos-procar.f请问运行 gcc -o dos-procar.x dos-procar.f 后

13、,出现了以上错误是什么原因?谢谢实例2关于VASP计算PDOS的疑问在计算完TDOS和PDOS之后,不知道怎么将DOS图画出来。后来找了个dos-procar.f的小脚本,不知道对不对。在处理之后得到的结果看不懂,以O原子为例:本来O有s p 两个轨道,但是得到的ldos中一共有5列,其中第一列是能量,请问我怎么区分其余四列各是什么啊?还有就是各位有什么更好的处理方式么?用p4vasp作图,挺方便的。你可以到网上下载p4vasp。第2-5列分别是S、py、pz、px实例3有关DOSCAR,ldos和Pdos的疑问Ldos和Pdos的定义在网上见到过,但是关于DOSCAR还有些问题。1、貌似还有

14、一个Sdos,不知道这个是什么东西,是不是site dos?DOSCAR和用split_dos/vp分割出来的DOS0、DOS1中就应该是这个东西吧。2、用网上流传的一个Fortran程序dos-procar.f处理结果得到的Ldos的格式是怎么回事的?在ldos-dn.dat和ldos-up.dat中分别得到五行数据,第一行是能量,后四行是什么?3、Pdos可以从什么工具中得到?它的格式是怎么样的?Ldos应该是local dos,局域到特定的原子上面,split_dos得到的DOS1,DOS2就是每个原子上面的dos;Pdos应该是partial dos,就是吧dos分为s dos, p

15、dos, d dos这些原子轨道,是在整个晶体的Ldos为局域态密度,这个我有所了解。Pdos有人说是partial DOS,不过好像也见过有人解释为projected DOS。从split_dos.ksh和vp脚本得到的态密度跟DOSCAR一样的,只不过是把DOSCAR的各个原子的态密度分隔开了。从dos-procar.f中得到的是Ldos(ldos-up.dat、ldos-dn.dat),这个ldos文件中除了能量之外还有四列数据,不知道这四列数据的含义是什么。从命名上看,可能是自旋分开而已,4列可能是s p d f如果仅仅是将DOSCAR的自旋分开的话,应该是除了能量之外有9列:s py

16、 pz px dxy dyz dz2 dzx dx2-dy2。DOSCAR中没有f电子,ldos中怎么有了f电子?有几列要取决你有没有算LORBIT=11的计算了。DOSCAR可以没有,但是我不知道那个程序会不会产生0的一列。你知道,如果它去判断有几个原子轨道很麻烦的话,可能就直接假定有f电子,只是最后给出的f电子全为0就可以了dos=sdos+pdos+ddos实例4关于PROCAR和DOSCAR最近在ubuntu下用dos-procar.f文件画分态密度图,编译完运行的时候在输完gaussian smearing factor之后就出错退出。于是换了个split_dos来画,就画出来了。突

17、然觉得split_dos画的时候完全不需要PROCAR的数据,那么他给出来的数据跟PROCAR给出的数据应该是不同的吧?两者对应的态密度是一个东西吗?有人用两者画出来比较过吗?两者的态密度是一样的。楼上画出来比较过?但PROCAR文件比DOSCAR文件大好几倍喔,包含的信息应该不一样吧?PROCAR比DOSCAR多的地方是在各个方向上的投影,一般画DOS用DOSCAR即可split_dos是处理DOSCAR的。实例5VASP计算态密度出现问题我是用vasp小程序dos-procar.x做态密度地,按正常应该出现 dos-tot-dn.dat dos-tot-up.dat ldos-dn.dat

18、 ldos-up.dat 四个文件(自旋极化地计算)但是当我执行地时候却出现这样地问题:四个文件中都没有输出,不知为什么,具体执行是这样:Spin polarized calculation? (no=1,yes=2):2 Enter fermi energy: 7.998856which atom (na) you want to plot LDOS:1enter the gaussian smearing factor:0.2Segmentation fault不知哪里除了问题,初学VASP,请大侠指点还有就是ldos-dn.dat ldos-up.dat 正常输出地时候有5列,各列代表什

19、么意思?有两点可以考虑一下:1.查一下你的PROCAR是否正确2.网上流传的一下VASP后期处理程序都是针对当时VASP输出文件格式写的,有些输出文件格式在新版VASP中略有改变,如果1.没有问题,可以读一下dso-procar的源程序,看看是否和你的PROCAR文件格式匹配,不匹配的话,读入数据格式改一下就行了。VASP在5.0之后的POSCAR和以前不一样,所以很多程序都会出错,可能是这个原因你的体系包含几类原子?如果超过两类,读原子种类数目时会有问题,默认体系原子种类不超过两类,印象中前不久有虫子遇到过这个问题。解决办法是修改读入原子种类数目的格式,再编译.我这个体系五种原子,是不是这个

20、原因才没有输出啊?还有一个问题是是不是在输出地时候按原子种类,也就是在which atom (na) you want to plot LDOS:时候选择几种原子就会有几个输出文件,还是在ldos-dn.dat ldos-up.dat 两个文件中全部输出,比方说我在两个选项中选择第二个,第四个原子输出,我是不是应该这么写:which atom (na) you want to plot LDOS:2 4segment fault段错误,可能是程序的数组越界了,查看一下程序的数组定义,是否有长度比较小的我计算态密度地时候也遇到这个问题,但是不知道dos-procar.f怎么修改实例6怎么根据PR

21、OCAR作DOS和PDOS图大家好,计算DOS时得到PROCAR,准备学习画DOS和PDOS,共126个K点,每个K点100 bands,用lev00处理时提示缺少PROCAR或PROCAR错误,用p4vasp也打不开,请帮我看看PROCAR new format# of k-points: 126 # of bands: 100 # of ions: 24k-point 1 : 0.04166667 0.04166667 0.04166667 weight = 0.00462963band 1 # energy -29.57997136 # occ. 2.00000000ion s p d

22、f tot 1 0.233 0.000 0.000 0.000 0.233 2 0.233 0.000 0.000 0.000 0.233 3 0.233 0.000 0.000 0.000 0.233 4 0.233 0.000 0.000 0.000 0.233 5 0.000 0.000 0.000 0.000 0.000 6 0.000 0.000 0.000 0.000 0.000 7 0.000 0.000 0.000 0.000 0.000 8 0.000 0.000 0.000 0.000 0.000 9 0.000 0.000 0.000 0.000 0.00010 0.00

23、0 0.000 0.000 0.000 0.00011 0.000 0.000 0.000 0.000 0.00012 0.000 0.000 0.000 0.000 0.00013 0.000 0.000 0.000 0.000 0.00014 0.000 0.000 0.000 0.000 0.00015 0.000 0.000 0.000 0.000 0.00016 0.000 0.000 0.000 0.000 0.00017 0.000 0.000 0.000 0.000 0.00018 0.000 0.000 0.000 0.000 0.00019 0.000 0.000 0.00

24、0 0.000 0.00020 0.000 0.000 0.000 0.000 0.00021 0.000 0.000 0.000 0.000 0.00022 0.000 0.000 0.000 0.000 0.00023 0.000 0.000 0.000 0.000 0.00024 0.000 0.000 0.000 0.000 0.000tot 0.937 0.001 0.000 0.000 0.938这是其中一部分,下面还有band2-100,接着就是k-points2-126,很长的文件不知道大家都怎么处理DOS?学习VASP时间不长,还希望虫友们指点我使用DOSCAR处理的,应该和

25、PROCAR是一起出来的结果,里面很多列数据,第一列是能量,后面对应s, p_y, p_z, p_x, d_xy, d_yz, d_z2, d_xz, d_x2-y2轨道(VASP出来的结果应该顺序都是一样的)。数据上下顺序对应POSCAR里面的原子顺序lev00是处理电荷密度的,p4vasp我只用来打开过POSCAR,没试过PROCAR,可能不支持这种类型吧网上不是用vasp的一些tools吗,里面就有一个分析PROCAR的文件,文件名是dos-procar.f,你现将这个文件编译一下,然后就运行这个文件,他会提示你要干什么,运行完后,就可以得到totdos。dat 和ldos。dat,接着

26、用origin等画图就可以了。implicit real*8(a-h,o-z) parameter (nkd =900) parameter (nbd = 50 ) parameter (natmd = 20) parameter (ned = 1001) dimension dump(20),oc(nkd,nbd,natmd,4),eig_ev(nkd,nbd),wt(nkd) dimension ee(ned),gpdos(ned),gpdost(ned) dimension gpdos_s(ned),gpdos_p(ned),gpdos_d(ned) open(7,file=PROCAR

27、) pi = 3.141592654 write(*,*) Spin polarized calculation? (no=1,yes=2): read (*,*) ispin if (ispin.ne.1).and.(ispin.ne.2) then write(*,*) INPUT ERROR, ispin must equal to 1 or 2 stop endif if (ispin.eq.1) then open(31,file=ldos.dat) open(32,file=dos-tot.dat) elseif (ispin.eq.2) then open(31,file=ldo

28、s-up.dat) open(32,file=dos-tot-up.dat) open(41,file=ldos-dn.dat) open(42,file=dos-tot-dn.dat) endif write(6,*) Enter fermi energy: read(5,*) fermic write(6,102) fermi read(7,103) dump c write(6,103) dump write(6,*) which atom (na) you want to plot LDOS: read(5,*) na write(6,*) enter the gaussian sme

29、aring factor: read(5,*) gaussian do 9000 isp=1,ispin read(7,104) nk,nband,nionc write(6,104) nk,nband,nion if (nk .gt. nkd) stop nk too large emin = 1000.0 emax = -1000.0 do 1000 k = 1,nk read(7,103) dump read(7,105) kp,pt1,pt2,pt3,wt(k)c write(6,105) kp,pt1,pt2,pt3,wt(k) read(7,103) dump do nb = 1,

30、nband read(7,106) nb1,eig_ev(k,nb),occc write(6,106) nb1,eig_ev(k,nb),occ eig_ev(k,nb) = eig_ev(k,nb)-fermi if (eig_ev(k,nb) .gt. emax) emax = eig_ev(k,nb) if (eig_ev(k,nb) .lt. emin) emin = eig_ev(k,nb) read(7,103) dump read(7,103) dumpc write(6,*) nion=,nion niont = nion +1 if (nion .eq. 1) niont = 1 do ion = 1,niont read(7,107) (oc(k,nb,ion,j),j=1,4)c write(6,107) (oc(k,nb,ion,j),j=1,4) en

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1