24小时热门版块排行榜    

查看: 1722  |  回复: 8

pangrui1985

铜虫 (小有名气)

[交流] 为什么PROJWFC输出的波函数系数都是实数已有2人参与

在PROJWFC输出文件里面有类似的东西
psi = 0.040*[# 173]+0.039*[#  65]+0.038*[# 221]+0.037*[#  93]+0.037*[# 141]+
。。。。。
|psi|^2 = 0.988
看样子像是波函数的系数,但问题是为什么每一项的系数只有实数?复数的波函数投影到复数的原子波函数上应该不至于都是实数吧。
谁知道这个东西是什么意思?或者为什么会是实数?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yyyu200

金虫 (小有名气)


小木虫: 金币+0.5, 给个红包,谢谢回帖
什么版本,楼主是怎么得到PROJWFC的?
2楼2014-08-15 21:52:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pangrui1985

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by yyyu200 at 2014-08-15 21:52:43
什么版本,楼主是怎么得到PROJWFC的?

你装好以后bin里面就有个projwfc.x,可以用它做PDOS,5.0以后的版本都有吧,以前叫PP,现在分开了
3楼2014-08-15 22:44:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yyyu200

金虫 (小有名气)


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
3楼: Originally posted by pangrui1985 at 2014-08-15 22:44:57
你装好以后bin里面就有个projwfc.x,可以用它做PDOS,5.0以后的版本都有吧,以前叫PP,现在分开了...

==== e(  24) =     8.40694 eV ====
     psi = 0.415*[#   2]+0.415*[#   6]+0.079*[#  13]+0.079*[#  26]+0.002*[#  19]+
          +0.002*[#  32]+
    |psi|^2 = 0.995

试了一下,这些系数加起来是0.995,说明系数已经是复数的绝对值平方了。
projwfc.f90里面
proj(nwfc,ibnd,ik)=abs(proj0(nwfc,ibnd))**2
proj0是复数
4楼2014-08-16 08:18:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

KalaShayminS

铁杆木虫 (著名写手)

如果体系有反演对称的话,那么波函数可以全部是实的(一般体系都符合这个要求)。
那么投影也可以是全实数的。
5楼2014-08-18 22:17:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pangrui1985

铜虫 (小有名气)

引用回帖:
5楼: Originally posted by KalaShayminS at 2014-08-18 22:17:57
如果体系有反演对称的话,那么波函数可以全部是实的(一般体系都符合这个要求)。
那么投影也可以是全实数的。

4L是正解吧。proj0里面是复数,不过只记录了一个k点,用了就覆盖了。另外inversion symmetry对应的是周期部分可以是实数,但加上布洛赫因子的话还是复的。
6楼2014-08-20 15:30:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

KalaShayminS

铁杆木虫 (著名写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
6楼: Originally posted by pangrui1985 at 2014-08-20 15:30:09
4L是正解吧。proj0里面是复数,不过只记录了一个k点,用了就覆盖了。另外inversion symmetry对应的是周期部分可以是实数,但加上布洛赫因子的话还是复的。...

4L的解释没有问题。但我觉得这没说明顶楼的问题。
类型是复数没有问题,因为这个程序是通用的,不需要单独写个实型的。
Bloch因子在投影的时候是抵消掉的,因此最后就是实函数之间的投影,自然是实数。因此大部分情况下实数不是因为复数取模,而是它就应该是实数。
7楼2014-08-21 21:48:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pangrui1985

铜虫 (小有名气)

引用回帖:
7楼: Originally posted by KalaShayminS at 2014-08-21 21:48:52
4L的解释没有问题。但我觉得这没说明顶楼的问题。
类型是复数没有问题,因为这个程序是通用的,不需要单独写个实型的。
Bloch因子在投影的时候是抵消掉的,因此最后就是实函数之间的投影,自然是实数。因此大部分 ...

抵消不掉吧,
/fi_{k}(r)=e^(ik.r)u_k(r)
a_{mk}(r)=\sum e^(ik.T)a_m[r-(/tao_m+T)],a是孤立原子波函数,T是平移矢量
inversion symmetry下u_k是实数,但/fi_{k}(r)投影到a_mk上不一定是实数。而且具体到这个问题,proj0里面的数是有非0虚部的,而不是简单的complex型变量。
8楼2014-09-03 21:40:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

KalaShayminS

铁杆木虫 (著名写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
8楼: Originally posted by pangrui1985 at 2014-09-03 21:40:26
抵消不掉吧,
/fi_{k}(r)=e^(ik.r)u_k(r)
a_{mk}(r)=\sum e^(ik.T)a_m,a是孤立原子波函数,T是平移矢量
inversion symmetry下u_k是实数,但/fi_{k}(r)投影到a_mk上不一定是实数。而且具体到这个问题,proj0里面 ...

抱歉,这里是我算错了,Bloch因子不能保证抵消。
9楼2014-09-04 00:06:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 pangrui1985 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见