24小时热门版块排行榜    

CyRhmU.jpeg
查看: 5724  |  回复: 43
【奖励】 本帖被评价23次,作者zhangguangping增加金币 18.2

[资源] 【分享】SIESTA中Bader analysis

Mulliken分布会因基组的不同,方法的不同结果差异很大,甚至有时候出来错误的结果。
除了Mulliken分布,现在还有其他的一些原子电荷布局分析方法:例如Natural bond orbital analysis(NBO),Lowdin analysis,Bader analysis方法。

现在主要简单介绍一下Bader analysis分析方法在SIESTA中的应用。

首先给出Bader analysis的网站(http://theory.cm.utexas.edu/bader/),从上面可以免费下载到分析的代码。其中咱们就用grid version(Version 0.27c)作分析,这个版本可以读取cube文件。
(当然做高斯计算的,也可以准备好空间电荷分布的cube文件,做Bader分析)

下面就要给出SIESTA中空间电荷分布的cube文件。

在SIESTA计算中如果设置SaveTotalCharge  T的话,就会在输出文件中出现.TOCH文件,这个文件记录的是空间总电荷的分布。下面应用SIESTA自带的Util\Contrib\APostnikov中的rho2xsf的修改版本rho2cube(见附件,或者将Util\Grid下面的grid2cube.f文件头部添加一行:
      if (task .eq. 'toch') then
        fnamein = paste(sysname,'.TOCH')
重新编译,也可以将TOCH转化为cube格式。)将.TOCH转化为cube格式。然后做Bader analysis。

以上摘编自http://voznyy.elinity.com/blog/2 ... alysis-with-siesta/

[ Last edited by zhangguangping on 2011-4-9 at 03:54 ]

下面是单独的rho2cube的源代码,编译生成目标文件rho2cube[ Last edited by zhangguangping on 2011-12-8 at 19:14 ]

现在的siesta-3.1-pl9版本(以及相应更高版本)已经添加了bader分析的功能,可以参照手册来进行bader分析。并且分析中已经对有H存在的体系对H添加了一个artificial core of 1 electron.
具体分析参照手册。

[ Last edited by zhangguangping on 2012-7-16 at 10:35 ]

注:rho2cube可以处理晶格矢量不正交的情况,而grid2cube只能处理晶格矢量正交的情况。

[ Last edited by zhangguangping on 2013-5-26 at 19:56 ][ Last edited by zhangguangping on 2013-5-26 at 20:09 ]
回复此楼

» 收录本帖的淘帖专辑推荐

第一性原理相关文档 第一性原理和电化学 siesta问题 计算-siesta
vasp的相关资料 atk&transiesta 我的小木虫 siesta & vasp
vasp+wannier90

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )
★ ★
youzhizhe(金币+2): 谢谢提示。 2011-04-11 08:58:11
引用回帖:
Originally posted by youzhizhe at 2011-04-10 17:16:35:
期待热心分享VASP中的Bader分析方法……

VASP的bader analysis早就已经做好了,就在官网上。并且当时首先是针对VASP做的。grid版本是后来发展的。
http://theory.cm.utexas.edu/bader/
--------------------------------
02/23/11 - Version 0.27b Released
Properly reads CHGCAR files from vasp > 5.2.11.
--------------------------------
5楼2011-04-11 08:24:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

★★★★★ 五星级,优秀推荐

★★★★★
2楼2011-04-09 00:11:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
期待热心分享VASP中的Bader分析方法……
4楼2011-04-11 00:16:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zsl_321123(金币+1): 鼓励交流 2011-04-29 13:56:58
引用回帖:
Originally posted by zhangguangping at 2011-04-11 08:24:28:
VASP的bader analysis早就已经做好了,就在官网上。并且当时首先是针对VASP做的。grid版本是后来发展的。
http://theory.cm.utexas.edu/bader/
--------------------------------
02/23/11 - Ver ...

按照上面的说的,我做了一下我的体系,发现得到的BCF.dat里面的CHARGE项都是正数。如图所示(部分)。感觉总是那么不正常……

6楼2011-04-11 09:01:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

youzhizhe(金币+1): 谢谢交流。 2011-04-11 12:18:16
引用回帖:
Originally posted by youzhizhe at 2011-04-11 02:01:06:
按照上面的说的,我做了一下我的体系,发现得到的BCF.dat里面的CHARGE项都是正数。如图所示(部分)。感觉总是那么不正常……


