11 11 11 0 0 0
实例8
怎么使用DOSCAR画出DOS图形
? 我安装好VASP好长时间了,但是一直没有用过。这几天用别人的一个实例运行了一下,得到一些输出文件,但不知如何画DOS图。
不知道如何由输出文件DOSCAR,提取有用数据从而得到DOS图形。 请教大家:大致步骤和所用的工具。 另:我机器上安装过了Origin8.0。
好像直接可以输出DOS图!!
搜索下 P4VASP 或者split-dos 软件 都可以画dos
附件中的程序可以帮你处理,你用下看看
总DOS一般没多大用,一般投影到原子或轨道上更有用些。找到你要的那个原子,直接把数据拷出来,用ORIGIN画就是了
直接拷贝出来画图即可 如果你既做了自旋极化,又做了轨道投影,一般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,可以写一个批处理文件,以后画同一类型的都可以统一画
实例9
DOSCAR分割问题 请教大家,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的值应该很小才对,画的时候可以忽略掉。
实例11同样情况下,不同的导出数据方法 态密度怎么不一样
RT
我是将DOSCAR中的数据转换成图中黑色的线,然后用小程序spilt_dos分出DOS0后,得到图中的红线,很明显,两者像是平移了一样,我有点怀疑是菲米能级的问题,用split_dos时其费米能级用的是静态计算的OUTCAR里的,但又不是很明白,麻烦大家帮帮忙。
另外,我用split_dos分出每一个原子的态密度之后,我想知道某些个原子的态密度的共同贡献,怎么处理呢,总不能一个一个DOSi 相加吧,这工作量很大啊,不知道高手们是怎么处理的?
你的菲米能级不一样造成的,自己看DOSCAR,确定那个的菲米能级是对的吧
恩 查了一下 应该是DOSCAR是以真正的费米能级,而split_dos 则是以零为费米能级的 。 请问您试着叠加过很多原子的DOS么?不能手动相加吧
没有 但是你可以徐程序相加 或者通过origin,excel也行
origin怎么相加啊 我的大约要相加100多个原子,而且每个原子的态密度文件中又是分S.P.D的
实例12读懂split_dos,学会linux shell编脚本处理数据
下面是处理VASP输出数据得到态密度的脚本文件split_dos,与它配合的vp没有贴出来。学习vasp如果会一些shell编程,对vasp的运用会更灵活方便。这个程序听说比较老,有些
问题,不能直接用来处理vasp4.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/19/02
# Executables reside here
BIN=~/bin #把这里修改为
vp保存的路径。然后把
split_dos的路径添加到PATH中。
if [ $# -ne 0 ]; then #直接在
shell提示符下输入split_dos运行,否
则提醒Usage: split_dos,返回信息2.
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}') #这个
token后面好像没有用
到,有什么用呢?
# 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 -ge 10 ]; then echo \
echo \
echo \ form=1 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 \ form=0 nspin=1 efermi=0.0 fi
# 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.dat
tail -$natom tmp.dat | awk '{printf \tmp.dat2
# Total is first DOS
if [ $form -eq 0 ]; then #这个很怪,为什么不直接i=0 else i=0
fi
start=7
end=$((start+nl-1)) #echo $start $end #exit 0 rm -f DOS0
if [ $form -eq 1 ]; then
while [ $i -le $natom ]; do
#echo $i $start $end
if [ $i -gt 0 ]; then
sed -n ''$i' p' tmp.dat2 >| DOS$i #读入对应原子位置坐标到
i=0呢?
DOSi
第一行
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库VASP处理split_dos(2)在线全文阅读。
相关推荐: