24小时热门版块排行榜    

查看: 5227  |  回复: 25
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

frank_zhan

金虫 (正式写手)

[求助] 怎么利用PWSCF计算差分电荷密度

各位亲虫们,
我想计算一个体系的差分电荷密度,但是不知道过程是怎样的?比如我计算一个SWNT上修饰金原子(Au)的团簇。我想计算这两者之间的电荷转移量。理论上是利用SWNT@Au体系的总电荷密度减掉SWNT和Au团簇的电荷密度。
请求虫友们指导个详细的过程,必有重谢!
谢谢。
回复此楼
frank_zhan,zy2zhan@gmail.com
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

frank_zhan

金虫 (正式写手)

引用回帖:
3楼: Originally posted by huazhorg at 2012-07-09 12:50:28
先算SWNT@Au的电荷密度,再算SWNT@Au-Au的电荷密度,再算SWNT@Au-SWNT的电荷密度,然后用前者减去后两者。
过程:
scf1.in,->rho1.in->得到ppn1.rho
scf2.in, ->rho2.in得到ppn2.rho
scf3.in, ->rho3.in得到pp ...

你好,仁兄,最近在做那个查分电荷密度的计算,发现一些问题,请教这位仁兄。我的输入文件如下(省掉了原子的坐标部分):
第一步,计算3个体系的的scf:

SWNT-Au.scf.in
&control
    calculation = 'scf'
    prefix= 'SWNT-Au'
    pseudo_dir = '/home/pseudo',
    outdir= 'mypath/SWNT-Au/tmp'
/
&system
....
/

SWNT.scf.in
&control
    calculation = 'scf'
    prefix= 'SWNT'
    pseudo_dir = '/home/pseudo',
    outdir= 'mypath/SWNT-Au/tmp'
/
&system
...
/

Au.scf.in
&control
    calculation = 'scf'
    prefix= 'Au'
    pseudo_dir = '/home/pseudo',
    outdir= 'mypath/SWNT-Au/tmp'
/
&system
...
/

第二部. 计算3个体系的电荷密度(using pp.x):
SWNT-Au.rho.in
&inputpp
    prefix= 'SWNT-Au'
    outdir= 'mypath/SWNT-Au/tmp'
filplot = 'SWNT-Au'
plot_num= 0
spin_component=0
/
&plot
nfile = 1
filepp(1) = 'SWNT-Au'
weight(1) = 1.0
iflag = 3
output_format = 5
fileout = 'SWNT-Au.rho.dat'
/

SWNT.rho.in
&inputpp
    prefix= 'SWNT'
  outdir= 'mypath/SWNT-Au/tmp'
filplot = 'SWNT'
plot_num= 0
spin_component=0
/
&plot
nfile = 1
filepp(1) = 'SWNT'
weight(1) = 1.0
iflag = 3
output_format = 5
fileout = 'SWNT.rho.dat'
/

Au.rho.in
&inputpp
prefix='Au'
outdir= 'mypath/SWNT-Au/tmp'
filplot = 'Au'
plot_num= 0
spin_component=0
/
&plot
nfile = 1
filepp(1) = 'Au'
weight(1) = 1.0
iflag = 3
output_format = 5
fileout = 'Au.rho.dat'
/

第三步.计算差分电荷密度(using pp.x):

SWNT-Au.rho_diff.in
&inputpp

/
&plot
nfile = 3
filepp(1) = 'SWNT-Au.rho.dat'
weight(1) = 1.0
filepp(2)= 'SWNT.rho.dat'
weight(2)= -1
filepp(3)= 'Au.rho.dat'
weight(3)= -1
iflag = 3
output_format = 5
fileout = 'SWNT-Au.rho_diff.dat'
/

所以的第一步和第二部分的计算都成功了,但是计算最后的差分电荷密度的的时候,结果SWNT-Au.rho_diff.out:  Reading header from file  SWNT-Au.rho.dat. 也就是根本没有进行计算就退出了。
请仁兄给点建议,金币的话可以追加的,谢谢。
frank_zhan,zy2zhan@gmail.com
22楼2013-07-03 21:15:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 26 个回答

frank_zhan

金虫 (正式写手)

哪位虫友来回答一下,必有重酬啊。
frank_zhan,zy2zhan@gmail.com
2楼2012-07-09 11:44:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huazhorg

铁杆木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
frank_zhan: 金币+10, 有帮助, 谢谢指导,我先试试,假如可以的话,我会继续给金币的,哈哈。 2012-07-09 14:28:45
uuv2010: 金币+1, 多谢提示 2012-07-11 11:44:59
先算SWNT@Au的电荷密度,再算SWNT@Au-Au的电荷密度,再算SWNT@Au-SWNT的电荷密度,然后用前者减去后两者。
过程:
scf1.in,->rho1.in->得到ppn1.rho
scf2.in, ->rho2.in得到ppn2.rho
scf3.in, ->rho3.in得到ppn3.rho
最后算dif.rho.in:
  /
&plot
    nfile = 3,
    filepp(1) = 'ppn1.fpl',
    filepp(2) = 'ppn2.fpl',
    filepp(3) = 'ppn3.fpl',
    weight(1) = 1.0,
    weight(2) = -1.0,
    weight(3) = -1.0,
    iflag = 3,
    output_format = 5,
    fileout = 'ppn_diff.rho',
/
得到差分密度文件ppn_diff.rho和ppn_diff.xsf,其中ppn_diff.xsf可以用xcrysden画差分电荷密度图。
3楼2012-07-09 12:50:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

frank_zhan

金虫 (正式写手)

引用回帖:
3楼: Originally posted by huazhorg at 2012-07-09 12:50:28
先算SWNT@Au的电荷密度,再算SWNT@Au-Au的电荷密度,再算SWNT@Au-SWNT的电荷密度,然后用前者减去后两者。
过程:
scf1.in,->rho1.in->得到ppn1.rho
scf2.in, ->rho2.in得到ppn2.rho
scf3.in, ->r ...

谢谢仁兄的回复。不过我还有一个问题。就是你写的那个scf1.in,->rho1.in->得到ppn1.rho,是表示什么。我知道第一个SCF1是表示对总的体系进行自洽计算,然后rho1.in是什么呢,这个我不太熟啊。能否指导一下。谢谢。
frank_zhan,zy2zhan@gmail.com
4楼2012-07-09 14:37:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见