为什么要看BCF.dat文件呢?我给出的官网上明确说明了每一个文件的含义。我认为应该看ACF.dat.
7楼2011-04-11 09:11:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
引用回帖:
Originally posted by zhangguangping at 2011-04-11 09:11:00:
为什么要看BCF.dat文件呢?我给出的官网上明确说明了每一个文件的含义。我认为应该看ACF.dat.

ACF.dat的CHARGE结果是一样子的。也都是正的。
8楼2011-04-11 09:16:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
★ ★
youzhizhe(金币+2): 谢谢提示。 2011-04-11 12:18:04
引用回帖:
Originally posted by youzhizhe at 2011-04-11 02:16:05:
ACF.dat的CHARGE结果是一样子的。也都是正的。

那我就不清楚了,我没有使用过VASP。不过你可以到官方的论坛上去找找答案。
我对SIESTA的分析还是很可以理解的。
http://theory.cm.utexas.edu/forum/
9楼2011-04-11 10:22:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hw45888792

金虫 (正式写手)


★★★★★ 五星级,优秀推荐

测试单个h2o分子,代码里面有VASP自带结果,基本与文献相近:

氧得到电子8-9.2510 =-1.25  H失去电子1-0.3766=+0.62      

ACF.data

    #         X           Y           Z        CHARGE     MIN DIST    ATOMIC VOL
--------------------------------------------------------------------------------
    1      0.0000      1.4304      0.9841      0.3766      0.2341    432.6947
    2      0.0000      0.0000     -0.1230      9.2510      1.3756   2641.8385
    3      0.0000     -1.4304      0.9841      0.3766      0.2341    432.6947
--------------------------------------------------------------------------------
    VACUUM CHARGE:               0.0000
    VACUUM VOLUME:               0.0000
    NUMBER OF ELECTRONS:        10.0041


为啥我用siesta无法重复人家的结果呢?

输入:

SystemName          h2o
SystemLabel         h2o
NumberOfSpecies     2

%block ChemicalSpeciesLabel
1  1  H
2  8  O
%endblock ChemicalSpeciesLabel

NumberOfAtoms          3

LatticeConstant   1 Ang
%block LatticeParameters
  10.0000   10.0000   10.0000   90.0000   90.0000   90.0000
%endblock LatticeParameters

AtomicCoordinatesFormat  NotScaledCartesianAng
%block AtomicCoordinatesAndAtomicSpecies
    5.000000000    5.000000000    5.000000000   2     O   1
    4.243479473    5.000000000    5.617549706   1     H   2
    5.782679059    5.000000000    5.583644457   1     H   3
%endblock AtomicCoordinatesAndAtomicSpecies

SolutionMethod   diagon
PAO.BasisSize DZP
#DM.UseSaveDM
#DM.MixingWeight 0.1
DM.NumberPulay 6
WriteForces
MD.MaxForceTol 0.01 eV/Ang
#MeshCutoff          200.0000000     Ry

MD.TypeOfRun CG
MD.NumCGsteps 100
#MD.VariableCell .TRUE.

XC.functional GGA
XC.authors PBE

SlabDipoleCorrection .true.

#SpinPolarized .true.

WriteMullikenPop  1

SaveRho    .true.
SaveDeltaRho  .true.
SaveIonicCharge   .true.
SaveTotalCharge   .true.


其中,Mulliken输出为:
mulliken: Atomic and Orbital Populations:

Species: H
Atom  Qatom  Qorb
               1s      1s      1Ppy    1Ppz    1Ppx
   2  1.136   0.437   0.455   0.103   0.103   0.038
   3  1.136   0.437   0.455   0.103   0.098   0.044

Species: O
Atom  Qatom  Qorb
               2s      2s      2py     2pz     2px     2py     2pz     2px
               2Pdxy   2Pdyz   2Pdz2   2Pdxz   2Pdx2-y2
   1  5.728   0.804   0.579   1.734   1.292   0.562   0.057   0.174   0.506
              0.000   0.003   0.004   0.013   0.002

mulliken: Qtot =        8.000

后处理:
./rho2cube
h2o
A
0  0  0
10.000000    0.000000    0.000000
0.000000   10.000000    0.000000
0.000000    0.000000   10.000000
20  20  20
TOCH

然后 bader h2o.cube 得到ACF.dat

    #         X           Y           Z        CHARGE     MIN DIST
  ----------------------------------------------------------------
    1      9.4676      9.4486      9.5486     -0.5815      4.7254
    2      8.0955      9.4486     10.7618      0.0000      5.6958
    3     10.9913      9.4486     10.5653      0.0000      5.6824
  ----------------------------------------------------------------
   NUMBER OF ELECTRONS:       -0.58154

完全不对~
折腾了一下午,还没搞定~

[ Last edited by hw45888792 on 2011-8-1 at 20:01 ]
12楼2011-08-01 19:43:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
引用回帖:
12楼: Originally posted by hw45888792 at 2011-08-01 12:43:11:
测试单个h2o分子,代码里面有VASP自带结果,基本与文献相近:

氧得到电子8-9.2510 =-1.25  H失去电子1-0.3766=+0.62      

ACF.data

    #         X           Y           Z        CHARGE     MIN DI ...

赝势和基组够好吗?建议用SIESTA网站上提供的对H2O优化的基组和赝势来算算试试。因为VASP的赝势都是人家开发小组测试好的,另外它的基组用平面波,可以有一个收敛的结果。另外你i的结果对基组收敛吗?
13楼2011-08-01 20:07:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hw45888792

金虫 (正式写手)


引用回帖:
13楼: Originally posted by zhangguangping at 2011-08-01 20:07:44:
赝势和基组够好吗?建议用SIESTA网站上提供的对H2O优化的基组和赝势来算算试试。因为VASP的赝势都是人家开发小组测试好的,另外它的基组用平面波,可以有一个收敛的结果。另外你i的结果对基组收敛吗?

最近回家了,刚回来~   
   基组我用默认的DZP,赝势来自官网,我自己也测试过了,很不错。
   赝势和基组总不会得到一个明显错误的结果吧,它们起到修正结果的目的,这个计算的总电偶极矩为1.3 D,实验值为1.8 D,结果基本没啥问题,电荷转移也应该没问题,只是我没有正确得到TC而已。
   网上有好几种bader分析代码,基本上如果cube文件一致,得到的结果都一样。所以,估计是TOCH转cube这里有一定问题,或者需要其它设置?我以前不涉及这些,不太懂~
14楼2011-08-10 10:32:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hw45888792

金虫 (正式写手)


错误原因已找到~
需要把meshsubs.F覆盖到siesta源码,siesta-2.0.2源码可以直接覆盖编译,结果可以用molden或者xcrysden查看,选择高斯cube格式~
15楼2011-08-15 13:39:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gougou531

禁虫 (正式写手)

本帖内容被屏蔽

16楼2011-11-11 16:39:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

farfaraway08

铜虫 (著名写手)


★★★★★ 五星级,优秀推荐

楼主你好,想请教一个问题,我用的是castep,只能做mulliken分布,不知道mulliken分布跟bader 分析是不是都是用来进行布局数的分析。新手,请见谅哈。
19楼2012-03-21 21:36:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
引用回帖:
1253869楼: Originally posted by farfaraway08 at 2012-03-21 21:36:30:
楼主你好,想请教一个问题,我用的是castep,只能做mulliken分布,不知道mulliken分布跟bader 分析是不是都是用来进行布局数的分析。新手,请见谅哈。

都可以做。但是一般说来bader分析更可靠。并且只要cestep能够将电子密度输出成cube文件,就可以做bader分析。
20楼2012-03-21 22:30:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dfy50

新虫 (小有名气)


★★★★★ 五星级,优秀推荐

楼主您好,可以指导下怎么用VASP做bader分析么 新手一个  官网不是很懂,谢谢您啦
21楼2012-04-17 14:36:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
引用回帖:
1259118楼: Originally posted by dfy50 at 2012-04-17 14:36:28:
楼主您好,可以指导下怎么用VASP做bader分析么 新手一个  官网不是很懂,谢谢您啦

VASP的还真不会。但是我可以大体思路说一下。就是首先需要解决将vasp的空间电子密度转化为cube格式的文件。然后用bader分析工具来处理这个cube格式的文件。
22楼2012-04-17 14:41:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiongxiong5712

新虫 (小有名气)


★★★★★ 五星级,优秀推荐

请教一下,您一开始说“Mulliken分布会因基组的不同,方法的不同结果差异很大,甚至有时候出来错误的结果”,能不能详细地说一说呢?谢谢
31楼2013-10-18 16:37:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

c_chi

木虫 (正式写手)


你好,我在用rho2cube将.RHO文件和.BADER文件转化成.cube文件的时候,坐标发生了很大的变化,导致结构和结果出错,不知道是什么原因?非常感谢能指点下!!
#############以下是过程#######################
[ccms01@vasp01 _Al-GO]$ ../../siesta2cube/rho2cube
Specify  SystemLabel (or 'siesta' if none):  B2_GO_AL_NEND
Now define the grid cell for your XCrysDen plot.
Note that it can be arbitrarily chosen with respect to the Siesta simulation cell, and it needs not to be orthogonal. We'll define it by the origin point and three spanning vectors. They can be given in Bohr or Ang.
Would you use Bohr (B) or Ang (A) ? A
Enter origin point in Ang  : 0 0 0
Enter 1st spanning vector in Ang  : 9.84 0 0
Enter 2nd spanning vector in Ang  : -4.9200000763         8.5216901054         0.0000000000
Enter 3rd spanning vector in Ang  : 0 0 18
  File B2_GO_AL_NEND.cube exists. Overwrite? (Y/N)
Y
  The box contains           35  atoms.
Enter number of grid points along three vectors: 30 30 60
Add grid property (LDOS, RHO, ...; or BYE if none): RHO
Found and opened: B2_GO_AL_NEND.RHO
mesh0 = (          64          64         144 ),   nspin=           1
For is=1: max. grid value = 9.86859E-01 at iix,iiy,iiz=  12  16  12
For is=1: min. grid value =-2.43247E-08 at iix,iiy,iiz=  19  13  27
Add grid property (LDOS, RHO, ...; or BYE if none): none
  A wild guess! There is no file B2_GO_AL_NEND.none; close XSF and quit.

#################以下是输出结果#############
RHO
   35    0.000000    0.000000    0.000000
   30    0.619830    0.000000    0.000000
   30   -0.309915    0.536790    0.000000
   60    0.000000    0.000000    0.566918
    6    6.000000    0.607487    3.149713    2.208727
    6    6.000000    2.962736    1.788837    2.197944
    6    6.000000    5.261706    3.087814    2.411904
    6    6.000000    7.573477    1.783629    2.118670
    6    6.000000    9.913546    3.129208    2.102441
    6    6.000000   12.221051    1.796901    1.946325
    6    6.000000   14.560136    3.133415    1.939092
    6    6.000000   16.884223    1.795392    1.965606
    6    6.000000   -1.701579    7.139618    2.144902
    6    6.000000    0.583681    5.789007    2.439002
    6    6.000000    2.813740    7.225643    3.478889
    6    6.000000    5.392911    5.727864    3.475113
    6    6.000000    7.621963    7.174583    2.443854
    6    6.000000    9.907872    5.828000    2.140843
    6    6.000000   12.235813    7.157979    1.948802
    6    6.000000   -4.014945   11.170804    1.954552
    6    6.000000   -1.707426    9.838375    2.114659
    6    6.000000    0.633788   11.181598    2.135737
    6    6.000000    2.944191    9.874309    2.431464
    6    6.000000    5.241664   11.175428    2.211603
    6    6.000000    7.597286    9.814880    2.217352
    6    6.000000    9.914579   11.171632    1.970055
    6    6.000000    0.619928   13.862225    1.936709
    8    8.000000    1.997323    7.716871    6.082007
    8    8.000000    6.195629    5.209827    6.074261
   13   13.000000    4.096380    6.453845    8.364956
    6    6.000000   -4.028415   13.864043    1.931705
    6    6.000000   -1.710544   15.206774    1.930950
    6    6.000000    2.936706   15.206623    1.932331
    6    6.000000    5.256392   13.860681    1.964732
    6    6.000000    7.587930   15.207054    1.924738
    6    6.000000    9.913228   13.863434    1.924527
    6    6.000000   14.564845    5.811392    1.948035
    6    6.000000   12.239919    9.835633    1.944311
    6    6.000000   -6.349400   15.208312    1.957960

#############以下是晶格信息和坐标文件###############
LatticeConstant   1 Ang   # Lattice constant alat
%block LatticeVectors               # in units of alat
    9.8400001526         0.0000000000         0.0000000000
   -4.9200000763         8.5216901054         0.0000000000
    0.0000000000         0.0000000000        18.0000000000
