24小时热门版块排行榜    

查看: 1742  |  回复: 22
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

watermall

金虫 (小有名气)

[交流] Abinit 中计算 PDOS 和PJPDOS

前面有人问abinit中如何计算声子谱,通过这两天的学习,现在把计算声子谱的方法贴出来,供大家使用(以abinit自带的AlAs教程为例)
1. 原来的老办法
在l计算热力学性质的Log文件中提取DOS信息,然后作图
2. Abinit 5.6.3中的方法,我是根据今天在abinit forum里看到程序作者的建议来操作的。大家可以去forum mailing list 看看
重新编译了anaddb后,计算出了声子态密度和分态密度。
下面给出我两个方法计算出来的态密度图

PS:发现最新的abinit版本中很多功能是我们在手册上是没有的,需要我们多多交流,多多研究
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zxzj05

荣誉版主 (著名写手)

★ ★
fegg7502(金币+2,VIP+0):鼓励讨论
感谢watermall  的解答,
也不知道为什么,
前面就无缘无故终止,也的确没“error”出现,
今天重新计算,
没有改动任何参数,
竟然成功完成计算!
在次感谢楼主的帮助!

我对计算结果还是存在一些疑惑想请教一下楼主:
附上计算
#
# Phonon density of states and projected DOS generated by anaddb
# Gaussian method with smearing =   6.19920938E-01meV, nqibz =9261
#
# omega     PHDOS    IPHDOS   PJDOS[1]  IPJDOS[1] ...
#
-1.67505420E+02  1.12940848-135  1.05021589-137  1.11500250-135  1.03682004-137  1.44059770-137  1.33958494-139
……………………………………………………………………………………………………………………………………………………

omega指的是能量or频率
PHDOS PJDOS[1]分别是总台密度和分波态密度
IPHDOS  IPJDOS[1]分别是总台密度和分波态密度的积分
我的问题在分波态密度为什么只有两个, 1.11500250-135   和  1.44059770-137 ,
而我计算的体系是包括s p d轨道的。
这点我不太理解,还请楼主帮忙解答,不胜感激!
储氢家族欢迎储氢研究者!
13楼2008-12-13 22:51:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 23 个回答

watermall

金虫 (小有名气)

★ ★
fegg7502(金币+2,VIP+0):thanks
mailing list中的邮件原文,大家根据邮件来改anaddb就可以了
Digging into my files I found an anaddb input that can be used to calculate the PHDOS. The flags that have to be added in the input file are:

ifcflag  1  #IFC's are needed

#DOS related variables
prtdos  1              # 1 for gaussian, 2 for tetrahedrons
ng2qpt  35 35 7        # Dense q-mesh for Fourier interpolation
q2shft  0.0 0.0 0.0      # Shift for the dense mesh
dosdeltae  9.112670E-7  # 0.1 cm-1  frequency step for PHDOS
dosmear    1.366900E-5  # 3 cm-1    broadening (only for Gaussian method)

At the end of the calculation the results are stored in the PHDOS file
There are several columns:

# omega     PHDOS    IPHDOS   PJDOS[1]  IPJDOS[1] ..

PHDOS refers to the total phonon DOS,
IPHDOS is the integrated DOS, then we have the contribution due to all the atoms of the first type as well as the corresponding integrated dos.

3 Comments:
1) To call mkphdos you have to modify a bit 17ddb/invars9
  commenting out the call to leave_new in the following piece of code

if(anaddb_dtset%prtdos/=0 .and. anaddb_dtset%ifcflag/=1) then
  write(message, '(5a)' )&
&  ' invars9 : ERROR -',ch10,&
&  '  ifcflag must be 1 when the calculation of the phonon DOS is required',ch10,&
&  '  Action : correct ifcflag in your input file.'
  call wrtout(6,message,'COLL')
  call leave_new('COLL')
end if
2) If I remember well in old versions of abinit there's a small bug (just
a missing factor)
   in the calculation of the integrated type-projected PHDOS. So don't
rely on the columns
   reporting the type-projected IPHDOS. If you need, you can easily
integrate the curve using
   a plotting software such as xmgrace.

3) Be careful when using the tetrahedron method. The CPU time doesn't
scale well wrt
   to the number of Fourier interpolated q-points. This is a general
problem I found also
   in case of electronic DOS calculations. One should do some serious
profiling of the tetrahedron
   routines and the fortran loops to individuate the bottleneck
2楼2008-12-04 14:13:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

watermall

金虫 (小有名气)

★ ★ ★ ★
fegg7502(金币+2,VIP+0):thanks
fegg7502(金币+2,VIP+0):thanks
有用abinit5.6.3windows版本的,可以下载附件中重新编译的anaddb
3楼2008-12-04 14:17:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zxzj05

荣誉版主 (著名写手)

过去我也问过Gonze,他那会说分波声子态密度还没弄好!
感谢楼主及时报道最新信息,
abiniter之间一定要相互学习啊
储氢家族欢迎储氢研究者!
5楼2008-12-04 19:37:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见