分类:
2010-02-05 16:23:02
在处理pwscf计算出来的电荷密度,特别是要画面电荷密度分布(等高线图)时,需借助pwscf自带的pp.x和plotrho.x工具。步骤是,先取k点网格进行自洽计算,然后采用pp.x进行数据处理得到在某一个面上的电荷密度值,最后采用plotrho.x来画图。
1)、pp.x在处理总的电荷密度要取出某个面上的电荷密度时的输入文件格式:
&inputpp
prefix = 'si'
outdir = './tmp'
filplot = 'sicharge'
plot_num= 0
spin_component=0
/
&plot
nfile = 1
filepp(1) = 'sicharge'
weight(1) = 1.0
iflag = 2
output_format = 2
fileout = 'si.rho.dat'
e1(1) =1.0, e1(2)=1.0, e1(3) = 0.0,
e2(1) =0.0, e2(2)=0.0, e2(3) = 1.0,
nx=56, ny=40
/
这里prefix设置上一步自洽计算电荷密度文件时的体系的名称;
outdir设置了上一步自洽计算中输出文件所在的目录;
filplot设置了要处理的文件的名称,这里我们要处理的是总电荷密度,它是由上一步自洽计算得到的;
plot_num设置了要处理什么类型的数据。这里因为要处理的是电荷密度,因此设置为0;
spin_component设置了是要处理总的电荷密度,还是自旋向上或向下的。设置为0表示总的; 1为自旋向上的电荷密度; 2为自旋向下的电荷密度。
nfile设置要处理的电荷密度文件有几个。这里只有一个,因此后面只设置filepp(1)和weight(1),如果有2个以上则需指定每一个的文件名及相应的权重。
filepp(1)设置所要处理的第一个文件的文件名; weight(1)是该文件对应的权重。
iflag设置了是要画什么类型的图,因为这是是要画2D等高线图,所以设置为2,表示是要画2D图。
output_format设置处理后的数据的输出方式,这里设置为2,表示是按plotrho.x所需要的格式输出面上的电荷密度值。
fileout是用来输出面电荷密度的文件名。
e1(1), e1(2), e1(3)是用来确定面的第一个矢量,
e2(1), e2(2), e2(3)是用来确定面的第二个矢量,它们的单位是以alat为单位的。
该平面的原点由x0(1),x0(2),x0(3)来确定。
nx,ny分别用来设置平面上网格的大小,nx表示在沿第一个矢量方向的分割数,ny表示在沿第二个矢量方向上的分割数。
2)、用plotrho.x来画某个面上的电荷密度分布的输入文件格式:
si.rho.dat
si.rho.ps
n
0 0.09 6
第一行是用来设置要画的电荷密度的数据,它是由上一步pp.x产生的。
第二行是用来设置输出的ps文件。
第三行是用来设置在画图时,是否对数据按log或线性的来画图,设置为n表示按线性的来画,设置为y表示是按log来画图。
第四行是分别用来设置电荷密度值的最小值和最大值,以及在画等高线时的线的条数(也就是说在最小值和最大值之间要画出多少条的线)。