|
|
[资源]
从PROCAR中提取态密度的shell代码
压缩包中getTdos.sh、getPdos.sh和getLdos.sh分别用来计算体系的total dos、partial dos和单个原子(可指定)的
态密度,后两个需要POSCAR文件。
输入:依次输入所要计算的能量范围、费米能级、采样点数、高斯展宽,getLdos.sh还需要指定原子(默认每个原子都
计算)。
本人用的是vasp 5.2,INCAR中设置了LSORBIT = .TRUE. 和 LORBIT = 11,所得文件格式如下
PROCAR file:
PROCAR lm decomposed
# of k-points: 2925 # of bands: 28 # of ions: 2
k-point 1 : 0.00000000 0.00000000 0.00000000 weight = 0.00006400
band 1 # energy -13.01545745 # occ. 1.00000000
ion s py pz px dxy dyz dz2 dxz dx2 tot
1 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
2 0.000 0.000 0.000 0.000 0.182 0.210 0.209 0.193 0.182 0.976
tot 0.000 0.000 0.000 0.000 0.182 0.210 0.209 0.193 0.183 0.976
1 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
2 0.000 0.000 0.000 0.000 0.008 0.210 0.154 -0.016 -0.008 0.348
tot 0.000 0.000 0.000 0.000 0.008 0.210 0.154 -0.016 -0.008 0.348
1 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
2 0.000 0.000 0.000 0.000 0.017 0.009 0.128 0.192 -0.017 0.329
tot 0.000 0.000 0.000 0.000 0.017 0.009 0.128 0.192 -0.017 0.329
1 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
2 0.000 0.000 0.000 0.000 0.181 -0.006 -0.058 0.002 0.182 0.301
tot 0.000 0.000 0.000 0.000 0.181 -0.006 -0.058 0.002 0.182 0.301
band 2 # energy -13.01542280 # occ. 1.00000000
ion s py pz px dxy dyz dz2 dxz dx2 tot
1 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
2 0.000 0.000 0.000 0.000 0.208 0.180 0.182 0.197 0.209 0.976
tot 0.000 0.000 0.000 0.000 0.208 0.180 0.182 0.197 0.209 0.976
1 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
2 0.000 0.000 0.000 0.000 -0.053 0.172 0.097 0.000 0.053 0.269
tot 0.000 0.000 0.000 0.000 -0.053 0.172 0.097 0.000 0.053 0.269
1 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
2 0.000 0.000 0.000 0.000 -0.198 -0.008 -0.029 0.048 0.199 0.012
tot 0.000 0.000 0.000 0.000 -0.198 -0.008 -0.029 0.048 0.199 0.012
1 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
2 0.000 0.000 0.000 0.000 0.034 -0.053 0.152 -0.191 0.035 -0.023
tot 0.000 0.000 0.000 0.000 0.034 -0.053 0.152 -0.191 0.035 -0.023
band 3 # energy -13.01541343 # occ. 1.00000000
......
如果是几个PROCAR合并到一起的,需要把k-points那儿改成总的k点数。不知道为什么PROCAR中每个band下每个原子有4组值(对应代码里的flag)。。。
POSCAR file:
POSCAR第6行需要是每种原子的数目,有些第6行是原子种类名称第7行才是数目,这样把原子名称那行删了就行了。
图中是DOSCAR中的和从PROCAR中计算的total dos比较,高斯展宽gauss=0.1 eV。
PS. 之前找了个getdos.f的Fortran程序,结果悲剧的发现完全不能用,不得已自己写了,本人Linux盲,现学的shell,希望有高手可以改得更效高些~![]()
dos.jpg
[ Last edited by redsnowolf on 2012-9-8 at 18:53 ] |
» 本帖附件资源列表
-
欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
- 附件 1 : get_dos_from_procar_file.rar
2012-09-08 18:47:46, 4.81 K
» 收录本帖的淘帖专辑推荐
» 猜你喜欢
|