%endblock LatticeVectors

    0.32147181    1.66674771    1.16880750   1  C          1
    1.56781611    0.94660500    1.16310086   1  C          2
    2.78437862    1.63399359    1.27632339   1  C          3
    4.00771400    0.94384843    1.12115139   1  C          4
    5.24602424    1.65589935    1.11256214   1  C          5
    6.46710406    0.95087325    1.02994953   1  C          6
    7.70489375    1.65812606    1.02612211   1  C          7
    8.93474748    0.95007456    1.04015301   1  C          8
   -0.90043206    3.77811614    1.13503371   1  C          9
    0.30887504    3.06340331    1.29066422   1  C         10
    1.48897075    3.82363820    1.84094740   1  C         11
    2.85380850    3.03104859    1.83894789   1  C         12
    4.03337113    3.79661804    1.29322950   1  C         13
    5.24302223    3.08403787    1.13288373   1  C         14
    6.47491498    3.78783196    1.03126071   1  C         15
   -2.12461273    5.91132591    1.03430588   1  C         16
   -0.90352563    5.20623622    1.11903016   1  C         17
    0.33539173    5.91703765    1.13018308   1  C         18
    1.55800186    5.22525127    1.28667393   1  C         19
    2.77377200    5.91377272    1.17032789   1  C         20
    4.02031404    5.19380400    1.17336956   1  C         21
    5.24657123    5.91176351    1.04250611   1  C         22
    0.32805728    7.33556484    1.02486310   1  C         23
    1.05694181    4.08358896    3.21845660   2  O         24
    3.27858501    2.75691477    3.21435810   2  O         25
    2.16771194    3.41522466    4.42654172   3  Al        26
   -2.13173897    7.33652632    1.02221477   1  C         27
   -0.90517618    8.04706901    1.02181578   1  C         28
    1.55404192    8.04698830    1.02254514   1  C         29
    2.78156553    7.33474737    1.03969026   1  C         30
    4.01536359    8.04721602    1.01852679   1  C         31
    5.24585599    7.33620529    1.01841479   1  C         32
    7.70738639    3.07524964    1.03085539   1  C         33
    6.47708897    5.20478475    1.02888438   1  C         34
   -3.35995250    8.04788255    1.03610673   1  C         35

##########以下是转化后cube文件中得到结构######
C-C键本是1.42左右,转化后变成2.679,其他键长也变化蛮大。
【分享】SIESTA中Bader analysis
QQ截图20140727130740.png

36楼2014-07-27 13:09:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

785524519

金虫 (正式写手)


★★★★★ 五星级,优秀推荐

请问安装rho2cube时候出错 用的编译器是gfortran不是ifort怎么才能编译成功?提示的错误是/usr/bin/gfortran -w -xW -mp -O3  -c -o rho2cube.o rho2cube.f
gfortran: error: unrecognized command line option ?.mp?
make: *** [rho2cube.o] Error 1
41楼2016-08-24 18:42:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
简单回复
youzhizhe3楼
2011-04-10 16:27   回复  
五星好评  谢谢分享。
2011-04-28 10:27   回复  
五星好评  顶一下,感谢分享!
nicailing11楼
2011-07-06 09:32   回复  
五星好评  顶一下,感谢分享!
c_chi17楼
2012-01-17 12:35   回复  
五星好评  顶一下,感谢分享!
c_chi18楼
2012-01-17 12:35   回复  
顶一下,感谢分享!
c_chi23楼
2012-08-10 16:27   回复  
顶一下,感谢分享!
ewan24楼
2012-10-08 10:41   回复  
五星好评  顶一下,感谢分享!
ewan25楼
2012-10-08 10:41   回复  
顶一下,感谢分享!
ewan26楼
2012-10-08 10:42   回复  
顶一下,感谢分享!
2013-03-21 17:19   回复  
五星好评  顶一下,感谢分享!
xj_lov28楼
2013-04-17 22:45   回复  
五星好评  顶一下,感谢分享!
2013-04-25 14:57   回复  
五星好评  顶一下,感谢分享!
2013-06-11 17:05   回复  
顶一下,感谢分享!
2014-03-10 23:01   回复  
五星好评  顶一下,感谢分享!
yanrong_8833楼
2014-04-18 15:58   回复  
五星好评  顶一下,感谢分享
wucx123434楼
2014-06-10 17:07   回复  
五星好评  顶一下,感谢分享!
c_chi35楼
2014-07-25 14:56   回复  
顶一下,感谢分享!
2014-11-02 19:46   回复  
五星好评  顶一下,感谢分享!
wucx123438楼
2014-11-17 10:45   回复  
顶一下,感谢分享!
LIBAOLI4439楼
2015-03-06 10:45   回复  
五星好评  顶一下,感谢分享!
j_fan40楼
2016-04-24 23:28   回复  
五星好评  顶一下,感谢分享!
nantian11242楼
2016-11-03 23:52   回复  
五星好评  顶一下,感谢分享!
2017-07-15 11:07   回复  
顶一下,感谢分享!
zhm_list44楼
2017-12-27 13:34   回复  
五星好评  顶一下,感谢分享!
相关版块跳转 我要订阅楼主 zhangguangping 的主题更新
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复(可上传附件)
信息提示
请填处理意见