24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1473  |  回复: 8

Emerald01

新虫 (初入文坛)

[交流] 求助:vasp计算rutile TiO2的电子DOS时,为何单胞和supercell的结果不一样?已有2人参与

我一般都是用单胞来计算电子dos。这次因为想看一个特定的晶格distortion对rutile的影响,而这个distortion需要在一个2*2*2的supercell实现,所以我就尝试用一个supercell来算dos了。
优化的单胞展开成2*2*2的supercell(这个supercell没有任何distortion,我是想看一看单胞和8倍的supercell得到的东西是不是一样),开始计算,想着结果应该和单胞出来的没有什么区别啊(我觉得dos的值应该大约是8倍,除此之外分布应该没啥区别),但是奇怪的是supercell产生的dos很明显的少了一个高能级的conduction band peak,我不知道是咋回事。比较单胞和supercell的区别,只有kpoint的密度低了一倍,这应该是没有问题的,以下是我对这个超胞的计算文件
(1)先以4*4*4的 K point 优化结构,进而得到chgcar
INCAR:
SYSTEM = rutile Relax
ISTART = 0
ICHARG = 2
ENCUT  = 500
PREC   = Accurate
NELMIN = 4           #  do a minimum of four electronic steps
NELM   = 40          #  maximum of 40 electronic steps
EDIFF  = 1E-8
EDIFFG = -1E-6        #  high accuracy
ADDGRID = .TRUE.
IBRION =  -1
ISMEAR  = 0
SIGMA = 0.05
LREAL  = .False.
LWAVE  = .False.
LPLANE = .TRUE.   
NPAR   = 8       # twice the number of nodes
------------------------------------------------------------------------------
(2) 拷贝chgcar到新directory,增加KPOINT 到 11*11*11
INCAR

SYSTEM = rutile Relax
ISTART = 0
ICHARG = 11
ENCUT  = 500
PREC   = Accurate
NELMIN = 4           #  do a minimum of four electronic steps
NELM   = 40          #  maximum of 40 electronic steps
EDIFF  = 1E-8
EDIFFG = -1E-6        #  high accuracy
ADDGRID = .TRUE.
IBRION =  -1
ISMEAR  = 0
SIGMA = 0.05
LORBIT = 10
#EMIN = -15
#EMAX = 15
#NEDOS = 1000
LREAL  = .False.
LWAVE  = .False.
LPLANE = .TRUE.      
NPAR   = 8       # twice the number of nodes
-----------------------------------------------------------------------
单胞的计算和上面一样,除了KPOINT 分别是8*8*8 和 21*21*21,我也改过ISMEAR 到-1,木有啥变化。两个系统内力都收敛的很小,是优化的很好的结构。二者的能量是7.999倍,非常好的8倍关系。附件中给出了元胞和supercell的比较,很明显,最上面的一个peak在超胞计算中不见了
本人菜鸟,实在是想不出来什么地方不对了,望高人指点,谢谢啦!

求助:vasp计算rutile TiO2的电子DOS时,为何单胞和supercell的结果不一样?
dos_rutile.png
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jpchou

专家顾问 (著名写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
你是直接畫 DOSCAR 嗎?
還是 PROCAR?
2楼2014-11-25 16:05:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Emerald01

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by jpchou at 2014-11-25 16:05:27
你是直接畫 DOSCAR 嗎?
還是 PROCAR?

两个系统都是doscar画出来的(用split_dos脚本画的dos0),应该是total dos吧?请指教
3楼2014-11-26 01:20:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jpchou

专家顾问 (著名写手)

★ ★
小木虫: 金币+0.5, 给个红包,谢谢回帖
ljw4010: 金币+1, 谢谢交流! 2014-11-26 14:22:39
喔~我看到了
你所謂的不一致的 peak 是在 fermi level 以上呀
那只是單純的因為你 band 給的不夠多
你若是在 1x1x1 unit cell DOS 計算中
把 NBAND 加大許多
那個不一致的 peak 就會出現了
4楼2014-11-26 03:40:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

失败的路人

木虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
4楼: Originally posted by jpchou at 2014-11-26 03:40:40
喔~我看到了
你所謂的不一致的 peak 是在 fermi level 以上呀
那只是單純的因為你 band 給的不夠多
你若是在 1x1x1 unit cell DOS 計算中
把 NBAND 加大許多
那個不一致的 peak 就會出現了

你是说NBAND小了,导致只能选择性出现几个peak?
insist what you insist, donot give up
5楼2014-11-26 08:19:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Emerald01

新虫 (初入文坛)

引用回帖:
4楼: Originally posted by jpchou at 2014-11-26 03:40:40
喔~我看到了
你所謂的不一致的 peak 是在 fermi level 以上呀
那只是單純的因為你 band 給的不夠多
你若是在 1x1x1 unit cell DOS 計算中
把 NBAND 加大許多
那個不一致的 peak 就會出現了

遇见大神了

果然是专家,一语点破玄机,我发现1个单胞的时候vasp by default的nbands = 32, 但是8个超胞的情况下nbands = 216,分明小于8倍的关系,结果导致上层空带没有被考虑进去,所以少了一个Peak。。。我把nbands提高到256,也就是正好8倍,结果就一样了

这个问题我是不可能想到的,我以为限定了能量区间,该算的都能算了呢

这个问题vasp online manul说的好像不太对啊,上面说如果非spin polarized的计算,default的nbands = nelect/2+nion/2,我用的ti_pv所以是10个电子,o是6个,一共44个电子/cell,这个怎么也算不出nbands=32啊?
6楼2014-11-26 13:01:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jpchou

专家顾问 (著名写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
NBANDS 的數字不僅僅是  nbands = nelect/2+nion/2
還牽涉到你用多少 core 去計算 (平行化程式技巧問題)
44 個電子
用 nbands = nelect/2+nion/2 去算就是
nbands= 44/2 + 4/2 = 24
我猜~你用了 16 cores
24 是無法被 16 整除
所以最佳 (最有效率) 的 band 數就變成了 32
7楼2014-11-26 16:07:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jpchou

专家顾问 (著名写手)

引用回帖:
5楼: Originally posted by 失败的路人 at 2014-11-26 08:19:41
你是说NBAND小了,导致只能选择性出现几个peak?...

不能說是 "選擇性" 出現
只是單純 band 給不夠多
高能量區當然就看不到
8楼2014-11-26 16:09:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Emerald01

新虫 (初入文坛)

引用回帖:
7楼: Originally posted by jpchou at 2014-11-26 16:07:57
NBANDS 的數字不僅僅是  nbands = nelect/2+nion/2
還牽涉到你用多少 core 去計算 (平行化程式技巧問題)
44 個電子
用 nbands = nelect/2+nion/2 去算就是
nbands= 44/2 + 4/2 = 24
我猜~你用了 16 cores
24  ...

啊,原来如此,受教了 感谢感谢
9楼2014-11-27 04:09:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 Emerald01 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见