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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

VASP处理splitdos.docx

1、VASP处理splitdos实例1split-dos的工作原理我算了一个BaTiO3单胞,5个原子,加上总的态密度应该一共6组数据。但是计算结果的DOSCAR中却有1+5*7,36组数据,不知道每组数据对应什么?用split-dos脚本处理之后,确实生成了DOS0DOS5,这是怎么生成的?脚本看不懂,望指教其原理。我对比过DOS4和DOSCAR,里面的数据没相同的。PS:是不是一定要运行vp后才能运行split-dos?split_dos是把费米能级算进去了的,所以能量会有不同 但是其他的应该只是从DOSCAR里面提取出来的。可以给我发第一列是能量 后面的分别是s-up s-down p-up

2、 p-down d-up d-down从 脚本上看 vp 不是必须的实例2电子态密度图是怎么做的?我看好多文献在做电子结构计算时,都有态密度图,请问这是怎么作的?装个p4vasp,里面可以导入计算所得到的vasp.xml文件,选择electronic - DOS+BAND就可以画出态密度图,然后Graph - export 就可以到处数据到Origin中画图。p4vasp还可以处理各种PDOS,并自动把自旋向下的电子态密度数据设为负值,非常方便。我不用P4VASP 行吗?直接从DOSCAR里找出数据画图或者用split-dos给分割一下之后画图 这样做也是正确的吧?实例3split_dos运行

3、我将split_dos 和vp放在vasp第一次运行后的同一个目录下,然后运行,出现结果./split_dos94: /vp: not found No such file or directory请问是什么原因,在split_dos应该修改路径吗赋予执行属性是chmod 755 split_dos吧 我赋予了呀。split_dos中不用改路径吗,我的目录下都没bin文件那就是你缺少一个vp修正版的splitdos有三个文件:vp、 sumdos和split_dos.ksh实例4散尽金币求split_dos 运行1 我将split_dos 与vp 放在 需要计算的文件夹下 然后在当前目录运行

4、sh split_dos出现以下错误zhangkunzhangkun-desktop:/band750$ sh split_dos: not found2: : not found3: : not found8: : not found11: : not found12: : not found18: : No such file or directoryset: 20: Illegal option -Azhangkunzhangkun-desktop:/band750$请问是怎么回事 ?怎样才能计算出呢 2 还有为什么我自己编译的vasp p4vasp 不能读入vasprun.xml文件呢

5、有没有别的方法 求的局域态密度的呢 我用了split-dos 通过读入procar文件 这几个需要输入的参数是什么含义啊 为什么会显示数组越界呢我有自己些的分开DOS文件的shell,不知道和你用的split_dos功能一样不,如果需要站内PM我运行shell时不用 sh split_dos直接 . split_dos就行了我有自己些的分开DOS文件的shell,不知道和你用的split_dos功能一样不,如果需要站内PM我实例5VASP计算出来的PDOS怎么画图啊?求指教用origin 画图软件画,你把VASP计算出来的PDOS弄成txt格式(当然得从DOSCAR 中 split dos 得

6、到,这个需要小程序,你自己搜一下),有两列,一列能量,一列态密度,直接用origin打开就行。这个软件很有用的,像画能带结构什么的都是用的到的。做分子模拟和材料计算 material studio 和 origin 是必不可少的,论坛上有这两个软件的教程,自己学习一下。还有就是计算然后: ./split_dos这样他就会帮你执行啦实例6VASP 分波态密度求助: 我算一个有Zn,O,H的体系,在用VASP计算态密度的时候,用的是PAW势,在INCAR里设置LORBIT=11计算, 用split-dos程序分割每个原子的分波态密度,竟然在O原子里看到了有d电子的成分,觉得很奇怪,后来以为是INC

7、AR的设置有问题,于是舍弃LORBIT=11, 换成RWIGS ,将Zn,O,H三个元素的Weige-Size 半径写到INCAR里,可是最后得到的DOSCAR里连每个原子的dos 都没有,只有一个总的dos.请教大家一下,这到底是为什么,要如何设置才能得到每个原子正确的分波态密度。应该还是要设LORBIT=11这个参数的,至于O出现d的成份,很正常,因为PAW里面O默认的RWIGS偏大有可能把金属原子的d成份包括进去了,不过你可以把O原子所谓的p和d画在一起看看,你会发现d相对于p来说很小,几乎可以忽略不计,而且其所在的能量范围也比p高(可能就是金属原子的d所在能量范围)。我查了一下O的do

8、s,发现d电子的量还是非常大,在有的能级上能和O的p电子同量级,甚至有的比p电子的量还大。这是一个O原子的PDOS,第二个是第一个在费米能级附近的放大图曾经尝试过手动输入RWIGS,调节O的RWIGS,当然我的体系中只含一个氧原子,调节总的DOS影响不大,且尽可能保证OUTCAR中的volume of typ 接近100%。可以消除O的D态。至于楼主说的没有分波态密度,猜测莫非不是静态计算,因为优化过程不产生DOS。实例7怎样移动态密度图DOS的费米能级Ef才是正确的呢?问题:为了同其他模型对比,计算出了晶体硅Si在gama点的态密度图,如下图所示,但老师说费米能级是错的。计算按标准计算DOS

9、步骤进行,经过了自洽计算-非自洽计算-DOSCAR分割,使用vdos脚本分割DOSCAR时已经自动移动了费米能级。可是经过这样做得到的费米能级似乎是错的,其位置应该是在红色点线附近才对。不知应该怎样移动费米能级才是正确的呢?从图中看应该移动大约2 eV左右,但这个值从哪里得到。盼高手解答。附:1、晶体硅Si的计算模型图2、VASP计算的INCAR文件、KPOINTS文件。INCAR文件(非自洽计算)general:System = Crystal Si cellISTART = 0 ; ICHARG=11 #自洽计算 ICHARG=2; 非自洽计算 ICHARG=11PREC=Accurate

10、ENCUT=320ISMEAR = 0; SIGMA = 0.1IALGO = 48GGA=91ISPIN=2VOSKOWN = 1AMIX=0.2BMIX=0.0001AMIX_MAG=0.8BMIX_MAG=0.0001MAGMOM= 8*0LREAL = .FALSE. #option for system contain less than 20 atomsNPAR = 1LWAVE = .F.LORBIT = 1 #非自洽计算选项,计算spd分波态密度RWIGS = 1.312非自洽计算gama点态密度DOS时的KPOINTS文件:K-Points0Gama1 1 10 0 0费米能

11、级的移动是什么意思呢?费米能级不是确定的吗?在自洽计算得到的OUTCAR文件中有的。在非自洽计算得到的OUTCAR文件中也有的。这两处得到的费米能级有些差别,有的似乎较大。做split dos的时候,会从与DOSCAR放在一起的的OUTCAR文件中读费米能级E-fermi。然后就自动以这个费米能级为零点。我个人觉得,费米能级算不准,不同软件,以及vasp中静态自洽和非自洽计算结果也有差别。所以有文献干脆不提费米能级,而只以价带顶为参考零点。你的体系并不大,静态自洽的K点只取一个似乎不好,可以取7*7*7.费米能级是否能算的准,比如费米能级是否能出现在浅受主能级与价带顶之间,或者本征绝然体带隙正

12、中间?我没有算出来过。1、费米能级是能够确定的。费米能级由vdos脚本(或split_dos脚本)自动从DOSCAR中抽取出来的,然后得到上面的DOS图。2、k点是故意选成单个gama点的。由于我想看gama点的态密度,所以只设定了一个k点,因而k点个数是不必增加的。3、费米能级的确会算不准。之前查看过自洽计算和非自洽计算的OUTCAR,它们的费米能级有差别,因而在作图时应该考虑自洽计算和非自洽计算费米能级的差值。我的困惑在于,现在图中标示的费米能级是错的,应该是在大约红线的位置,可是不知怎之前的自洽计算,k点取了多少?自洽计算时的KPOINTS文件:K-Points0m11 11 110 0

13、 0实例8怎么使用DOSCAR画出DOS图形我安装好VASP好长时间了,但是一直没有用过。这几天用别人的一个实例运行了一下,得到一些输出文件,但不知如何画DOS图。不知道如何由输出文件DOSCAR,提取有用数据从而得到DOS图形。请教大家:大致步骤和所用的工具。另:我机器上安装过了Origin8.0。好像直接可以输出DOS图!搜索下 P4VASP 或者split-dos 软件 都可以画dos附件中的程序可以帮你处理,你用下看看总DOS一般没多大用,一般投影到原子或轨道上更有用些。找到你要的那个原子,直接把数据拷出来,用ORIGIN画就是了直接拷贝出来画图即可 如果你既做了自旋极化,又做了轨道投

14、影,一般DOSCAR的结构为前301行的5列是:能量值 自旋向上的总态密度 自旋向下的总态密度 自旋向上的电子数 自旋向下的电子数 后面的是:能量值 s-up s-down py-up py-down pz-up pz-down px-up px-down dxy-up dxy-down dyz-up dyz-down dz2 -up dz2-down dxz-up dxz-down dx2-up dx2-down 类推吧在linux下你可以用xmgrace 或者用p4vasp先处理一下,再用xmgrace推荐是gnuplot,可以写一个批处理文件,以后画同一类型的都可以统一画实例9DOSCA

15、R分割问题请教大家,vasp 计算的结果 输出有个DOSCAR文件,用于分析态密度的我用split_dos 工具分割此文件 ,会出现DOS0,DOS1.; DOS1是第一个原子的分波态密度值,其中的第一列数据是能量值,第二、三、四列数据分别对应于s、p、d态的分波态密度值. 问题出现了,我这个原子没来d轨道,竟然出现第四列,这是上面原因呢?第4列上的数字是0么?建议你用p4vasp做DOS图,快些我没有设LORBIT 这个参数 按理 应出现energy s-DOS p-DOS d-DOS 我这个原子没来d轨道,竟然出现第四列 而且第四列不是0 不管算什么都会有d电子出现的。正常情况下d的值应该

16、很小才对,画的时候可以忽略掉。实例11同样情况下,不同的导出数据方法 态密度怎么不一样RT我是将DOSCAR中的数据转换成图中黑色的线,然后用小程序spilt_dos分出DOS0后,得到图中的红线,很明显,两者像是平移了一样,我有点怀疑是菲米能级的问题,用split_dos时其费米能级用的是静态计算的OUTCAR里的,但又不是很明白,麻烦大家帮帮忙。另外,我用split_dos分出每一个原子的态密度之后,我想知道某些个原子的态密度的共同贡献,怎么处理呢,总不能一个一个DOSi 相加吧,这工作量很大啊,不知道高手们是怎么处理的?你的菲米能级不一样造成的,自己看DOSCAR,确定那个的菲米能级是对

17、的吧恩 查了一下 应该是DOSCAR是以真正的费米能级,而split_dos 则是以零为费米能级的 。请问您试着叠加过很多原子的DOS么?不能手动相加吧没有 但是你可以徐程序相加 或者通过origin,excel也行origin怎么相加啊 我的大约要相加100多个原子,而且每个原子的态密度文件中又是分S.P.D的实例12读懂split_dos,学会linux shell编脚本处理数据下面是处理VASP输出数据得到态密度的脚本文件split_dos,与它配合的vp没有贴出来。学习vasp如果会一些shell编程,对vasp的运用会更灵活方便。这个程序听说比较老,有些问题,不能直接用来处理vasp

18、4.6及以上版本的数据,也不能处理f电子。有兴趣的可以关注一下,看看语法本身,或者提出修改意见,都有BB鼓励。:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D#!/bin/ksh# Script to break the VASP DOSCAR file into segments for# each atomic site. # JMS NRL 5/0/02# Modified to also align the Fermi level from the ground state# to E=0.0# JMS NRL 6/1

19、9/02# Executables reside hereBIN=/bin #把这里修改为vp保存的路径。然后把split_dos的路径添加到PATH中。if $# -ne 0 ; then #直接在shell提示符下输入split_dos运行,否则提醒Usage: split_dos,返回信息2. echo Usage: split_dos exit 2fi# Script to split the DOSCAR file into the atomic# projections labeled by atom numberdosfile=DOSCARoutfile=OUTCARinfile

20、=INCAR# Token for splitting the filestoken=$(sed -n 6 p $dosfile | awk print $1) #这个token后面好像没有用到,有什么用呢?# Number of pointsnl=$(sed -n 6 p $dosfile | awk print $3)# Number of atomsnatom=$(sed -n 1 p $dosfile | awk print $1)# Get the Fermi level if the OUTCAR file is present,# else we set it to zero.i

