而且带隙3.7ev,我得到1.5 ev。。。。在静态得到的DOS有3.6ev
貌似你没设置LMAXMIX=4还有你的赝势确定是PAW的吗?
用PAW91的,所以设了GGA=91,LMAXMIX=4是什么作用啊?我之前设过半径,结果也没用,DOS图一直顽固的对称着。。。带隙也没有变
手册上说 +U计算时 LMAXMIX=4 有助于收敛 ,在态密度、能带计算(ICHARGE=11)时必须设置为LMAXMIX=4 ,否则有较大误差。PAW 是赝势产生的方法,你说的GGA 赝势是PW91。因为这个参数设置针对的是PAW方法产生的赝势,所以我问你的赝势是不是PAW方法产生的。
那我就在DOS过程设置ICHARGE=1,LMAXMIX=4 试试。。。。。。看看能不能有奇迹出现。。。 ICHARGE=11 希望会有奇迹出现
ICHARGE=11我之前算态密度的时候有设置过,没有设过LMAXMIX=4,很多设置不太清楚,就都用默认的了。。。真希望DOS图不要再对称了。。。
这个材料是否既有FM又有AFM态呢?有没有可能是因为文献中计算的是FM态,而你得到的却是AFM态,因此你的DOS是对称的。
没用过vasp,猜测MAGMOM=4*0 16*0 4*0 4 -4 -4 4 这一行是设置初试自旋吧?那么4个铁原子似乎是反铁磁排列啊,如果材料确实有AFM态,那么你最终得到的是AFM态也就不奇怪了。
另外你\说得到带隙1.5 eV,在静态得到的DOS有3.6ev\这里应该也有问题,如果确实是这么大的差别,那应该是某个过程的参数设置有误。但不太明确你的计算过程,是relax与scf得到的gap不同,还是scf与计算DOS中的gap不同?
我是AFM计算
我明白文献中为啥不对称了,是数据处理过程跟我不一样 我现在就是纠结DOS过程的band gap跟文献不同 静态过程画出来3.6ev,DOS过程是1.5左右
很奇怪的是我DOS过程跳了8步之后又从头跳,从头跳2步就没了
AFM得到对称的结果应该是正确的。但文献得到图更像是FM,除非是用了某种诡异的表述方法,所以最好确认一下。
gap不同这个问题还是需要确定的。如果只是与文献有差别,那很可能仅仅是使用的U值,或是其他函数、计算方法的区别造成的。但现在是自身的计算之间就有这种差别,那就是有某个错误在里面了。
不了解vasp,所以也不知道你的输入文件有没有问题,你提到的DOS计算中的那个现象可能会有些线索在里面吧
另外你说的”静态过程画出来3.6ev“是怎么做的?vasp在scf之后会自动给出gap值吗?
我是用split-dos切分静态过程的DOSCAR得到3.6的 文献AFM跟FM的图都是不对称的
我现在就是在试一下参数然后改变U值来看看能不能得到3.7的结果
我现在就是不懂哪个参数有问题,然后慢慢试
取太少了 就会有变化的 把静态计算的k点加大点吧,算dos的时候就可以不变了
我按文献的取7*3*5 也试过大的11*11*11 计算的时候出过错误提示 所以我又改成文献里面的了
实例19
帮我看看这里错误提示是什么意思?
fortcom: Warning: ./mod.F90, line 32: Because of COMMON, the alignment of object is inconsistent with its type [B0]
real*8::r0(3,nat),a0(3,nat),v0(3,nat),b0(3,nat),r01(3,nat),wme(nel),fat(3,nat)
应该是你common里面的B0在不同小节程序里面的定义不同导致矛盾 是个程序问题,试试看修补或者升级能不能解决。
common块在数据对齐上是按照定义的顺序,一旦对齐错误轻则类型和数据错误,重则程序崩溃。
实例20
WARNING: not completely test for vasp 4*. 在计算电子态密度时,用split_dos处理DOSCAR时出现了:WARNING: not completely test for vasp 4*. use at your own risk.please check results for consistency.是由于什么原因造成的啊?望高手指教一二,不胜感激。
程序中这么写的
lorbit=$(grep \ if [ $lorbit -ge 10 ]; then echo \
echo \
echo \ form=1 else
意思是如果如果LORBIT>10它就会提示这条语句,放心不是错误。
实例21
DOSCAR用split_dos处理后不会看!
本人vasp初学,刚刚得到DOSCAR,然后用小工具split_dos处理,得到分割后的总态密度DOS0和各个原子的分态密度DOS1~DOSn,具体如下:
[img]http://pic.emuch.net/201009/20/886038_170745.png[/img
但是我看不懂,因为我的LORBIT=11,原子有104个,为什么输出的DOS只有从DOS0
到DOS10?并且对于任意一个分态密度,例如DOS11,我也不知道每列代表什么意思,具体的:
-9.18500000 0.00000000 0.00000000 0.00000000 -9.17500000 0.00000000 0.00000000 0.00000000 -9.16500000 0.00000000 0.00000000 0.00000000 -9.15500000 0.00000000 0.00000000 0.00000000 -9.14500000 0.00000000 0.00000000 0.00000000 -9.13500000 0.00000000 0.00000000 0.00000000 -9.12500000 0.00000000 0.00000000 0.00000000 -9.11500000 0.00000000 0.00000000 0.00000000 -9.10500000 0.00000000 0.00000000 0.00000000 -9.09500000 0.00000000 0.00000000 0.00000000 -9.08500000 0.00000000 0.00000000 0.00000000 -9.07500000 0.00000000 0.00000000 0.00000000 -9.06500000 0.00000000 0.00000000 0.00000000 -9.05500000 0.00000000 0.00000000 0.00000000 -9.04500000 0.00000000 0.00000000 0.00000000 -9.03500000 0.00000000 0.00000000 0.00000000 -9.02500000 0.00000000 0.00000000 0.00000000 -9.01500000 0.00000000 0.00000000 0.00000000 -9.00500000 0.00000000 0.00000000 0.00000000 -8.99500000 0.00000000 0.00000000 0.00000000 -8.98500000 0.00000000 0.00000000 0.00000000 -8.97500000 0.00000000 0.00000000 0.00000000 -8.96500000 0.00000000 0.00000000 0.00000000 这是一部分。我知道第一列是能量,后面四列是什么?
见附件。在Linux下,运行
cc -lm vaspdos.c -o vaspdos
得到可执行命令vaspdos,把它放到DOSCAR文件的同一目录下,然后准备一个输入文件pdos_input,里面存放相关参数,用以定义你要计算哪些原子的哪些轨道的PDOS。格式如下:
2 # Number of spins. This is the first line.
5 2 4 6 8 10 # The number of selected atoms followed by their atom indices. If the first number is 0, all atoms are calculated. If -1, the atoms in the range determined by the following two atom indices are calculated. For example, if '-1 12 15', then the PDOS of atoms numbered by 12, 13, 14 and 15 will be calculated. 1 # l. The azimuthal quantum number. -1 for all. -1 # m. The magnetic quantum number. 9 for all.
然后运行
vaspdos pdos_input 即可得到所需的结果。
这是split_dos的一个bug。
split_dos是shell脚本,所以可以直接看的。其实修改很简单的。修改后的: #!/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/19/02
# Executables reside here #BIN=~/bin
# GH: replace this so that it looks for vp in the same directory as this script EXE=$0
BIN=${EXE%/*}
if [ $# -ne 0 ]; then
echo \ exit 2 fi
# Script to split the DOSCAR file into the atomic # projections labeled by atom number dosfile=DOSCAR outfile=OUTCAR infile=INCAR
# Token for splitting the files
token=$(sed -n '6 p' $dosfile | awk '{print $1}')
# Number of points
nl=$(sed -n '6 p' $dosfile | awk '{print $3}')
# Number of atoms
natom=$(sed -n '1 p' $dosfile | awk '{print $1}')
# Get the Fermi level if the OUTCAR file is present,
# else we set it to zero. if [ -a $outfile ]; then
echo \ echo \
efermi=$(grep \ echo \
nspin=$(grep \ if [ $nspin -eq 2 ]; then
echo \ else
echo \ fi
# 2.a
# JMS 2/3/03 Modified to accept specification by LORBIT token. #
lorbit=$(grep \ if [ $lorbit -eq 10 ]; then echo \
echo \
echo \ form=1
elif [ $lorbit -eq 11 ];then echo \
echo \
echo \ form=2 else # 2.a
rwigs=$(grep \ if [ $rwigs -eq -100 ]; then
echo \ form=0 else
echo \ form=1 fi # 2.a fi # 2.a
else
echo \ echo \
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库VASP处理split_dos(6)在线全文阅读。
相关推荐: