24小时热门版块排行榜    

查看: 2492  |  回复: 21
本帖产生 1 个 1ST强帖 ,点击这里进行查看

zhangguangping

木虫 (著名写手)

PS:不过还是建议你弄清楚为什么PDOS直接算不能算。建议用3.0的用你现在的输入文件算一下,看行不行。是不是2.0.1的问题。我的感觉好像2.0.1不是2的稳定版本,2.0.2才是稳定版本。所以很可能是这个版本的一个bug。我给你的链接里面也有2.0.2的下载。如果你嫌COOP分析麻烦的话,可以用一下2.0.2重算一下。
弘德明志博学笃行
11楼2011-05-13 20:30:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangguangping

木虫 (著名写手)

【答案】应助回帖


franch(金币+1): 谢谢回帖交流 2011-05-16 20:28:04
2.0.2中的release note中的叙述,正好有关于你现在的问题:
* Fix for k-point update when kgrid_cutoff is used
* Initialize vol2 correctly in m_check_supercell.f
* Parallel bug fix and cleanup in writewave.F
* Fix units conversion in Util/Optical/optical
* Wrap several I/O operations for MPI. Other parallel fixes
* Fix tag in MPI send/receive in mulliken
* Origin shift was applied after possible coordinate scaling
* Fix index in write statement in iohs in parallel
* Fix dimension of dpr in pdosg.
* Better MPI communication in writewave. Dencha...
* Changes to the Order-N section by Pablo Ordejon
* Fixed bug affecting MP occupation smearing
* PHONON-interface steps treated correctly for ...
* Increase maximum sizes in Vibra package
* Fix bug in pdos xml output
* Update of NetCDF interface
* Fixed non-collinear spin calculation in parallel
弘德明志博学笃行
12楼2011-05-13 20:34:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

deadbook

银虫 (小有名气)

引用回帖:
Originally posted by zhangguangping at 2011-05-13 20:34:44:
2.0.2中的release note中的叙述,正好有关于你现在的问题:
* Fix for k-point update when kgrid_cutoff is used
* Initialize vol2 correctly in m_check_supercell.f
* Parallel bug fix and cleanup in wr ...

我用3.0算了一下,结果所有的PDOS还是零,我将部分结果贴出来


index="2"
atom_index="1"
species="C"
position="  -0.438948  -0.224807  -0.007556"
n="2"
l=" 0"
m=" 0"
z="2"
>

   0.00000   0.00000
   0.00000   0.00000
   0.00000   0.00000
   0.00000   0.00000
   0.00000   0.00000
   0.00000   0.00000
   0.00000   0.00000
   0.00000   0.00000
   0.00000   0.00000
   0.00000   0.00000
   0.00000   0.00000
   0.00000   0.00000
   0.00000   0.00000
   0.00000   0.00000
  -0.00001   0.00000
  -0.00008   0.00000
  -0.00025   0.00000
  -0.00037   0.00000
  -0.00028   0.00000
  -0.00010   0.00000
  -0.00002   0.00000
  -0.00006   0.00000
  -0.00028   0.00000
  -0.00069   0.00000
  -0.00081   0.00000
  -0.00049   0.00000
  -0.00044   0.00000
  -0.00111   0.00000
  -0.00178   0.00000
  -0.00140   0.00000
  -0.00056   0.00000
  -0.00016   0.00000
  -0.00007   0.00000
13楼2011-05-16 08:38:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangguangping

木虫 (著名写手)

引用回帖:
Originally posted by deadbook at 2011-05-16 01:38:22:
我用3.0算了一下,结果所有的PDOS还是零,我将部分结果贴出来
</data>
</orbital>
<orbital
index="2"
atom_index="1"
species="C"
position=&q ...

用COOP分析也是这样吗?那么扩大你的能量范围,可能如fengshiquan所言在-5 到4 eV之间确实为0. 但是我怀疑有这么大的范围吗。
弘德明志博学笃行
14楼2011-05-16 08:46:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

deadbook

银虫 (小有名气)

引用回帖:
Originally posted by zhangguangping at 2011-05-16 08:46:32:
用COOP分析也是这样吗?那么扩大你的能量范围,可能如fengshiquan所言在-5 到4 eV之间确实为0. 但是我怀疑有这么大的范围吗。

coop分析还没做,换了siesta的版本,重新做了计算,发现对于NI原子所有的pdos都是零,对于c原子自旋向上的数据已经有了,但是自旋向下的依旧全部是零,不知道是咋回事。另外再请教下版主,在pdos中有两列数据:


index="21"
atom_index="2"
species="C"
position="   2.310539  -0.231979  -0.127314"
n="2"
l="1"
m="1"
z="2"
>

   0.00000   0.00000
   0.00000   0.00000
   0.00000   0.00000
   0.00000   0.00000
   0.00000   0.00000
   0.00000   0.00000
   0.00000   0.00000
   0.00000   0.00000
   0.00000   0.00000
   0.00000   0.00000
   0.00000   0.00000
这两列分别代表什么意思?
15楼2011-05-16 10:49:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangguangping

木虫 (著名写手)

【答案】应助回帖

★ ★
franch(金币+2): 谢谢回帖交流 2011-05-16 20:28:31
引用回帖:
Originally posted by deadbook at 2011-05-16 03:49:42:
coop分析还没做,换了siesta的版本,重新做了计算,发现对于NI原子所有的pdos都是零,对于c原子自旋向上的数据已经有了,但是自旋向下的依旧全部是零,不知道是咋回事。另外再请教下版主,在pdos中有两列数据: ...

index="21"
atom_index="2"
species="C"
position="   2.310539  -0.231979  -0.127314"
n="2"
l="1"
m="1"
z="2"
这是计算中使用的每一个基函数的头文件部分,index="21" 表示这是第21个基函数,属于原子标号是2的C原子,该C原子的坐标或者说是该基函数的中心是(2.310539  -0.231979  -0.127314),该基函数是用来描述该C原子的主量子数为2,角量子数为1,如果采用的了极化函数P,对于极化函数,径向函数相同,只是角向函数采用l+1的角向函数,这个时候会出现l=n.磁量子数m为1的原子轨道, 其中m的取值是从-l≤m≤l. 并且该基函数是zeta为2的那个函数,这说明你至少用了一个DZ大小的基组.z表示该基函数是属于第几个Zeta.

下面的部分是该轨道上的DOS的投影PDOS.只有PDOS的数值,关于每一个点对应的能量在文件的最开头部分给出一个能量列表.我计算的只有一列,你的两列我估计你计算的体系是自选极化的情况,分别对应着自选向上和自选向下的PDOS.我曾经编写过一个代码提取这个文件中的每一个轨道的数值得到投影到某一个原子上的PDOS.只需要把属于这个原子的基函数上的PDOS相加即可.并且这个功能在COOP分析中可以实现。不必自己去做.我当时只是验证而已.
弘德明志博学笃行
16楼2011-05-16 16:55:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

deadbook

银虫 (小有名气)

引用回帖:
Originally posted by zhangguangping at 2011-05-16 16:55:25:
index="21"
atom_index="2"
species="C"
position="   2.310539  -0.231979  -0.127314"
n="2"
l="1"
m="1"
z="2 ...

这两列数据应该不是自旋吧。因为最后还有一行是Z=1或者z=2,这个应该是和自选相关的,我提取PDOS是用了andrei的代码,不过就是不知道为啥算出来的都是零,相当郁闷啊。
17楼2011-05-16 19:17:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangguangping

木虫 (著名写手)

【答案】应助回帖

franch(1ST强帖+1): 谢谢指点 2011-05-16 20:29:15
引用回帖:
Originally posted by deadbook at 2011-05-16 12:17:33:
这两列数据应该不是自旋吧。因为最后还有一行是Z=1或者z=2,这个应该是和自选相关的,我提取PDOS是用了andrei的代码,不过就是不知道为啥算出来的都是零,相当郁闷啊。

上面的回复不是说明白了吗,z=1或者z=2表示的是这个轨道是第一个zeta.
那两列数据分别代表自旋向上和自旋向下的PDOS.
下面是我随便找了一下体系算的自旋极化的PDOS(红色为批注)
    #表示下面的内容是PDOS
2   #表示自旋为2
416 #表示计算中用了416个基函数
#表示下面开始列出能量格点,这个地方有多少点,下面的PDOS也相应有多少点,一一对应            
            -3.00000
            -2.93939
            -2.87878
            -2.81818
            -2.75757
            -2.69697
            -2.63636
            -2.57575
            -2.51515
            -2.45454
            -2.39394
            -2.33333
            -2.27272
            -2.21212
            -2.15151
            -2.09091
            -2.03030
            -1.96969
            -1.90909
            -1.84848
            -1.78788
            -1.72727
            -1.66666
            -1.60606
            -1.54545
            -1.48485
            -1.42424
            -1.36363
            -1.30303
            -1.24242
            -1.18182
            -1.12121
            -1.06060
            -1.00000
            -0.93939
            -0.87879
            -0.81818
            -0.75757
            -0.69697
            -0.63636
            -0.57576
            -0.51515
            -0.45454
            -0.39394
            -0.33333
            -0.27273
            -0.21212
            -0.15151
            -0.09091
            -0.03030
             0.03030
             0.09091
             0.15151
             0.21212
             0.27273
             0.33333
             0.39394
             0.45454
             0.51515
             0.57576
             0.63636
             0.69697
             0.75757
             0.81818
             0.87879
             0.93939
             1.00000
             1.06060
             1.12121
             1.18182
             1.24242
             1.30303
             1.36363
             1.42424
             1.48485
             1.54545
             1.60606
             1.66666
             1.72727
             1.78788
             1.84848
             1.90909
             1.96969
             2.03030
             2.09091
             2.15151
             2.21212
             2.27272
             2.33333
             2.39394
             2.45454
             2.51515
             2.57575
             2.63636
             2.69697
             2.75757
             2.81818
             2.87878
             2.93939
             3.00000
       #表示能量点列表完毕
#表示开始列出每一个基函数
index="                        1"         #表示这是第1个基函数
atom_index="                        1"   #表示这个基函数是原子序号为1的原子的
species="C"                        #表示第一个原子为C原子  
position="   0.000000   0.000000 -18.831582"  #给出第一个C原子的空间坐标,单位为Bohr
n="                        2" #表示该基函数对应径向函数的主量子数n=2
l="                        0"  #表示该基函数对应角向函数的角量子数l=0
m="                        0" #表示该基函数对应角向函数的磁量子数m=0
z="                        1" #表示该基函数是对应着zeta=1的基函数
>                #基函数信息完毕,总之这个基函数表示C原子的2S轨道价键劈裂基组中的第一个zeta函数
         #开始该基函数的PDOS,分别表示自旋向上和自旋向下的PDOS   
   0.00082   0.00065
   0.00063   0.00064
   0.00043   0.00053
   0.00029   0.00038
   0.00028   0.00027
   0.00045   0.00027
   0.00080   0.00044
   0.00126   0.00078
   0.00167   0.00123
   0.00186   0.00164
   0.00173   0.00184
   0.00137   0.00173
   0.00094   0.00137
   0.00059   0.00094
   0.00039   0.00059
   0.00029   0.00038
   0.00022   0.00028
   0.00017   0.00022
   0.00011   0.00016
   0.00006   0.00011
   0.00004   0.00006
   0.00003   0.00003
   0.00004   0.00002
   0.00006   0.00002
   0.00007   0.00003
   0.00007   0.00005
   0.00006   0.00008
   0.00003   0.00010
   0.00001   0.00011
   0.00000   0.00010
  -0.00001   0.00009
  -0.00001   0.00006
  -0.00001   0.00004
  -0.00002   0.00001
  -0.00003  -0.00001
  -0.00003  -0.00002
   0.00000  -0.00002
   0.00009   0.00002
   0.00030   0.00013
   0.00067   0.00039
   0.00119   0.00084
   0.00174   0.00148
   0.00213   0.00216
   0.00217   0.00263
   0.00184   0.00267
   0.00131   0.00226
   0.00078   0.00160
   0.00041   0.00095
   0.00022   0.00049
   0.00018   0.00024
   0.00025   0.00017
   0.00038   0.00022
   0.00050   0.00033
   0.00055   0.00043
   0.00051   0.00048
   0.00039   0.00045
   0.00025   0.00035
   0.00014   0.00023
   0.00006   0.00013
   0.00002   0.00006
   0.00001   0.00002
   0.00000   0.00001
   0.00000   0.00000
   0.00000   0.00000
   0.00000   0.00000
   0.00000   0.00000
   0.00000   0.00000
   0.00000   0.00000
   0.00000   0.00000
   0.00001   0.00000
   0.00002   0.00001
   0.00007   0.00002
   0.00023   0.00008
   0.00076   0.00029
   0.00215   0.00094
   0.00518   0.00260
   0.01047   0.00609
   0.01771   0.01198
   0.02503   0.01969
   0.02959   0.02705
   0.02933   0.03108
   0.02459   0.02994
   0.01805   0.02442
   0.01284   0.01749
   0.01066   0.01229
   0.01118   0.01034
   0.01272   0.01114
   0.01366   0.01293
   0.01352   0.01411
   0.01305   0.01427
   0.01324   0.01430
   0.01427   0.01533
   0.01561   0.01749
   0.01742   0.01990
   0.02219   0.02234
   0.03492   0.02753
   0.06085   0.04178
   0.10123   0.07209
   0.14978   0.11991
   0.19316   0.17531
        #该基函数的PDOS信息完毕,下面重复如此格式分别给出各个基函数的PDOS信息

如果想得到某一个原子的PDOS,那么将属于这个原子的基函数上面的PDOS求和即可
还有什么没说明白,如果再看不明白,那我也没招了.
弘德明志博学笃行
18楼2011-05-16 19:58:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

deadbook

银虫 (小有名气)

引用回帖:
Originally posted by zhangguangping at 2011-05-16 19:58:47:
上面的回复不是说明白了吗,z=1或者z=2表示的是这个轨道是第一个zeta.
那两列数据分别代表自旋向上和自旋向下的PDOS.
下面是我随便找了一下体系算的自旋极化的PDOS(红色为批注)
<pdos>    [color=Red ...

非常感谢,是我自己没有看明白,版主已经写的很清晰了,我自己再仔细琢磨下为啥这个pdos算不出来。。。。
19楼2011-05-16 20:50:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangguangping

木虫 (著名写手)

【答案】应助回帖

★ ★ ★
franch(金币+3): 鼓励交流 2011-05-16 22:21:45
deadbook(金币+1): 多写帮助 2011-05-17 08:11:37
引用回帖:
Originally posted by deadbook at 2011-05-16 13:50:43:
非常感谢,是我自己没有看明白,版主已经写的很清晰了,我自己再仔细琢磨下为啥这个pdos算不出来。。。。

推荐你用COOP做一下分析。
如果你觉得COOP分析起来麻烦的话,我把自己编写的小脚本给你试试。不过需要自己做的工作很多。
首先从SIESTA中得到.PDOS文件
然后运行小程序,根据提示分别输入体系的自旋数目,计算PDOS时候采用的能量点数目,体系的基函数个数,你想输出PDOS的基函数范围,你想将那些范围的基函数的PDOS求和(一般是一个原子上的所有基函数或者是一个原子上的某一个壳层上的基函数),最后输入*PDOS文件名。
举例:







其中1和2是C原子的2S轨道的基组,所以对这个求和相当于看了2S上的PDOS。如图:

不是很平滑是因为取的点数目500比较少。
弘德明志博学笃行
20楼2011-05-16 22:08:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 deadbook 的主题更新
信息提示
请填处理意见