21、f -a $outfile ; then echo The $outfile exists, we use it to get the Fermi level, echo the RWIGS tag and the number of spins. efermi=$(grep E-fermi $outfile | tail -1 | awk print $3) echo Fermi level: $efermi nspin=$(grep ISPIN $outfile | tail -1 | awk print $3) if $nspin -eq 2 ; then echo Spin polar

22、ized calculation else echo Unpolarized calculation fi# 2.a# JMS 2/3/03 Modified to accept specification by LORBIT token. # lorbit=$(grep LORBIT $outfile | tail -1 | awk print $3) if $lorbit -ge 10 ; then echo LORBIT 10 echo WARNING: not completely test for vasp.4.* echo Use at your own risk. Please

23、check results for consistency. form=1 else# 2.a rwigs=$(grep RWIGS $outfile | tail -1 | awk print $3 | sed s/./g) if $rwigs -eq -100 ; then echo RWIGS token not set form=0 else echo RWIGS token set form=1 fi# 2.a fi# 2.aelse echo The $outfile does not exist, we set the Fermi level to 0 echo assume a

24、n unpolarized calculation, and RWIGS not set form=0 nspin=1 efermi=0.0fi# If the outcar file is not present and you wish to set something by hand# you should do it here. Uncomment the tokens below and set them by hand.#efermi=2.255#form=#nspin=# Get the atomic coordinates$BIN/vp | tmp.dattail -$nato

25、m tmp.dat | awk printf %s %12.8f %12.8f %12.8f n, #, $2, $3, $4 | tmp.dat2# Total is first DOSif $form -eq 0 ; then #这个很怪,为什么不直接i=0呢?i=0elsei=0fi start=7end=$(start+nl-1)#echo $start $end#exit 0rm -f DOS0if $form -eq 1 ; then while $i -le $natom ; do #echo $i $start $end if $i -gt 0 ; then sed -n $i

26、 p tmp.dat2 | DOS$i #读入对应原子位置坐标到DOSi第一行 fi if $i -gt 0 ; then# Atomic projected DOS if $nspin -eq 2 ; then sed -n $start,$end p $dosfile | awk printf %12.8f %12.8f %12.8f %12.8f %12.8f %12.8f %12.8f n, $1+(-1)*$efermi, $2, -1*$3, $4, -1*$5, $6, -1*$7 DOS$i else sed -n $start,$end p $dosfile | awk pr

27、intf %12.8f %12.8f %12.8f %12.8f n, $1+(-1)*$efermi, $2, $3, $4 DOS$i fi else# Total DOS if $nspin -eq 2 ; then sed -n $start,$end p $dosfile | awk printf %12.8f %12.8f %12.8f %12.8f %12.8f n, $1+(-1)*$efermi, $2, -1*$3, $4, -1*$5 DOS$i else sed -n $start,$end p $dosfile | awk printf %12.8f %12.8f %

28、12.8f n, $1+(-1)*$efermi, $2, $3 DOS$i fi fi start=$(end+2) end=$(start+nl-1) i=$(i+1) doneelse while $i -le 0 ; do #这个奇怪,为什么要讨论i=0吗?前面已经全部包含了的呀? #echo $i $start $end if $i -gt 0 ; then sed -n $i p tmp.dat2 | DOS$i fi if $i -gt 0 ; then# Atomic projected DOS if $nspin -eq 2 ; then sed -n $start,$end

29、 p $dosfile | awk printf %12.8f %12.8f %12.8f %12.8f %12.8f %12.8f %12.8f n, $1+(-1)*$efermi, $2, -1*$3, $4, -1*$5, $6, -1*$7 DOS$i else sed -n $start,$end p $dosfile | awk printf %12.8f %12.8f %12.8f %12.8f n, $1+(-1)*$efermi, $2, $3, $4 DOS$i fi else# Total DOS if $nspin -eq 2 ; then sed -n $start

30、,$end p $dosfile | awk printf %12.8f %12.8f %12.8f %12.8f %12.8f n, $1+(-1)*$efermi, $2, -1*$3, $4, -1*$5 DOS$i else sed -n $start,$end p $dosfile | awk printf %12.8f %12.8f %12.8f n, $1+(-1)*$efermi, $2, $3 DOS$i fi fi start=$(end+2) end=$(start+nl-1) i=$(i+1) donefiexit 0你自己用fortran写个都比这个简单多了.呵呵,想学学linux的shell编程,觉得shell编程比fortran好用呢。不过我不是反对fortr

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

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