2008年1月20日星期日

处理PWSCF计算出来的本征值(画能带图)[zz]

pwscf 附带了band.x和plotband.x的工具,前者是将计算出来k点坐标以及相应的本征值从out文件中收集起来(或取出)专门存储到一个文件中,以 便后一个工具plotband.x进行处理。在计算能带时,先设置k点网格进行一次自洽计算,然后自己输入要计算的特殊k点并进行一次非自洽计算,得到这 些特殊k点的本征值。再用band.x和ploband.x进行处理。

1). band.x的输入文件格式
&inputpp
prefix = 'si'
outdir = './tmp'
filband = 'sibands.dat'
spin_component=1
/
其中 prefix设置所计算体系的标题,以及输入文件的文件名(不包括扩展名,也就是. 'dot'后面的));
outdir用来设置上一步非自洽计算中的输出文件的目录;
filband用来设置这一步band.x处理出来的k点和本征值的输出文件(也就是将这些k点-本征值放到哪个文件中);
spin_component为1表示处理的是非自旋极化计算的本征值,如果是2表示处理的是自旋极化计算的本征值。

band.x的输出文件(fiband所设置的)的格式为:
&plot nbnd= 8, nks= 36 /
0.500000 0.500000 0.500000
-3.418 -0.822 5.029 5.029 7.814 9.597 9.597 13.838
0.400000 0.400000 0.400000
-3.891 -0.102 5.102 5.102 7.900 9.679 9.679 13.959
0.300000 0.300000 0.300000
-4.659 1.404 5.319 5.319 8.138 9.803 9.803 13.845
。。。。。。。。。
与在声子计算中matdyn.x得到的q点与本征值的文件的格式是一样的。
第一行中nbnd告诉了每个有多少个本征值,本征值单位是eV。nks告诉了总共有多少k点。第2行是k点的坐标,第3行是该k点对应的本征值。下面的与2、3两行类似。

2)、plotband.x的输入文件格式
sibands.dat
-6.0 10
sibands.xmgr
sibands.ps
6.255
1.0 6.255

第一行是band.x处理得到的k点本征值文件 此例子中是sibands.dat;
第二行是在这一步中输出的ps文件中纵坐标(本征值能量)刻度的最小值与最大值;
第三行是用来设置所出输出xmgr格式的文件的文件名;
第四行是用来设置所输出文件ps格式的文件名;
第五行是费米能级的值,这个在自洽计算的out文件中可以找到;
第六行中第一个数是用来设置输出 ps格式文件纵坐标(能量)刻度的大小,第二个数是用来设置标出费米能级的位置,它与第五行中的数相同。

同样ploband.x也可以用来处理声子本征值文件。

没有评论: